logo       

Re: BUG or not? GFP_KERNEL with interrupts disabled.: msg#00243

Subject: Re: BUG or not? GFP_KERNEL with interrupts disabled.
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





<Prev in Thread] Current Thread [Next in Thread>