Re: MM patches against 2.5.31

Andrew Morton
2002-08-26T02:32:35Z

"Martin J. Bligh" wrote:
>
> >> > kjournald: page allocation failure. order:0, mode:0x0
> >>
> >> I've seen this before, but am curious how we ever passed
> >> a gfpmask (aka mode) of 0 to __alloc_pages? Can't see anywhere
> >> that does this?
> >
> > Could be anywhere, really. A network interrupt doing GFP_ATOMIC
> > while kjournald is executing. A radix-tree node allocation
> > on the add-to-swap path perhaps. (The swapout failure messages
> > aren't supposed to come out, but mempool_alloc() stomps on the
> > caller's setting of PF_NOWARN.)
> >
> > Or:
> >
> > mnm:/usr/src/25> grep -r GFP_ATOMIC drivers/scsi/*.c | wc -l
> > 89
>
> No, GFP_ATOMIC is not 0:
>

It's mempool_alloc(GFP_NOIO) or such. mempool_alloc() strips
__GFP_WAIT|__GFP_IO on the first attempt.

It also disables the printk, so maybe I just dunno ;) show_stack()
would tell.