Re: [PATCH 01/03] Cpuset: might sleep checking zones allowed fix

From: David Chinner
Date: Thu May 18 2006 - 01:47:39 EST

On Wed, May 17, 2006 at 10:25:43PM -0700, Andrew Morton wrote:
> Paul Jackson <pj@xxxxxxx> wrote:
> >
> > Fix a couple of infrequently encountered 'sleeping function
> > called from invalid context' in the cpuset hooks in
> > __alloc_pages. Could sleep while interrupts disabled.
> I'd have thought that if all the callers get their __GFP_HARDWALLS correct
> then that fishy-looking in_interrupt() test in __cpuset_zone_allowed()
> could be removed?

I suggested to Paul that __cpuset_zone_allowed() should check for
__GFP_WAIT and allow the allocation if it is not set. Any allocation
from interrupt context has to be GFP_ATOMIC so that would kill
the need for the in_interrupt() check as well. I'm probably missing
something, but that seemed like the obvious fix to me...


Dave Chinner
R&D Software Enginner
SGI Australian Software Group
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at