Date: Mon, 3 Aug 1998 10:52:38 +0100 (BST) From: Doug Rabson <dfr@nlsystems.com> To: zhihuizhang <bf20761@binghamton.edu> Cc: hackers <freebsd-hackers@FreeBSD.ORG> Subject: Re: Relationship between buf/page/vnode/object? Message-ID: <Pine.BSF.4.01.9808031048440.14391-100000@herring.nlsystems.com> In-Reply-To: <Pine.SOL.L3.93.980802141520.6647B-100000@bingsun2>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 2 Aug 1998, zhihuizhang wrote: > > After studying VM source code for two months, I have understood the > general ideas in it. All the pages (vm_page structures) belong to a > object/pindex pair and virtual memory/physical memory is decoupled by > introducing the VM object. > > What confuses me now is that vnode and buf structures can also have pages > (vm_page structures) associated with them. But file system cache and VM > cache are unified and should have a consistent interface. I mean all pages > should only hang off the vm_object structures. > > I hope that someone can describe the relationship of these important > structures (vm_object, vm_page, vnode, buf) briefly for me. I have > searched the MailingList Archive in vain. > > Any help is appreciated. As far as I know, the pages which are held in buf structures are 'owned' by a unique vm_object. This object holds cached pages for a vnode and has an associated vnode_pager. The buf just provides a convenient way of performing 'regular' i/o into the same pages as those used for VM. -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 181 951 1891 Fax: +44 181 381 1039 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.01.9808031048440.14391-100000>