[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZC9qns9e33LUuO8q@gondor.apana.org.au>
Date: Fri, 7 Apr 2023 08:58:06 +0800
From: Herbert Xu <herbert@...dor.apana.org.au>
To: Jakub Kicinski <kuba@...nel.org>
Cc: "Paul E. McKenney" <paulmck@...nel.org>,
Alexander Duyck <alexander.duyck@...il.com>,
Heiner Kallweit <hkallweit1@...il.com>, davem@...emloft.net,
netdev@...r.kernel.org, edumazet@...gle.com, pabeni@...hat.com
Subject: Re: [PATCH net-next 1/3] net: provide macros for commonly copied
lockless queue stop/wake code
On Thu, Apr 06, 2023 at 07:46:48AM -0700, Jakub Kicinski wrote:
> On Thu, 6 Apr 2023 07:17:09 -0700 Paul E. McKenney wrote:
>
> > Agreed, preemption will be enabled in softirq, but interrupts can still
> > happen, correct?
>
> Starting the queue only happens from softirq (I hope) and stopping
> can happen from any context. So we're risking false-starts again.
> I think this puts to bed any hope of making this code safe against
> false-starts with just barriers :(
Packet transmit can only occur in process context or softirq context
so it can't interrupt an existing softirq context on the same CPU.
However, even if we did allow one or both to occur in IRQ context I
can't see how this can break.
I think Paul didn't see my earlier message because he wasn't part
of the original CC list. The only race we're trying to stop is the
one which leaves the TX queue stopped forever. We don't care about
false starts.
Cheers,
--
Email: Herbert Xu <herbert@...dor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Powered by blists - more mailing lists