From owner-freebsd-hackers Fri Jan 25 2: 7:42 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from cs.rice.edu (cs.rice.edu [128.42.1.30]) by hub.freebsd.org (Postfix) with ESMTP id 80FE237B416 for ; Fri, 25 Jan 2002 02:07:40 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by cs.rice.edu (Postfix) with ESMTP id 9849018C9 for ; Fri, 25 Jan 2002 04:07:39 -0600 (CST) Received: from colorado.cs.rice.edu (colorado.cs.rice.edu [128.42.1.165]) by cs.rice.edu (Postfix) with ESMTP id 227B118C8 for ; Fri, 25 Jan 2002 04:07:37 -0600 (CST) Received: from localhost (hykim@localhost) by colorado.cs.rice.edu (8.9.3+Sun/8.9.0) with ESMTP id EAA15126 for ; Fri, 25 Jan 2002 04:07:26 -0600 (CST) X-Authentication-Warning: colorado.cs.rice.edu: hykim owned process doing -bs Date: Fri, 25 Jan 2002 04:07:26 -0600 (CST) From: Hyong-Youb Kim To: Subject: vm and vfs_bio Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: by AMaViS snapshot-20010714 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG From what I have gathered from 4.4bsd book and 4.3 freebsd source code, struct buf and various b* (read, write etc) functions implement the file cache. I am wondering where the physical pages that struct buf has references to reside in the vm map. It seems its virtual addresses are allocated using buffer_map. Well my real question would be, does the vm maintain a file cache independent of the file cache using struct buf? And this is quite a different question but I will ask here. When a user does a read (followed by open) on a file, the kernel must allocate vnode corresponding to that file right? Assuming the file is not memory-mapped by any other process, would the vnode still have a valid v_object field? Ahh I am confused. Thanks in advance. John To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message