[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201023164825.GA321826@rdias-suse-pc.lan>
Date: Fri, 23 Oct 2020 17:48:25 +0100
From: Ricardo Dias <rdias@...sql.com>
To: Eric Dumazet <edumazet@...gle.com>
Cc: David Miller <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Alexey Kuznetsov <kuznet@....inr.ac.ru>,
Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>,
netdev <netdev@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] tcp: fix race condition when creating child sockets from
syncookies
On Fri, Oct 23, 2020 at 06:36:29PM +0200, Eric Dumazet wrote:
> On Fri, Oct 23, 2020 at 6:06 PM Ricardo Dias <rdias@...sql.com> wrote:
>
> > And what about the loopback interface? Why couldn't the loopback
> > interface also use a single RX queue?
> >
>
> Loopback is using a per-cpu queue, with no crossing, for efficiency.
>
> That means : whenever a packet is sent on lo interface from CPU X, it
> is put on CPU X backlog queue.
>
> If the connect() and sendmsg() are run from different cpus, then the
> ACK (from last packet of 3WH) and the data packet might land on
> different queues.
In that case, I can change the patch to only iterate the ehash bucket
only when the listening socket is using the loopback interface, correct?
Powered by blists - more mailing lists