Re: [PATCH 2/2] convert to syscall tracepoints

From: Ingo Molnar
Date: Mon Jun 08 2009 - 18:00:46 EST



* Jason Baron <jbaron@xxxxxxxxxx> wrote:

> Yes, this can easily be done....but that wasn't the problem I was
> interested in solving. I wanted a per syscall tracepoint site. I
> thought I had been making that clear all along...

We can do that, but _not in the syscall_.

There's absolutely nothing wrong with having an array of
tracepoints/callbacks that is being called by the TIF_FTRACE code.
We already have per syscall attributes - that can include a callback
too.

> [...] Please notice that the implementation I've proposed obtains
> the syscall number, and then jumps to the appropriate tracepoint
> and then exits. Its quite efficient. In fact, I've enabled all of
> the syscalls using my proposed method and running tbench I'm able
> to get more throughput then using the current syscall method. I've
> also done 'getpid()' loops and seen no performance difference
> between the approaches. I'm happy to run any other benchmarks...

If you cannot see a performance difference in getpid() loop that's
possibly because glibc caches getpid() results ...

Try getppid().

Anyway - bloating every syscall with a tracepoint check is out of
question and unnecessary. We already have the TIF_ flag based
machinery to call back on syscalls - and what we need is the proper
type/field info extracted and /debug/tracing/syscalls/* entries
created.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/