lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <87zl71lt7l.fsf_-_@spindle.srvr.nix>
Date:	Thu, 05 Nov 2009 00:18:38 +0000
From:	Nix <nix@...eri.org.uk>
To:	"TuxOnIce users' list" <tuxonice-users@...ts.tuxonice.net>,
	Linux-Kernel-Mailing-List <linux-kernel@...r.kernel.org>
Cc:	dominik.stadler@....at
Subject: strange OOM receiving a wireless network packet on a SLUB system

On 4 Nov 2009, Dominik Stadler stated:
> I just saw a very similar thing happening to me here, ThinkPad T500, Ubuntu
> 9.10, latest 3.0.1+TOI-Kernel from Karmic-PPA, I  have some other weirdness
> as well which I am not sure if TOI-related or Karmic, will do some
> Divide-And-Conquer analysis next to find out the root cause of these and
> report back.
>
> $ uname -a
> Linux XXXXXX 2.6.31-15-generic #49+tuxonice2-Ubuntu SMP Sat Oct 31 01:46:15
> UTC 2009 x86_64 GNU/Linux
>
> This is what I got just now:
>
> Nov  4 22:40:22 dstathink kernel: [39835.951178] swapper: page allocation
> failure. order:2, mode:0x4020

That doesn't really look similar to me (not a decompressor -22 error).
To me it looks more like you ran out of memory, or at least ran very close
to out: an order-2 allocation is not enormous (16Kb on x86) and should
definitely work after everything's been chucked out. (mode 0x4020 implies
a compound-page GFP_ATOMIC allocation, so it couldn't swap, but it
could certainly discard clean pages.)

Did this happen at suspension time, resumption time,or what? It looks
like the kernel hadn't been up for long, so I guess we can rule out
really really bad arena fragmentation... but it was long enough that I
guess this was at suspension time?

> Nov  4 22:40:22 dstathink kernel: [39835.951178] Pid: 0, comm: swapper
> Tainted: G         C 2.6.31-15-generic #49+tuxonice2-Ubuntu
> Nov  4 22:40:22 dstathink kernel: [39835.951178] Call
> Trace:
> Nov  4 22:40:22 dstathink kernel: [39835.951178]  <IRQ>
> [<ffffffff810f1abc>]
> __alloc_pages_slowpath+0x4cc/0x4e0
> 
> Nov  4 22:40:22 dstathink kernel: [39835.951178]  [<ffffffff810f1c1e>]
> __alloc_pages_nodemask+0x14e/0x150
> 
> Nov  4 22:40:22 dstathink kernel: [39835.951178]  [<ffffffff811230ca>]
> kmalloc_large_node+0x5a/0xb0
> 
> Nov  4 22:40:22 dstathink kernel: [39835.951178]  [<ffffffff81127275>]
> __kmalloc_node_track_caller+0x135/0x180

This is SLUB stuff. Is SLUB production-ready yet? (I haven't been
following it.)

(Networking, wireless, SLUB, no idea where to Cc this. I'll just Cc LKML
and see if anyone notices :) )

> Nov  4 22:40:22 dstathink kernel: [39835.951178]  [<ffffffffa0245899>] ?
> iwl_rx_allocate+0x1a9/0x230
> [iwlcore]
>
> Nov  4 22:40:22 dstathink kernel: [39835.951178]  [<ffffffff8144088b>]
> __alloc_skb+0x7b/0x180
>
> Nov  4 22:40:22 dstathink kernel: [39835.951178]  [<ffffffffa0245899>]
> iwl_rx_allocate+0x1a9/0x230
> [iwlcore]

Wireless network packet reception leading to OOM. Not TuxOnIce, I'd say.
Certainly not the same problem as me: I don't even *have* any wireless
hardware (with my RSI, laptops might as well have razor blades on their
keys).

