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