Is hard_start_xmit synchronized when using different interfaces?

From: Gallus
Date: Thu Jun 18 2009 - 07:16:21 EST

I'm trying to sent packets to different interfaces handled by the same
network driver (Intel e1000e). The interfaces are located on the same
card as well as on different cards.

Each interface has its own instance of my additional custom driver
designed to just send packets. The custom driver just allocs the
packets by:
skb = dev_alloc_skb(packet->len);

and then them sends by:
result = dev->hard_start_xmit(skb,dev);

The problem is that I cant obtain full bandwidth offered by the 1GB

For one interface I get: 120435948 bytes/sec.
For two interfaces I get: 61080233 bytes/sec and 60515294 bytes/sec.
For three interfaces I get: 28564020 bytes/sec, 27111184 bytes/sec,
27118907 bytes/sec.

Is the hard_start_xmit function synchronized even if interfaces are distinct?

Please CC me.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at