Perf and later the sysfs interfaces describing events were designed with certain assumptions about how hardware performance counters would work: They would be bound to cpus (or something derivable from the cpu), only so many counts could happen at once, and hardware would need to be configured to capture certain counters. The in memory counters (called "24x7" or "24x7 IMA") that are provided by POWER 8 break all those assumptions. In memory counters can be read from any cpu. On virtualized systems counts for physical sockets, cores, and cpus can be obtained (we can't map a vcpu to an arbitrary physical socket, for example). This presentation discusses the current perf interfaces and changes needed to integrate in-memory-counters into the perf tooling, both in user and kernel space.