cvs commit: src/sys/kern kern_objcache.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Jul 1 23:36:51 PDT 2007
dillon 2007/07/01 23:34:26 PDT
DragonFly src repository
Modified files:
sys/kern kern_objcache.c
Log:
Because the objcache caches up to two magazines on each cpu some pretty
bad degenerate conditions will be hit if the cluster limit is set too small
or the magazine size is set too large.
Detect the problem and reduce the magazine size to compensate. If we hit
the minimum magazine size (16), increase the cluster limit to compensate.
Report the corrections on the console.
We also have the option of stealing magazines from other cpus, or reducing
the magazine size even further to handle extreme cases.
This should solve most of the objcache issues when ncpus is set to 31.
Revision Changes Path
1.20 +34 -5 src/sys/kern/kern_objcache.c
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_objcache.c.diff?r1=1.19&r2=1.20&f=u
More information about the Commits
mailing list