From owner-freebsd-hackers Mon Jan 18 17:30:40 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id RAA17919 for freebsd-hackers-outgoing; Mon, 18 Jan 1999 17:30:40 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from iquest3.iquest.net (iquest3.iquest.net [209.43.20.203]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id RAA17882 for ; Mon, 18 Jan 1999 17:30:34 -0800 (PST) (envelope-from root@dyson.iquest.net) Received: (qmail 17769 invoked from network); 19 Jan 1999 01:30:26 -0000 Received: from dyson.iquest.net (198.70.144.127) by iquest3.iquest.net with SMTP; 19 Jan 1999 01:30:26 -0000 Received: (from root@localhost) by dyson.iquest.net (8.9.1/8.9.1) id UAA27297; Mon, 18 Jan 1999 20:30:22 -0500 (EST) From: "John S. Dyson" Message-Id: <199901190130.UAA27297@dyson.iquest.net> Subject: Re: Found problem w/ Paging performance over NFS In-Reply-To: <199901190128.RAA84794@apollo.backplane.com> from Matthew Dillon at "Jan 18, 99 05:28:35 pm" To: dillon@apollo.backplane.com (Matthew Dillon) Date: Mon, 18 Jan 1999 20:30:22 -0500 (EST) Cc: dg@root.com, jkh@FreeBSD.ORG, hackers@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL32 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > : > :PG_BUSY is quite severe, and not always needed. > : > :John > > Ok. I just figured out the interaction -- in fact, we *can't* test m->busy > in this section of code because of the following sequence: > > vm_fault -> vnode_pager_getpages -> ffs_getpages -> ffs_read -> > cluster_read -> getblk -> allocbuf ( lockup ) > > ffs_getpages converts the PG_BUSY into a vm_page_t->busy before getting into > the cluster stuff, and thus allocbuf() deep down cannot sleep on > vm_page_t->busy. > > Ick. I'm going to add a comment explaining that case. > Yep, it is *very* important to understand the interactions, or either clustering won't work on alot of filesystems or worse things will happen. John To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message