summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSoheil Hassas Yeganeh <soheil@google.com>2019-10-10 23:27:02 -0400
committerDavid S. Miller <davem@davemloft.net>2019-10-13 11:16:25 -0700
commitc208bdb93788cfd7982c35480f98e75d658719a7 (patch)
treef26d0a89710f3bef10119321319b02f2201fc136 /include
parent524900a212f419ed4a73c909b2c957912d38f7c1 (diff)
tcp: improve recv_skip_hint for tcp_zerocopy_receive
tcp_zerocopy_receive() rounds down the zc->length a multiple of PAGE_SIZE. This results in two issues: - tcp_zerocopy_receive sets recv_skip_hint to the length of the receive queue if the zc->length input is smaller than the PAGE_SIZE, even though the data in receive queue could be zerocopied. - tcp_zerocopy_receive would set recv_skip_hint of 0, in cases where we have a little bit of data after the perfectly-sized packets. To fix these issues, do not store the rounded down value in zc->length. Round down the length passed to zap_page_range(), and return min(inq, zc->length) when the zap_range is 0. Signed-off-by: Soheil Hassas Yeganeh <soheil@google.com> Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions