On Tue, 2009-06-16 at 10:13 +0200, Ingo Molnar wrote: > > By removing the types it becomes very difficult to verify the max > > depth. I really don't like removing them. > > The fact that it implies an atomic section pretty much limits its > depth in practice, doesnt it? > > All we need to track in the debug code is > max-{syscall,softirq,hardirq,nmi}. The sum of these 4 counts must be > smaller than the max - even if (as you are right to point out) we > dont hit that magic combo that truly maximizes the depth. Right, so the thing I'd worry about is someone adding kmap_atomic() to an interrupt context that didn't have interrupts disabled and then managing to nest that a few times. Suppose you put it in some IO completion handler, and someone has 4 IO controllers installed and all 4 IO interrupts come in at the 'same' time. With types you could warn on similarly to what we do today, but with the simple push/pop that might be a lot harder. Anyway, with the whole cr2 fiddling bit being discussed this seems to become redundant. > And note that in practice many of the current types are exclusive to > each other - so using the stack would _reduce_ the amount of > kmap-atomic space we need. Yeah, I did realize that. -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html