[Question] atomic_fetch_andnot() in nohz_idle_balance()

From: Andrea Parri
Date: Wed Nov 21 2018 - 17:35:05 EST


Hi,

The comment for the atomic_fetch_andnot() in nohz_idle_balance() says:

"barrier, pairs with nohz_balance_enter_idle(), ensures ..."

which, well, does sound a note of warning... ;-)

I see that nohz_balance_enter_idle() has an smp_mb__after_atomic() but
the comment for the latter suggests that this barrier is pairing with
the smp_mb() in _nohz_idle_balance().

So, what is the intended pairing barrier for the atomic_fetch_andnot()?
what (which memory accesses) do you want "to order" here?

Thanks,
Andrea