Re: [patch 2/3] NUMA slab locking fixes - move irq disabling from cahep->spinlock to l3 lock

Andrew Morton
2006-02-04T09:49:08Z

Ravikiran G Thirumalai <kiran@scalex86.org> wrote:
>
> Earlier, we had to disable on chip interrupts while taking the cachep->spinlock
> because, at cache_grow, on every addition of a slab to a slab cache, we
> incremented colour_next which was protected by the cachep->spinlock, and
> cache_grow could occur at interrupt context. Since, now we protect the
> per-node colour_next with the node's list_lock, we do not need to disable
> on chip interrupts while taking the per-cache spinlock, but we
> just need to disable interrupts when taking the per-node kmem_list3 list_lock.

It'd be nice to have some comments describing what cachep->spinlock
actually protects.

Does __cache_shrink() need some locking to prevent nodes from going offline?