Bug 6648
Summary: | swapper: page allocation failure. order:0, mode:0x20 | ||
---|---|---|---|
Product: | Memory Management | Reporter: | Pawel Staszewski (pstaszewski) |
Component: | Page Allocator | Assignee: | Andrew Morton (akpm) |
Status: | REJECTED UNREPRODUCIBLE | ||
Severity: | normal | CC: | alan, jarkao2, protasnb, stephen |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.17-rc5-git7 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | cat /proc/net/fib_trie |
Description
Pawel Staszewski
2006-06-05 04:25:19 UTC
This bug needs to be refreshed. Pawel can you please retest with newest kernel? Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits BGP paol # w 00:10:39 up 1 day, 23:02, 1 user, load average: 0.01, 0.02, 0.00 USER TTY LOGIN@ IDLE JCPU PCPU WHAT paol pts/0 00:10 0.00s 0.00s 0.02s sshd: paol [priv] BGP paol # uname -a Linux BGP 2.6.25-rc6-git6 #1 SMP Sun Mar 23 01:06:42 CET 2008 x86_64 Intel(R) With the newest kernel i have no problem. only this: Fix inflate_threshold_root. Now=15 size=11 bits Thanks for the update. Hmm, this comes from resize() in TCP code. CC-int to Stephen, maybe this bug needs to be re-assigned now. Are you using Jumbo frames? I suspect the problem is that e1000 driver has to round up allocations, and when using Jumbo frames this can mean a 9K frame requires 16K contiguous allocation. On a busy system that will fail. Newer kernels generate less fragmented space, but it is really a hardware problem. The message 'inflate_threshold_root' comes from the fib_trie routing code. How many routes do you have and what is the distribution? It would be useful to see the output of /proc/net/fib_triestat and /proc/net/fib_trie Created attachment 15540 [details]
cat /proc/net/fib_trie
this is bgp router with installed quagga as bgp daemon. cat /proc/net/fib_triestat Basic info: size of leaf: 40 bytes, size of tnode: 40 bytes. Local: Aver depth: 5.12 Max depth: 7 Leaves: 31 Internal nodes: 28 1: 26 2: 2 Pointers: 60 Null ptrs: 2 Total size: 3 kB Main: Aver depth: 2.26 Max depth: 6 Leaves: 235924 Internal nodes: 57854 1: 31632 2: 11422 3: 8475 4: 3755 5: 1676 6: 893 18: 1 Pointers: 609760 Null ptrs: 315983 Total size: 16240 kB and MTU is 1500 no jumbo frames. Is this still a problem ? Kernel 2.6.29.3 Server #1 Sometimes i have the same info like before: e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None e1000: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits On three different machines. cat /proc/net/fib_triestat Basic info: size of leaf: 20 bytes, size of tnode: 36 bytes. Main: Aver depth: 2.27 Max depth: 7 Leaves: 268917 Prefixes: 282352 Internal nodes: 65708 1: 36354 2: 12657 3: 9215 4: 4399 5: 2011 6: 1071 18: 1 Pointers: 662480 Null ptrs: 327856 Total size: 17871 kB Counters: --------- gets = 2195484652 backtracks = 636049593 semantic match passed = 2195493159 semantic match miss = 212348885 null node hit= 1353421394 skipped node resize = 0 Local: Aver depth: 3.58 Max depth: 4 Leaves: 12 Prefixes: 13 Internal nodes: 9 1: 7 2: 2 Pointers: 22 Null ptrs: 2 Total size: 1 kB Counters: --------- gets = 2195935298 backtracks = 1041035352 semantic match passed = 418139 semantic match miss = 0 null node hit= 290544 skipped node resize = 0 Server #2 Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits Fix inflate_threshold_root. Now=15 size=11 bits cat /proc/net/fib_triestat Basic info: size of leaf: 20 bytes, size of tnode: 36 bytes. Local: Aver depth: 3.75 Max depth: 5 Leaves: 12 Prefixes: 13 Internal nodes: 10 1: 9 2: 1 Pointers: 22 Null ptrs: 1 Total size: 2 kB Counters: --------- gets = 4070990500 backtracks = 993990300 semantic match passed = 311572 semantic match miss = 0 null node hit= 1556177 skipped node resize = 0 Main: Aver depth: 2.26 Max depth: 7 Leaves: 268918 Prefixes: 282353 Internal nodes: 65142 1: 34900 2: 12879 3: 9559 4: 4591 5: 2106 6: 1106 18: 1 Pointers: 671564 Null ptrs: 337505 Total size: 17887 kB Counters: --------- gets = 4070765628 backtracks = 41807032 semantic match passed = 4068421081 semantic match miss = 114232 null node hit= 2025898189 skipped node resize = 0 On this servers is working bgpd (quagga 0.99.12) These problems were tracked on the netdev@ list under the subject: "rib_trie / Fix inflate_threshold_root" (25 Jun 2009). Fixes in the mainline (2.6.31 tree) start with: "ipv4: Fix fib_trie rebalancing" http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e0f7cb8c8cc6cccce28d2ce39ad8c60d23c3799f plus next parts. |