]> 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)
commit0ac152c9f3cac6cc324acc7b9e7479c23f1bd2de
tree9b520e3940e031def6d7e43f257051164e452530
parentd98436eca77ccf9d22a7f07db1bf0b9d9bfbdeb3
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