]> git.baikalelectronics.ru Git - kernel.git/commit
ehea: Allocate large enough skbs to avoid partial cacheline DMA writes
authorAnton Blanchard <anton@samba.org>
Fri, 14 Oct 2011 05:31:04 +0000 (05:31 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 17 Oct 2011 23:00:54 +0000 (19:00 -0400)
commitcd7992a1fc744da30a6de40c8a6863e3e104ca55
tree9b520e3940e031def6d7e43f257051164e452530
parent5efccd4b8c343b2e6bb0754b9dc0de5ae4946ad6
ehea: Allocate large enough skbs to avoid partial cacheline DMA writes

The ehea adapter has a mode where it will avoid partial cacheline DMA
writes on receive by always padding packets to fall on a cacheline
boundary.

Unfortunately we currently aren't allocating enough space for a full
ethernet MTU packet to be rounded up, so this optimisation doesn't hit.

It's unfortunate that the next largest packet size exposed by the
hypervisor interface is 2kB, meaning our skb allocation comes out of a
4kB SLAB. However the performance increase due to this optimisation is
quite large and my TCP stream numbers increase from 900MB to 1000MB/sec.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ibm/ehea/ehea.h