Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Jun 2007 10:53:03 +0200
From:      =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@des.no>
To:        Jeff Roberson <jroberson@chesapeake.net>
Cc:        arch@freebsd.org
Subject:   Re: Add wakeup_with() before 7.0?
Message-ID:  <86ejjvyweo.fsf@dwp.des.no>
In-Reply-To: <20070628123314.W552@10.0.0.1> (Jeff Roberson's message of "Thu\,  28 Jun 2007 12\:41\:15 -0700 \(PDT\)")
References:  <20070628123314.W552@10.0.0.1>

next in thread | previous in thread | raw e-mail | index | archive | help
Jeff Roberson <jroberson@chesapeake.net> writes:
> This allows wakeup callers to hint the scheduler about various
> information.  WAKEUP_LOCAL would allow us to prefer affinity for the
> waking cpu.  I have patches to use this in pipe code and socket buffer
> code that improve performance in some workloads.  WAKEUP_TAIL could be
> used for accept() which I have heard can significantly improve
> webserver performance.

Yes, for accept() and other situations where the sleepers are otherwise
equivalent (i.e. you don't care *who* is woken up as long as *somebody*
is woken up), picking the most recent entry on the sleep queue (the
entry which is most likely to still be in cache, or at least not paged
out) will greatly reduce cache and VM thrashing.

DES
--=20
Dag-Erling Sm=C3=B8rgrav - des@des.no



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