(Why does it need a 16Kb contiguous region anyway?

> Nov  4 22:40:22 dstathink kernel: [39835.951178]  [<ffffffff81010e12>] ?
> cpu_idle+0xb2/0x100

Idle, not suspending...

> Nov  4 22:40:22 dstathink kernel: [39835.951178] Active_anon:365111
> active_file:88612 inactive_anon:162361

Lots of inactive pages. Why were none chucked out?

> Nov  4 22:40:22 dstathink kernel: [39835.951178]  inactive_file:243222
> unevictable:4 dirty:214598 writeback:320 unstable:0

214000+ dirty pages seems awfully high.

> Nov  4 22:40:22 dstathink kernel: [39835.951178]  free:6876 slab:51582
> mapped:40147 pagetables:8440 bounce:0

6876 free pages, a reasonable-enough figure, yet it couldn't find four
in a row to receive a network packet? Seems unlikely.

> Nov  4 22:40:22 dstathink kernel: [39835.951178] Node 0 DMA free:15644kB
> min:28kB low:32kB high:40kB active_anon:12kB inactive_anon:32kB
> active_file:4kB inactive_file:208kB unevictable:0kB present:15336kB
> pages_scanned:0 all_unreclaimable? no
> 
> Nov  4 22:40:22 dstathink kernel: [39835.951178] lowmem_reserve[]: 0 2958
> 3905 3905
>
> Nov  4 22:40:22 dstathink kernel: [39835.951178] Node 0 DMA32 free:10124kB
> min:6044kB low:7552kB high:9064kB active_anon:1223088kB
> inactive_anon:367500kB active_file:218036kB inactive_file:833596kB
> unevictable:16kB present:3029636kB pages_scanned:0 all_unreclaimable?
> no
>
> Nov  4 22:40:22 dstathink kernel: [39835.951178] lowmem_reserve[]: 0 0 946
> 946
>
> Nov  4 22:40:22 dstathink kernel: [39835.951178] Node 0 Normal free:1736kB
> min:1932kB low:2412kB high:2896kB active_anon:237344kB
> inactive_anon:281912kB active_file:136408kB inactive_file:139084kB
> unevictable:0kB present:969600kB pages_scanned:0 all_unreclaimable?
> no

Again, heaps of inactive.

> Nov  4 22:40:22 dstathink kernel: [39835.951178] lowmem_reserve[]: 0 0 0
> 0
>
> Nov  4 22:40:22 dstathink kernel: [39835.951178] Node 0 DMA: 7*4kB 4*8kB
> 2*16kB 2*32kB 2*64kB 2*128kB 3*256kB 2*512kB 3*1024kB 3*2048kB 1*4096kB 15644kB
> Nov  4 22:40:22 dstathink kernel: [39835.951178] Node 0 DMA32: 2249*4kB
> 35*8kB 1*16kB 0*32kB 1*64kB 0*128kB 1*256kB 1*512kB 0*1024kB 0*2048kB
> 0*4096kB = 10124kB
> Nov  4 22:40:22 dstathink kernel: [39835.951178] Node 0 Normal: 132*4kB
> 127*8kB 2*16kB 1*32kB 0*64kB 1*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB
> 0*4096kB = 1736kB
> Nov  4 22:40:22 dstathink kernel: [39835.951178] 390803 total pagecache
> pages
>
> Nov  4 22:40:22 dstathink kernel: [39835.951178] 12039 pages in swap
> cache
>
> Nov  4 22:40:22 dstathink kernel: [39835.951178] Swap cache stats: add
> 41296, delete 29257, find
> 4825/7516
>
> Nov  4 22:40:22 dstathink kernel: [39835.951178] Free swap  8330844kB
>
> Nov  4 22:40:22 dstathink kernel: [39835.951178] Total swap 8393952kB
>
> Nov  4 22:40:22 dstathink kernel: [39835.951178] 1032192 pages
> RAM
>
> Nov  4 22:40:22 dstathink kernel: [39835.951178] 76928 pages
> reserved
>
> Nov  4 22:40:22 dstathink kernel: [39835.951178] 488347 pages
> shared
>
> Nov  4 22:40:22 dstathink kernel: [39835.951178] 596692 pages non-shared

OK, I don't know why this failed, but I'm an mm neophyte running on pure
grep. Any ideas from anyone with an actual clue in this area? (I know OOM
is all the rage right now, so maybe this will garner some attention :) )
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