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