DragonFly commits List (threaded) for 2006-04
cvs commit: src/sys/kern kern_objcache.c
dillon 2006/04/13 19:58:50 PDT
DragonFly src repository
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@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