Hello,

I have spent most of last week restructuring the current perfmon2
kernel code base to make it easier to isolate
features. That should make it easier for the merge with mainline given
that LKML people would like to receive
small patches each adding one feature at a time.

I have created a bunch of new files under perfmon/, each one
implementing a feature or logically similar set of
features. Similarly, I have also restructured the header files to
separate the generic interface definition in
perfmon.h from all the stuff needed by the kernel implementation, now
in perfmon_kern.h. This model is replicated
for each arch. Perfmon_const.h is gone.

I have also completely restructured the interrupt handling code in
perfmon_intr.c. It is now much more readable
with smaller functions.

Hopefully, I did not break anything ;-> Next step is to examine the
generic to arch-specific interface and
see what we can do to simplify it. We have about 30 callbacks today.
That's quite a lot. But this situation is
mostly coming from the vast diversity of the hardware. Yet, I believe
we could probably reduce that number
of callbacks.

Finally, there is a lot of work in the X86-specific perfmon.c. There
is way too much model-specific
code in there. I would like to see all of the P4 code outside of
perfmon.c and into perfmon_p4.c. Similarly with
 the PEBS code. Note that the ds.h interface from Markus Metzger from
Intel will help in hiding the access to the
DS and PEBS information. Markus's patch is likely going to make it
into 2.6.25 or .26. That should help us a bit.

If people have more ideas, please come forward.

Please pull from GIT and test in your environments and report any problems.

Thanks.

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
perfmon2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to