[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230425194910.GA1350354@hirez.programming.kicks-ass.net>
Date: Tue, 25 Apr 2023 21:49:10 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Jens Axboe <axboe@...nel.dk>, Ingo Molnar <mingo@...hat.com>,
Will Deacon <will@...nel.org>,
Christian Brauner <brauner@...nel.org>,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
Mark Rutland <mark.rutland@....com>
Subject: Re: [GIT PULL] pipe: nonblocking rw for io_uring
On Tue, Apr 25, 2023 at 10:20:31AM -0700, Linus Torvalds wrote:
> But the more I look at it, the more I'm convinced that our pattern of
>
> old = READ_ONCE(rq->fence.error);
> do {
> if (fatal_error(old))
> return false;
> } while (!try_cmpxchg(&rq->fence.error, &old, error));
>
> (to pick one random user) is simply horribly wrong.
The last time this came up I shared your view however Mark argued for
the READ_ONCE() thusly:
https://lore.kernel.org/all/Y71LoCIl+IFdy9D8@FVFF77S0Q05N/T/#u
Powered by blists - more mailing lists