On 03/12, Roland McGrath wrote:
>
> >     T calls REPORT(), nobody needs needs JCTL, finish_report() sees 
> > !->takers
> >     and calls utrace_reset(). It sets ->utrace_flags = 0.
>
> Nope:
>
>                       flags |= engine->flags | UTRACE_EVENT(REAP);

Hmm. But this leads to another question: why does utrace_reset() set
UTRACE_EVENT(REAP) ?

This looks as: make sure ->utrace_flags is never 0 unless we detach
all engines. Perhaps because sometimes, say tracehook_notify_resume(),
we just check task_utrace_flags() != 0 ?

Imho, this needs a comment. Or I missed something obvious.


Oh. utrace_attach_task()->utrace_add_engine() sets ->report + TIF_NOTIFY_RESUME.
But tracehook_notify_resume() does nothing because ->utrace_flags == 0 ?
Confused.

Oleg.

Reply via email to