Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Nov 2006 17:28:25 +1100 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        David Xu <davidxu@freebsd.org>
Cc:        arch@freebsd.org, Kip Macy <kip.macy@gmail.com>, Alan Cox <alc@cs.rice.edu>, freebsd-arch@freebsd.org
Subject:   Re: superpage plans
Message-ID:  <20061123170941.T36132@delplex.bde.org>
In-Reply-To: <200611231205.55629.davidxu@freebsd.org>
References:  <b1fa29170611220939g32469638ncf3a3ddd4bba3670@mail.gmail.com> <45649E42.70409@cs.rice.edu> <20061123124725.P35210@delplex.bde.org> <200611231205.55629.davidxu@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061123170941.T36132>