On Wed, Aug 29, 2018 at 02:41:49PM +0200, Kristof Provost wrote: > On 5 Jun 2018, at 6:26, Matt Macy wrote: > > Author: mmacy > > Date: Tue Jun 5 04:26:40 2018 > > New Revision: 334647 > > URL: https://svnweb.freebsd.org/changeset/base/334647 > > > > Log: > > hwpmc: log name->pid, name->tid mappings > > > > By logging all threads and processes 'pmc filter' > > can now filter on process or thread name, relieving > > the user of the burden of determining which tid or > > pid was which when the sample was taken. > > > > % pmc filter -T if_io_tqg -P nginx pmc.log pmc-iflib.log > > > > % pmc filter -x -T idle pmc.log pmc-noidle.log > > > > Added: > > head/usr.sbin/pmc/cmd_pmc_filter.cc > > - copied, changed from r334645, > > head/usr.sbin/pmc/cmd_pmc_filter.c > > Deleted: > > head/usr.sbin/pmc/cmd_pmc_filter.c > > Modified: > > head/lib/libpmc/pmclog.c > > head/lib/libpmc/pmclog.h > > head/sys/dev/hwpmc/hwpmc_logging.c > > head/sys/dev/hwpmc/hwpmc_mod.c > > head/sys/kern/kern_kthread.c > > head/sys/kern/kern_thr.c > > head/sys/kern/kern_thread.c > > head/sys/sys/pmc.h > > head/sys/sys/pmckern.h > > head/sys/sys/pmclog.h > > head/usr.sbin/Makefile > > head/usr.sbin/pmc/Makefile (contents, props changed) > > head/usr.sbin/pmc/cmd_pmc.h (contents, props changed) > > > > Modified: head/lib/libpmc/pmclog.c > > ============================================================================== > > --- head/lib/libpmc/pmclog.c Tue Jun 5 01:05:58 2018 > > (r334646) > > +++ head/lib/libpmc/pmclog.c Tue Jun 5 04:26:40 2018 > > (r334647) > > @@ -404,6 +404,19 @@ pmclog_get_event(void *cookie, char **data, > > ssize_t *l > > case PMCLOG_TYPE_USERDATA: > > PMCLOG_READ32(le,ev->pl_u.pl_u.pl_userdata); > > break; > > + case PMCLOG_TYPE_THR_CREATE: > > + PMCLOG_READ32(le,ev->pl_u.pl_tc.pl_tid); > > + PMCLOG_READ32(le,ev->pl_u.pl_tc.pl_pid); > > + PMCLOG_READ32(le,noop); > > + memcpy(ev->pl_u.pl_tc.pl_tdname, le, MAXCOMLEN+1); > > + break; > > + case PMCLOG_TYPE_THR_EXIT: > > + PMCLOG_READ32(le,ev->pl_u.pl_te.pl_tid); > > + break; > > + case PMCLOG_TYPE_PROC_CREATE: > > + PMCLOG_READ32(le,ev->pl_u.pl_pc.pl_pid); > > + memcpy(ev->pl_u.pl_pc.pl_pcomm, le, MAXCOMLEN+1); > > + break; > > default: /* unknown record type */ > > ps->ps_state = PL_STATE_ERROR; > > ev->pl_state = PMCLOG_ERROR; > > > > pmcstat does not know about these new event types, so a `pmcstat -S > cpu_clk_unhalted.core -l 10 -G data.test` produces error messages about > unknown events:
See also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230984 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230985 _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "[email protected]"
