Re: [PATCH] SLUB use cmpxchg_local

Christoph Lameter
2007-08-28T19:37:08Z

On Tue, 28 Aug 2007, Peter Zijlstra wrote:

> On Mon, 2007-08-27 at 15:15 -0700, Christoph Lameter wrote:
> > Hmmmm. One wild idea would be to use a priority futex for the slab lock?
> > That would make the slow paths interrupt safe without requiring interrupt
> > disable? Does a futex fit into the page struct?
>
> Very much puzzled at what you propose. in-kernel we use rt_mutex (has
> PI) or mutex, futexes are user-space. (on -rt spinlock_t == mutex ==
> rt_mutex)
>
> Neither disable interrupts since they are sleeping locks.
>
> That said, on -rt we do not need to disable interrupts in the allocators
> because its a bug to call an allocator from raw irq context.

Right so if a prioriuty futex would have been taken from a process
context and then an interrupt thread (or so no idea about RT) is scheduled
then the interrupt thread could switch to the process context and complete
the work there before doing the "interrupt" work. So disabling interrupts
is no longer necessary.