cvs commit: src/sys/kern kern_objcache.c

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Apr 13 18:06:43 PDT 2006


dillon      2006/04/13 18:06:21 PDT

DragonFly src repository

  Modified files:
    sys/kern             kern_objcache.c 
  Log:
  Fix a livelock in the objcache blocking code.  PCATCH was being improperly
  passed to tsleep.
  
  Fix harmless but inefficient wakeups in the objcache code.  When a thread
  blocks on the objcache it tsleep's on the depot.  When objects are returned
  to the objcache a wakeup is performed on the depot.  However, objects can
  be returned to the depot OR returned to the current cpu's cache.  When an
  object is returned to the current cpu's cache, only wakeup threads blocked
  on the depot originating from the current cpu, rather then all cpus.
  
  Reported-by: Stefan Krueger <skrueger at xxxxxxxxxxxxxxxx>
  Also-thanks-to: Peter Holms filesystem and load testing suite (stress2).
  
  Revision  Changes    Path
  1.5       +3 -3      src/sys/kern/kern_objcache.c


http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_objcache.c.diff?r1=1.4&r2=1.5&f=u





More information about the Commits mailing list