Greetings, On Wed, 2021-06-09 at 13:38 +0200, Vlastimil Babka wrote: > @@ -3313,6 +3320,8 @@ int kmem_cache_alloc_bulk(struct kmem_cache *s, > gfp_t flags, size_t size, > */ > c->tid = next_tid(c->tid); > > + local_irq_enable(); > + > /* > * Invoking slow path likely have side-effect > * of re-populating per CPU c->freelist This addition should have been followed by removal of the one in the error path. At the end of the series, RT ends up doing a double local_unlock_irq() instead of post ___slab_alloc() slub_put_cpu_ptr(). -Mike