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