From owner-cvs-all Sun Jul 7 14: 2:14 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6479B37B400; Sun, 7 Jul 2002 14:02:11 -0700 (PDT) Received: from iguana.icir.org (iguana.icir.org [192.150.187.36]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1907D43E31; Sun, 7 Jul 2002 14:02:11 -0700 (PDT) (envelope-from rizzo@iguana.icir.org) Received: (from rizzo@localhost) by iguana.icir.org (8.11.6/8.11.3) id g67L2AW64743; Sun, 7 Jul 2002 14:02:10 -0700 (PDT) (envelope-from rizzo) Date: Sun, 7 Jul 2002 14:02:10 -0700 From: Luigi Rizzo To: Alan Cox Cc: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/vm vm_zeroidle.c Message-ID: <20020707140210.A64548@iguana.icir.org> References: <200207071927.g67JRvwi019399@freefall.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <200207071927.g67JRvwi019399@freefall.freebsd.org>; from alc@FreeBSD.ORG on Sun, Jul 07, 2002 at 12:27:57PM -0700 Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG While you are on this file: there is a rather tricky bug in the priority of the process. It starts at RTP_PRIO_IDLE, but after the first tsleep its priority gets raised to PPAUSE (which is much higher) and never gets reset to the proper value. The effect is that the process runs with very high priority, and the only reason you don't notice (or maybe you do) is that after a while the process does not have any more pages to zero and voluntarily deschedules. For a fix (rather trivial) have a look at sys/kern/kern_poll.c:poll_idle() which does not have the nice property of descheduling itself and so makes the bug quite evident. cheers luigi On Sun, Jul 07, 2002 at 12:27:57PM -0700, Alan Cox wrote: > alc 2002/07/07 12:27:57 PDT > > Modified files: > sys/vm vm_zeroidle.c > Log: > o Lock accesses to the free queue(s) in vm_page_zero_idle(). > > Revision Changes Path > 1.10 +4 -0 src/sys/vm/vm_zeroidle.c > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe cvs-all" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message