From owner-cvs-all Wed Nov 11 08:29:36 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id IAA04536 for cvs-all-outgoing; Wed, 11 Nov 1998 08:29:36 -0800 (PST) (envelope-from owner-cvs-all@FreeBSD.ORG) Received: from root.com (root.com [198.145.90.17]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id IAA04530; Wed, 11 Nov 1998 08:29:31 -0800 (PST) (envelope-from root@root.com) Received: from root.com (localhost [127.0.0.1]) by root.com (8.8.8/8.8.5) with ESMTP id IAA18434; Wed, 11 Nov 1998 08:30:42 -0800 (PST) Message-Id: <199811111630.IAA18434@root.com> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/vm vm_page.c In-reply-to: Your message of "Wed, 11 Nov 1998 07:07:59 PST." <199811111507.HAA22167@freefall.freebsd.org> From: David Greenman Reply-To: dg@root.com Date: Wed, 11 Nov 1998 08:30:41 -0800 Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk >dg 1998/11/11 07:07:59 PST > > Modified files: > sys/vm vm_page.c > Log: > Closed a small race condition between wiring/unwiring pages that involved > the page's wire_count. BTW, the manifestation of this bug is quite serious. It ultimately causes page queues to get linked together. This happens because there is no check (and panic) when unwiring to make sure that the page really isn't on a queue (a wired page isn't supposed to be on a page queue) before it inserts it onto the active/inactive queue, so the page is never properly removed from the queue it was on. All sorts of nasty things happen from that point forward. The first of the problems is that the system will be unable to reclaim (via the pagedaemon) huge numbers of pages on the active/inactive queues. The bug ultimately leads to poor performance and then a system hang or one of several different kinds of panics. Oops. -DG David Greenman Co-founder/Principal Architect, The FreeBSD Project To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message