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