> On 12/14, Oleg Nesterov wrote: > > > > IOW, we must ensure that if ever clear TIF_NOTIFY_RESUME we must not > > miss ->pending_attach, correct? and for this case we have mb() after > > clear_thread_flag(). Perhaps instead we should add mb__after_clear_bit() > > into arch/ hooks, but this needs a lot of arch-dependent changes.
Since it's utrace/tracehook code that relies on the barrier I think it makes sense to have it in tracehook_notify_resume() or utrace_resume(). The arch requirement is having done clear_thread_flag() beforehand, so the arch-independent code can reasonably assume whatever semantics that is guaranteed to have. > Cough. And I always read this "rmb" as "mb". Even when I changed > the comment to explain that we need a barrier between clear bit > and read flags, I didn't notice it is in fact rmb... > > I guess we need the trivial fix, Roland? You're the barrier man, send me what changes it should get. Thanks, Roland