All of lore.kernel.org
 help / color / mirror / Atom feed
* [MPTCP] [PATCH mptcp-next 0/7] mptcp: don't sleep on ssk with msk lock held
@ 2020-05-06 13:02 Florian Westphal
  0 siblings, 0 replies; only message in thread
From: Florian Westphal @ 2020-05-06 13:02 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 1584 bytes --]

This series reworks mptcp_sendmsg logic to avoid blocking on the subflow
socket in an attempt to address/resolve:
https://github.com/multipath-tcp/mptcp_net-next/issues/7

It does so by removing the wait loop from mptcp_sendmsg_frag helper.

In order to do that, it moves prerequisites into the callers.

The worker can just reschedule in case no subflow socket is ready.

The sendmsg path can use the existing wait logic.

Because large send requests can result in multiple mptcp_sendmsg_frag
calls from mptcp_sendmsg, we may need to restart the socket lookup in
case subflow can't accept more data or memory is low.

Doing so blocks on the mptcp socket, and existing wait handling
releases the msk lock while blocking.

Lastly, no need to use ATOMIC allocations for extension allocation,
so allow to pass gfp_t arg to the helper instead of hard-coded ATOMIC
in the core.

Comments welcome.

Florian Westphal (7):
      mptcp: avoid blocking in tcp_sendpages
      mptcp: make sure timer is inited/started once data is pending for transmission
      mptcp: avoid blocking in tcp_sendpages due to skb alloc
      mptcp: fill skb extension cache outside of mptcp_sendmsg_frag
      mptcp: fill skb page frag cache outside of mptcp_sendmsg_frag
      mptcp: remove inner wait loop from mptcp_sendmsg_frag
      net: allow __skb_ext_alloc to sleep

 include/linux/skbuff.h |   2 +-
 net/core/skbuff.c      |   8 ++--
 net/mptcp/protocol.c   | 100 ++++++++++++++++++++++++++++++++++++-------------
 3 files changed, 81 insertions(+), 29 deletions(-)

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-05-06 13:02 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-06 13:02 [MPTCP] [PATCH mptcp-next 0/7] mptcp: don't sleep on ssk with msk lock held Florian Westphal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.