Re: [PATCH 2/2] sched: Introduce set_special_state()

From: Oleg Nesterov
Date: Tue May 01 2018 - 09:59:31 EST


On 05/01, Peter Zijlstra wrote:
>
> The only code I found that seems to care is ptrace_attach(), where we
> wait for JOBCTL_TRAPPING to get cleared. That same function has a
> comment about hiding the STOPPED -> RUNNING -> TRACED transition. So I'm
> assuming it needs to observe TRACED if it observes !TRAPPING.

Yes, exactly.

> But I don't think there's enough barriers on that end to guarantee this.
> Any ->state load after wait_on_bit() is, afact, free to have happened
> before the ->jobctl load.

do_wait() does set_current_state() before it checks ->state or anything else.

Oleg.