From: Willem de Bruijn Date: Sat, 23 Dec 2017 00:00:18 +0000 (-0500) Subject: tcp: push full zerocopy packets X-Git-Tag: v4.16-rc1~123^2~282^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=111856c758d9a06145da446e0db8f71988eebf02;p=thirdparty%2Fkernel%2Flinux.git tcp: push full zerocopy packets Skbs that reach MAX_SKB_FRAGS cannot be extended further. Do the same for zerocopy frags as non-zerocopy frags and set the PSH bit. This improves GRO assembly. Suggested-by: Eric Dumazet Signed-off-by: Willem de Bruijn Signed-off-by: David S. Miller --- diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 67d39b79c8016..44102484a76f6 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -1371,8 +1371,10 @@ new_segment: pfrag->offset += copy; } else { err = skb_zerocopy_iter_stream(sk, skb, msg, copy, uarg); - if (err == -EMSGSIZE || err == -EEXIST) + if (err == -EMSGSIZE || err == -EEXIST) { + tcp_mark_push(tp, skb); goto new_segment; + } if (err < 0) goto do_error; copy = err;