Stephane Eranian wrote:
Will,
On Mon, Nov 13, 2006 at 06:02:19PM -0500, William Cohen wrote:
The current set of Perfmon2 patches have changes that touch core parts of
the kernel due to the per thread support (scheduler and task struct). I am
wondering if splitting perfmon set that has the basic perfmon interface
but only allows system-wide setting of the performance monitoring hardware
and per thread support patches would be a worthwhile. Would this be a
logical way to further break down the perfmon2 patches?
Yes, this is another way of splitting it up. But I am not sure you will
win much. The two modes are fairly intertwined in the code. It is not
like you have a functionality that is implemented by a per-thread
and system-wide function. Take context switch, you would think in system-wide
you do not need it. Well that is not true on all platforms. On Ia-64
we need to intervene on context switch in system-wide to toggle some
machine state (outside the PMU registers).
Having the system-wide only subset could still be useful in sampling
systems such as OProfile. It would also avoid changing the task struct
which changes kernel abi/data structures. In theory something like this
could be seperate module that the rest of the kernel could be fairly
ignorant of (with the exception of resource allocation for nmi timer).
Are you saying that perfmon is the only suubsystem that cuased changes in the
task_struct lately?
Perfmon cannot be made a module because it uses system calls even for system
wide. A kernel modules does not dynamically add system calls nor can it
bring life to an empty system call.
Have a second set of patches that add the per-thread support on top of the
systemwide only patches. There are definitely applications were this type
of support is very desirable, e.g. allowing normal people to use the
performance monitoring hardware to see what is going on within a single
thread. System-wide requires root access and can muddle the results from
different threads.
Well, it depends on the tools. Many of the tools developed on perfmon
exploit the per-thread mode mostly, pfmon, Caliper. This is were we
bring a lot of value-add.
Perfmon does not require root access by default. It can be configured that way
if needed (via a /sys interface).
Thanks.
Hi Stephane,
Certainly the per-thread and non-root use are very useful. They really should be
support. It was just a thought to see if there the patches could be broken into
smaller logical patches that worked.
-Will
_______________________________________________
perfmon mailing list
[email protected]
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/