Andrea Arcangeli <[EMAIL PROTECTED]> wrote: > > > And it's currently OK to add a might_sleep() to (say) an inline path which > > is expended a zillion times because we know it'll go away for production > > builds. If those things become cond_resched() calls instead, the code > > increase will be permanent. > > this is exactly why I'm making this change: so you can still add > might_sleep in a inline path expected to run a zillion times. With > Ingo's change you would be doing cond_sched internally to might_sleep, I > do the other way around so might_sleep remains a debugging statement.
OK. cond_resched() is usually a waste of space with CONFIG_PREEMPT. It might make sense to define a cond_resched_if_not_preempt thingy, which only does things if !CONFIG_PREEMPT. We'd still need to use cond_resched() inside lock_kernel(). > > > I've yet to go through Arjan's patch - I suspect a lot of it is not needed. > > Arjan's or Ingo's? I've seen Ingo's patch but maybe I missed Arjan's one. I think Ingo's patch includes Arjan's one. Ingo's patch apparently breaks ext3. I have a bunch of ext3 and other fixes here, but there's still an occasional problem on SMP.