From owner-freebsd-hackers Sun Aug 2 11:36:40 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id LAA08427 for freebsd-hackers-outgoing; Sun, 2 Aug 1998 11:36:40 -0700 (PDT) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from bingsun2.cc.binghamton.edu (bingsun2.cc.binghamton.edu [128.226.1.6]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id LAA08422 for ; Sun, 2 Aug 1998 11:36:38 -0700 (PDT) (envelope-from bf20761@binghamton.edu) Received: from localhost (bf20761@localhost) by bingsun2.cc.binghamton.edu (8.8.7/8.6.9) with SMTP id OAA06940 for ; Sun, 2 Aug 1998 14:36:28 -0400 (EDT) Date: Sun, 2 Aug 1998 14:36:28 -0400 (EDT) From: zhihuizhang X-Sender: bf20761@bingsun2 To: hackers Subject: Relationship between buf/page/vnode/object? Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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. -------------------------------------------------- | Zhihui Zhang, http://cs.binghamton.edu/~zzhang | | Dept. of Computer Science, SUNY at Binghamton | -------------------------------------------------- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message