All of lore.kernel.org
 help / color / mirror / Atom feed
From: Florian Westphal <fw at strlen.de>
To: mptcp at lists.01.org
Subject: [MPTCP] Re: [PATCH mptcp-next] mptcp: use _fast lock version in __mptcp_move_skbs
Date: Thu, 03 Sep 2020 00:01:30 +0200	[thread overview]
Message-ID: <20200902220130.GK7319@breakpoint.cc> (raw)
In-Reply-To: cf777c2c14a091eca844228a44b31367a74e030f.camel@redhat.com

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

Paolo Abeni <pabeni(a)redhat.com> wrote:
> On Wed, 2020-09-02 at 16:37 +0200, Florian Westphal wrote:
> > The function is short and won't sleep, so this can use the _fast version.
> > 
> > Signed-off-by: Florian Westphal <fw(a)strlen.de>
> > ---
> >  net/mptcp/protocol.c | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
> > index 3b621a99c8c5..0c2b506d17de 100644
> > --- a/net/mptcp/protocol.c
> > +++ b/net/mptcp/protocol.c
> > @@ -1472,13 +1472,14 @@ static bool __mptcp_move_skbs(struct mptcp_sock *msk)
> >  	__mptcp_flush_join_list(msk);
> >  	do {
> >  		struct sock *ssk = mptcp_subflow_recv_lookup(msk);
> > +		bool slowpath;
> >  
> >  		if (!ssk)
> >  			break;
> >  
> > -		lock_sock(ssk);
> > +		slowpath = lock_sock_fast(ssk);
> >  		done = __mptcp_move_skbs_from_subflow(msk, ssk, &moved);
> > -		release_sock(ssk);
> > +		unlock_sock_fast(ssk, slowpath);
> >  	} while (!done);
> >  
> >  	if (mptcp_ofo_queue(msk) || moved > 0) {
> 
> Good catch! the patch LGTM, thanks!
> 
> Do you think it could useful do the same also in mptcp_sendmsg()
> and mptcp_worker()? (since mptcp_sendmsg_frag() does not sleep, should
> be possible...)

sendmsg path might sleep  (it copies data from userspace).

mptcp_worker might work, but I think we would need to make sure
mptcp_ext_cache_refill() uses atomic allocations for this to work.

Not sure this is a good idea.  For work queue case I think its better
to try to make it a true slowpath that isn't invoked frequently.

             reply	other threads:[~2020-09-02 22:01 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-02 22:01 Florian Westphal [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-09-04 16:40 [MPTCP] Re: [PATCH mptcp-next] mptcp: use _fast lock version in __mptcp_move_skbs Matthieu Baerts
2020-09-03  9:58 Paolo Abeni
2020-09-02 16:16 Paolo Abeni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200902220130.GK7319@breakpoint.cc \
    --to=unknown@example.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.