> I will release support for core and uncore. But uncore will be > restricted to system-wide sessions only. It does not make sense > to support this for per-thread session, as there is no correlation > possible with a PID or even a CPU.
This is true only if you assume each process wants all of the 'off-core' counters. An approach we took on SiCortex for our 'off-core' PMU, was to partition the 256 counters into 6 blocks of 42, each process on each core gets 42 counters, dedicated. So there is no contention for these registers, and they can measure system-wide-events, but maintain the idea of a first person context, since, after all that is the workload that is being measured. When the process on that core is not active, neither is the perfmon context...so the counts are stopped. We can do very nice sampling on external events, DDR transactions, pciE stuff, fabric packets, using the same interface we do for the in-core counters, and these happen only when the process is active in non-system-wide mode. The further you guys move to a system-wide view of the machine, the more you'll fall into the same trap as Vtune and OProfile. Great for system-tuning and single user stuff...but don't count on building tools on production/shared systems this way, unless you've got the nodes to yourself. Of course, if you do choose to go this route, it makes the SiCortex implementation look that much more useful. ;-) Phil ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ perfmon2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/perfmon2-devel
