Messages in this thread | | | Date | Thu, 18 Aug 2022 17:22:53 +0200 | From | Sebastian Andrzej Siewior <> | Subject | Re: [PATCH 1/9] slub: Make PREEMPT_RT support less convoluted |
| |
On 2022-08-18 16:37:06 [+0200], Vlastimil Babka wrote: > > The slub fastpath does not interfere with slow path operations and the > > That's true on !PREEMPT_RT because a slowpath operation under > local_lock_irqsave() will disable interrupts, so there can't be a > fastpath operation in an interrupt handler appearing in the middle of a > slowpath operation. > > On PREEMPT_RT local_lock_irqsave() doesn't actually disable interrupts, > so that can happen. IIRC we learned that the hard way when Mike > Galbraith was testing early versions of my PREEMPT_RT changes for SLUB.
I think the point is that local_lock_irqsave() does not disable preemption. So the lock owner (within the local_lock_irqsave() section) can be preempted and another task can use the fast path which does not involve the lock and things go boom from here.
Sebastian
| |