commit 6d7018e13d5277e3add7614b0206eb421dd65a3cc73f6dfb90bd8146ecee107b Author: Adrian Schröter Date: Fri May 3 13:45:07 2024 +0200 Sync from SUSE:SLFO:Main intel-cmt-cat revision 2ec382de2af93464beddfc0e6eba9053 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /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/_service b/_service new file mode 100644 index 0000000..4542b59 --- /dev/null +++ b/_service @@ -0,0 +1,19 @@ + + + https://github.com/intel/intel-cmt-cat.git + git + enable + 5.0.0.@TAG_OFFSET@.git+%h + + + + + + *.tar + xz + + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..160a285 --- /dev/null +++ b/_servicedata @@ -0,0 +1,4 @@ + + + https://github.com/intel/intel-cmt-cat.git + 14e38408b39d11fc36a41f1dbda0dc26a3a7a349 \ No newline at end of file diff --git a/fix-bad-env-shebang.patch b/fix-bad-env-shebang.patch new file mode 100644 index 0000000..9404f85 --- /dev/null +++ b/fix-bad-env-shebang.patch @@ -0,0 +1,20 @@ +Index: intel-cmt-cat-2.0.0/pqos/pqos-msr +=================================================================== +--- intel-cmt-cat-2.0.0.orig/pqos/pqos-msr 2018-06-26 10:40:36.000000000 +0200 ++++ intel-cmt-cat-2.0.0/pqos/pqos-msr 2018-09-04 17:11:33.082974702 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env bash ++#!/bin/bash + + ############################################################################### + # BSD LICENSE +Index: intel-cmt-cat-2.0.0/pqos/pqos-os +=================================================================== +--- intel-cmt-cat-2.0.0.orig/pqos/pqos-os 2018-06-26 10:40:36.000000000 +0200 ++++ intel-cmt-cat-2.0.0/pqos/pqos-os 2018-09-04 17:11:32.810959264 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env bash ++#!/bin/bash + + ############################################################################### + # BSD LICENSE diff --git a/intel-cmt-cat-5.0.0.6.git+14e3840.obscpio b/intel-cmt-cat-5.0.0.6.git+14e3840.obscpio new file mode 100644 index 0000000..76556b1 --- /dev/null +++ b/intel-cmt-cat-5.0.0.6.git+14e3840.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0802a294f103545b40bac8200c09cb2055a28e1ea0e7ecc2e229f656c9f987c3 +size 6169101 diff --git a/intel-cmt-cat.changes b/intel-cmt-cat.changes new file mode 100644 index 0000000..336747e --- /dev/null +++ b/intel-cmt-cat.changes @@ -0,0 +1,280 @@ +------------------------------------------------------------------- +Mon Feb 12 08:11:04 UTC 2024 - trenn@suse.de + +- Update to version 5.0.6.git+14e3840: + * rpm: add non-arch L3CAT detection patch + * appqos_client: update follow-redirects version + * workflows: update style check + * License year update + * The maintainer name is updated + * appqos_client: update axios version + * Release 5.0.0 + * The desc is freed in grp_free. So redundant free is removed. + * Update hardware support section of the README + * lib: update detection of non-architectural L3CAT + +------------------------------------------------------------------- +Tue May 30 07:52:44 UTC 2023 - Jan Engelhardt + +- Trim R/TM signs as per + https://en.opensuse.org/openSUSE:Package_description_guidelines + +------------------------------------------------------------------- +Fri Dec 23 19:57:15 UTC 2022 - Dirk Müller + +- update to 4.4.1: + * 1. General: + - Bug fixes +- update to 4.4.0: + * 1. Library: + - Added LLC references monitoring event + - Added uncore monitoring support + * 2. PQoS + - Added LLC references monitoring event + - Added uncore monitoring support + - Removed cpu topology limits + * 3. App QoS + - Added L2 CAT support + * 4. General: + - Added scan-build static analysis + - Bug fixes +- update to 4.3.0: + * 1. Library: + - Added Elkhart Lake and Tiger Lake support + - Improved CPU topology detection for OS interface + - Automatic interface detection + * 2. PQoS + - Improved library interface selection + * 3. rdtset + - Improved library interface selection + * 4. membw + - Added membw to the package + * 5. General: + - Bug fixes +- update to 4.2.0: + * 1. App QoS: + - Added mTLS support + - Extended capability information + * Support for running AppQoS in docker container + * 2. General: +- update to 4.1.0: + * 1. AppQoS: + - Added OS interface support + - Added MBA CTRL support + * 2. PQoS: + - Added option to display PQoS tool version + * 3. General: + - Bug fixes + +------------------------------------------------------------------- +Sun Aug 16 13:51:33 UTC 2020 - Dirk Mueller + +- update to 4.0.0: + - Use perf for IPC and cache misses monitoring with MSR interface + - Detection of MBA2.0 and MBA3.0 + - 32b MBM counters support + - AMD support + - Added ansible scripts + - Added option to display MBT column in monitoring output + - Added option to disable IPC monitoring + - Added option to disable cache misses monitoring + - Added support for Power Profiles + - Bug fixes + +------------------------------------------------------------------- +Wed Aug 21 11:37:57 UTC 2019 - Christian Vögl + +- Updated to version 3.1 + From Mainline Changelog: + + 1. Library: + - Added Python wrapper for the library + 2. PQoS Utility: + - Output LLC occupancy in percent + 3. rdtset Utility: + - Added support for multiple instances + 4. AppQoS: + - Added new sample application + 5. examples: + - Added examples for python library + 6. tests: + - Added basic functional tests + 7. General + - Bug fixes + + +------------------------------------------------------------------- +Thu Mar 28 15:51:25 UTC 2019 - Jan Engelhardt + +- Use noun phrase in summary. + +------------------------------------------------------------------- +Thu Mar 28 10:37:26 UTC 2019 - Christian Vögl +- Updated git url to new location + +- Updated to version 3.0.1: + From mainline Changelog: + 3.0.1: +1. General + - Bug fixes + + 3.0.0: +1. Library + - Added support for Resctrl MBA software controller + - Improved detection of OS (Resctrl) capabilities +2. PQoS Utility + - Added support for Resctrl MBA software controller + - Updated feature enumeration to show capabilities for selected + interface only +3. rdtset Utility + - Added support for Resctrl MBA software controller +4. membw + - Added support for extra memory operations + - Improved accuracy +5.General + - Bug fixes + + 2.1.0: +1.Library + - Reversed RMID allocation +2.rdtset Utility + - Added support for MSR based MBA software controller +3.Examples + - Added MBA example application + - Added L2CAT example application +4.membw + - Added tool for generation of memory bandwidth +5.General + - Bug fixes + + + + +------------------------------------------------------------------- +Fri Sep 14 13:27:03 UTC 2018 - trenn@suse.de + +- libpqos-devel must obsolete libpqos1-devel since last change + +------------------------------------------------------------------- +Tue Sep 11 09:48:55 UTC 2018 - trenn@suse.de + +- Rename libpqos2-devel to libpqos-devel. + Library devel package must not include library version in name + +------------------------------------------------------------------- +Tue Sep 4 15:15:44 UTC 2018 - trenn@suse.de + +- Update to version 2.0.0 + Bump up libpqos1 package version to libpqos2 + +- Remove ldconfig patch and use NOLDCONFIG Makefile variable +D fix-ldconfig-call.patch +- Do not use env in shebang to avoid osc errors: +A fix-bad-env-shebang.patch + + From mainline Changelog: +1. Library + - Added support for resctrl monitoring via OS interface + - Added support for PID group monitoring + - Added support for L2 CDP + - New API added for adding/removing pids to mon groups +2. PQoS Utility + - Added support for PID group monitoring + - Added support for L2 CDP + - Print core values in PID monitoring output +3. rdtset Utility + - Added support for L2 CDP + +------------------------------------------------------------------- +Thu Mar 1 15:48:42 UTC 2018 - trenn@suse.de + +- Update to version 1.1.0 (fate#322856): +1. Library + - Added support for MBA configuration via OS interface +2. PQoS Utility + - Added better feature enumeration functionality + - Added top-pids monitoring functionality + +- Change group declaration in spec file from + Development/Tools + to + Development/Tools/Other + to avoid invalid group build service warning. + +- Adding _service file for easier version upgrades + Replacing the libversion variable in spec file with the real + version, so that automated version upgrades via service feature + works. + +------------------------------------------------------------------- +Fri Aug 04 16:24:56 UTC 2017 - trenn@suse.de + +- Update to version 1.1.0 (fate#322856): +1. Library + - Added PID support for L2CAT, L3CAT and CDP + - Added global RDT interface enforcement. +2. PQoS Utility + - Added PID support for L2CAT, L3CAT and CDP +3. rdtset Utility + - Added PID support for L2CAT, L3CAT and CDP + - Updated to work with multiple PID's + +D fix-dynlib-generation.patch +D fixsymlink.patch + +------------------------------------------------------------------- +Thu Jul 13 13:05:52 UTC 2017 - bwiedemann@suse.com +- Update to version 1.0.1: + snmp + - Added OS interface support to Net-SNMP sub-agent + General + - Build improvements (boo#1041090) + - Bug fixes + Library + - Removed NO_PID_API compile time option + - Added OS interface to support L3/L2 CAT & CDP + - Updated support for CMT per PID + PQoS Utility + - Added pqos-os & pqos-msr wrapper scripts + - Added option to select OS or MSR interface + rdtset Utility + - Added option to select OS or MSR interface + Examples + - Support for new OS/MSR interface added to CMT/MBM examples +- Add fixsymlink.patch to create proper man page symlinks +- Rebase fix-dynlib-generation.patch + +------------------------------------------------------------------- +Tue Mar 07 12:46:40 UTC 2017 - fschnizlein@suse.de + +- Fixes bsc#990230 (if submitted and accepted in factory) +- Renamed intel-cmt-cat-devel to libqpos0-devel +- Removed obsolete patches due Makefile restructuring +D intel-cmt-cat-DESTDIR.patch +D intel-cmt-cat-Makefile.patch +D intel-cmt-cat-dynlib.patch +- Added patches to build library correctly +A fix-dynlib-generation.patch +A fix-ldconfig-call.patch +- Added _service file +- Update to version 0.1.5-1: + * Added MBA get to library. + * MBA added to pqos tool show configuration option + * Added mba -e option to pqos + * MBA added to allocation reset function + * Updated changelog, pqos help menu and man page with L2 CAT per cluster and MBA changes. + * Added 11 LLC ways configuration files for pqos + * Added profile with 11 cache ways + * Corrected detection of MBM capabilities + * Updated pqos utility error message for when no allocation resource ID is specified. + * Modified pqos_pid_start API to only set single bit in event mask when starting remote memory B/W monitoring using perf. Moved remote memory monitor dependences to RMEM section. + +------------------------------------------------------------------- +Thu Dec 1 18:06:39 UTC 2016 - trenn@suse.de + +- Initial package +- split off -devel and lib package. +- Patches added: + * Makefile_include.patch + * Makefile_ldconfig.patch + diff --git a/intel-cmt-cat.obsinfo b/intel-cmt-cat.obsinfo new file mode 100644 index 0000000..c828af5 --- /dev/null +++ b/intel-cmt-cat.obsinfo @@ -0,0 +1,4 @@ +name: intel-cmt-cat +version: 5.0.0.6.git+14e3840 +mtime: 1706615869 +commit: 14e38408b39d11fc36a41f1dbda0dc26a3a7a349 diff --git a/intel-cmt-cat.spec b/intel-cmt-cat.spec new file mode 100644 index 0000000..56636a7 --- /dev/null +++ b/intel-cmt-cat.spec @@ -0,0 +1,108 @@ +# +# spec file for package intel-cmt-cat +# +# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2016 Intel Corporation +# +# 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/ +# + + +# Since they ship libpqos and the binaries in one package but do not simultatious +# updates libversion can differ from binaries version. +%define libpqosMajor 5 +%global make_flags EXTRA_CFLAGS="%{optflags}" SHARED=y PREFIX=%{buildroot}/%{_prefix} MAN_DIR=%{buildroot}/%{_mandir}/man8 LIB_INSTALL_DIR=%{buildroot}%{_libdir}/ +Name: intel-cmt-cat +Version: 5.0.0.6.git+14e3840 +Release: 0 +Summary: Command line interface to CMT, MBM, CAT and CDP technologies +License: BSD-3-Clause +Group: Development/Tools/Other +URL: https://github.com/01org/%{name} +Source0: %{name}-%{version}.tar.xz +#Source0: https://github.com/intel/intel-cmt-cat/archive/v%%{version}.tar.gz#/%%{name}-%%{version}.tar.gz +Patch1: fix-bad-env-shebang.patch +BuildRequires: doxygen +ExclusiveArch: x86_64 %{ix86} + +%description +This software package provides basic support for +Cache Monitoring Technology (CMT), Memory Bandwidth Monitoring (MBM), +Cache Allocation Technology (CAT) and Code Data Prioratization (CDP). + +CMT, MBM and CAT are configured using Model Specific Registers (MSRs) +to measure last level cache occupancy, set up the class of service masks and +manage the association of the cores/logical threads to a class of service. +The software executes in user space, and access to the MSRs is +obtained through a standard Linux* interface. The virtual file system +provides an interface to read and write the MSR registers but +it requires root privileges. + +%package -n libpqos%{libpqosMajor} +Summary: Runtime Platform Quality of Service library +Group: System/Libraries + +%description -n libpqos%{libpqosMajor} +PQoS library provides API to detect and configure Intel RDT including: +Cache Monitoring Technology (CMT), Memory Bandwidth Monitoring (MBM), +Cache Allocation Technology (CAT), Code and Data Prioritization (CDP) Technology. + +%package -n libpqos-devel +Summary: Development package for libpqos%{libpqosMajor} +Group: Development/Libraries/C and C++ +Requires: libpqos%{libpqosMajor} = %{version} +#Version number should stay constant here, because devel package had a version number in the name previously +Obsoletes: libpqos1-devel < %{version} +Provides: libpqos1-devel = %{version} + +%description -n libpqos-devel +PQoS library provides API to detect and configure Intel RDT including: +Cache Monitoring Technology (CMT), Memory Bandwidth Monitoring (MBM), +Cache Allocation Technology (CAT), Code and Data Prioritization (CDP) Technology. + +This package contains all that is needed to develop/compile +applications that use PQoS. + +%prep +%autosetup -p1 + +%build +%make_build %{make_flags} + +%install +make %{make_flags} NOLDCONFIG=y install + +%post -n libpqos%{libpqosMajor} -p /sbin/ldconfig +%postun -n libpqos%{libpqosMajor} -p /sbin/ldconfig + +%files +%doc ChangeLog +%license LICENSE +%{_bindir}/membw +%{_mandir}/man8/membw.8%{?ext_man} +%{_bindir}/pqos +%{_mandir}/man8/pqos.8%{?ext_man} +%{_bindir}/rdtset +%{_mandir}/man8/rdtset.8%{?ext_man} +%{_bindir}/pqos-msr +%{_mandir}/man8/pqos-msr.8%{?ext_man} +%{_bindir}/pqos-os +%{_mandir}/man8/pqos-os.8%{?ext_man} + +%files -n libpqos-devel +%{_includedir}/pqos.h +%{_libdir}/*.so + +%files -n libpqos%{libpqosMajor} +%{_libdir}/*.so.* + +%changelog