summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorErez Shitrit <erezsh@mellanox.com>2015-04-02 13:39:00 +0300
committerDoug Ledford <dledford@redhat.com>2015-04-15 16:06:18 -0400
commita44878d100630a34a44f54960115b81e449858db (patch)
tree31acd864cb26c0161664c9e2cf922f057723e35b /Documentation
parent1c0453d64a341909bbf89cb68c9edaa6cff93850 (diff)
IB/ipoib: Use one linear skb in RX flow
The current code in the RX flow uses two sg entries for each incoming packet, the first one was for the IB headers and the second for the rest of the data, that causes two dma map/unmap and two allocations, and few more actions that were done at the data path. Use only one linear skb on each incoming packet, for the data (IB headers and payload), that reduces the packet processing in the data-path (only one skb, no frags, the first frag was not used anyway, less memory allocations) and the dma handling (only one dma map/unmap over each incoming packet instead of two map/unmap per each incoming packet). After commit 73d3fe6d1c6d ("gro: fix aggregation for skb using frag_list") from Eric Dumazet, we will get full aggregation for large packets. When running bandwidth tests before and after the (over the card's numa node), using "netperf -H 1.1.1.3 -T -t TCP_STREAM", the results before are ~12Gbs before and after ~16Gbs on my setup (Mellanox's ConnectX3). Signed-off-by: Erez Shitrit <erezsh@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'Documentation')
0 files changed, 0 insertions, 0 deletions