Re: [PATCH] io-wq: simplify code in __io_worker_busy

Jens Axboe
2021-04-04T19:17:21Z

On 4/2/21 4:38 AM, Pavel Begunkov wrote:
> On 02/04/2021 11:18, Hao Xu wrote:
>> leverage xor to simplify code in __io_worker_busy
>
> I don't like hard-coded ^1 because if indexes change it may break.
> One option is to leave it to the compiler:
>
> idx = bound : WQ_BOUND ? WQ_UNBOUND;
> compl_idx = bound : WQ_UNBOUND ? WQ_BOUND;
>
> Or add a BUILD_BUG_ON() checking that WQ_BOUND and WQ_UNBOUND
> are mod 2 complementary.

Was going to suggest just that, just add a BUILD_BUG_ON() to catch
any changes there. The code is way cleaner with the XOR trick.

Hao, can you resend with that?

--
Jens Axboe