Re: Hard Hang with __alloc_pages: 0-order allocation failed (gfp=0x20/1) - Not out of memory

Marcelo Tosatti
2004-05-25T22:51:45Z

On Tue, May 25, 2004 at 02:47:59PM -0700, David S. Miller wrote:
> On Tue, 25 May 2004 14:20:23 -0700
> "Feldman, Scott" <scott.feldman@intel.com> wrote:
>
> > Marcelo Tosatti wrote:
> >
> > > It seems we are calling alloc_skb(GFP_KERNEL) from inside an
> > > interrupt handler. Oops.
> >
> > We're calling dev_alloc_skb() from hard interrupt context, but it uses
> > GFP_ATOMIC, not GFP_KERNEL, so this is OK, right? I don't see the
> > problem with e1000.
>
> Neither do I, where is the detailed backtrace of this GFP_KERNEL
> allocation supposedly from interrupt context?

That was just a very wrong guess, I must admit.

Actually what seems to be happening is an e1000 IRQ while
trying to free memory (shrink_caches()) which tries to
allocate more memory.

Locked caused by extremely high load it seems.

You know better than me.