aboutsummaryrefslogtreecommitdiffstats
path: root/README.markdown
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2012-12-10 10:53:46 -0800
committerBrian Behlendorf <[email protected]>2012-12-12 09:56:54 -0800
commita10287e00d13c4c4dbbff14f42b00b03da363fcb (patch)
tree946bdaf4fc2f002953374abe7e19403463a9c9e6 /README.markdown
parent296a8e596dac344cf3af5e7f2dff5be12c979d80 (diff)
kmem-cache: Use taskqs for ageing
Shift the cache and magazine ageing functionality over to the new delayed taskq interfaces. This allows us to abandon the kernels delayed work queue interface and all the compatibility code it requires. However, the delayed taskq interface does not allow us to schedule a task for a specfic cpu so the ageing code was slightly reworked. The magazine ageing delay has been directly linked to the cache ageing function. The spl_cache_age() function invokes on_each_cpu() in order to run spl_magazine_age() on each cpu. It then blocks waiting for them to complete and promptly reclaims any free slabs. When restructing the code wasn't the primary goal I think the new code is far more understable and maintainable. It also should help minimize magazine thrashing because free slabs are immediately released after the magazine is aged. Signed-off-by: Brian Behlendorf <[email protected]>
Diffstat (limited to 'README.markdown')
0 files changed, 0 insertions, 0 deletions