From d1725d402c758c243d4f3c2382ba113b23c42c91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Mon, 14 Oct 2024 15:05:44 +0200 Subject: [PATCH] Sync from SUSE:ALP:Source:Standard:1.0 libpfm revision bda9c38cd20e1d27cebecc45768b20b9 --- .gitattributes | 23 ++++ baselibs.conf | 1 + libpfm-4.13.0.tar.gz | 3 + libpfm.changes | 305 +++++++++++++++++++++++++++++++++++++++++++ libpfm.spec | 176 +++++++++++++++++++++++++ 5 files changed, 508 insertions(+) create mode 100644 .gitattributes create mode 100644 baselibs.conf create mode 100644 libpfm-4.13.0.tar.gz create mode 100644 libpfm.changes create mode 100644 libpfm.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..fa505d1 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libpfm4 diff --git a/libpfm-4.13.0.tar.gz b/libpfm-4.13.0.tar.gz new file mode 100644 index 0000000..2714e0f --- /dev/null +++ b/libpfm-4.13.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d18b97764c755528c1051d376e33545d0eb60c6ebf85680436813fa5b04cc3d1 +size 1128221 diff --git a/libpfm.changes b/libpfm.changes new file mode 100644 index 0000000..38d543d --- /dev/null +++ b/libpfm.changes @@ -0,0 +1,305 @@ +------------------------------------------------------------------- +Thu May 4 23:42:40 UTC 2023 - Dirk Müller + +- update to 4.13: + * update Intel SKL/SKX/CLX event table + * add ARM Neoverse V2 core PMU support + * move ARM Neoverse N2 to ARMv9 support + * add ARM v9 support basic infrastructure + * add Arm Neoverse V1 core PMU support + * Update Intel SapphireRapid event table + * update Intel Icelake event table + * update AMD Zen4 event table + * add AMD Zen4 core PMU support + * correctly detect all AMD Zen3 processors + * fix CPU_CLK_UNHALTED.REF_DISTRIBUTED on Intel Icelake + +------------------------------------------------------------------- +Thu Dec 8 20:52:17 UTC 2022 - Dirk Müller + +- update to 4.12: + * Add IBM Power10 core PMU support + * Add Intel IcelakeX core PMU support + * Add Intel SapphireRapid core PMU support + * Add Intel SapphireRapid RAPL PMU support + * Update Intel Icelake RAPL PMU support + * Add support HiSilicon Kunpeng uncore PMUs + * Add support HiSilicon Kunpeng core PMU + * Remove arm_fujitsu_a64fx_support for ARM(32 bit) + * Update Intel Skylake event table + * Add Intel PERF_METRICS event support for Icelake + * Add support for ARM Neoverse N2 core PMU + * Add ARM SPE events for Neoverse N1 core PMU + * Add cgroup-switches software event + * Add Intel Tigerlake and Rocketlake core PMU support + * Add AMD64 Fam19h Zen3 L3 PMU support + * Add AMD64 Fam17h Zen2 RAPL support + * Add AMD64 Fam19h Zen3 core PMU support + * Add RAPL for AMD64 Fam19h Zen3 processor + * Update ARM N1 event table + * Update AMD Fam17h Zen2 event table + * s390: Update counter definition for IBM z16 + +------------------------------------------------------------------- +Mon Jul 4 07:12:12 UTC 2022 - Marcus Meissner + +- use https download url + +------------------------------------------------------------------- +Thu Mar 25 16:27:58 UTC 2021 - Ben Greiner + +- Can't assume non-existence of python38 macros in Leap. + gh#openSUSE/python-rpm-macros#107 + Test for suse_version instead. Only Tumbleweed has and needs the + python_subpackage_only support. + +------------------------------------------------------------------- +Thu Feb 11 16:57:49 UTC 2021 - Tony Jones + +- Update to version v4.11.0 + + * Major updates: + AMD Zen1 core PMU updates + AMD Zen2 core PMU support + Intel Icelake core PMU support + support to report if events are speculative + support for Extended PEBS events on Icelake + Intel Tremont core PMU support + ARM Neoverse N1 core PMU support + s390 event table updates + Marvell TX2 core and uncore updates + Intel CascadeLakeX uncore PMU support + + * Various other event table updates and bug fixes + + * Drop following patches (upstream): + 0001-s390-cpumf-add-IBM-z14-ZR1-support.patch + 0001-s390-cpumf-add-support-for-counter-second-version-nu.patch + 0001-s390-cpumf-add-support-for-machine-type-8561.patch + add-thunderx2-dmc-events-and-ccpi-events.patch + moved-tx2-uncore-event-to-separate-file.patch + removed-extra-fields-from-tx2_unc_data_t.patch + thunderx2-uncore-support.patch + update-cavium-thunderx2-with-now-public-events.patch + +------------------------------------------------------------------- +Sun Nov 22 00:18:22 UTC 2020 - Benjamin Greiner + +- Fix the python subpackage generation + gh#openSUSE/python-rpm-macros#79 + +------------------------------------------------------------------- +Thu Nov 19 18:21:46 UTC 2020 - Benjamin Greiner + +- Support multiple python 3 flavors in the python subpackage + gh#openSUSE/python-rpm-macros#66 + +------------------------------------------------------------------- +Tue Mar 3 02:49:22 UTC 2020 - Tony Jones + +- Add Cavium ThunderX2 uncore support (jsc#SLE-8440) + + New patch: thunderx2-uncore-support.patch + New patch: moved-tx2-uncore-event-to-separate-file.patch + New patch: add-thunderx2-dmc-events-and-ccpi-events.patch + New patch: removed-extra-fields-from-tx2_unc_data_t.patch + +------------------------------------------------------------------- +Fri Oct 18 18:11:38 UTC 2019 - Tony Jones + +- Update Cavium ThunderX2 with now public events (jsc#SLE-8440) + New patch: update-cavium-thunderx2-with-now-public-events.patch + +------------------------------------------------------------------- +Thu Aug 15 08:25:29 UTC 2019 - Tomáš Chvátal + +- Add provides/obsoletes wrt bsc#1145710 to avoid file conflict + +------------------------------------------------------------------- +Wed Aug 14 09:44:49 UTC 2019 - Tomáš Chvátal + +- Add more patches for s390 fate#327911 bsc#1145464 + These add support for ZR1 and add support for counter second version + number 6: + * 0001-s390-cpumf-add-IBM-z14-ZR1-support.patch + * 0001-s390-cpumf-add-support-for-counter-second-version-nu.patch + * 0001-s390-cpumf-add-support-for-machine-type-8561.patch + +------------------------------------------------------------------- +Thu Jul 4 06:35:27 UTC 2019 - Martin Liška + +- Use FAT LTO objects in order to provide proper static library. + +------------------------------------------------------------------- +Wed Aug 8 14:18:34 UTC 2018 - tchvatal@suse.com + +- Version update to 4.10.1 fate#326340 fate#326387: + * Fix build issues on Cavium Tunder X2 from v4.10 + * Update to Intel Skylake event table + * Intel Skylake X uncore PMUs support (all PMU boxes) + * Intel Knight Mill (KNM) core PMU support + * Cavium Thunder X2 core PMU support + * various event table updates + * various bug fixes +- Drop patch merged upstream: + * libpfm-python3.patch + +------------------------------------------------------------------- +Tue Jan 23 08:52:49 UTC 2018 - tchvatal@suse.com + +- Remove useless byte-compiling for py2 that breaks py3 only build +- Update libpfm-python3.patch to fix one stray identation issue + +------------------------------------------------------------------- +Wed Jan 17 15:52:07 UTC 2018 - tchvatal@suse.com + +- Add patch to build and work with python3: + * libpfm-python3.patch +- Build the python parts using singlespec macros to allow switching + as needed + +------------------------------------------------------------------- +Wed Jan 17 15:30:33 UTC 2018 - tchvatal@suse.com + +- Update to 4.9.0: + * Intel Broadwell EP uncore PMUs support (all PMU boxes) + * AMD Fam17h (Zen) core PMU support + * IBM Power9 core PMU support + * AMD Fam16h (Jaguar) support + * various event table updates + * various bug fixes +- Drop upstream merged patches: + * libpfm_add-power9-entries-to-validate_power-c.patch + * libpfm_enable-ibm-power9-core-pmu-support-beta.patch + * libpfm_fix-power9-event-file-header.patch + * libpfm_power9-event-list-update-for-perfmon2.patch + +------------------------------------------------------------------- +Wed Aug 16 17:06:19 UTC 2017 - tonyj@suse.com + +- Add Power9 support (FATE#322257) + New patch: libpfm_enable-ibm-power9-core-pmu-support-beta.patch + New patch: libpfm_fix-power9-event-file-header.patch + New patch: libpfm_power9-event-list-update-for-perfmon2.patch + New patch: libpfm_add-power9-entries-to-validate_power-c.patch + +------------------------------------------------------------------- +Sat Jan 14 14:53:05 UTC 2017 - mpluskal@suse.com + +- Cleanup spec file + +------------------------------------------------------------------- +Tue Dec 27 10:37:25 UTC 2016 - adam.majer@suse.de + +- Version bump to 4.8.0: + * Intel Knights Landing support (core and uncore) + * Intel Goldmont support + * Allow . as a delimiter for event string + * enable Broadwell EP + * Intel event table updates + * various bug fixes +- Requires swig 2.0.5 to compile since older versions cannot + parse long long types in enum value assignments. + +------------------------------------------------------------------- +Fri Jun 17 08:00:28 UTC 2016 - tchvatal@suse.com + +- Version bump to 4.7.0: + * Intel Skylake core PMU + * Intel Haswell-EP uncore PMUs + * Intel Broadwell-DE + * Major update on Intel event tables + * bug fixes and many other improvements +- Respect cflags, disable werror bnc#985166 + +------------------------------------------------------------------- +Tue Jan 19 18:17:58 UTC 2016 - tonyj@suse.com + +- Package useful utilities (check_events. evt2raw and showevtinfo) + in devel package. Backport from Factory. (bnc#1017407) + +------------------------------------------------------------------- +Fri Mar 13 14:13:09 UTC 2015 - tchvatal@suse.com + +- Version bump to 4.6.0 fate#318068: + * Intel Broadwell (desktop core) + * Intel Haswell-EP (core) + * Applied Micro X-Gene processor + * ARM A53 processor + * Intel SNB, IVB, HSW event table updates + * IBM Power8 event table updates + * improved Intel x86 model detection + * bug fixes and many other improvements +- Cleanup with spec-cleaner +- Drop obsolete patch: + * libpfm-add-ibm-power8-support.patch +- Remove with_python switch that always evaluated as true + * If the need is really here it should be used as %bcond_without + +------------------------------------------------------------------- +Mon Feb 16 10:04:31 UTC 2015 - p.drouand@gmail.com + +- Update to version 4.5.0 + * Intel IVB-EP uncore PMU support + * Intel Silvermont support + * Perf raw event syntax support + * Intel RAPL event support + * AMD Fam15h northbridge support + * Qualcomm Krait support + * IBM Power 8 support + * IBM s390 updates + * AMD Fam15h fixes + * various IVB, SNB, HSW event table updates + * more bug fixes + +------------------------------------------------------------------- +Thu Jan 9 18:28:09 UTC 2014 - tonyj@suse.com + +- Add Power8 support (libpfm-add-ibm-power8-support.patch) FATE#315274 + +------------------------------------------------------------------- +Wed Dec 4 19:25:33 UTC 2013 - tonyj@suse.com + +- Update to version 4.4. +- Changelog: + - Intel SandyBridge-EP uncore PMU support (all boxes) + - Intel IvyBridge desktop core and uncore PMU support + - Intel IvyBridge-EP core PMU support + - newer Intel Haswell desktop core PMU support + - newer Intel Atom + - Intel Knigts Corner + - Intel Nehalem, Westmere, SandyBridge, IvyBridge, Haswell PEBS Load Latency + modifier (ldlat) + - many bug fixes and other minor improvements + +------------------------------------------------------------------- +Mon Jan 28 14:02:53 UTC 2013 - dimstar@opensuse.org + +- Add baselibs.conf: provide libpfm4 as -32bit (makes papi-32bit + installable). + +------------------------------------------------------------------- +Wed Jan 9 14:18:06 CET 2013 - pth@suse.de + +- Run service to format spec file. +- Small cosmetic changes in spec file. + +------------------------------------------------------------------- +Tue Jan 8 00:13:39 UTC 2013 - tonyj@suse.com + +- Changes to python builds, drop duplicate defns already in system macros. +- Fix build when with_python=0 + +------------------------------------------------------------------- +Fri Jan 4 08:19:57 UTC 2013 - jengelh@inai.de + +- Parallel build, remove redundant %clean section, consistent use + of %buildroot +- Follow python package naming guidelines +- Separate out static library into distinct subpackage + +------------------------------------------------------------------- +Sat Dec 29 20:52:00 UTC 2012 - tonyj@suse.com + +- Initial checkin of libpfm4 (version 4.3). + diff --git a/libpfm.spec b/libpfm.spec new file mode 100644 index 0000000..7f20a9d --- /dev/null +++ b/libpfm.spec @@ -0,0 +1,176 @@ +# +# spec file for package libpfm +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global python_config CONFIG_PFMLIB_NOPYTHON=y +%{?!python_module:%define python_module() python-%{**} python3-%{**}} +%define vname libpfm4 +%bcond_without python2 +Name: libpfm +Version: 4.13.0 +Release: 0 +Summary: Library to encode performance events +License: MIT +Group: Development/Libraries/C and C++ +URL: https://perfmon2.sourceforge.net/ +Source: https://downloads.sourceforge.net/project/perfmon2/libpfm4/%{name}-%{version}.tar.gz +Source1: baselibs.conf + +BuildRequires: %{python_module devel} +BuildRequires: %{python_module setuptools} +BuildRequires: python-rpm-macros +BuildRequires: swig >= 2.0.5 + +%if 0%{?suse_version} >= 1550 +# TW: generate subpackages for every python3 flavor +%define python_subpackage_only 1 +%python_subpackages +%else +%define python_sitearch %python3_sitearch +%define python_files() -n python3-%{**} +%endif + +%description +This package provides a library that can be used to encode events into the +format required by the operating systems performance monitoring subsystem. + +%package -n %{vname} +Summary: Runtime library to encode performance events for use by perf tool +Group: System/Libraries + +%description -n %{vname} +This package provides a library that can be used to encode events into the +format required by the operating systems performance monitoring subsystem. +The library does not make any performance monitoring system calls, it simply +provides a method to convert an event name, expressed as a string, to an event +encoding. The user of the library may use this event encoding in a subsequent +system call. + +The current libpfm4 provides support for the perf_events interface which was +introduced in Linux v2.6.31. + +%package devel +Summary: Development library to encode performance events for perf_events interface +Group: Development/Libraries/C and C++ +Requires: %{vname} = %{version} + +%description devel +This package provides development libraries and header files used to encode performance events for perf_events interface. + +%package devel-static +Summary: Static library version of libpfm +Group: Development/Libraries/C and C++ +Requires: %{name}-devel = %{version} + +%description devel-static +This package contains the static variant of libpfm. + +%if 0%{?python_subpackage_only} +%package -n python-%{name} +Summary: Python bindings for libpfm and perf_event_open system call +Group: Development/Libraries/Python +Requires: %{vname} = %{version} + +%description -n python-%{name} +This package provides python bindings for the libpfm4 package and the perf_event_open system call. + +%else + +%package -n python2-%{name} +Summary: Python bindings for libpfm and perf_event_open system call +Group: Development/Libraries/Python +Provides: python-%{name} +Obsoletes: python-%{name} +Requires: %{vname} = %{version} + +%description -n python2-%{name} +This package provides python bindings for the libpfm4 package and the perf_event_open system call. + +%package -n python3-%{name} +Summary: Python3 bindings for libpfm and perf_event_open system call +Group: Development/Libraries/Python +Requires: %{vname} = %{version} + +%description -n python3-%{name} +This package provides python3 bindings for the libpfm4 package and the perf_event_open system call. +%endif + +%prep +%setup -q +# disable werror +sed -i \ + -e 's:-Werror::g' \ + config.mk +%autopatch -p1 + +%build +%global _lto_cflags %{_lto_cflags} -ffat-lto-objects +export CFLAGS="%{optflags}" +make %{?_smp_mflags} %{python_config} + +pushd python +%python_build +popd + +%install +%global python_config %{python_config} +make \ + PREFIX="%{buildroot}/%{_prefix}" \ + LIBDIR="%{buildroot}/%{_libdir}" \ + %{python_config} \ + LDCONFIG=/bin/true \ + install +install -D -p -m 0755 examples/check_events \ + %{buildroot}/%{_bindir}/check_events +install -D -p -m 0755 examples/showevtinfo \ + %{buildroot}/%{_bindir}/showevtinfo +install -D -p -m 0755 perf_examples/evt2raw \ + %{buildroot}/%{_bindir}/evt2raw + +pushd python +%python_install +popd + +%post -n %{vname} -p /sbin/ldconfig + +%postun -n %{vname} -p /sbin/ldconfig + +%files -n %{vname} +%doc README +%{_libdir}/libpfm.so.* + +%files devel +%{_includedir}/* +%{_mandir}/man3/* +%{_libdir}/lib*.so +%{_bindir}/check_events +%{_bindir}/showevtinfo +%{_bindir}/evt2raw + +%files devel-static +%{_libdir}/lib*.a + +%files %{python_files %{name}} +%{python_sitearch}/perfmon +%{python_sitearch}/perfmon-*-info + +%if %{with python2} && ! 0%{?python_subpackage_only} +%files -n python2-%{name} +%{python2_sitearch}/* +%endif + +%changelog