2.6.9 RCU breakage in dev_queue_xmit

From: Jeff V. Merkey
Date: Tue Nov 09 2004 - 12:14:31 EST



Running dual gigabit interfaces at 196 MB/S (megabytes/second) on receive, 12 CLK interacket gap time, 1500 bytes payload
at 65000 packets per second per gigabit interface, and retransmitting received packets at 130 MB/S out of a third gigabit interface
with skb, RCU locks in dev_queue_xmit breaks and enters the following state:

Nov 8 15:38:08 ds kernel: Badness in local_bh_enable at kernel/softirq.c:141
Nov 8 15:38:08 ds kernel: [<40107d1e>] dump_stack+0x1e/0x30
Nov 8 15:38:08 ds kernel: [<401218b0>] local_bh_enable+0x70/0x80
Nov 8 15:38:08 ds kernel: [<402c5bbb>] dev_queue_xmit+0x11b/0x250
Nov 8 15:38:08 ds kernel: [<f8981cb7>] xmit_skb+0x17/0x20 [dsfs]
Nov 8 15:38:08 ds kernel: [<f8981f8e>] xmit_packet+0x2e/0x80 [dsfs]
Nov 8 15:38:08 ds kernel: [<f89820eb>] regen_data+0x10b/0x290 [dsfs]
Nov 8 15:38:08 ds kernel: [<401052c5>] kernel_thread_helper+0x5/0x10
Nov 8 15:38:08 ds kernel: Badness in local_bh_enable at kernel/softirq.c:141
Nov 8 15:38:08 ds kernel: [<40107d1e>] dump_stack+0x1e/0x30
Nov 8 15:38:08 ds kernel: [<401218b0>] local_bh_enable+0x70/0x80
Nov 8 15:38:08 ds kernel: [<402c5bbb>] dev_queue_xmit+0x11b/0x250
Nov 8 15:38:08 ds kernel: [<f8981cb7>] xmit_skb+0x17/0x20 [dsfs]
Nov 8 15:38:08 ds kernel: [<f8981f8e>] xmit_packet+0x2e/0x80 [dsfs]
Nov 8 15:38:08 ds kernel: [<f89820eb>] regen_data+0x10b/0x290 [dsfs]
Nov 8 15:38:08 ds kernel: [<401052c5>] kernel_thread_helper+0x5/0x10


And before any of you guys whine about "give me a test case" I just did. Device driver is e1000 in the 2.6.9 kernel
tree. System is a Xeon based system at 3 Ghz single processor with 4 GB of ram and a 3GB/1GB kernel/user
split address space.

Jeff

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/