On Tue, 2010-03-30 at 13:36 -0400, Rik van Riel wrote:Increase the PREEMPT_BITS to 12, to deal with a larger number
of locks that can be taken in mm_take_all_locks or other places
where many instances of the same type of lock can be taken.
The overflow of PREEMPT_BITS should be harmless, since it simply
increments the counter into the SOFTIRQ_BITS, and the counter
will be decremented again later.
However, the overflow does lead to backtraces with CONFIG_PREEMPT_DEBUG
enabled.
Signed-off-by: Rik van Riel<riel@xxxxxxxxxx>
Reported-by: Kent Overstreet<kent.overstreet@xxxxxxxxx>
---
Kent, does this patch fix the issue you saw?
Peter, I know you do not like this approach. However, I could not
think of a way around mm_take_all_locks. We need to take those locks
and want to track that fact for lock debugging...
Does this even boot? It tramples all over PREEMPT_ACTIVE for x86.
Also, you'll need to convince mingo and tglx too.. taking that many
spinlocks is utter suckage..