From db3d3d017a34a8d429164599af35ed11b1162a22 Mon Sep 17 00:00:00 2001 From: eabdullin Date: Thu, 21 Sep 2023 19:11:13 +0000 Subject: [PATCH] import CS libpfm-4.13.0-4.el9 --- .gitignore | 2 +- .libpfm.metadata | 2 +- SOURCES/libpfm-initp.patch | 19 +++++++++++++++++++ SOURCES/libpfm-zen4.patch | 29 +++++++++++++++++++++++++++++ SPECS/libpfm.spec | 20 ++++++++++++++++++-- 5 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 SOURCES/libpfm-initp.patch create mode 100644 SOURCES/libpfm-zen4.patch diff --git a/.gitignore b/.gitignore index 06dd183..320911a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/libpfm-4.11.0.tar.gz +SOURCES/libpfm-4.13.0.tar.gz diff --git a/.libpfm.metadata b/.libpfm.metadata index 94883c8..6851c19 100644 --- a/.libpfm.metadata +++ b/.libpfm.metadata @@ -1 +1 @@ -112bced9a67d565ff0ce6c2bb90452516d1183e5 SOURCES/libpfm-4.11.0.tar.gz +bcb52090f02bc7bcb5ac066494cd55bbd5084e65 SOURCES/libpfm-4.13.0.tar.gz diff --git a/SOURCES/libpfm-initp.patch b/SOURCES/libpfm-initp.patch new file mode 100644 index 0000000..4eeb498 --- /dev/null +++ b/SOURCES/libpfm-initp.patch @@ -0,0 +1,19 @@ +commit 75d8bb06f6ea0d7a8edf8e080c7ea6d434d598ff +Author: William Cohen +Date: Fri Apr 14 16:07:07 2023 -0400 + + Make sure that p is set to a known value before using. + +diff --git a/lib/pfmlib_perf_event_pmu.c b/lib/pfmlib_perf_event_pmu.c +index 637c5b1..8f7d7d1 100644 +--- a/lib/pfmlib_perf_event_pmu.c ++++ b/lib/pfmlib_perf_event_pmu.c +@@ -361,7 +361,7 @@ gen_tracepoint_table(void) + { + DIR *dir1, *dir2; + struct dirent *d1, *d2; +- perf_event_t *p; ++ perf_event_t *p = NULL; + perf_umask_t *um; + char d2path[MAXPATHLEN]; + char idpath[MAXPATHLEN]; diff --git a/SOURCES/libpfm-zen4.patch b/SOURCES/libpfm-zen4.patch new file mode 100644 index 0000000..e319e32 --- /dev/null +++ b/SOURCES/libpfm-zen4.patch @@ -0,0 +1,29 @@ +commit 1befa3d200cc17d5a278fcb2f597c4876c58f949 +Author: Stephane Eranian +Date: Tue Apr 25 00:35:41 2023 -0700 + + fix AMD Zen3/Zen4 detection + + To cover more models of Zen4. + + Signed-off-by: Stephane Eranian + +diff --git a/lib/pfmlib_amd64.c b/lib/pfmlib_amd64.c +index e51a43d..0c6702d 100644 +--- a/lib/pfmlib_amd64.c ++++ b/lib/pfmlib_amd64.c +@@ -181,10 +181,10 @@ amd64_get_revision(pfm_amd64_config_t *cfg) + } else if (cfg->family == 22) { /* family 16h */ + rev = PFM_PMU_AMD64_FAM16H; + } else if (cfg->family == 25) { /* family 19h */ +- if (cfg->model <= 0x0f || (cfg->model >= 0x20 && cfg->model <= 0x5f)) { +- rev = PFM_PMU_AMD64_FAM19H_ZEN3; +- } else if (cfg->model == 17) { +- rev = PFM_PMU_AMD64_FAM19H_ZEN4; ++ if (cfg->model >= 0x60 || (cfg->model >= 0x10 && cfg->model <= 0x1f)) { ++ rev = PFM_PMU_AMD64_FAM19H_ZEN4; ++ } else { ++ rev = PFM_PMU_AMD64_FAM19H_ZEN3; + } + } + diff --git a/SPECS/libpfm.spec b/SPECS/libpfm.spec index 2c7cb33..75127e1 100644 --- a/SPECS/libpfm.spec +++ b/SPECS/libpfm.spec @@ -11,8 +11,8 @@ %endif Name: libpfm -Version: 4.11.0 -Release: 6%{?dist} +Version: 4.13.0 +Release: 4%{?dist} Summary: Library to encode performance events for use by perf tool @@ -20,6 +20,8 @@ License: MIT URL: http://perfmon2.sourceforge.net/ Source0: http://sourceforge.net/projects/perfmon2/files/libpfm4/%{name}-%{version}.tar.gz Patch2: libpfm-python3-setup.patch +Patch3: libpfm-initp.patch +Patch4: libpfm-zen4.patch BuildRequires: make BuildRequires: gcc @@ -71,6 +73,8 @@ Python bindings for libpfm4 and perf_event_open system call. %prep %setup -q %patch2 -p1 -b .python3 +%patch3 -p1 -b .test +%patch4 -p1 -b .zen4 %build %if %{with python} @@ -124,6 +128,18 @@ rm $RPM_BUILD_ROOT%{_libdir}/lib*.a %endif %changelog +* Mon Jun 12 2023 William cohen - 4.13.0-4 +- Identify AMD Bergamo processors. + +* Wed May 3 2023 William cohen - 4.13.0-3 +- Rebuild for rhbz #2186927. + +* Wed May 3 2023 William cohen - 4.13.0-2 +- Rebuild for rhbz #2186927. + +* Fri Apr 14 2023 William cohen - 4.13.0-1 +- Rebase to libpf-4.13.0 (rhbz #2185652) + * Mon Aug 09 2021 Mohan Boddu - 4.11.0-6 - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags Related: rhbz#1991688