Re: BUG or not? GFP_KERNEL with interrupts disabled.

Linus Torvalds (torvalds@transmeta.com)
Thu, 27 Mar 2003 11:22:55 -0800 (PST)


On Thu, 27 Mar 2003, David S. Miller wrote:
>
> Let's codify this "in_atomic() || irqs_disabled()" test into a macro
> that everyone can use to test sleepability, ok?

Well, I really don't want people to act dynamically differently depending
on whether they can sleep or not. That makes static sanity-testing
impossible. So I really think that the only really valid use of the above
is on one single place: might_sleep().

Which right now doesn't do the "irqs_disabled()" test, but otherwise looks
good. So the code should really just say

if (gfp_mask & __GFP_WAIT)
might_sleep();

and might_sleep() should be updated.

Anybody want to try that and see whether things break horribly?

Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/