Compare commits

...

No commits in common. "imports/c8s/libpfm-4.10.1-3.el8" and "c8" have entirely different histories.

7 changed files with 82 additions and 1477 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/libpfm-4.10.1.tar.gz
SOURCES/libpfm-4.13.0.tar.gz

View File

@ -1 +0,0 @@
78599e1668142f48c24afb1f79ca00a89df51b65 SOURCES/libpfm-4.10.1.tar.gz

View File

@ -0,0 +1,31 @@
commit 874feacbbe97fe567d3d8b1582d881d1b424dd5e
Author: William Cohen <wcohen@redhat.com>
Date: Fri Apr 14 16:07:07 2023 -0400
Make sure that p is set to a known value before using.
Need to ensure that p was initialized at the start of function
gen_tracepoint_table otherwise on some architectures such as s390x
will get the following error when compiling with -Werror:
make[1]: Entering directory '/root/rpmbuild/BUILD/libpfm-4.13.0/lib'
cc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z14 -mtune=z15 -fasynchronous-unwind-tables -fstack-clash-protection -g -Wall -Werror -Wextra -Wno-unused-parameter -I. -I/root/rpmbuild/BUILD/libpfm-4.13.0/lib/../include -DCONFIG_PFMLIB_DEBUG -DCONFIG_PFMLIB_OS_LINUX -D_REENTRANT -I. -fvisibility=hidden -DCONFIG_PFMLIB_ARCH_S390X -I. -c pfmlib_perf_event_pmu.c
pfmlib_perf_event_pmu.c: In function 'gen_tracepoint_table':
pfmlib_perf_event_pmu.c:434:35: error: 'p' may be used uninitialized in this function [-Werror=maybe-uninitialized]
434 | p->modmsk = 0;
| ~~~~~~~~~~^~~
cc1: all warnings being treated as errors
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];

File diff suppressed because it is too large Load Diff

29
SOURCES/libpfm-zen4.patch Normal file
View File

@ -0,0 +1,29 @@
commit 1befa3d200cc17d5a278fcb2f597c4876c58f949
Author: Stephane Eranian <eranian@gmail.com>
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 <eranian@gmail.com>
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;
}
}

View File

