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