Add wakeup_with() before 7.0?

Dag-Erling Smørgrav des at des.no
Fri Jun 29 08:53:08 UTC 2007


Jeff Roberson <jroberson at 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
-- 
Dag-Erling Smørgrav - des at des.no


More information about the freebsd-arch mailing list