Subject: Re: huh, entered softirq 3 NET_RX 082db810 preempt_count 00000101, exited with fffefc05?

From: Cong Wang <[email-masked]>
Date: Mon, 29 Oct 2012 08:09:01 +0000 (UTC)

On Fri, 26 Oct 2012 at 20:34 GMT, Toralf Förster <[email-masked]> wrote:
> At a user mode linux image (unstable Gentoo) I experienced a hang
> (100% CPU of the linux process), no reaction anymore.
>
> The last lines in the syslog of the UML gave:
>
> ...
> Oct 26 22:18:07 n22_uml kernel: Virtual console 6 assigned device '/dev/pts/5'                                               
> Oct 26 22:18:07 n22_uml kernel: Virtual console 4 assigned device '/dev/pts/6'                                                              
> Oct 26 22:18:07 n22_uml kernel: Virtual console 5 assigned device '/dev/pts/8'                                                              
> Oct 26 22:18:07 n22_uml kernel: Virtual console 3 assigned device '/dev/pts/9'                                                              
> Oct 26 22:18:07 n22_uml kernel: Virtual console 2 assigned device '/dev/pts/10'                                                             
> Oct 26 22:18:07 n22_uml kernel: Virtual console 1 assigned device '/dev/pts/11'                                                             
> Oct 26 22:19:05 n22_uml kernel: ------------[ cut here ]------------                                                                        
> Oct 26 22:19:05 n22_uml kernel: WARNING: at kernel/softirq.c:160 local_bh_enable+0x8f/0xa0()                                                
> Oct 26 22:19:05 n22_uml kernel: 384fa37c:  [<0836bc48>] dump_stack+0x22/0x24                                                                
> Oct 26 22:19:05 n22_uml kernel: 384fa394:  [<0807fc2a>] warn_slowpath_common+0x5a/0x80                                                      
> Oct 26 22:19:05 n22_uml kernel: 384fa3bc:  [<0807fd03>] warn_slowpath_null+0x23/0x30                                                        
> Oct 26 22:19:05 n22_uml kernel: 384fa3cc:  [<0808733f>] local_bh_enable+0x8f/0xa0                                                                                
> Oct 26 22:19:05 n22_uml kernel: 384fa3e0:  [<082da6f8>] dev_queue_xmit+0xe8/0x270                                                                                
> Oct 26 22:19:05 n22_uml kernel: 384fa410:  [<082fd15f>] ip_finish_output+0x1af/0x370                                                                             
> Oct 26 22:19:05 n22_uml kernel: 384fa444:  [<082fd373>] ip_output+0x53/0x60                                                                                      
> Oct 26 22:19:05 n22_uml kernel: 384fa45c:  [<082fc243>] ip_local_out+0x23/0x30                                                                                   
> Oct 26 22:19:05 n22_uml kernel: 384fa46c:  [<082fc384>] ip_build_and_send_pkt+0x134/0x1f0                                                                        
> Oct 26 22:19:05 n22_uml kernel: 384fa4a8:  [<08319dc0>] tcp_v4_conn_request+0x7c0/0xcc0                                                                          

Seems we want to send some packet inside tcp_v4_conn_request()
while we just receive one in softIRQ, not sure why we defer it.

Thanks.