]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit4e41dade7857ff8157319d55fab0c61cf16fdcb0
treece28d915a993b8925acdc5589292c00cd6b3d9d7
parent9824883aed8ddd713db6c348d03ca1614001038c
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