summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2019-02-26 21:42:39 +0300
committerAl Viro <viro@zeniv.linux.org.uk>2019-02-26 22:05:20 +0300
commit6daef95b8c914866a46247232a048447fff97279 (patch)
tree086688168650fe491deae0da957307c337bc26c5 /include
parent77000bc43da17d5d6bc4ebfaf44d52d43bb69492 (diff)
downloadlinux-6daef95b8c914866a46247232a048447fff97279.tar.xz
iov_iter: optimize page_copy_sane()
Avoid cache line miss dereferencing struct page if we can. page_copy_sane() mostly deals with order-0 pages. Extra cache line miss is visible on TCP recvmsg() calls dealing with GRO packets (typically 45 page frags are attached to one skb). Bringing the 45 struct pages into cpu cache while copying the data is not free, since the freeing of the skb (and associated page frags put_page()) can happen after cache lines have been evicted. Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions