On 14.01.15 07:34, Ding Tianhong wrote: > v13: > - Fix the problem of alignment parameters for function and checkpatch warming. > > v12: > - According Alex's suggestion, modify the changelog and add MODULE_DEVICE_TABLE > for hip04 ethernet. > > v11: > - Add ethtool support for tx coalecse getting and setting, the xmit_more > is not supported for this patch, but I think it could work for hip04, > will support it later after some tests for performance better. > > Here are some performance test results by ping and iperf(add tx_coalesce_frames/users), > it looks that the performance and latency is more better by tx_coalesce_frames/usecs. > > - Before: > $ ping 192.168.1.1 ... > === 192.168.1.1 ping statistics === > 24 packets transmitted, 24 received, 0% packet loss, time 22999ms > rtt min/avg/max/mdev = 0.180/0.202/0.403/0.043 ms > > $ iperf -c 192.168.1.1 ... > [ ID] Interval Transfer Bandwidth > [ 3] 0.0- 1.0 sec 115 MBytes 945 Mbits/sec > > - After: > $ ping 192.168.1.1 ... > === 192.168.1.1 ping statistics === > 24 packets transmitted, 24 received, 0% packet loss, time 22999ms > rtt min/avg/max/mdev = 0.178/0.190/0.380/0.041 ms > > $ iperf -c 192.168.1.1 ... > [ ID] Interval Transfer Bandwidth > [ 3] 0.0- 1.0 sec 115 MBytes 965 Mbits/sec Using v11 on top of 3.18 and after generating some traffic on the network as well as compiling code on ahci in parallel I ran into the following OOPS. Any idea what exactly is going on? >From a 10000 feet perspective it looks like two problems to me 1) Allocation failure doesn't get handled properly somewhere 2) We fail to allocate with order=0 - I don't see why Alex [44085.652301] ld: page allocation failure: order:0, mode:0x120 [44085.671314] CPU: 0 PID: 5121 Comm: ld Not tainted 3.18.0-5-lpae #1 [44085.692110] [<c0335814>] (unwind_backtrace) from [<c032fcc8>] (show_stack+0x18/0x1c) [44085.718109] [<c032fcc8>] (show_stack) from [<c0a50afc>] (dump_stack+0x88/0x98) [44085.742360] [<c0a50afc>] (dump_stack) from [<c0443f98>] (warn_alloc_failed+0xdc/0x124) [44085.768938] [<c0443f98>] (warn_alloc_failed) from [<c04469ec>] (__alloc_pages_nodemask+0x7ac/0xa8c) [44085.799305] [<c04469ec>] (__alloc_pages_nodemask) from [<c0959a88>] (__netdev_alloc_frag+0xac/0x17c) [44085.829994] [<c0959a88>] (__netdev_alloc_frag) from [<bf00051c>] (hip04_rx_poll+0x168/0x3cc [hip04_eth]) [44085.861830] [<bf00051c>] (hip04_rx_poll [hip04_eth]) from [<c096c0fc>] (net_rx_action+0x15c/0x258) [44085.891897] [<c096c0fc>] (net_rx_action) from [<c0369508>] (__do_softirq+0x138/0x2dc) [44085.918171] [<c0369508>] (__do_softirq) from [<c0369920>] (irq_exit+0x80/0xb8) [44085.942408] [<c0369920>] (irq_exit) from [<c03b3ee0>] (__handle_domain_irq+0x68/0xa8) [44085.968685] [<c03b3ee0>] (__handle_domain_irq) from [<c03086ac>] (hip04_handle_irq+0x38/0x68) [44085.997296] [<c03086ac>] (hip04_handle_irq) from [<c0a56d48>] (__irq_usr+0x48/0x60) [44086.022977] Exception stack(0xd3fbbfb0 to 0xd3fbbff8) [44086.039925] bfa0: 03fa94f8 01fc2598 01fc2598 00000000 [44086.067357] bfc0: 03fa9458 40482000 00000000 400878b0 004e46e8 00000040 01f61f80 00000013 [44086.094785] bfe0: fbad2488 bed4c270 403aeb5c 403bbe84 200e0010 ffffffff [44086.116970] Mem-info: [44086.124597] DMA per-cpu: [44086.133098] CPU 0: hi: 186, btch: 31 usd: 191 [44086.149167] HighMem per-cpu: [44086.158829] CPU 0: hi: 186, btch: 31 usd: 10 [44086.174919] active_anon:78994 inactive_anon:57435 isolated_anon:0 [44086.174919] active_file:721847 inactive_file:559931 isolated_file:0 [44086.174919] unevictable:20 dirty:567 writeback:0 unstable:0 [44086.174919] free:2674014 slab_reclaimable:41072 slab_unreclaimable:5704 [44086.174919] mapped:13107 shmem:42709 pagetables:933 bounce:0 [44086.174919] free_cma:16216 [44086.286552] DMA free:1088kB min:3012kB low:3764kB high:4516kB active_anon:584kB inactive_anon:2948kB active_file:183224kB inactive_file:183268kB unevictable:16kB isolated(anon):0kB isolated(file):0kB present:778240kB managed:569024kB mlocked:16kB dirty:28kB writeback:0kB mapped:864kB shmem:2948kB slab_reclaimable:164288kB slab_unreclaimable:22816kB kernel_stack:776kB pagetables:3732kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no [44086.427835] lowmem_reserve[]: 0 0 15624 15624 [44086.442687] HighMem free:10694968kB min:512kB low:21708kB high:42908kB active_anon:315392kB inactive_anon:226792kB active_file:2704164kB inactive_file:2056456kB unevictable:64kB isolated(anon):0kB isolated(file):0kB present:15998976kB managed:15998976kB mlocked:64kB dirty:2240kB writeback:0kB mapped:51564kB shmem:167888kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:59318392kB free_cma:64864kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no [44086.590672] lowmem_reserve[]: 0 0 0 0 [44086.603158] DMA: 0*4kB 0*8kB 0*16kB 0*32kB 1*64kB (R) 0*128kB 0*256kB 0*512kB 1*1024kB (R) 0*2048kB 0*4096kB = 1088kB [44086.639330] HighMem: 6*4kB (UMC) 2*8kB (U) 3*16kB (UMC) 5*32kB (UC) 3*64kB (UMC) 1*128kB (C) 1*256kB (M) 57*512kB (UM) 25*1024kB (UMC) 7*2048kB (UMC) 2594*4096kB (MRC) = 10694968kB [44086.694225] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB [44086.722524] 1324446 total pagecache pages [44086.735973] 33 pages in swap cache [44086.747384] Swap cache stats: add 741, delete 708, find 0/0 [44086.766072] Free swap = 497068kB [44086.777185] Total swap = 500032kB [44087.151253] 4194304 pages of RAM [44087.162085] 2674498 free pages [44087.172327] 52304 reserved pages [44087.183150] 46573 slab pages [44087.192810] 1004058 pages shared [44087.203632] 33 pages swap cached [44087.217489] Unable to handle kernel paging request at virtual address b0000000 [44087.241776] pgd = c0303000 [44087.250887] [b0000000] *pgd=80000010306003, *pmd=00000000 [44087.269133] Internal error: Oops: 2a06 [#1] SMP ARM [44087.285499] Modules linked in: fuse dm_mod uio_pdrv_genirq uio nls_iso8859_1 nls_cp437 vfat fat sg st sr_mod cdrom af_packet squashfs loop virtio_blk virtio_ring virtio brd marvell ahci_platform libahci_platform libahci hip04_mdio gpio_dwapb hip04_eth [last unloaded: dm_mod] [44087.368299] CPU: 0 PID: 9 Comm: rcuos/0 Not tainted 3.18.0-5-lpae #1 [44087.389614] task: e88a46c0 ti: e88ac000 task.ti: e88ac000 [44087.407749] PC is at v7_dma_inv_range+0x34/0x4c [44087.422951] LR is at dma_cache_maint_page+0x9c/0x118 [44087.439609] pc : [<c0340b94>] lr : [<c033a67c>] psr: 400e0013 [44087.439609] sp : e88addc0 ip : c0340c2c fp : 00000002 [44087.478104] r10: 00000000 r9 : c0e73580 r8 : c0e778c4 [44087.495630] r7 : c0fdfb80 r6 : c0f20780 r5 : 00000000 r4 : 00000640 [44087.517524] r3 : 0000003f r2 : 00000040 r1 : b0000640 r0 : b0000000 [44087.539424] Flags: nZcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel [44087.563939] Control: 30c5387d Table: 21305b40 DAC: fffffffd [44087.583213] Process rcuos/0 (pid: 9, stack limit = 0xe88ac238) [44087.602777] Stack: (0xe88addc0 to 0xe88ae000) [44087.617398] ddc0: 00000000 00000000 e88a4708 e8ae059c e8ae0000 c0e778c4 c0fdfb80 00000640 [44087.644829] dde0: 00000000 df7f9000 00000002 c033a91c c0340c2c 00000700 df9da740 e8ae059c [44087.672259] de00: e8ae0000 000012ac 00000038 db903700 e8ae02d8 c0fdfb80 00000001 bf000498 [44087.699689] de20: 00000640 00000002 00000000 c0e9c5b0 e88ac000 00000101 c0e7ab04 00000000 [44087.727119] de40: 00000040 bf001e28 c0f77800 e8ae059c 00000000 00000040 0000012c df9da740 [44087.754549] de60: c0e6d100 00000101 e88ac000 c096c0fc c0f245e4 df9da748 007aae3c e88ac000 [44087.781978] de80: c0f26038 c0f2410d e88a5850 00000003 c0e6d08c 00000002 e88ac000 00000002 [44087.809407] dea0: c0f24314 00000101 e1f4d4c0 c0369508 00000000 c0e94fd4 0000000c c0e6d080 [44087.836837] dec0: c0e65448 0000000a c0f34000 c0e6d100 007aae3b e88ac030 c0a62b84 00208040 [44087.864266] dee0: a00e0013 600e0013 df9d7680 000001ff 00000001 df9d7744 00000000 c0e73630 [44087.891696] df00: e1f4d4c0 c036976c e88ac010 c0369830 db903700 df9d7680 e88ac000 c03bc8cc [44087.919125] df20: 00000000 d3fedb80 000b7df0 00000000 e88a46c0 c039db48 e88adf38 e88adf38 [44087.946554] df40: 00000000 e8838940 00000000 df9d7680 c03bc74c 00000000 00000000 00000000 [44087.973984] df60: 00000000 c0380398 00000000 00000000 00000001 df9d7680 00000000 00000000 [44088.001413] df80: e88adf80 e88adf80 00000000 00000000 e88adf90 e88adf90 e88adfac e8838940 [44088.028843] dfa0: c03802b8 00000000 00000000 c032bbc8 00000000 00000000 00000000 00000000 [44088.056272] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [44088.083701] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 e88adff4 00000000 [44088.111150] [<c0340b94>] (v7_dma_inv_range) from [<c033a67c>] (dma_cache_maint_page+0x9c/0x118) [44088.140339] [<c033a67c>] (dma_cache_maint_page) from [<c033a91c>] (__dma_page_dev_to_cpu+0x90/0x110) [44088.170996] [<c033a91c>] (__dma_page_dev_to_cpu) from [<bf000498>] (hip04_rx_poll+0xe4/0x3cc [hip04_eth]) [44088.203119] [<bf000498>] (hip04_rx_poll [hip04_eth]) from [<c096c0fc>] (net_rx_action+0x15c/0x258) [44088.233185] [<c096c0fc>] (net_rx_action) from [<c0369508>] (__do_softirq+0x138/0x2dc) [44088.259457] [<c0369508>] (__do_softirq) from [<c036976c>] (do_softirq+0x5c/0x64) [44088.284270] [<c036976c>] (do_softirq) from [<c0369830>] (__local_bh_enable_ip+0xbc/0xc0) [44088.311428] [<c0369830>] (__local_bh_enable_ip) from [<c03bc8cc>] (rcu_nocb_kthread+0x180/0x5bc) [44088.340910] [<c03bc8cc>] (rcu_nocb_kthread) from [<c0380398>] (kthread+0xe0/0xf8) [44088.366026] [<c0380398>] (kthread) from [<c032bbc8>] (ret_from_fork+0x14/0x20) [44088.390260] Code: 1e070f3e e1110003 e1c11003 1e071f3e (ee070f36) [44088.410808] ---[ end trace ccf8b617d193d373 ]--- [44088.426324] Kernel panic - not syncing: Fatal exception in interrupt [44088.447652] Rebooting in 100 seconds..Reboot failed -- System halted -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html