Re: iwl3945: order 5 allocation during ifconfig up; vm problem?
From: Stanislaw Gruszka <hidden>
Date: 2012-09-12 09:22:15
Also in:
linux-mm, lkml
On Tue, Sep 11, 2012 at 04:25:36PM -0700, Andrew Morton wrote:
On Mon, 10 Sep 2012 13:11:13 +0200 Pavel Machek [off-list ref] wrote:quoted
On Sun 2012-09-09 15:40:55, David Rientjes wrote:quoted
On Sun, 9 Sep 2012, Pavel Machek wrote:quoted
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=yAsking 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