Skip site navigation (1)Skip section navigation (2)
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>