<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libpmc, branch release/13.1.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F13.1.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F13.1.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2022-03-09T21:04:10Z</updated>
<entry>
<title>libpmc: Allow specifying explicit EVENT_xxH events on armv7 and arm64</title>
<updated>2022-03-09T21:04:10Z</updated>
<author>
<name>Jessica Clarke</name>
<email>jrtc27@FreeBSD.org</email>
</author>
<published>2022-02-15T16:10:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e14f57ffa6c9d628b191af0c2b5425c223f47ef3'/>
<id>urn:sha1:e14f57ffa6c9d628b191af0c2b5425c223f47ef3</id>
<content type='text'>
This is useful for processors where we don't have an event table; in
those cases we default to a Cortex A8 (armv7) or Cortex A53 (arm64) in
order to attempt to provide something useful, but you're then limited to
the counters in those tables, some of which may also not be implemented
(e.g. LD/ST_RETIRED are no longer implemented in more recent cores,
replaced by LD/ST_SPEC).

Adding the raw EVENT_xxH event lists to each table ensures that you can
always request the exact events you want, regardless of what has been
detected or is known.

Reviewed by:	mhorne
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D33805

(cherry picked from commit 9f22e0959b1e2e3c9450f8b495d2c0c86699eb18)
</content>
</entry>
<entry>
<title>libpmc: Update some x86 event definitions.</title>
<updated>2021-12-25T19:56:22Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2021-11-25T16:19:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9e5bf8cfca341238ef7fc58ebf74d74d8ebceb9f'/>
<id>urn:sha1:9e5bf8cfca341238ef7fc58ebf74d74d8ebceb9f</id>
<content type='text'>
MFC after:	1 month

(cherry picked from commit 52d973f52c07b94909a6487be373c269988dc151)
</content>
</entry>
<entry>
<title>libpmc: add some AMD pmu counter aliases</title>
<updated>2021-10-15T15:21:36Z</updated>
<author>
<name>Mitchell Horne</name>
<email>mhorne@FreeBSD.org</email>
</author>
<published>2021-09-30T14:13:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3c01f7415067d8a4da0737eb74c2709f0d5afed8'/>
<id>urn:sha1:3c01f7415067d8a4da0737eb74c2709f0d5afed8</id>
<content type='text'>
Make it mostly compatible with what's defined for Intel. Except where
noted, these are defined for all of amdzen(1|2|3).

Reviewed by:	emaste
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D32162

(cherry picked from commit a20c10893eb17e281f119d1b9b39c175dbf4d7bd)
</content>
</entry>
<entry>
<title>libpmc: fix the 'cycles' event alias on x86</title>
<updated>2021-10-15T15:21:35Z</updated>
<author>
<name>Mitchell Horne</name>
<email>mhorne@FreeBSD.org</email>
</author>
<published>2021-09-30T14:11:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=89f1b82a859fe4b9d4a59e9089a634ec24f127dd'/>
<id>urn:sha1:89f1b82a859fe4b9d4a59e9089a634ec24f127dd</id>
<content type='text'>
Looking for "tsc-tsc" in the pmu tables will fail every time. Instead,
make this an alias for the static TSC event defined in pmc_events.h.
This fixes 'pmcstat -s cycles' on Intel and AMD.

Reviewed by:	emaste
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D32197

(cherry picked from commit 937539e0a32ce1da46223664ca1cf3b252e02ece)
</content>
</entry>
<entry>
<title>pmc(3): remove Pentium-related man pages and references</title>
<updated>2021-08-30T15:54:47Z</updated>
<author>
<name>Mitchell Horne</name>
<email>mhorne@FreeBSD.org</email>
</author>
<published>2021-08-10T20:19:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3d51152bfe831c827d696623466950cd4ce5334b'/>
<id>urn:sha1:3d51152bfe831c827d696623466950cd4ce5334b</id>
<content type='text'>
Support for Pentium events was removed completely in e92a1350b50e.

Don't bump .Dd where we are just removing xrefs.

Reviewed by:	emaste
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D31423

(cherry picked from commit d78896e46f1d7744155919476c012400321d0dab)
</content>
</entry>
<entry>
<title>libpmc: Import AMD Zen 3 PMU events</title>
<updated>2021-07-29T15:05:55Z</updated>
<author>
<name>Greg V</name>
<email>greg@unrelenting.technology</email>
</author>
<published>2021-06-30T21:15:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=28ff0070f7c81f8a65b94e2ff8bb1e9cda98b065'/>
<id>urn:sha1:28ff0070f7c81f8a65b94e2ff8bb1e9cda98b065</id>
<content type='text'>
Reviewed by:	mav, mhorne
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D30965

