From nobody Fri Jun 09 19:58:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QdBhc0WYFz4cKQK; Fri, 9 Jun 2023 19:58:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QdBhc025Qz4Jbb; Fri, 9 Jun 2023 19:58:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1686340688; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ayGBlWuyQbwsT6/kIXRCgOithr1XrVmAm6YB8Idsvk8=; b=f6IXziWojE86hGoprOnXIrsFWhmSGxvTzlyTT3bexyOt1eTaDPl/7OXCzI6YHm2DzzerCO OrygN29iYmLKgFnFATed1392G6qcD5JIiac3hyCCLIZSZ2btSu6aPJKjzKtscpzDn4gfPn 4cmvVtmfaRnaqe1nezJGwBH4M+ZY8nKIlV+Z0G4yrIcdLNNHWBctl3EbYbSLd1ryN364c9 YVLEIM5Ubvjlx0jGBLc6T1eCZsuB6m//gFqx4jIvxVIriwJBgYobR+uTtAr0ioEbUkY+NP PF8hYuxocjmbOaI89515+auOteQJptNfmMH26rMLBcQmIKqxhYhvmJkYuAL58Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1686340688; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ayGBlWuyQbwsT6/kIXRCgOithr1XrVmAm6YB8Idsvk8=; b=gUqQGoDR5KumqAO9++SX9NUNc+WAaCNmklC/Yc1wKQ/oBdeeuUPVE/tXWUnsWhJGYzwgUh VCkHOyNC4U41lBy2xM8tbMgXsqmng+eBBxYZL8a9PLjh63JnQlibM0ZA7eNLqQC/mcs4Qm ejI1p3Ao07oO5eNzP5gqM3TRoiMQldXfyibKMFB4omnQ2wC/GyzG1L0Gq1P0tyJCu85ipz L4vr+HZfXSJM/fR27Yg/JhXbLR1ShADymwP4/SWhcupfI5C41niNT7ijdiyKgpebefs6eU 9J2IZpneNSlBHPO+2GiXL+k/lEEvJbDGhr14yToHGEIfrhVUUHtZf5eidqXa4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1686340688; a=rsa-sha256; cv=none; b=MMoaVbJiZr1AE+2df5rJrT/JOO+B8Wna7ITZpx9ZG2fQ/Z4L+vIc974aNdPO2PxPVdf2+e PrzsCBsU0warz71ZLXRMr5r3alAb7JyNUfZLOC6+ogenEoZSSoEbB8YB4dlkuDof78x05V phfiPEccjmO1qgWTN+gIv7bDfjoUGqBJE9l4ooZ4r5xt7Aev9WL2d3DX/Xs7pAMmFuT7rc F/4v3ETZF5PrGPqCqgtBvl08dFNVZfbst6nRwT6CFGl8lJd3B1BdGyiPKBNVhJ4OXT2L2E Ol/gb8LydwYXHWr2NWYxJeYkqdW/Z4mOaPOKwA5s5jGmis2ZcE6q5CP+yFD72A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QdBhb6Df2znf1; Fri, 9 Jun 2023 19:58:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 359Jw7An072157; Fri, 9 Jun 2023 19:58:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 359Jw7I3072156; Fri, 9 Jun 2023 19:58:07 GMT (envelope-from git) Date: Fri, 9 Jun 2023 19:58:07 GMT Message-Id: <202306091958.359Jw7I3072156@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mitchell Horne Subject: git: ca05e98df02a - stable/13 - hwpmc_logging: less macro magic for type names List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ca05e98df02a1f83fadb453408b5eb8c3d2ac868 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=ca05e98df02a1f83fadb453408b5eb8c3d2ac868 commit ca05e98df02a1f83fadb453408b5eb8c3d2ac868 Author: Mitchell Horne AuthorDate: 2023-05-05 21:59:27 +0000 Commit: Mitchell Horne CommitDate: 2023-06-09 18:14:59 +0000 hwpmc_logging: less macro magic for type names Provide the log type names in their entirely, rather than relying on the macro to prepend the prefix. This improves their searchability; for example, if I see PMCLOG_TYPE_PMCALLOCATE in libpmc I will now be able to find where that is emitted in the kernel with a simple grep. Reviewed by: jkoshy, emaste MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39911 (cherry picked from commit 3a7c9fc01bdae13edbd5724745b748e6a61065eb) --- sys/dev/hwpmc/hwpmc_logging.c | 57 +++++++++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 24 deletions(-) diff --git a/sys/dev/hwpmc/hwpmc_logging.c b/sys/dev/hwpmc/hwpmc_logging.c index 5b6744ab752c..b0dca3c15827 100644 --- a/sys/dev/hwpmc/hwpmc_logging.c +++ b/sys/dev/hwpmc/hwpmc_logging.c @@ -116,9 +116,7 @@ static struct mtx pmc_kthread_mtx; /* sleep lock */ * Log file record constructors. */ #define _PMCLOG_TO_HEADER(T,L) \ - ((PMCLOG_HEADER_MAGIC << 24) | \ - (PMCLOG_TYPE_ ## T << 16) | \ - ((L) & 0xFFFF)) + ((PMCLOG_HEADER_MAGIC << 24) | (T << 16) | ((L) & 0xFFFF)) /* reserve LEN bytes of space and initialize the entry header */ #define _PMCLOG_RESERVE_SAFE(PO,TYPE,LEN,ACTION, TSC) do { \ @@ -722,7 +720,7 @@ pmclog_configure_log(struct pmc_mdep *md, struct pmc_owner *po, int logfd) PROC_UNLOCK(p); nanotime(&ts); /* create a log initialization entry */ - PMCLOG_RESERVE_WITH_ERROR(po, INITIALIZE, + PMCLOG_RESERVE_WITH_ERROR(po, PMCLOG_TYPE_INITIALIZE, sizeof(struct pmclog_initialize)); PMCLOG_EMIT32(PMC_VERSION); PMCLOG_EMIT32(md->pmd_cputype); @@ -922,7 +920,7 @@ pmclog_process_callchain(struct pmc *pm, struct pmc_sample *ps) ps->ps_nsamples * sizeof(uintfptr_t); po = pm->pm_owner; flags = PMC_CALLCHAIN_TO_CPUFLAGS(ps->ps_cpu,ps->ps_flags); - PMCLOG_RESERVE_SAFE(po, CALLCHAIN, recordlen, ps->ps_tsc); + PMCLOG_RESERVE_SAFE(po, PMCLOG_TYPE_CALLCHAIN, recordlen, ps->ps_tsc); PMCLOG_EMIT32(ps->ps_pid); PMCLOG_EMIT32(ps->ps_tid); PMCLOG_EMIT32(pm->pm_id); @@ -935,14 +933,16 @@ pmclog_process_callchain(struct pmc *pm, struct pmc_sample *ps) void pmclog_process_closelog(struct pmc_owner *po) { - PMCLOG_RESERVE(po,CLOSELOG,sizeof(struct pmclog_closelog)); + PMCLOG_RESERVE(po, PMCLOG_TYPE_CLOSELOG, + sizeof(struct pmclog_closelog)); PMCLOG_DESPATCH_SYNC(po); } void pmclog_process_dropnotify(struct pmc_owner *po) { - PMCLOG_RESERVE(po,DROPNOTIFY,sizeof(struct pmclog_dropnotify)); + PMCLOG_RESERVE(po, PMCLOG_TYPE_DROPNOTIFY, + sizeof(struct pmclog_dropnotify)); PMCLOG_DESPATCH(po); } @@ -958,7 +958,7 @@ pmclog_process_map_in(struct pmc_owner *po, pid_t pid, uintfptr_t start, recordlen = offsetof(struct pmclog_map_in, pl_pathname) + pathlen; - PMCLOG_RESERVE(po, MAP_IN, recordlen); + PMCLOG_RESERVE(po, PMCLOG_TYPE_MAP_IN, recordlen); PMCLOG_EMIT32(pid); PMCLOG_EMIT32(0); PMCLOG_EMITADDR(start); @@ -972,7 +972,7 @@ pmclog_process_map_out(struct pmc_owner *po, pid_t pid, uintfptr_t start, { KASSERT(start <= end, ("[pmclog,%d] start > end", __LINE__)); - PMCLOG_RESERVE(po, MAP_OUT, sizeof(struct pmclog_map_out)); + PMCLOG_RESERVE(po, PMCLOG_TYPE_MAP_OUT, sizeof(struct pmclog_map_out)); PMCLOG_EMIT32(pid); PMCLOG_EMIT32(0); PMCLOG_EMITADDR(start); @@ -991,7 +991,7 @@ pmclog_process_pmcallocate(struct pmc *pm) PMCDBG1(LOG,ALL,1, "pm=%p", pm); if (PMC_TO_CLASS(pm) == PMC_CLASS_SOFT) { - PMCLOG_RESERVE(po, PMCALLOCATEDYN, + PMCLOG_RESERVE(po, PMCLOG_TYPE_PMCALLOCATEDYN, sizeof(struct pmclog_pmcallocatedyn)); PMCLOG_EMIT32(pm->pm_id); PMCLOG_EMIT32(pm->pm_event); @@ -1006,7 +1006,7 @@ pmclog_process_pmcallocate(struct pmc *pm) pmc_soft_ev_release(ps); PMCLOG_DESPATCH_SYNC(po); } else { - PMCLOG_RESERVE(po, PMCALLOCATE, + PMCLOG_RESERVE(po, PMCLOG_TYPE_PMCALLOCATE, sizeof(struct pmclog_pmcallocate)); PMCLOG_EMIT32(pm->pm_id); PMCLOG_EMIT32(pm->pm_event); @@ -1030,7 +1030,7 @@ pmclog_process_pmcattach(struct pmc *pm, pid_t pid, char *path) pathlen = strlen(path) + 1; /* #bytes for the string */ recordlen = offsetof(struct pmclog_pmcattach, pl_pathname) + pathlen; - PMCLOG_RESERVE(po, PMCATTACH, recordlen); + PMCLOG_RESERVE(po, PMCLOG_TYPE_PMCATTACH, recordlen); PMCLOG_EMIT32(pm->pm_id); PMCLOG_EMIT32(pid); PMCLOG_EMITSTRING(path, pathlen); @@ -1046,7 +1046,8 @@ pmclog_process_pmcdetach(struct pmc *pm, pid_t pid) po = pm->pm_owner; - PMCLOG_RESERVE(po, PMCDETACH, sizeof(struct pmclog_pmcdetach)); + PMCLOG_RESERVE(po, PMCLOG_TYPE_PMCDETACH, + sizeof(struct pmclog_pmcdetach)); PMCLOG_EMIT32(pm->pm_id); PMCLOG_EMIT32(pid); PMCLOG_DESPATCH_SYNC(po); @@ -1056,13 +1057,15 @@ void pmclog_process_proccreate(struct pmc_owner *po, struct proc *p, int sync) { if (sync) { - PMCLOG_RESERVE(po, PROC_CREATE, sizeof(struct pmclog_proccreate)); + PMCLOG_RESERVE(po, PMCLOG_TYPE_PROC_CREATE, + sizeof(struct pmclog_proccreate)); PMCLOG_EMIT32(p->p_pid); PMCLOG_EMIT32(p->p_flag); PMCLOG_EMITSTRING(p->p_comm, MAXCOMLEN+1); PMCLOG_DESPATCH_SYNC(po); } else { - PMCLOG_RESERVE(po, PROC_CREATE, sizeof(struct pmclog_proccreate)); + PMCLOG_RESERVE(po, PMCLOG_TYPE_PROC_CREATE, + sizeof(struct pmclog_proccreate)); PMCLOG_EMIT32(p->p_pid); PMCLOG_EMIT32(p->p_flag); PMCLOG_EMITSTRING(p->p_comm, MAXCOMLEN+1); @@ -1087,7 +1090,8 @@ pmclog_process_proccsw(struct pmc *pm, struct pmc_process *pp, pmc_value_t v, st po = pm->pm_owner; - PMCLOG_RESERVE_SAFE(po, PROCCSW, sizeof(struct pmclog_proccsw), pmc_rdtsc()); + PMCLOG_RESERVE_SAFE(po, PMCLOG_TYPE_PROCCSW, + sizeof(struct pmclog_proccsw), pmc_rdtsc()); PMCLOG_EMIT64(v); PMCLOG_EMIT32(pm->pm_id); PMCLOG_EMIT32(pp->pp_proc->p_pid); @@ -1106,7 +1110,7 @@ pmclog_process_procexec(struct pmc_owner *po, pmc_id_t pmid, pid_t pid, pathlen = strlen(path) + 1; /* #bytes for the path */ recordlen = offsetof(struct pmclog_procexec, pl_pathname) + pathlen; - PMCLOG_RESERVE(po, PROCEXEC, recordlen); + PMCLOG_RESERVE(po, PMCLOG_TYPE_PROCEXEC, recordlen); PMCLOG_EMIT32(pid); PMCLOG_EMIT32(pmid); PMCLOG_EMITADDR(startaddr); @@ -1130,7 +1134,8 @@ pmclog_process_procexit(struct pmc *pm, struct pmc_process *pp) po = pm->pm_owner; - PMCLOG_RESERVE(po, PROCEXIT, sizeof(struct pmclog_procexit)); + PMCLOG_RESERVE(po, PMCLOG_TYPE_PROCEXIT, + sizeof(struct pmclog_procexit)); PMCLOG_EMIT32(pm->pm_id); PMCLOG_EMIT32(pp->pp_proc->p_pid); PMCLOG_EMIT64(pp->pp_pmcs[ri].pp_pmcval); @@ -1144,7 +1149,8 @@ pmclog_process_procexit(struct pmc *pm, struct pmc_process *pp) void pmclog_process_procfork(struct pmc_owner *po, pid_t oldpid, pid_t newpid) { - PMCLOG_RESERVE(po, PROCFORK, sizeof(struct pmclog_procfork)); + PMCLOG_RESERVE(po, PMCLOG_TYPE_PROCFORK, + sizeof(struct pmclog_procfork)); PMCLOG_EMIT32(oldpid); PMCLOG_EMIT32(newpid); PMCLOG_DESPATCH(po); @@ -1157,7 +1163,7 @@ pmclog_process_procfork(struct pmc_owner *po, pid_t oldpid, pid_t newpid) void pmclog_process_sysexit(struct pmc_owner *po, pid_t pid) { - PMCLOG_RESERVE(po, SYSEXIT, sizeof(struct pmclog_sysexit)); + PMCLOG_RESERVE(po, PMCLOG_TYPE_SYSEXIT, sizeof(struct pmclog_sysexit)); PMCLOG_EMIT32(pid); PMCLOG_DESPATCH(po); } @@ -1169,7 +1175,8 @@ pmclog_process_threadcreate(struct pmc_owner *po, struct thread *td, int sync) p = td->td_proc; if (sync) { - PMCLOG_RESERVE(po, THR_CREATE, sizeof(struct pmclog_threadcreate)); + PMCLOG_RESERVE(po, PMCLOG_TYPE_THR_CREATE, + sizeof(struct pmclog_threadcreate)); PMCLOG_EMIT32(td->td_tid); PMCLOG_EMIT32(p->p_pid); PMCLOG_EMIT32(p->p_flag); @@ -1177,7 +1184,8 @@ pmclog_process_threadcreate(struct pmc_owner *po, struct thread *td, int sync) PMCLOG_EMITSTRING(td->td_name, MAXCOMLEN+1); PMCLOG_DESPATCH_SYNC(po); } else { - PMCLOG_RESERVE(po, THR_CREATE, sizeof(struct pmclog_threadcreate)); + PMCLOG_RESERVE(po, PMCLOG_TYPE_THR_CREATE, + sizeof(struct pmclog_threadcreate)); PMCLOG_EMIT32(td->td_tid); PMCLOG_EMIT32(p->p_pid); PMCLOG_EMIT32(p->p_flag); @@ -1191,7 +1199,8 @@ void pmclog_process_threadexit(struct pmc_owner *po, struct thread *td) { - PMCLOG_RESERVE(po, THR_EXIT, sizeof(struct pmclog_threadexit)); + PMCLOG_RESERVE(po, PMCLOG_TYPE_THR_EXIT, + sizeof(struct pmclog_threadexit)); PMCLOG_EMIT32(td->td_tid); PMCLOG_DESPATCH(po); } @@ -1209,7 +1218,7 @@ pmclog_process_userlog(struct pmc_owner *po, struct pmc_op_writelog *wl) error = 0; - PMCLOG_RESERVE_WITH_ERROR(po, USERDATA, + PMCLOG_RESERVE_WITH_ERROR(po, PMCLOG_TYPE_USERDATA, sizeof(struct pmclog_userdata)); PMCLOG_EMIT32(wl->pm_userdata); PMCLOG_DESPATCH(po);