git: serialize: Rework adaptive enter

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Thu Jan 9 05:17:24 PST 2014


commit 74d302e35048d82a0a97b4140ece2a60cf360fe6
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date:   Fri Jan 3 21:22:12 2014 +0800

    serialize: Rework adaptive enter
    
    - Don't increase wait counter before the spinning phrase; this avoids
      unnecessary wakeup() calls on other CPU
    - Rework the spinning phrase according to our spinlock contest processing
    
    Tested on 8 HT (i7-3770) box, using kq_accept_server/kq_connect_client:
    - 4/4 TX/RX rings device (BCM5719, using MSI-X), slight improvement.
    - 8/8 TX/RX rings device (Intel 82580, using MSI-X), slight improvement.
    - 1/2 TX/RX rings device (Intel 82599, using MSI), slight improvement.

Summary of changes:
 sys/cpu/i386/include/atomic.h   |  14 ++++
 sys/cpu/x86_64/include/atomic.h |  14 ++++
 sys/kern/lwkt_serialize.c       | 144 ++++++++++++++++------------------------
 3 files changed, 85 insertions(+), 87 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/74d302e35048d82a0a97b4140ece2a60cf360fe6


-- 
DragonFly BSD source repository


More information about the Commits mailing list