From: Paolo Abeni <pabeni@redhat.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: netdev@vger.kernel.org, "David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>
Subject: Re: [PATCH net-next] udp: use sk_protocol instead of pcflag to detect udplite sockets
Date: Fri, 31 Mar 2017 17:24:50 +0200 [thread overview]
Message-ID: <1490973890.2845.18.camel@redhat.com> (raw)
In-Reply-To: <1490972953.8750.15.camel@edumazet-glaptop3.roam.corp.google.com>
On Fri, 2017-03-31 at 08:09 -0700, Eric Dumazet wrote:
> On Fri, 2017-03-31 at 16:33 +0200, Paolo Abeni wrote:
>
> > I did the above to avoid increasing the udp_sock struct size; this will
> > costs more than a whole cacheline.
>
> Yes, but who cares :)
>
> Also note that we discussed about having a secondary receive queue in
> the future, to decouple the fact that producers/consumer have to grab a
> contended spinlock for every enqueued and dequeued packet.
>
> With a secondary queue, the consumer can transfer one queue into another
> in one batch.
>
> Or simply use ptr_ring / skb_array now these infras are available thanks
> to Michael.
>
> So we will likely increase UDP socket size in a near future...
>
> >
> > I did not hit others false sharing issues because:
> > - gro_receive/gro_complete are touched only for packets coming from
> > devices with udp tunnel offload enabled, that hit the tunnel offload
> > path on the nic; such packets will most probably land in the udp tunnel
> > and will not use 'forward_deficit'
>
>
> > - encap_destroy is touched only socket shutdown
> > - encap_rcv is protected by the 'udp_encap_needed' static key
> >
> > I think this latter is problematic, so I'm ok with the patch you
> > suggested.
> >
> > The above change could still make sense, the udp code is already
> > checking for udplite sockets with either pcflag and protocol;
> > testing always the same data will make the code more cleaner.
>
> Where are we testing sk->sk_prototocol in receive path ?
Sorry, I was ambiguous: sk->sk_protocol is not used yet; before the
socket lockup, __udp4_lib_rcv() and __udp6_lib_rcv() use the protocol
number provided by the caller to properly account udp vs udplite stats.
Cheers,
Paolo
next prev parent reply other threads:[~2017-03-31 15:24 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-31 9:47 [PATCH net-next] udp: use sk_protocol instead of pcflag to detect udplite sockets Paolo Abeni
2017-03-31 13:25 ` Eric Dumazet
2017-03-31 14:33 ` Paolo Abeni
2017-03-31 15:09 ` Eric Dumazet
2017-03-31 15:24 ` Paolo Abeni [this message]
2017-03-31 15:03 ` David Laight
2017-03-31 15:24 ` Eric Dumazet
2017-04-02 3:12 ` David Miller
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=1490973890.2845.18.camel@redhat.com \
--to=pabeni@redhat.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=eric.dumazet@gmail.com \
--cc=netdev@vger.kernel.org \
/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.