> And. If we have multiple tracers, then utrace_control(SINGLESTEP) just
> "fools" the caller, another engine can do utrace_control(RESUME) at any
> moment.

Sure, but more likely nobody will.

> I think you are right, utrace_control() should simply consider UTRACE_XXXSTEP
> as UTRACE_REPORT.

All else being equal, I still think it would be preferable to optimize when
we can.  If nobody else used UTRACE_REPORT lately, then they official don't
care whether it's stopped, or running, or stepping, or what.  If you can
just resume it stepping without going through utrace_resume, that is ideal.

I'm not sure, but there might be a benefit on some machines to doing
user_enable_single_step from the other thread and letting its effects come
in with context-switch.  (That keeps the arch details of the performance
profile the same as with old ptrace.)


Thanks,
Roland

Reply via email to