Dear experts,
I have question about memory allocation failure on kernel 3.1.
(simply it seems there is available free memory, however “page allocation failure” happened)
While big data transfer, there is page allocation failure (please check attached log)
It happens on __alloc_skb().
Inside function, it allocates memory from “skbuff_head_cache” and “size-xxxxxxx” caches.
Here is my understanding, please correct me and advise.
From the kernel log, it failed when it tried to get 2^3*4K(=32KB) memory. (e.g. swapper: page allocation failure: order:3, mode:0x20)
From slabinfo, upper size-32768 does not have available slab, however buddy still has available memory.
so when 32KB(order:3) was required, slab(size-32768) should request memory from buddy.
e.g. “2” will be decreased to “1” on buddyinfo and “size-32768” cache will get 32K memory from buddy.
So I can not understand why page alloc failure happened even if there are many available memory on buddy.
Please advise on it.
Here is dump info(page_allocation_failure_last_dump.txt), right after issue happens.
(FYI at alloc failure, order:3)
cat /proc/buddyinfo Node 0, zone Normal 949 0 0 2 3 3 0 0 1 1 0 cat /proc/slabinfo slabinfo - version: 2.1 # name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail> skbuff_head_cache 552 700 192 20 1 : tunables 120 60 8 : slabdata 35 35 480 // sjoo: it looks enough. size-4194304 0 0 4194304 1 1024 : tunables 1 1 0 : slabdata 0 0 0 size-2097152 0 0 2097152 1 512 : tunables 1 1 0 : slabdata 0 0 0 size-1048576 0 0 1048576 1 256 : tunables 1 1 0 : slabdata 0 0 0 size-524288 0 0 524288 1 128 : tunables 1 1 0 : slabdata 0 0 0 size-262144 0 0 262144 1 64 : tunables 1 1 0 : slabdata 0 0 0 size-131072 1 1 131072 1 32 : tunables 8 4 0 : slabdata 1 1 0 size-65536 4 4 65536 1 16 : tunables 8 4 0 : slabdata 4 4 0 size-32768 19 19 32768 1 8 : tunables 8 4 0 : slabdata 19 19 0 cat /proc/meminfo MemTotal: 747864 kB MemFree: 7652 kB … LowTotal: 747864 kB LowFree: 7652 kB |
Thanks,
Seongho(Shawn)