[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ccd9b28f-8e5e-4dac-920f-746439c50d6a@kernel.dk>
Date: Tue, 7 May 2024 07:28:43 -0600
From: Jens Axboe <axboe@...nel.dk>
To: Breno Leitao <leitao@...ian.org>
Cc: Pavel Begunkov <asml.silence@...il.com>, leit@...a.com,
"open list:IO_URING" <io-uring@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] io_uring/io-wq: Use set_bit() and test_bit() at
worker->flags
On 5/7/24 5:02 AM, Breno Leitao wrote:
> On Tue, May 07, 2024 at 03:44:54AM -0700, Breno Leitao wrote:
>> Since we are now using WRITE_ONCE() in io_wq_worker, I am wondering if
>> this is what we want to do?
>>
>> WRITE_ONCE(worker->flags, (IO_WORKER_F_UP| IO_WORKER_F_RUNNING) << 1);
>
> In fact, we can't clear flags here, so, more correct approach will be:
>
> WRITE_ONCE(worker->flags, READ_ONCE(worker->flags) | (IO_WORKER_F_UP | IO_WORKER_F_RUNNING) << 1);
>
> Does it sound reasonable?
Either that, or since we aren't just assigning the startup bits, maybe
just use set_mask_bits() like Christophe suggested and not worry about
it?
--
Jens Axboe
Powered by blists - more mailing lists