[PATCH] slab: fix drain_array() so that it works correctly with the shared_array
authorChristoph Lameter <clameter@engr.sgi.com>
Wed, 22 Mar 2006 08:09:07 +0000 (00:09 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 22 Mar 2006 15:54:06 +0000 (07:54 -0800)
commitb18e7e654d7af741d2bf34a90dc34128d0217fea
tree04cbc067da970b8b24c8b5d48a1e7d9520f92b06
parent1b55253a7f95adc82eb20937b57b3e3e32ba65df
[PATCH] slab: fix drain_array() so that it works correctly with the shared_array

The list_lock also protects the shared array and we call drain_array() with
the shared array.  Therefore we cannot go as far as I wanted to but have to
take the lock in a way so that it also protects the array_cache in
drain_pages.

(Note: maybe we should make the array_cache locking more consistent?  I.e.
always take the array cache lock for shared arrays and disable interrupts
for the per cpu arrays?)

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
mm/slab.c