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
