From owner-cvs-all Mon Oct 19 09:41:44 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id JAA22102 for cvs-all-outgoing; Mon, 19 Oct 1998 09:41:44 -0700 (PDT) (envelope-from owner-cvs-all@FreeBSD.ORG) Received: from apollo.backplane.com (apollo.backplane.com [209.157.86.2]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id JAA22092; Mon, 19 Oct 1998 09:41:40 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.1/8.9.1) id JAA16458; Mon, 19 Oct 1998 09:41:00 -0700 (PDT) (envelope-from dillon) Date: Mon, 19 Oct 1998 09:41:00 -0700 (PDT) From: Matthew Dillon Message-Id: <199810191641.JAA16458@apollo.backplane.com> To: Bruce Evans Cc: cvs-all@FreeBSD.ORG, cvs-committers@FreeBSD.ORG Subject: Re: Anyone got any ideas? getblk/pgtblk/inode lockup References: <199810191033.UAA11898@godzilla.zeta.org.au> Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk :> process. : :PG_BUSY is cleared without a wakeup in vfs_bio.c and vm_kern.c. The wakeup :is apparently important in vfs_bio.c. Untested fix + cosmetic fix for not :always using the specialized inline function for doing the wakeup: : :diff -c2 kern/vfs_bio.c~ kern/vfs_bio.c :*** kern/vfs_bio.c~ Wed Oct 14 03:22:21 1998 :... Yah, I noticed those too. I'm going to wait to see if luoqi's patch fixes my specific lockup, a week or two, and then look more closely at those two cases. We probably want to patch them. Actually, we probably want to get rid of *ALL* the calls to vm_page_flag_clear(m, PG_BUSY) and replace them with vm_page_wakeup(). Hmm... in fact, we may want to get rid of all external access to vm_page_flag_clear() and vm_page_flag_set() and instead provide specific functions for the setting of specific flags, in order to encapsulate the side effects. -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message