Re: [PATCH 4/6] trace: trace syscall in its handler not from ptrace handler

Ingo Molnar
2012-03-29T06:20:44Z

* Vaibhav Nagarnaik <vnagarnaik@google.com> wrote:

> On Wed, Mar 28, 2012 at 7:43 PM, H. Peter Anvin <hpa@zytor.com> wrote:
> > But instead you add a penalty for every syscall, even if tracing is
> > disabled.  Not cool.
>
> I just ran a small test binary which calls syscall(SYS_getuid) in a
> tight loop and calculates the latency per syscall.
>
> Without my patch: it is 70 ns/call
> With my patch: it is 83 ns/call
>
> So yes, it does add a bit of latency to the syscall even if
> tracing is disabled. I wonder if I can change the redirection
> function so that it doesn't add so much latency.

There's a really simple rule for anything tracing/debugging
related: and syscalls don't add *ANY* kind of latency to the
non-tracing case. That is true of the current syscall tracing
bits, they work via a TIF flag and don't add any latency.

Thanks,

Ingo