Messages in this thread | | | Date | Tue, 9 Jun 2009 00:00:13 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH 2/2] convert to syscall tracepoints |
| |
* Jason Baron <jbaron@redhat.com> 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
| |