Messages in this thread | | | Date | Wed, 13 Nov 2019 10:23:58 +0000 | From | Will Deacon <> | Subject | Re: [PATCH v2] buffer: Fix I/O error due to ARM read-after-read hazard |
| |
On Tue, Nov 12, 2019 at 10:39:01AM -0800, Linus Torvalds wrote: > On Tue, Nov 12, 2019 at 10:22 AM Catalin Marinas > <catalin.marinas@arm.com> wrote: > > > > OK, so this includes changing test_bit() to perform a READ_ONCE. > > That's not going to happen.
Ok, I'll stick my neck out here, but if test_bit() is being used to read a bitmap that is being concurrently modified (e.g. by set_bit() which boils down to atomic_long_or()), then why isn't READ_ONCE() required? Right now, test_bit takes a 'const volatile unsigned long *addr' argument, so I don't see that you'll get a change in codegen except on alpha and, with this erratum, arm32.
Will
| |