git: kernel - Add MONITOR/MWAIT support to the LWKT scheduler
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Dec 19 09:41:31 PST 2010
commit 0f0466c0c36e1dc71c1917d6835dca144fb80cb3
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sun Dec 19 09:25:17 2010 -0800
kernel - Add MONITOR/MWAIT support to the LWKT scheduler
* Adjust the FIFO contention resequencer (which deals with spinning
on tokens) to use MONITOR/MWAIT when available instead of DELAY(1)
when waiting to become the head of the queue.
* Adjust the x86-64 idle loop to use MONITOR/MWAIT when available when
the idle halt mode (machdep.cpu_idle_hlt) is set to 1. This
significantly improves performance for event-oriented programs, including
compile pipelines.
NOTE: On the 48-core monster setting machdep.cpu_idle_hlt to 1 improves
performance but at the cost of an additional 200W of power at idle vs
the default value of 2 (ACPI idle halt). Look for a hybrid approach in
a future commit.
Summary of changes:
sys/kern/lwkt_thread.c | 12 +++++++++---
sys/platform/pc64/x86_64/machdep.c | 14 ++++++++++----
2 files changed, 19 insertions(+), 7 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/0f0466c0c36e1dc71c1917d6835dca144fb80cb3
--
DragonFly BSD source repository
More information about the Commits
mailing list