Re: iwl3945: order 5 allocation during ifconfig up; vm problem?

From: Stanislaw Gruszka
Date: Wed Sep 12 2012 - 05:22:05 EST


On Tue, Sep 11, 2012 at 04:25:36PM -0700, Andrew Morton wrote:
> On Mon, 10 Sep 2012 13:11:13 +0200
> Pavel Machek <pavel@xxxxxx> wrote:
>
> > On Sun 2012-09-09 15:40:55, David Rientjes wrote:
> > > On Sun, 9 Sep 2012, Pavel Machek wrote:
> > >
> > > > On 3.6.0-rc2+, I tried to turn on the wireless, but got
> > > >
> > > > root@amd:~# ifconfig wlan0 10.0.0.6 up
> > > > SIOCSIFFLAGS: Cannot allocate memory
> > > > SIOCSIFFLAGS: Cannot allocate memory
> > > > root@amd:~#
> > > >
> > > > It looks like it uses "a bit too big" allocations to allocate
> > > > firmware...? Order five allocation....
> > > >
> > > > Hmm... then I did "echo 3 > /proc/sys/vm/drop_caches" and now the
> > > > network works. Is it VM problem that it failed to allocate memory when
> > > > it was freeable?
> > > >
> > >
> > > Do you have CONFIG_COMPACTION enabled?
> >
> > Yes:
> >
> > pavel@amd:/data/l/linux-good$ zgrep CONFIG_COMPACTION /proc/config.gz
> > CONFIG_COMPACTION=y
>
> Asking for a 256k allocation is pretty crazy - this is an operating
> system kernel, not a userspace application.
>
> I'm wondering if this is due to a recent change, but I'm having trouble
> working out where the allocation call site is.

iwlwifi/iwlegacy do such kind of allocation for ages, since iwlwifi driver
inclusion in 2.6.24 (however firmware was smaller then).

I can fix that in iwlegacy similar as Johannes did it in iwlwifi, but this
actually seems to be allocator regression. We use GFP_KERNEL allocation,
kernel can wait for free memory and/or swap out pages, I do not understand
why this fail.

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