[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1135281ad4e84cc5ac0147772aa83787@AcuMS.aculab.com>
Date: Wed, 17 Aug 2022 08:20:08 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Hector Martin' <marcan@...can.st>, Will Deacon <will@...nel.org>,
"Peter Zijlstra" <peterz@...radead.org>,
Arnd Bergmann <arnd@...db.de>, Ingo Molnar <mingo@...nel.org>
CC: Alan Stern <stern@...land.harvard.edu>,
Andrea Parri <parri.andrea@...il.com>,
Boqun Feng <boqun.feng@...il.com>,
Nicholas Piggin <npiggin@...il.com>,
David Howells <dhowells@...hat.com>,
Jade Alglave <j.alglave@....ac.uk>,
Luc Maranget <luc.maranget@...ia.fr>,
"Paul E. McKenney" <paulmck@...nel.org>,
Akira Yokosawa <akiyks@...il.com>,
"Daniel Lustig" <dlustig@...dia.com>,
Joel Fernandes <joel@...lfernandes.org>,
"Mark Rutland" <mark.rutland@....com>,
Jonathan Corbet <corbet@....net>, Tejun Heo <tj@...nel.org>,
"jirislaby@...nel.org" <jirislaby@...nel.org>,
Marc Zyngier <maz@...nel.org>,
Catalin Marinas <catalin.marinas@....com>,
Oliver Neukum <oneukum@...e.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arch@...r.kernel.org" <linux-arch@...r.kernel.org>,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
Asahi Linux <asahi@...ts.linux.dev>,
"stable@...r.kernel.org" <stable@...r.kernel.org>
Subject: RE: [PATCH] locking/atomic: Make test_and_*_bit() ordered on failure
...
> p += BIT_WORD(nr);
> - if (READ_ONCE(*p) & mask)
> - return 1;
> -
> old = arch_atomic_long_fetch_or(mask, (atomic_long_t *)p);
> return !!(old & mask);
> }
This looks like the same pattern (attempting to avoid a
locked bus cycle) that caused the qdisc code to sit on
transmit packets (even on x86).
That had some barriers in it (possibly nops on x86) that
didn't help - although the comments suggested otherwise.
I wonder if the pattern has been used anywhere else?
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
Powered by blists - more mailing lists