commit 2363345c1e902ce75eea8e63e0e4e98af2febaf2 Author: MSVSphere Packaging Team Date: Fri Apr 14 14:41:10 2023 +0300 import numatop-2.2-4.el9 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ec9ac75 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/v2.2.tar.gz diff --git a/.numatop.metadata b/.numatop.metadata new file mode 100644 index 0000000..3251621 --- /dev/null +++ b/.numatop.metadata @@ -0,0 +1 @@ +c2fd2e31ad2a7d5e4fb2c5884e396c4ce2bbab60 SOURCES/v2.2.tar.gz diff --git a/SOURCES/v2.2-001-Initial-support-for-SPR.patch b/SOURCES/v2.2-001-Initial-support-for-SPR.patch new file mode 100644 index 0000000..7aa160d --- /dev/null +++ b/SOURCES/v2.2-001-Initial-support-for-SPR.patch @@ -0,0 +1,172 @@ +From ffd83b3a7749b3601eec305b8b8f9f44c3f3fe80 Mon Sep 17 00:00:00 2001 +From: Zhengjun Xing +Date: Fri, 10 Jun 2022 16:19:24 +0800 +Subject: [PATCH] Initial support for SPR + +SPR has more CPUs, so it requires the system with its max open files should +bigger than 1024. In many systems, the default max open files are 1024, the + error can be " Fail to setup perf": + + # ulimit -n + 1024 <------the max open files are 1024 + # ./numatop + NumaTOP is starting ... + Fail to setup perf (probably permission denied)! + +Need enlarge the max open files: + + # ulimit -n 8192 + # ulimit -n + 8192 <------now the max open files are 8192 + +Signed-off-by: Zhengjun Xing +--- + intel/include/skl.h | 4 ++++ + intel/include/types.h | 5 +++-- + intel/plat.c | 13 ++++++++++--- + intel/skl.c | 26 ++++++++++++++++++++++++++ + 4 files changed, 43 insertions(+), 5 deletions(-) + +diff --git a/intel/include/skl.h b/intel/include/skl.h +index 67c8939..7a8b8f2 100644 +--- a/intel/include/skl.h ++++ b/intel/include/skl.h +@@ -47,6 +47,10 @@ extern void icx_profiling_config(perf_count_id_t, struct _plat_event_config *); + extern void icx_ll_config(struct _plat_event_config *); + extern int icx_offcore_num(void); + ++extern void spr_profiling_config(perf_count_id_t, struct _plat_event_config *); ++extern void spr_ll_config(struct _plat_event_config *); ++extern int spr_offcore_num(void); ++ + #ifdef __cplusplus + } + #endif +diff --git a/intel/include/types.h b/intel/include/types.h +index 85aa074..76c7ad3 100644 +--- a/intel/include/types.h ++++ b/intel/include/types.h +@@ -45,10 +45,11 @@ typedef enum { + CPU_HSX, + CPU_BDX, + CPU_SKX, +- CPU_ICX ++ CPU_ICX, ++ CPU_SPR + } cpu_type_t; + +-#define CPU_TYPE_NUM 11 ++#define CPU_TYPE_NUM 12 + + typedef enum { + PERF_COUNT_INVALID = -1, +diff --git a/intel/plat.c b/intel/plat.c +index fed4f1e..abf3766 100644 +--- a/intel/plat.c ++++ b/intel/plat.c +@@ -49,7 +49,8 @@ s_plat_profiling_config[CPU_TYPE_NUM] = { + snbep_profiling_config, + bdw_profiling_config, + skl_profiling_config, +- icx_profiling_config ++ icx_profiling_config, ++ spr_profiling_config + }; + + pfn_plat_ll_config_t +@@ -64,7 +65,8 @@ s_plat_ll_config[CPU_TYPE_NUM] = { + snbep_ll_config, + bdw_ll_config, + skl_ll_config, +- icx_ll_config ++ icx_ll_config, ++ spr_ll_config + }; + + pfn_plat_offcore_num_t +@@ -79,7 +81,8 @@ s_plat_offcore_num[CPU_TYPE_NUM] = { + snb_offcore_num, + bdw_offcore_num, + skl_offcore_num, +- icx_offcore_num ++ icx_offcore_num, ++ spr_offcore_num + }; + + /* ARGSUSED */ +@@ -171,6 +174,9 @@ cpu_type_get(void) + case 106: + type = CPU_ICX; + break; ++ case 143: ++ type = CPU_SPR; ++ break; + } + } + +@@ -210,6 +216,7 @@ plat_detect(void) + /* fall through */ + case CPU_SKX: + case CPU_ICX: ++ case CPU_SPR: + ret = 0; + s_cpu_type = cpu_type; + break; +diff --git a/intel/skl.c b/intel/skl.c +index 9e30574..ace0833 100644 +--- a/intel/skl.c ++++ b/intel/skl.c +@@ -55,6 +55,14 @@ static plat_event_config_t s_icx_config[PERF_COUNT_NUM] = { + { PERF_TYPE_RAW, 0x01BB, 0x53, 0x104000001, "off_core_response_1" } + }; + ++static plat_event_config_t s_spr_config[PERF_COUNT_NUM] = { ++ { PERF_TYPE_HARDWARE, PERF_COUNT_HW_CPU_CYCLES, 0x53, 0, "cpu_clk_unhalted.core" }, ++ { PERF_TYPE_RAW, 0x012A, 0x53, 0x730000001, "off_core_response_0" }, ++ { PERF_TYPE_HARDWARE, PERF_COUNT_HW_REF_CPU_CYCLES, 0x53, 0, "cpu_clk_unhalted.ref" }, ++ { PERF_TYPE_HARDWARE, PERF_COUNT_HW_INSTRUCTIONS, 0x53, 0, "instr_retired.any" }, ++ { PERF_TYPE_RAW, 0x012B, 0x53, 0x104000001, "off_core_response_1" } ++}; ++ + static plat_event_config_t s_skl_ll = { + PERF_TYPE_RAW, 0x01CD, 0x53, LL_THRESH, "mem_trans_retired.latency_above_threshold" + }; +@@ -71,6 +79,12 @@ icx_profiling_config(perf_count_id_t perf_count_id, plat_event_config_t *cfg) + plat_config_get(perf_count_id, cfg, s_icx_config); + } + ++void ++spr_profiling_config(perf_count_id_t perf_count_id, plat_event_config_t *cfg) ++{ ++ plat_config_get(perf_count_id, cfg, s_spr_config); ++} ++ + void + skl_ll_config(plat_event_config_t *cfg) + { +@@ -83,6 +97,12 @@ icx_ll_config(plat_event_config_t *cfg) + skl_ll_config(cfg); + } + ++void ++spr_ll_config(plat_event_config_t *cfg) ++{ ++ skl_ll_config(cfg); ++} ++ + int + skl_offcore_num(void) + { +@@ -94,3 +114,9 @@ icx_offcore_num(void) + { + return skl_offcore_num(); + } ++ ++int ++spr_offcore_num(void) ++{ ++ return skl_offcore_num(); ++} +-- +2.31.1 + diff --git a/SPECS/numatop.spec b/SPECS/numatop.spec new file mode 100644 index 0000000..a8dd6ad --- /dev/null +++ b/SPECS/numatop.spec @@ -0,0 +1,162 @@ +# https://github.com/intel/numatop/pull/53 +%undefine _ld_as_needed + +Name: numatop +Version: 2.2 +Release: 4%{?dist} +Summary: Memory access locality characterization and analysis + +License: BSD +URL: https://01.org/numatop +Source: https://github.com/intel/numatop/archive/refs/tags/v%{version}.tar.gz + + +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: make +BuildRequires: libtool +BuildRequires: gcc +BuildRequires: check-devel +BuildRequires: ncurses-devel +BuildRequires: numactl-devel + +# This only works for Intel and Power CPUs +ExclusiveArch: x86_64 ppc64le + +Patch001: v2.2-001-Initial-support-for-SPR.patch + +%description +NumaTOP is an observation tool for runtime memory locality characterization and +analysis of processes and threads running on a NUMA system. It helps the user +characterize the NUMA behavior of processes and threads and identify where the +NUMA-related performance bottlenecks reside. + +NumaTOP supports the Intel Xeon processors and PowerPC processors. + + +%prep +#%setup -q -n %{name}-v%{version} +%autosetup -p1 + + +%build +autoreconf --force --install --symlink +%configure +%make_build + + +%install +%make_install + + +%check +%make_build check + + +%files +%doc AUTHORS +%license COPYING +%{_bindir}/%{name} +%{_mandir}/man8/%{name}.8* + + +%changelog +* Fri Apr 14 2023 MSVSphere Packaging Team - 2.2-4 +- Rebuilt for MSVSphere 9.2 beta + +* Mon Aug 09 2021 Mohan Boddu - 2.1-7 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri Apr 16 2021 Mohan Boddu - 2.1-6 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Tue Jan 26 2021 Fedora Release Engineering - 2.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 2.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Mar 23 2019 Dridi Boukelmoune - 2.1-1 +- Update to 2.1 +- Upstream moved to github +- Upstream switched to autotools +- Disable --as-needed until it's patched upstream +- Drop defunct 32bit x86 support +- Add ppc64le support +- Run the new test suite + +* Fri Feb 01 2019 Fedora Release Engineering - 1.0.4-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sun Jul 15 2018 Dridi Boukelmoune - 1.0.4-8 +- Build requires gcc + +* Fri Jul 13 2018 Fedora Release Engineering - 1.0.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Feb 08 2018 Fedora Release Engineering - 1.0.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 1.0.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 1.0.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Feb 13 2017 Dridi Boukelmoune - 1.0.4-3 +- Catch up with packaging guidelines + +* Sat Feb 11 2017 Fedora Release Engineering - 1.0.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Jun 28 2016 Zbigniew Jędrzejewski-Szmek - 1.0.4-1 +- Update to latest version (support for BDW-EP/EX) + +* Thu Feb 04 2016 Fedora Release Engineering - 1.0.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Aug 14 2015 Zbigniew Jędrzejewski-Szmek - 1.0.3-3 +- Replace ExcludeArch with ExclusiveArch + +* Wed Jun 17 2015 Fedora Release Engineering - 1.0.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Aug 25 2014 Zbigniew Jędrzejewski-Szmek - 1.0.3-1 +- New upstream release (#1076549) +- Remove upstreamed patch + +* Sun Aug 17 2014 Fedora Release Engineering - 1.0.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Mon Jun 30 2014 Dridi Boukelmoune - 1.0.2-3 +- Backport and rebase 1.0.1 patch + +* Sat Jun 07 2014 Fedora Release Engineering - 1.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Mar 16 2014 Dridi Boukelmoune - 1.0.2-1 +- Bump version to 1.0.2 +- Remove upstreamed patch + +* Fri Sep 20 2013 Dan Horák - 1.0.1-5 +- no numa on s390(x) + +* Fri Sep 13 2013 Dridi Boukelmoune - 1.0.1-4 +- Patch for the 32bit hardened build. + +* Sun Aug 25 2013 Dridi Boukelmoune - 1.0.1-3 +- Hardened build. +- Automatic requires. + +* Fri Aug 02 2013 Dridi Boukelmoune - 1.0.1-2 +- Fix the license tag. + +* Thu Aug 01 2013 Dridi Boukelmoune - 1.0.1-1 +- Initial spec.