diff options
| author | Christoph Lameter <[email protected]> | 2006-03-22 00:09:05 -0800 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2006-03-22 07:54:05 -0800 |
| commit | 35386e3b0f876bf194982f48f027af0c216499ce (patch) | |
| tree | 9fb79545f6797422f5cf666b0e65a4bb1882ee1d /scripts/basic/split-include.c | |
| parent | 248a0301e703cbf781aa02a91bcfc6da75870dd7 (diff) | |
[PATCH] slab: cache_reap(): further reduction in interrupt holdoff
cache_reap takes the l3->list_lock (disabling interrupts) unconditionally
and then does a few checks and maybe does some cleanup. This patch makes
cache_reap() only take the lock if there is work to do and then the lock is
taken and released for each cleaning action.
The checking of when to do the next reaping is done without any locking and
becomes racy. Should not matter since reaping can also be skipped if the
slab mutex cannot be acquired.
The same is true for the touched processing. If we get this wrong once in
awhile then we will mistakenly clean or not clean the shared cache. This
will impact performance slightly.
Note that the additional drain_array() function introduced here will fall
out in a subsequent patch since array cleaning will now be very similar
from all callers.
Signed-off-by: Christoph Lameter <[email protected]>
Cc: Pekka Enberg <[email protected]>
Cc: Manfred Spraul <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'scripts/basic/split-include.c')
0 files changed, 0 insertions, 0 deletions