Subject: Re: [GIT]: Networking

From: Ingo Molnar <[email-masked]>
Date: Fri, 3 Jul 2009 23:46:09 +0200

* Ingo Molnar <[email-masked]> wrote:

> * Eric Dumazet <[email-masked]> wrote:
> 
> > We might have a race in napi_schedule(), leaving interrupts 
> > disabled forever. I cannot test this patch, I dont have the 
> > hardware...
> 
> I have tested it and the config that failed before works now. (as 
> do other configs as well)
> 
> I'll have to re-test whether the failing config fails with your 
> fix reverted - that will have to wait until tomorrow or so.

update: that forcedeth system is still working fine.

I triggered other networking problems today though, a trylock 
failure message in netconsole, plus a dma-debug assert from e1000e:

[ 1275.442025] Hangcheck: hangcheck value past margin!
[ 1451.860024] ------------[ cut here ]------------
[ 1451.860024] BUG: spinlock trylock failure on UP on CPU#0, distcc/32540
[ 1451.860024]  lock: f5318760, .magic: dead4ead, .owner: distcc/32540, .owner_cpu: 0
[ 1451.860024] Pid: 32540, comm: distcc Tainted: G        W  2.6.31-rc1-tip-01236-gb62d24b-dirty #6631
[ 1451.860024] Call Trace:
[ 1451.860024]  [<c17764e8>] spin_bug+0x98/0x140
[ 1451.860024]  [<c1776d01>] _raw_spin_trylock+0x71/0xc0
[ 1451.860024]  [<c283ffbb>] _spin_trylock+0x1b/0x80
[ 1451.860024]  [<c23c7868>] netpoll_send_skb+0x198/0x470
[ 1451.860024]  [<c23c7eb0>] netpoll_send_udp+0x240/0x290
[ 1451.860024]  [<c2840884>] ? _spin_lock_irqsave+0x64/0x90
[ 1451.860024]  [<c1d69beb>] write_msg+0xeb/0x160
[ 1451.860024]  [<c10933c8>] __call_console_drivers+0x78/0xa0
[ 1451.860024]  [<c10934d9>] _call_console_drivers+0xe9/0x120
[ 1451.860024]  [<c10938e7>] call_console_drivers+0x137/0x260
[ 1451.860024]  [<c1093aaa>] release_console_sem+0x9a/0x1a0
[ 1451.860024]  [<c10949b6>] vprintk+0x416/0x500
[ 1451.860024]  [<c178b8f7>] ? check_for_illegal_area+0x197/0x340
[ 1451.860024]  [<c1094abb>] printk+0x1b/0x20
[ 1451.860024]  [<c1092bdb>] warn_slowpath_common+0x1b/0xe0
[ 1451.860024]  [<c1092ce9>] warn_slowpath_fmt+0x29/0x30
[ 1451.860024]  [<c178b8f7>] check_for_illegal_area+0x197/0x340
[ 1451.860024]  [<c178be4c>] debug_dma_map_page+0x1cc/0x310
[ 1451.860024]  [<c239fe19>] skb_dma_map+0x219/0x580
[ 1451.860024]  [<c23919b6>] ? skb_copy_bits+0x126/0x590
[ 1451.860024]  [<c1ab920f>] e1000_tx_map+0x4f/0x2a0
[ 1451.860024]  [<c1abbb6b>] e1000_xmit_frame+0x28b/0x5a0
[ 1451.860024]  [<c23a9fc0>] dev_hard_start_xmit+0x100/0x570
[ 1451.860024]  [<c23e09ca>] qdisc_restart+0x45a/0x620
[ 1451.860024]  [<c23e0bb7>] __qdisc_run+0x27/0xb0
[ 1451.860024]  [<c23aaae9>] dev_queue_xmit+0x6b9/0x7b0
[ 1451.860024]  [<c24a3c0a>] ip_finish_output2+0x1aa/0x490
[ 1451.860024]  [<c24a5ac1>] ip_finish_output+0xe1/0x110
[ 1451.860024]  [<c24a86d7>] ip_output+0x67/0x140
[ 1451.860024]  [<c24a5048>] ip_local_out+0x48/0x90
[ 1451.860024]  [<c24a53ff>] ip_queue_xmit+0x36f/0x680
[ 1451.860024]  [<c11a8443>] ? kmemleak_alloc+0x2c3/0x350
[ 1451.860024]  [<c24d2efa>] ? tcp_options_write+0x19a/0x380
[ 1451.860024]  [<c24d4b27>] tcp_transmit_skb+0x6b7/0xb20
[ 1451.860024]  [<c24d8626>] tcp_write_xmit+0x206/0x910
[ 1451.860024]  [<c24d8e74>] __tcp_push_pending_frames+0x84/0x1a0
[ 1451.860024]  [<c24b810e>] do_tcp_sendpages+0x49e/0xd10
[ 1451.860024]  [<c24b89d2>] tcp_sendpage+0x52/0xc0
[ 1451.860024]  [<c2384d7c>] sock_sendpage+0x4c/0x80
[ 1451.860024]  [<c11edd0c>] pipe_to_sendpage+0x6c/0xb0
[ 1451.860024]  [<c11ec9a9>] splice_from_pipe_feed+0x39/0x230
[ 1451.860024]  [<c11edca0>] ? pipe_to_sendpage+0x0/0xb0
[ 1451.860024]  [<c11eecac>] __splice_from_pipe+0x6c/0xa0
[ 1451.860024]  [<c11edca0>] ? pipe_to_sendpage+0x0/0xb0
[ 1451.860024]  [<c11ef1ce>] splice_from_pipe+0x4e/0x70
[ 1451.860024]  [<c11ef1f0>] ? generic_splice_sendpage+0x0/0x20
[ 1451.860024]  [<c11ef208>] generic_splice_sendpage+0x18/0x20
[ 1451.860024]  [<c11edca0>] ? pipe_to_sendpage+0x0/0xb0
[ 1451.860024]  [<c11ed1ea>] do_splice_from+0x12a/0x170
[ 1451.860024]  [<c11ed24d>] direct_splice_actor+0x1d/0x30
[ 1451.860024]  [<c11ed823>] splice_direct_to_actor+0x143/0x410
[ 1451.860024]  [<c11ed230>] ? direct_splice_actor+0x0/0x30
[ 1451.860024]  [<c11edba4>] do_splice_direct+0x64/0xc0
[ 1451.860024]  [<c11af75a>] do_sendfile+0x47a/0x620
[ 1451.860024]  [<c11ce9d7>] ? poll_select_copy_remaining+0x117/0x290
[ 1451.860024]  [<c11afba1>] sys_sendfile+0x111/0x1b0
[ 1451.860024]  [<c1040f27>] sysenter_do_call+0x12/0x32
[ 1451.868792] WARNING: at lib/dma-debug.c:874 check_for_illegal_area+0x197/0x340()
[ 1451.868792] Hardware name: 1951A26
[ 1451.869792] e1000e 0000:02:00.0: DMA-API: device driver maps memory from kernel text or rodata [addr=c0fffaa0] [size=1376]
[ 1451.869792] Pid: 32540, comm: distcc Tainted: G        W  2.6.31-rc1-tip-01236-gb62d24b-dirty #6631
[ 1451.869792] Call Trace:
[ 1451.869792]  [<c1092c35>] warn_slowpath_common+0x75/0xe0
[ 1451.869792]  [<c1092ce9>] warn_slowpath_fmt+0x29/0x30
[ 1451.869792]  [<c178b8f7>] check_for_illegal_area+0x197/0x340
[ 1451.869792]  [<c178be4c>] debug_dma_map_page+0x1cc/0x310
[ 1451.869792]  [<c239fe19>] skb_dma_map+0x219/0x580
[ 1451.869792]  [<c23919b6>] ? skb_copy_bits+0x126/0x590
[ 1451.870056]  [<c1ab920f>] e1000_tx_map+0x4f/0x2a0
[ 1451.870056]  [<c1abbb6b>] e1000_xmit_frame+0x28b/0x5a0
[ 1451.870056]  [<c23a9fc0>] dev_hard_start_xmit+0x100/0x570
[ 1451.870056]  [<c23e09ca>] qdisc_restart+0x45a/0x620
[ 1451.870056]  [<c23e0bb7>] __qdisc_run+0x27/0xb0
[ 1451.870056]  [<c23aaae9>] dev_queue_xmit+0x6b9/0x7b0
[ 1451.870056]  [<c24a3c0a>] ip_finish_output2+0x1aa/0x490
[ 1451.870056]  [<c24a5ac1>] ip_finish_output+0xe1/0x110
[ 1451.870056]  [<c24a86d7>] ip_output+0x67/0x140
[ 1451.870056]  [<c24a5048>] ip_local_out+0x48/0x90
[ 1451.871070]  [<c24a53ff>] ip_queue_xmit+0x36f/0x680
[ 1451.871070]  [<c11a8443>] ? kmemleak_alloc+0x2c3/0x350
[ 1451.871070]  [<c24d2efa>] ? tcp_options_write+0x19a/0x380
[ 1451.871070]  [<c24d4b27>] tcp_transmit_skb+0x6b7/0xb20
[ 1451.871070]  [<c24d8626>] tcp_write_xmit+0x206/0x910
[ 1451.871070]  [<c24d8e74>] __tcp_push_pending_frames+0x84/0x1a0
[ 1451.871070]  [<c24b810e>] do_tcp_sendpages+0x49e/0xd10
[ 1451.871070]  [<c24b89d2>] tcp_sendpage+0x52/0xc0
[ 1451.871070]  [<c2384d7c>] sock_sendpage+0x4c/0x80
[ 1451.871070]  [<c11edd0c>] pipe_to_sendpage+0x6c/0xb0
[ 1451.872070]  [<c11ec9a9>] splice_from_pipe_feed+0x39/0x230
[ 1451.872070]  [<c11edca0>] ? pipe_to_sendpage+0x0/0xb0
[ 1451.872070]  [<c11eecac>] __splice_from_pipe+0x6c/0xa0
[ 1451.872070]  [<c11edca0>] ? pipe_to_sendpage+0x0/0xb0
[ 1451.872070]  [<c11ef1ce>] splice_from_pipe+0x4e/0x70
[ 1451.872070]  [<c11ef1f0>] ? generic_splice_sendpage+0x0/0x20
[ 1451.872070]  [<c11ef208>] generic_splice_sendpage+0x18/0x20
[ 1451.872070]  [<c11edca0>] ? pipe_to_sendpage+0x0/0xb0
[ 1451.872070]  [<c11ed1ea>] do_splice_from+0x12a/0x170
[ 1451.872070]  [<c11ed24d>] direct_splice_actor+0x1d/0x30
[ 1451.873069]  [<c11ed823>] splice_direct_to_actor+0x143/0x410
[ 1451.873069]  [<c11ed230>] ? direct_splice_actor+0x0/0x30
[ 1451.873069]  [<c11edba4>] do_splice_direct+0x64/0xc0
[ 1451.873069]  [<c11af75a>] do_sendfile+0x47a/0x620
[ 1451.873069]  [<c11ce9d7>] ? poll_select_copy_remaining+0x117/0x290
[ 1451.873069]  [<c11afba1>] sys_sendfile+0x111/0x1b0
[ 1451.873069]  [<c1040f27>] sysenter_do_call+0x12/0x32
[ 1451.873069] ---[ end trace fdf7679c62c5b84a ]---
[ 1455.442024] Hangcheck: hangcheck value past margin!

Config attached.

	Ingo