[Prism54-users] Small problems with prism54 and kernel 2.6.0-test9-bk6 (Badness in local_bh_enable)

Michael Bienia michael@vorlon.ping.de
Sun, 2 Nov 2003 13:50:36 +0100


Hello,

finally I got prism54 to work under kernel 2.6.0-test9-bk6 but see still
the problem I had with 2.6.0-test* and the old driver.

My system:
Debian sid
kernel 2.6.0-test9-bk6
patch-2.6.0-test9-prism54-CVS-2003-11-02.bz2
SMC 2802W (PCI-card)

The problem:
When I ping my router (SMC 2804) every second packet needs over 200ms
instead of normal 1.6 ms. Under 2.4.23-pre9 ping needs constantly 1.6
ms.

Here is the output of ping (2.6.0-test9-bk6):
$ ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=1.65 ms
64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=226 ms
64 bytes from 192.168.2.1: icmp_seq=3 ttl=64 time=1.74 ms
64 bytes from 192.168.2.1: icmp_seq=4 ttl=64 time=223 ms
64 bytes from 192.168.2.1: icmp_seq=5 ttl=64 time=1.64 ms
64 bytes from 192.168.2.1: icmp_seq=6 ttl=64 time=222 ms
64 bytes from 192.168.2.1: icmp_seq=7 ttl=64 time=1.64 ms
64 bytes from 192.168.2.1: icmp_seq=8 ttl=64 time=223 ms
64 bytes from 192.168.2.1: icmp_seq=9 ttl=64 time=1.64 ms
64 bytes from 192.168.2.1: icmp_seq=10 ttl=64 time=223 ms
64 bytes from 192.168.2.1: icmp_seq=11 ttl=64 time=1.64 ms
64 bytes from 192.168.2.1: icmp_seq=12 ttl=64 time=223 ms
64 bytes from 192.168.2.1: icmp_seq=13 ttl=64 time=1.72 ms
64 bytes from 192.168.2.1: icmp_seq=14 ttl=64 time=223 ms
64 bytes from 192.168.2.1: icmp_seq=15 ttl=64 time=1.64 ms
64 bytes from 192.168.2.1: icmp_seq=16 ttl=64 time=223 ms
64 bytes from 192.168.2.1: icmp_seq=17 ttl=64 time=1.65 ms
64 bytes from 192.168.2.1: icmp_seq=18 ttl=64 time=223 ms
64 bytes from 192.168.2.1: icmp_seq=19 ttl=64 time=220 ms
64 bytes from 192.168.2.1: icmp_seq=20 ttl=64 time=1.65 ms

--- 192.168.2.1 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 19007ms
rtt min/avg/max/mdev = 1.646/112.723/226.651/111.062 ms

And I find /var/log/messages full of the following message:

