b2ca2e50b9
metadata changes:
- log pmc sample rate with pmcallocate
- log proc flags with thread / process logging
to identify user vs kernel threads
fixes:
- use log cpuid to translate event id to event name
Implement rudimentary summary command to track sample
counts by thread and process name within a pmc log.
% make -j4 buildkernel >& /dev/null &
% sudo pmcstat -S unhalted_core_cycles -S llc-misses -O foo sleep 15
% pmc summary foo
cpu_clk_unhalted.thread_p_any:
idle: 138108207162
clang-6.0: 105336158004
sh: 72340108510
make: 8642012963
kernel: 7754011631
longest_lat_cache.miss:
clang-6.0: 87502625
sh: 40901227
make: 5500165
kernel: 3300099
awk:
|
||
---|---|---|
.. | ||
pmu-events | ||
libpmc_pmu_util.c | ||
libpmc.c | ||
libpmcinternal.h | ||
Makefile | ||
Makefile.depend | ||
pmc_allocate.3 | ||
pmc_attach.3 | ||
pmc_capabilities.3 | ||
pmc_configure_logfile.3 | ||
pmc_disable.3 | ||
pmc_event_names_of_class.3 | ||
pmc_get_driver_stats.3 | ||
pmc_get_msr.3 | ||
pmc_init.3 | ||
pmc_name_of_capability.3 | ||
pmc_read.3 | ||
pmc_set.3 | ||
pmc_start.3 | ||
pmc.3 | ||
pmc.atom.3 | ||
pmc.atomsilvermont.3 | ||
pmc.core2.3 | ||
pmc.core.3 | ||
pmc.corei7.3 | ||
pmc.corei7uc.3 | ||
pmc.h | ||
pmc.haswell.3 | ||
pmc.haswelluc.3 | ||
pmc.haswellxeon.3 | ||
pmc.iaf.3 | ||
pmc.ivybridge.3 | ||
pmc.ivybridgexeon.3 | ||
pmc.k7.3 | ||
pmc.k8.3 | ||
pmc.mips24k.3 | ||
pmc.octeon.3 | ||
pmc.p4.3 | ||
pmc.p5.3 | ||
pmc.p6.3 | ||
pmc.sandybridge.3 | ||
pmc.sandybridgeuc.3 | ||
pmc.sandybridgexeon.3 | ||
pmc.soft.3 | ||
pmc.tsc.3 | ||
pmc.ucf.3 | ||
pmc.westmere.3 | ||
pmc.westmereuc.3 | ||
pmc.xscale.3 | ||
pmclog.3 | ||
pmclog.c | ||
pmclog.h |