Subject: Using kprobes [was Re: [PATCH] Performance Stats: Kernel patch

From: [email-masked] (Linas Vepstas)
Date: Fri, 11 May 2007 12:23:04 -0500

On Thu, May 10, 2007 at 11:12:42AM -0700, Andrew Morton wrote:
> 
> I don't think the syscall-counting feature has a future, sorry.  Perhaps
> you could do something like hooking it up on-demand by insertion of a kprobe,
> dunno.

This is an interesting point. I've started fiddling with (a wrapper
around) kprobes that allows me to pick any subroutine symbol in System.map,
and then get an event whenever that subroutine gets called. Its pretty
slick, and allows me to gather data on certain unusual events in the
kernel.  (I'm not using this for performance monitoring, I'm trying to 
do RAS).

It makes a lot of sense to me to have a generic kprobe extension, where 
you could give it a list of subroutine names, and it'll collect stats
on the number of times that the routine was called. Some user-space thingy
could poll for those stats, or you could put them in /sys or wherever.

Its more complicted than just instriumenting syscalls, but a lot more
useful, I would think ... 

--linas