aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2020-08-20 08:43:59 -0700
committerDavid S. Miller <davem@davemloft.net>2020-08-20 16:12:50 -0700
commit394fcd8a813456b3306c423ec4227ed874dfc08b (patch)
tree005f8e0ba94b9fa6f9ec34c9e25627fa1cd30e13 /tools
parentMerge branch 'nfp-flower-add-support-for-QinQ-matching' (diff)
downloadlinux-dev-394fcd8a813456b3306c423ec4227ed874dfc08b.tar.xz
linux-dev-394fcd8a813456b3306c423ec4227ed874dfc08b.zip
net: zerocopy: combine pages in zerocopy_sg_from_iter()
Currently, tcp sendmsg(MSG_ZEROCOPY) is building skbs with order-0 fragments. Compared to standard sendmsg(), these skbs usually contain up to 16 fragments on arches with 4KB page sizes, instead of two. This adds considerable costs on various ndo_start_xmit() handlers, especially when IOMMU is in the picture. As high performance applications are often using huge pages, we can try to combine adjacent pages belonging to same compound page. Tested on AMD Rome platform, with IOMMU, nominal single TCP flow speed is roughly doubled (~55Gbit -> ~100Gbit), when user application is using hugepages. For reference, nominal single TCP flow speed on this platform without MSG_ZEROCOPY is ~65Gbit. Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Willem de Bruijn <willemb@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions