Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

better handing of ssk memory pressure in the TX path #208

Open
pabeni opened this issue Jun 17, 2021 · 0 comments
Open

better handing of ssk memory pressure in the TX path #208

pabeni opened this issue Jun 17, 2021 · 0 comments

Comments

@pabeni
Copy link

pabeni commented Jun 17, 2021

__mptcp_push_pending() and __mptcp_subflow_push_pending() allocate some fwd memory at the subflow level, for the pushed skbs and their contents - either via __mptcp_alloc_tx_skb() or mptcp_sendmsg_frag().

When such memory schedule fails, both __mptcp_push_pending() and __mptcp_subflow_push_pending() silently terminate, and the mptcp protocol will try to push again the data only on later sendmsg() or when receiving a later ack from the peer. Potentially on memory allocation failure the pending data can be stuck forever.

We could:

  • on failure schedule a timer and push again when the timer elapses, unless a push in between is successful
  • try to "borrow" fwd memory from the msk, if available (and e.v. schedule 2x required mem at sendmsg() time so that we will always be able to borrow it).
  • ???
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Needs triage
Development

No branches or pull requests

1 participant