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: NMasakazu Mokuno <mokuno@sm.sony.co.jp> CC: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
Showing
想要评论请 注册 或 登录