Re: slqb enables interrupts very early

From: Pekka Enberg
Date: Mon Jul 27 2009 - 03:44:33 EST


Sebastian Andrzej Siewior wrote:
I've checkout slab-2.6/linux-next and noticed that the interrupts are
enabled very early by accident. Please look at the following call stack:

start_kernel()
kmem_cache_init()
kmem_cache_open()
down_write(&slqb_lock);
__down_write()
__down_write_nested()

Now, __down_write_nested() protects its internal structure the follwing
way:
spin_lock_irq(&sem->wait_lock);
...
spin_unlock_irq(&sem->wait_lock);

so once we return, we return with interrupts on.

Indeed. Nick, do we need to take ->slqb_lock in kmem_cache_open()? A quick read on the code suggests that we could just drop it.

Pekka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/