I have just updated the GIT tree with a patch which adds utrace
support to perfmon.
Don't get too excited, though!
There is still no utrace support in 2.6.26, but I thought it would be
good to have the code exposed in
GIT for everybody to look at and possibly experiment with in their own
The commit is: f2034ae237aa64644c3b7a19cd6f2bf81bb18674
I originally wrote this patch for 2.6.25 and the utrace patch that
goes with it. Utrace is still evolving
and some of the assumptions/interfaces in the perfmon patch may need
to be revisited.
As of 2.6.25, the impact on applications was:
1 - existing perfmon applications relying on ptrace() to
stop/resume threads before perfmon calls can continue
to work unmodified. There is no need to recompile.
2- new applications can take advantage of the fact that with
utrace, the kernel does automatically stop/resume
threads on perfmon command. Thus, there is no need to use
3- system-wide applications are completely unaffected by the change
I particularly appreciated point 2. It makes it so much easier to
write perfmon per-thread applications because you
can directly invokved the perfmon syscalls at any point.
Get latest updates about Open Source Projects, Conferences and News.