Nov  2 13:40:48 vorlon kernel: Badness in local_bh_enable at kernel/softirq.c:121
Nov  2 13:40:48 vorlon kernel: Call Trace:
Nov  2 13:40:48 vorlon kernel: [<c0122965>] local_bh_enable+0x85/0x90
Nov  2 13:40:48 vorlon kernel: [<c0308b3f>] destroy_conntrack+0xaf/0x110
Nov  2 13:40:48 vorlon kernel: [<c02bb98f>] __kfree_skb+0x8f/0x100
Nov  2 13:40:48 vorlon kernel: [<d38e51ca>] islpci_eth_cleanup_transmit+0x4a/0x70 [prism54]
Nov  2 13:40:48 vorlon kernel: [<d38e549b>] islpci_eth_transmit+0x2ab/0x450 [prism54]
Nov  2 13:40:48 vorlon kernel: [<c02cc6e3>] qdisc_restart+0x63/0x130
Nov  2 13:40:48 vorlon kernel: [<c02bfe64>] dev_queue_xmit+0x1e4/0x290
Nov  2 13:40:48 vorlon kernel: [<c02c74a2>] neigh_resolve_output+0xf2/0x1d0
Nov  2 13:40:48 vorlon kernel: [<c02d956a>] ip_finish_output2+0xba/0x1d0
Nov  2 13:40:48 vorlon kernel: [<c02d94b0>] ip_finish_output2+0x0/0x1d0
Nov  2 13:40:48 vorlon kernel: [<c02ca964>] nf_hook_slow+0xf4/0x140
Nov  2 13:40:48 vorlon kernel: [<c02d94b0>] ip_finish_output2+0x0/0x1d0
Nov  2 13:40:48 vorlon kernel: [<c02d725c>] ip_finish_output+0x20c/0x220
Nov  2 13:40:48 vorlon kernel: [<c02d94b0>] ip_finish_output2+0x0/0x1d0
Nov  2 13:40:48 vorlon kernel: [<c02d9494>] dst_output+0x14/0x30
Nov  2 13:40:48 vorlon kernel: [<c02ca964>] nf_hook_slow+0xf4/0x140
Nov  2 13:40:48 vorlon kernel: [<c02d9480>] dst_output+0x0/0x30
Nov  2 13:40:48 vorlon kernel: [<c02d9022>] ip_push_pending_frames+0x392/0x400
Nov  2 13:40:48 vorlon kernel: [<c02d9480>] dst_output+0x0/0x30
Nov  2 13:40:48 vorlon kernel: [<c02f66a7>] udp_push_pending_frames+0x137/0x230
Nov  2 13:40:48 vorlon kernel: [<c02f6c1d>] udp_sendmsg+0x43d/0x8a0
Nov  2 13:40:48 vorlon kernel: [<c0137d55>] unlock_page+0x15/0x60
Nov  2 13:40:48 vorlon kernel: [<c02ff51d>] inet_sendmsg+0x4d/0x60
Nov  2 13:40:48 vorlon kernel: [<c02b7b3e>] sock_sendmsg+0x9e/0xd0
Nov  2 13:40:48 vorlon kernel: [<c0126e06>] update_process_times+0x46/0x60
Nov  2 13:40:48 vorlon kernel: [<c013bda1>] buffered_rmqueue+0xd1/0x170
Nov  2 13:40:48 vorlon kernel: [<c011b0f9>] schedule+0x2f9/0x570
Nov  2 13:40:48 vorlon kernel: [<c02b7585>] move_addr_to_kernel+0x85/0xb0
Nov  2 13:40:48 vorlon kernel: [<c02b9143>] sys_sendto+0xe3/0x100
Nov  2 13:40:48 vorlon kernel: [<c01225ac>] do_adjtimex+0x3ac/0x4e0
Nov  2 13:40:48 vorlon kernel: [<c01227a1>] sys_adjtimex+0xc1/0xf0
Nov  2 13:40:48 vorlon kernel: [<c02b9ba6>] sys_socketcall+0x1c6/0x2b0
Nov  2 13:40:48 vorlon kernel: [<c010941b>] syscall_call+0x7/0xb

# grep Badness messages | wc -l
276
accumulated in about 40 min.
When I look at the timestamps of this messages every 30 seconds I get
three new occurances:
Nov  2 13:44:03 vorlon kernel: Badness in local_bh_enable at kernel/softirq.c:121
Nov  2 13:44:03 vorlon kernel: Badness in local_bh_enable at kernel/softirq.c:121
Nov  2 13:44:03 vorlon kernel: Badness in local_bh_enable at kernel/softirq.c:121
Nov  2 13:44:36 vorlon kernel: Badness in local_bh_enable at kernel/softirq.c:121
Nov  2 13:44:36 vorlon kernel: Badness in local_bh_enable at kernel/softirq.c:121
Nov  2 13:44:36 vorlon kernel: Badness in local_bh_enable at kernel/softirq.c:121
Nov  2 13:45:07 vorlon kernel: Badness in local_bh_enable at kernel/softirq.c:121
Nov  2 13:45:07 vorlon kernel: Badness in local_bh_enable at kernel/softirq.c:121
Nov  2 13:45:07 vorlon kernel: Badness in local_bh_enable at kernel/softirq.c:121
Nov  2 13:45:38 vorlon kernel: Badness in local_bh_enable at kernel/softirq.c:121
Nov  2 13:45:38 vorlon kernel: Badness in local_bh_enable at kernel/softirq.c:121
Nov  2 13:45:38 vorlon kernel: Badness in local_bh_enable at kernel/softirq.c:121

Beside this problem the driver is working.

Michael