cvs commit: src/sys/kern kern_objcache.c

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Apr 13 20:03:01 PDT 2006


dillon      2006/04/13 19:58:50 PDT

DragonFly src repository

  Modified files:
    sys/kern             kern_objcache.c 
  Log:
  Fix an edge case where objects can be returned to a per-cpu cache while
  the objcache is blocked on the depot token.  the depot is found to be
  exhausted and objcache blocks anyway.  Rechecking the per-cpu cache after
  obtaining the token deals with the problem.
  
  Normally this isn't a problem but on low-memory machines the objcache
  is tight enough on memory that the returned objects could represent all
  returnable objects at that time and a tsleep without checking for their
  presence would block the calling thread forever.
  
  Reported-by: Stefan Krueger <skrueger at xxxxxxxxxxxxxxxx>
  Also-thanks-to: Peter Holms filesystem and load testing suite (stress2).
  
  Revision  Changes    Path
  1.6       +17 -37    src/sys/kern/kern_objcache.c


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





More information about the Commits mailing list