PS3: changed the way to handle tx skbs
authorMasakazu Mokuno <mokuno@sm.sony.co.jp>
Fri, 31 Aug 2007 13:22:32 +0000 (22:22 +0900)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 10 Oct 2007 23:51:00 +0000 (16:51 -0700)
commit173261ed37e7a98cedfcc808eb07eeceee66e078
treece28d915a993b8925acdc5589292c00cd6b3d9d7
parent829185e97fba67ededd3eb025147bafcc0ca7557
PS3: changed the way to handle tx skbs

The PS3 virtual network device requires a vlan tag in the sending packet
to select the destination device, ethernet port or wireless.
As the vlan tag field is in the middle of the passed data,
we should insert it into the packet data.
To avoid copying much of the packet data, the driver used two tx descriptors
for one tx skb; one descriptor was for sending a small static
buffer which contained vlan tag and copied header (two mac addresses),
one was for the residual data after the vlan field.

This patch changes the way to insert the vlan tag.  By changing
netdev->hard_header_len, we can make the headroom for moving mac address
fields in the skb buffer. Then we can send one tx skb with
one tx descriptor.  This also gives us a tx throughut gain of approx.
20% according to netperf results.

Signed-off-by: Masakazu Mokuno <mokuno@sm.sony.co.jp>
CC: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/ps3_gelic_net.c