Date: Wed, 29 Aug 2018 10:02:28 -0400 From: Mark Johnston <markj@freebsd.org> To: Kristof Provost <kp@freebsd.org> Cc: Matt Macy <mmacy@freebsd.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r334647 - in head: lib/libpmc sys/dev/hwpmc sys/kern sys/sys usr.sbin usr.sbin/pmc Message-ID: <20180829140228.GE5641@raichu> In-Reply-To: <7049241C-BA3D-4652-9568-C4387557F8E3@FreeBSD.org> References: <201806050426.w554QfVq001396@repo.freebsd.org> <7049241C-BA3D-4652-9568-C4387557F8E3@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180829140228.GE5641>