diff options
author | Andrew Gallatin <gallatin@FreeBSD.org> | 2022-07-04 16:40:35 +0000 |
---|---|---|
committer | Andrew Gallatin <gallatin@FreeBSD.org> | 2022-07-04 16:42:39 +0000 |
commit | 0aa150775179a4f683fade5f1d6325a47b5f695f (patch) | |
tree | fe2cbf5a2afb262a280df9f062acae9ee16aef40 | |
parent | ee2324aaf6e3256ef7396ef6063ec4261486ef94 (diff) | |
download | src-0aa150775179a4f683fade5f1d6325a47b5f695f.tar.gz src-0aa150775179a4f683fade5f1d6325a47b5f695f.zip |
pmcstat: fix log analysis
pmcstat has been broken for analyzing logs since D35342 / b6e28991bf3aadb.
This is because the pmc for the first CPU is not added when reading logs
because unlike its clones, its event id is not invalid. That causes us
to fail the assertion at lib/libpmcstat/libpmcstat_logging.c:293
when encountering samples from cpu0.
Fix this by removing the check that the PMC is invalid
Reviewed by: tsoome
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D35709
-rw-r--r-- | usr.sbin/pmcstat/pmcstat.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/usr.sbin/pmcstat/pmcstat.c b/usr.sbin/pmcstat/pmcstat.c index 08e43d5d446a..f366e2175a25 100644 --- a/usr.sbin/pmcstat/pmcstat.c +++ b/usr.sbin/pmcstat/pmcstat.c @@ -1187,8 +1187,7 @@ main(int argc, char **argv) */ STAILQ_FOREACH(ev, &args.pa_events, ev_next) { - if (ev->ev_pmcid == PMC_ID_INVALID && - pmc_allocate(ev->ev_spec, ev->ev_mode, + if (pmc_allocate(ev->ev_spec, ev->ev_mode, ev->ev_flags, ev->ev_cpu, &ev->ev_pmcid, ev->ev_count) < 0) err(EX_OSERR, |