On Mon, May 23, 2016 at 6:23 PM, Andy Lutomirski <l...@amacapital.net> wrote: >> >> Or we could just let ksoftirqd do its thing and stop raising >> HARDIRQ_COUNT. We could add a new preempt count field just for IST >> (yuck). We could try to hijack a different preempt count field >> (NMI?). But I kind of like the idea of just reinstating the original >> patch of explicitly checking that we're on a safe stack in schedule >> and __might_sleep, since that is the actual condition we care about. > > Ping? I can still trigger this fairly easily on 4.6.
.. I haven't seen a patch from you, last I saw that was kind of what I expected. That said, I still despise your patch. Why can't you just fix "in_interrupt()" and be done with it. The original patch was like 50 lines of changes for somethinig that feels like it should be a one-liner. And no, we don't add idiotic new config symbols for things like "I have this one-liner trivial arch helper". What we do is to just test for such a helper with "#ifdef" (and if it's a inline function we do #define xyz xyz" so that the #ifdef works). So the original patch in this thread is still off the table, especially since there was absolutely no explanation for why it should be such a crazy complicated thing. What exactly is it you are nervous about scheduling in NMI's? I agree that that would be disastrous, but it's not supposed to actually happen. Linus