Messages in this thread | | | Date | Mon, 23 May 2016 18:48:20 -0700 | Subject | Re: [PATCH v3 3/3] sched, x86: Check that we're on the right stack in schedule and __might_sleep | From | Linus Torvalds <> |
| |
On Mon, May 23, 2016 at 6:23 PM, Andy Lutomirski <luto@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
| |