Published at LXer:
Stephane Eranian posted an overview of theperfmon2 interface, highlighting key features. He begins, "the goal of the perfmon2 interface is to provide access to the hardware performance counters present in all modern processors." He goes on to explain, "the interface is designed to be builtin, very generic, flexible and extensible. It is not designed to support a single application or a small class of monitoring tools. The goal is to avoid fragmentation where you have one tool using one interface. Because we want the interface to be an integral part of the kernel, special care is taken to make it robust and secure. The interface is uniform across all hardware platforms, i.e., it offers the same level of software functionalities on each platform." The full document can be found below.2.6 maintainer Andrew Morton reviewed the document commenting, "thanks for putting this together. It helps." He included comments throughout, then noted in summary, "overall: I worry about excessive configurability, excessive features." Stephane acknoweldged these comment explaining, "in general I am not a big fan of putting stuff in the kernel just because it's cool to be kernel developer. Quite to the contrary, if I could get out of the kernel development, it would certainly make my work easier. Every feature that is supported by perfmon was put in there because of user needs and because there was no better way to implement them in user space and yet provide the same level of efficiency or simplicity."