@ -1,128 +0,0 @@
commit dc643f4a460063a628b4bfba57dbbb36673a0789
Author: Thomas Richter <tmricht@linux.ibm.com>
Date: Thu Jul 11 17:48:03 2019 -0700
s390/cpumf: add IBM z14 ZR1 support
Add support for machine type 0x3907.
Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
diff --git a/lib/pfmlib_s390x_cpumf.c b/lib/pfmlib_s390x_cpumf.c
index 4e03fc4..7566aa0 100644
--- a/lib/pfmlib_s390x_cpumf.c
+++ b/lib/pfmlib_s390x_cpumf.c
@@ -192,6 +192,7 @@ static int pfm_cpumcf_init(void *this)
ext_set_count = LIBPFM_ARRAY_SIZE(cpumcf_z13_counters);
break;
case 3906: /* IBM z14 */
+ case 3907: /* IBM z14 ZR1 */
ext_set = cpumcf_z14_counters;
ext_set_count = LIBPFM_ARRAY_SIZE(cpumcf_z14_counters);
break;
commit c08003fb085e23f2229e58cc176fcfcf58a3b238
Author: Thomas Richter <tmricht@linux.ibm.com>
Date: Thu Jul 11 17:49:42 2019 -0700
s390/cpumf: add support for counter second version number 6
IBM added secound version number 6 in the CPU Measurement
Counter facility to indicate additional counters in the
crypto counter set.
Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
diff --git a/lib/events/s390x_cpumf_events.h b/lib/events/s390x_cpumf_events.h
index 8be1d55..8587a3b 100644
--- a/lib/events/s390x_cpumf_events.h
+++ b/lib/events/s390x_cpumf_events.h
@@ -13,6 +13,8 @@
#define CPUMF_CTRSET_EXTENDED 1
#define CPUMF_CTRSET_MT_DIAG 32
+#define CPUMF_SVN6_ECC 4
+
static const pme_cpumf_ctr_t cpumcf_fvn1_counters[] = {
{
@@ -270,6 +272,43 @@ static const pme_cpumf_ctr_t cpumcf_svn_generic_counters[] = {
" coprocessor is busy performing a function issued by"
" another CPU",
},
+ {
+ .ctrnum = 80,
+ .ctrset = CPUMF_CTRSET_CRYPTO,
+ .name = "ECC_FUNCTION_COUNT",
+ .desc = "This counter counts the"
+ " total number of the elliptic-curve cryptography (ECC)"
+ " functions issued by the CPU.",
+ },
+ {
+ .ctrnum = 81,
+ .ctrset = CPUMF_CTRSET_CRYPTO,
+ .name = "ECC_CYCLES_COUNT",
+ .desc = "This counter counts the total"
+ " number of CPU cycles when the ECC coprocessor is"
+ " busy performing the elliptic-curve cryptography"
+ " (ECC) functions issued by the CPU.",
+ },
+ {
+ .ctrnum = 82,
+ .ctrset = CPUMF_CTRSET_CRYPTO,
+ .name = "ECC_BLOCKED_FUNCTION_COUNT",
+ .desc = "This counter counts the total number of the"
+ " elliptic-curve cryptography (ECC) functions that are"
+ " issued by the CPU and are blocked because the ECC"
+ " coprocessor is busy performing a function issued by"
+ " another CPU.",
+ },
+ {
+ .ctrnum = 83,
+ .ctrset = CPUMF_CTRSET_CRYPTO,
+ .name = "ECC_BLOCKED_CYCLES_COUNT",
+ .desc = "This counter counts the total number of CPU cycles "
+ " blocked for the elliptic-curve cryptography (ECC) "
+ " functions issued by the CPU because the ECC"
+ " coprocessor is busy perform ing a function issued"
+ " by another CPU.",
+ },
};
static const pme_cpumf_ctr_t cpumcf_z10_counters[] = {
diff --git a/lib/pfmlib_s390x_cpumf.c b/lib/pfmlib_s390x_cpumf.c
index 7566aa0..e68b000 100644
--- a/lib/pfmlib_s390x_cpumf.c
+++ b/lib/pfmlib_s390x_cpumf.c
@@ -168,6 +168,8 @@ static int pfm_cpumcf_init(void *this)
/* counters based on second version number */
csvn_set = cpumcf_svn_generic_counters;
csvn_set_count = LIBPFM_ARRAY_SIZE(cpumcf_svn_generic_counters);
+ if (csvn < 6) /* Crypto counter set enlarged for SVN == 6 */
+ csvn_set_count -= CPUMF_SVN6_ECC;
/* check and assign a machine-specific extended counter set */
switch (get_machine_type()) {
commit b831b04254ac7fd1700b20b349799810952ff66e
Author: Thomas Richter <tmricht@linux.ibm.com>
Date: Thu Jul 11 17:51:03 2019 -0700
s390/cpumf: add support for machine type 8561
Add extended counter set support for s390 machine types
8561 and 8562.
Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
diff --git a/lib/pfmlib_s390x_cpumf.c b/lib/pfmlib_s390x_cpumf.c
index e68b000..c11f9d9 100644
--- a/lib/pfmlib_s390x_cpumf.c
+++ b/lib/pfmlib_s390x_cpumf.c
@@ -195,6 +195,8 @@ static int pfm_cpumcf_init(void *this)
break;
case 3906: /* IBM z14 */
case 3907: /* IBM z14 ZR1 */
+ case 8561: /* IBM Machine types 8561 and 8562 */
+ case 8562:
ext_set = cpumcf_z14_counters;
ext_set_count = LIBPFM_ARRAY_SIZE(cpumcf_z14_counters);
break;

View File

@ -9,8 +9,8 @@
%endif
Name: libpfm
Version: 4.10.1
Release: 3%{?dist}
Version: 4.13.0
Release: 4%{?dist}
Summary: Library to encode performance events for use by perf tool
@ -19,8 +19,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-zseries.patch
Patch4: libpfm-tx2.patch
Patch3: libpfm-initp.patch
Patch4: libpfm-zen4.patch
%if %{with python}
BuildRequires: python3
@ -71,8 +71,8 @@ Python bindings for libpfm4 and perf_event_open system call.
%prep
%setup -q
%patch2 -p1 -b .python3
%patch3 -p1 -b .zseries
%patch4 -p1 -b .tx2
%patch3 -p1 -b .test
%patch4 -p1 -b .zen4
%build
%if %{with python}
@ -121,6 +121,21 @@ make \
%endif
%changelog
* Mon Jun 12 2023 William cohen <wcohen@redhat.com> - 4.13.0-4
- Identify AMD Bergamo processors.
* Wed May 3 2023 William cohen <wcohen@redhat.com> - 4.13.0-3
- Rebuild for rhbz #2161146.
* Fri Apr 14 2023 William Cohen <wcohen@redhat.com> - 4.13.0-1
- Rebase to libpfm-4.13.0 (RHBZ #2185653)
* Sun May 8 2022 William Cohen <wcohen@redhat.com> - 4.10.1-5
- Add AMD Zen 2/3 support (RHBZ #2067218)
* Thu May 20 2021 William Cohen <wcohen@redhat.com> - 4.10.1-4
- Add Fujitsu A64FX support (RHBZ #1908126)
* Wed May 27 2020 William Cohen <wcohen@redhat.com> - 4.10.1-3
- Add Marvell TunderX2 UNC support. (RHBZ #1726070)