mm, slub: make locking in deactivate_slab() irq-safe
authorVlastimil Babka <vbabka@suse.cz>
Wed, 12 May 2021 11:59:58 +0000 (13:59 +0200)
committerVlastimil Babka <vbabka@suse.cz>
Fri, 3 Sep 2021 23:12:21 +0000 (01:12 +0200)
commit3406e91bce47383f03fe839f02f7f4bef78c832c
tree335e297061f43a5a920b7197fddfa74805002688
parenta019d20162586ae5b14bf26c94f1943b1d24a832
mm, slub: make locking in deactivate_slab() irq-safe

dectivate_slab() now no longer touches the kmem_cache_cpu structure, so it will
be possible to call it with irqs enabled. Just convert the spin_lock calls to
their irq saving/restoring variants to make it irq-safe.

Note we now have to use cmpxchg_double_slab() for irq-safe slab_lock(), because
in some situations we don't take the list_lock, which would disable irqs.

Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
mm/slub.c