From owner-freebsd-arch@FreeBSD.ORG Thu Nov 23 06:28:29 2006 Return-Path: X-Original-To: freebsd-arch@freebsd.org Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E0A2D16A4A0; Thu, 23 Nov 2006 06:28:29 +0000 (UTC) (envelope-from bde@zeta.org.au) Received: from mailout2.pacific.net.au (mailout2-3.pacific.net.au [61.8.2.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1497F43D55; Thu, 23 Nov 2006 06:27:56 +0000 (GMT) (envelope-from bde@zeta.org.au) Received: from mailproxy2.pacific.net.au (mailproxy2.pacific.net.au [61.8.2.163]) by mailout2.pacific.net.au (Postfix) with ESMTP id 03DFF119229; Thu, 23 Nov 2006 17:28:27 +1100 (EST) Received: from katana.zip.com.au (katana.zip.com.au [61.8.7.246]) by mailproxy2.pacific.net.au (Postfix) with ESMTP id 7C27F27416; Thu, 23 Nov 2006 17:28:26 +1100 (EST) Date: Thu, 23 Nov 2006 17:28:25 +1100 (EST) From: Bruce Evans X-X-Sender: bde@delplex.bde.org To: David Xu In-Reply-To: <200611231205.55629.davidxu@freebsd.org> Message-ID: <20061123170941.T36132@delplex.bde.org> References: <45649E42.70409@cs.rice.edu> <20061123124725.P35210@delplex.bde.org> <200611231205.55629.davidxu@freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: arch@freebsd.org, Kip Macy , Alan Cox , freebsd-arch@freebsd.org Subject: Re: superpage plans X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Nov 2006 06:28:30 -0000 On Thu, 23 Nov 2006, David Xu wrote: > On Thursday 23 November 2006 11:25, Bruce Evans wrote: >> On Wed, 22 Nov 2006, Alan Cox wrote: >>> There is only one caveat. Idle-time page prezeroing is not supported. >>> However, ever since the VM system emerged from the Giant kernel lock, >>> I've seen little or no benefit from it. ... >> >> That's probably because PREEMPTION is broken and the brokenness turns >> idle-time page prezeroing into a pessimization. Without PREEMPTION I >> see much the same benefits from idle-time page prezeroing as in RELENG_4 >> -- a speedup of a few percent for makeworld. E.g., for makeworld -j4 > > I think on SMP, the BSD scheduler code does not preempt an idle > thread in remote cpu, this might explain the reason why page_zero > uses much time on SMP. the maybe_preempt() only works > for current cpu. See my previous mail to freebsd-arch about this. IPI_PREEMPTION should result in preempting pgzero, but doesn't seem to, and if it did then you would wish it wouldn't since it has larger overheads than voluntarility giving up control. For user idle threads, there is nothing better than sending an IPI, but pgzero does a good job of limiting itself so preempting it just pessimizes it. Even non-IPI preemption will sometimes have higher overheads. Bruce