cvs commit: src/sys/kern kern_spinlock.c lwkt_thread.c usched_bsd4.c src/sys/sys globaldata.h spinlock2.h
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Jun 1 12:05:44 PDT 2006
dillon 2006/06/01 12:02:39 PDT
DragonFly src repository
Modified files:
sys/kern kern_spinlock.c lwkt_thread.c
usched_bsd4.c
sys/sys globaldata.h spinlock2.h
Log:
Since we can only hold one shared spinlock at a time anyway, change the
gd_spinlocks_rd counter into a gd_spinlock_rd pointer. This will improve
performance for potentially contested exclusive spinlocks. Now they can
test the per-cpu spinlock pointer directly against the spinlock being
acquired instead of testing a counter which might represent any shared
spinlock.
This also has the effect of relaxing the requirement that further
exclusive spinlocks cannot be acquired while holding a shared spinlock,
but for now we are going to leave the requirement intact.
Revision Changes Path
1.7 +7 -7 src/sys/kern/kern_spinlock.c
1.100 +4 -4 src/sys/kern/lwkt_thread.c
1.12 +2 -2 src/sys/kern/usched_bsd4.c
1.44 +2 -1 src/sys/sys/globaldata.h
1.11 +12 -8 src/sys/sys/spinlock2.h
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_spinlock.c.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/lwkt_thread.c.diff?r1=1.99&r2=1.100&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/usched_bsd4.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/globaldata.h.diff?r1=1.43&r2=1.44&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/spinlock2.h.diff?r1=1.10&r2=1.11&f=u
More information about the Commits
mailing list