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