Sync from SUSE:SLFO:Main intel-cmt-cat revision 2ec382de2af93464beddfc0e6eba9053

This commit is contained in:
Adrian Schröter 2024-05-03 13:45:07 +02:00
commit 6d7018e13d
8 changed files with 461 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

19
_service Normal file
View File

@ -0,0 +1,19 @@
<services>
<service name="obs_scm" mode="manual">
<param name="url">https://github.com/intel/intel-cmt-cat.git</param>
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
<param name="versionformat">5.0.0.@TAG_OFFSET@.git+%h</param>
<!-- They broke tagging:
https://github.com/intel/intel-cmt-cat/issues/264
<param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.git+%h</param>
<param name="versionrewrite-pattern">v(.*)</param>
-->
</service>
<service name="set_version" mode="manual"/>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
</services>

4
_servicedata Normal file
View File

@ -0,0 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/intel/intel-cmt-cat.git</param>
<param name="changesrevision">14e38408b39d11fc36a41f1dbda0dc26a3a7a349</param></service></servicedata>

20
fix-bad-env-shebang.patch Normal file
View File

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

BIN
intel-cmt-cat-5.0.0.6.git+14e3840.obscpio (Stored with Git LFS) Normal file

Binary file not shown.

280
intel-cmt-cat.changes Normal file
View File

@ -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 <jengelh@inai.de>
- 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 <dmueller@suse.com>
- 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 <dmueller@suse.com>
- 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 <christian.voegl@suse.com>
- 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 <jengelh@inai.de>
- Use noun phrase in summary.
-------------------------------------------------------------------
Thu Mar 28 10:37:26 UTC 2019 - Christian Vögl <christian.voegl@suse.com>
- 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

4
intel-cmt-cat.obsinfo Normal file
View File

@ -0,0 +1,4 @@
name: intel-cmt-cat
version: 5.0.0.6.git+14e3840
mtime: 1706615869
commit: 14e38408b39d11fc36a41f1dbda0dc26a3a7a349

108
intel-cmt-cat.spec Normal file
View File

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