diff options
author | 2020-03-27 14:48:47 -0700 | |
---|---|---|
committer | 2020-03-29 22:14:48 -0700 | |
commit | 3f8e0aae1796363442f6d0b7bc2210a6eecffb2d (patch) | |
tree | 8cad4b480a2d2ec3951109f60fdd47349f479dc6 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | mptcp: allow partial cleaning of rtx head dfrag (diff) | |
download | wireguard-linux-3f8e0aae1796363442f6d0b7bc2210a6eecffb2d.tar.xz wireguard-linux-3f8e0aae1796363442f6d0b7bc2210a6eecffb2d.zip |
mptcp: rework mptcp_sendmsg_frag to accept optional dfrag
This will simplify mptcp-level retransmission implementation
in the next patch. If dfrag is provided by the caller, skip
kernel space memory allocation and use data and metadata
provided by the dfrag itself.
Because a peer could ack data at TCP level but refrain from
sending mptcp-level ACKs, we could grow the mptcp socket
backlog indefinitely.
We should thus block mptcp_sendmsg until the peer has acked some of the
sent data.
In order to be able to do so, increment the mptcp socket wmem_queued
counter on memory allocation and decrement it when releasing the memory
on mptcp-level ack reception.
Because TCP performns sndbuf auto-tuning up to tcp_wmem_max[2], make
this the mptcp sk_sndbuf limit.
In the future we could add experiment with autotuning as TCP does in
tcp_sndbuf_expand().
v2 -> v3:
- remove 'inline' in foo.c files (David S. Miller)
Co-developed-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions