Sync from SUSE:SLFO:Main libpfm revision bda9c38cd20e1d27cebecc45768b20b9

This commit is contained in:
Adrian Schröter 2024-05-03 15:28:31 +02:00
commit 7ca648eea6
5 changed files with 508 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

1
baselibs.conf Normal file
View File

@ -0,0 +1 @@
libpfm4

BIN
libpfm-4.13.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

305
libpfm.changes Normal file
View File

@ -0,0 +1,305 @@
-------------------------------------------------------------------
Thu May 4 23:42:40 UTC 2023 - Dirk Müller <dmueller@suse.com>
- 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 <dmueller@suse.com>
- 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 <meissner@suse.com>
- use https download url
-------------------------------------------------------------------
Thu Mar 25 16:27:58 UTC 2021 - Ben Greiner <code@bnavigator.de>
- 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 <tonyj@suse.com>
- 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 <code@bnavigator.de>
- Fix the python subpackage generation
gh#openSUSE/python-rpm-macros#79
-------------------------------------------------------------------
Thu Nov 19 18:21:46 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- 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 <tonyj@suse.com>
- 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 <tonyj@suse.com>
- 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 <tchvatal@suse.com>
- Add provides/obsoletes wrt bsc#1145710 to avoid file conflict
-------------------------------------------------------------------
Wed Aug 14 09:44:49 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- 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 <mliska@suse.cz>
- 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).

176
libpfm.spec Normal file
View File

@ -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