(cherry picked from commit 8c2dd68caa963f1900a8228b0732b04f5d530ffa)
</content>
</entry>
<entry>
<title>arm64 support for pmu-events</title>
<updated>2021-07-29T15:02:05Z</updated>
<author>
<name>Mitchell Horne</name>
<email>mhorne@FreeBSD.org</email>
</author>
<published>2021-05-19T16:11:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=83166f87140764c36d7c6bdfab0433aceada66a9'/>
<id>urn:sha1:83166f87140764c36d7c6bdfab0433aceada66a9</id>
<content type='text'>
8cc3815f:
hwpmc_arm64: accept raw event codes for PMC_OP_PMCALLOCATE

Make it possible to specify event codes without an offset of
PMC_EV_ARMV8_FIRST, by setting a machine-dependent flag. This is
required to make use of event definitions from pmu-events.

Reviewed by:	ray (slightly earlier version)
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D30602

28dd6730:
libpmc: enable pmu_utils on arm64

This allows supported libpmc to query/select from the pmu-events table,
which may have a more complete set of events than what we define
manually. A future update to these definitions should greatly improve
this support. The alias table is empty for now, until this future import
is complete.

Add the Foundation's copyright for recent work on this file.

Reviewed by:	ray (slightly earlier version)
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D30603

27ea55fc:
libpmc/hwpmc: fix issues with arm64 pmu-events support

Due to a mis-merge, the changes committed to libpmc never called
pmu_parse_event(), or set pm-&gt;pm_ev. However, this field shouldn't be
used to carry the actual pmc event code anyway, as it is expected to
contain the index into the pmu event array (otherwise, it breaks event
name lookup in pmclog_get_event()). Add a new MD field,
pm_md.pm_md_config, to pass the raw event code to arm64_allocate_pmc().

Additionally, the change made to pmc_md_op_pmcallocate was incorrect, as
this is a union, not a struct. Restore the proper padding size.

Reviewed by:	luporl, ray, andrew
Fixes:		28dd6730a5d6 ("libpmc: enable pmu_utils on arm64")
Fixes:		8cc3815f02be ("hwpmc_arm64: accept raw event codes...")
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D31221

(cherry picked from commit 8cc3815f02be9fa2a96e47713ad989e6d787e12a)
(cherry picked from commit 28dd6730a5d6bc73aca4c015c0ff875a9def25ac)
(cherry picked from commit 27ea55fc655b0081f760a34ff5dd5526ba02a0fb)
</content>
</entry>
<entry>
<title>libpmc: make libpmc_pmu_utils.c more amenable to porting</title>
<updated>2021-07-29T15:01:10Z</updated>
<author>
<name>Mitchell Horne</name>
<email>mhorne@FreeBSD.org</email>
</author>
<published>2021-05-31T14:24:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=87c9a2933bdb537cc163aaeb16e588d303dc1d50'/>
<id>urn:sha1:87c9a2933bdb537cc163aaeb16e588d303dc1d50</id>
<content type='text'>
The current version has every function stubbed out for !x86. Only two
functions (pmu_alias_get() and pmc_pmu_pmcallocate() are really platform
dependent, so reduce the width of the ifdefs and remove some of the
stubs.

Reviewed by:	ray
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D30532

(cherry picked from commit 0024f1aa7720d5f4f587a6c5911fc5238195ae49)
</content>
</entry>
<entry>
<title>libpmc: limit pmu-events to 64-bit powerpc</title>
<updated>2021-07-29T15:01:10Z</updated>
<author>
<name>Mitchell Horne</name>
<email>mhorne@FreeBSD.org</email>
</author>
<published>2021-05-31T20:24:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6911f39887662f95a2a20c521ce5b5a8d048f687'/>
<id>urn:sha1:6911f39887662f95a2a20c521ce5b5a8d048f687</id>
<content type='text'>
Although currently unused, there are only pmu event definitions for
POWER8 and POWER9. There is no sense in building these on 32-bit
platforms.

Sponsored by:	The FreeBSD Foundation

(cherry picked from commit 507d68984a010dab0c3ecc5477c36526c3a7fa48)
</content>
</entry>
<entry>
<title>libpmc: use $MACHINE_CPUARCH</title>
<updated>2021-07-29T15:01:10Z</updated>
<author>
<name>Mitchell Horne</name>
<email>mhorne@FreeBSD.org</email>
</author>
<published>2021-05-31T20:20:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=440e5ecbe13d65fb2d4f01290ccb25217f8bc0b3'/>
<id>urn:sha1:440e5ecbe13d65fb2d4f01290ccb25217f8bc0b3</id>
<content type='text'>
This is preferred over $MACHINE_ARCH for these types of checks, although
it makes no difference for amd64 or i386. No functional change intended.

Sponsored by:	The FreeBSD Foundation

(cherry picked from commit 3864da302af34853ddb2c33a42de5668a0d68cdd)
</content>
</entry>
</feed>
