Skip to content

Commit afb06f2

Browse files
committed
Enable Intel RDT feature
- add intel-cmt-cat v25.04 - include user space utilities (e.g. pqos) - add kernel cmdline to enable rdt features (e.g. cat) Signed-off-by: Mun Chun Yep <mun.chun.yep@intel.com>
1 parent 3702320 commit afb06f2

File tree

7 files changed

+375
-0
lines changed

7 files changed

+375
-0
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
Description: Workaround environment variable settings
2+
Add environment to be set by packaging
3+
Forwarded: not-needed
4+
Author: Colin Ian King <colin.i.king@gmail.com>
5+
6+
Index: intel-cmt-cat-24.05/lib/Makefile
7+
===================================================================
8+
--- intel-cmt-cat-24.05.orig/lib/Makefile
9+
+++ intel-cmt-cat-24.05/lib/Makefile
10+
@@ -121,10 +121,10 @@ endif
11+
12+
HDR = pqos.h
13+
PREFIX ?= /usr/local
14+
-LIB_INSTALL_DIR ?= $(PREFIX)/lib
15+
-HDR_DIR ?= $(PREFIX)/include
16+
+LIB_INSTALL_DIR ?= $(DESTDIR)/usr/lib
17+
+HDR_DIR ?= $(DESTDIR)/usr/include
18+
DEPFILE = $(LIB).dep
19+
-NOLDCONFIG ?= n
20+
+NOLDCONFIG ?= y
21+
22+
all: $(LIBNAME)
23+
24+
Index: intel-cmt-cat-24.05/pqos/Makefile
25+
===================================================================
26+
--- intel-cmt-cat-24.05.orig/pqos/Makefile
27+
+++ intel-cmt-cat-24.05/pqos/Makefile
28+
@@ -96,8 +96,8 @@ MAN = pqos.8
29+
30+
# XXX: modify as desired
31+
PREFIX ?= /usr/local
32+
-BIN_DIR = $(PREFIX)/bin
33+
-MAN_DIR = $(PREFIX)/man/man8
34+
+BIN_DIR = $(DESTDIR)/usr/sbin
35+
+MAN_DIR = $(DESTDIR)/usr/share/man/man8
36+
37+
SRCS = $(sort $(wildcard *.c))
38+
OBJS = $(addprefix $(OBJDIR)/,$(SRCS:.c=.o))
39+
Index: intel-cmt-cat-24.05/rdtset/Makefile
40+
===================================================================
41+
--- intel-cmt-cat-24.05.orig/rdtset/Makefile
42+
+++ intel-cmt-cat-24.05/rdtset/Makefile
43+
@@ -97,8 +97,8 @@ MAN = rdtset.8
44+
45+
# XXX: modify as desired
46+
PREFIX ?= /usr/local
47+
-BIN_DIR = $(PREFIX)/bin
48+
-MAN_DIR = $(PREFIX)/man/man8
49+
+BIN_DIR = $(DESTDIR)/usr/sbin
50+
+MAN_DIR = $(DESTDIR)/usr/share/man/man8
51+
52+
SRCS = $(sort $(wildcard *.c))
53+
OBJS = $(SRCS:.c=.o)
54+
Index: intel-cmt-cat-24.05/tools/membw/Makefile
55+
===================================================================
56+
--- intel-cmt-cat-24.05.orig/tools/membw/Makefile
57+
+++ intel-cmt-cat-24.05/tools/membw/Makefile
58+
@@ -41,8 +41,8 @@ MAN = membw.8
59+
60+
# XXX: modify as desired
61+
PREFIX ?= /usr/local
62+
-BIN_DIR = $(PREFIX)/bin
63+
-MAN_DIR = $(PREFIX)/man/man8
64+
+BIN_DIR = $(DESTDIR)/usr/bin
65+
+MAN_DIR = $(DESTDIR)/usr/share/man/man8
66+
67+
CFLAGS=-W -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes \
68+
-Wmissing-declarations -Wold-style-definition -Wpointer-arith \
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Description: Remove examples
2+
No need to install these, developers are encouraged to look
3+
at the code in the repository
4+
Forwarded: not-needed
5+
Author: Colin Ian King <colin.i.king@gmail.com>
6+
7+
Index: intel-cmt-cat-24.05/Makefile
8+
===================================================================
9+
--- intel-cmt-cat-24.05.orig/Makefile
10+
+++ intel-cmt-cat-24.05/Makefile
11+
@@ -55,9 +55,6 @@ all:
12+
$(MAKE) -C pqos
13+
$(MAKE) -C rdtset
14+
$(MAKE) -C tools/membw
15+
- $(MAKE) -C examples/c/CAT_MBA
16+
- $(MAKE) -C examples/c/CMT_MBM
17+
- $(MAKE) -C examples/c/PSEUDO_LOCK
18+
19+
setup-dev:
20+
$(MAKE) -C appqos setup-dev
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
Description: Hard code in hardening options
2+
Forwarded: not-needed
3+
Author: Colin Ian King <colin.i.king@gmail.com>
4+
5+
Index: intel-cmt-cat-25.04/lib/Makefile
6+
===================================================================
7+
--- intel-cmt-cat-25.04.orig/lib/Makefile
8+
+++ intel-cmt-cat-25.04/lib/Makefile
9+
@@ -39,8 +39,8 @@ LIB = libpqos
10+
VERSION = 6.0.1
11+
SO_VERSION = 6
12+
SHARED ?= y
13+
-LDFLAGS = -L. -lpthread -z noexecstack -z relro -z now
14+
-CFLAGS = -pthread -I./ -D_GNU_SOURCE \
15+
+LDFLAGS += -L. -lpthread -z noexecstack -z relro -z now
16+
+CFLAGS += -pthread -I./ -D_GNU_SOURCE \
17+
-W -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes \
18+
-Wmissing-declarations -Wold-style-definition -Wpointer-arith \
19+
-Wcast-qual -Wundef -Wwrite-strings \
20+
Index: intel-cmt-cat-25.04/pqos/Makefile
21+
===================================================================
22+
--- intel-cmt-cat-25.04.orig/pqos/Makefile
23+
+++ intel-cmt-cat-25.04/pqos/Makefile
24+
@@ -38,9 +38,9 @@ include ../pre-build.mk
25+
26+
OBJDIR = obj
27+
LIBDIR ?= ../lib
28+
-LDFLAGS = -L$(LIBDIR) -pie -z noexecstack -z relro -z now
29+
+LDFLAGS += -L$(LIBDIR) -pie -z noexecstack -z relro -z now
30+
LDLIBS = -lpqos -lpthread
31+
-CFLAGS = -I$(LIBDIR) \
32+
+CFLAGS += -I$(LIBDIR) \
33+
-W -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes \
34+
-Wmissing-declarations -Wold-style-definition -Wpointer-arith \
35+
-Wcast-qual -Wundef -Wwrite-strings \
36+
Index: intel-cmt-cat-25.04/rdtset/Makefile
37+
===================================================================
38+
--- intel-cmt-cat-25.04.orig/rdtset/Makefile
39+
+++ intel-cmt-cat-25.04/rdtset/Makefile
40+
@@ -37,9 +37,9 @@
41+
include ../pre-build.mk
42+
43+
LIBDIR ?= ../lib
44+
-LDFLAGS = -L$(LIBDIR) -pie -z noexecstack -z relro -z now
45+
+LDFLAGS += -L$(LIBDIR) -pie -z noexecstack -z relro -z now
46+
LDLIBS = -lpqos -lpthread
47+
-CFLAGS = -I$(LIBDIR) \
48+
+CFLAGS += -I$(LIBDIR) \
49+
-W -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes \
50+
-Wmissing-declarations -Wold-style-definition -Wpointer-arith \
51+
-Wcast-qual -Wundef -Wwrite-strings \
52+
Index: intel-cmt-cat-25.04/tools/membw/Makefile
53+
===================================================================
54+
--- intel-cmt-cat-25.04.orig/tools/membw/Makefile
55+
+++ intel-cmt-cat-25.04/tools/membw/Makefile
56+
@@ -44,7 +44,7 @@ PREFIX ?= /usr/local
57+
BIN_DIR = $(DESTDIR)/usr/bin
58+
MAN_DIR = $(DESTDIR)/usr/share/man/man8
59+
60+
-CFLAGS=-W -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes \
61+
+CFLAGS += -W -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes \
62+
-Wmissing-declarations -Wold-style-definition -Wpointer-arith \
63+
-Wcast-qual -Wundef -Wwrite-strings \
64+
-Wformat -Wformat-security -fstack-protector-strong -fPIE \
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"Signatures": {
3+
"intel-cmt-cat-25.04.tar.gz": "5841e503acd5baae310ac4c9c74921f606479442ec6d59ef2f9cbbfb94a8c980"
4+
}
5+
}
6+
Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
%global libpqos_ver 6.0.1
2+
%global desc %{expand: \
3+
This package provides basic support for Intel Resource Director Technology
4+
including, Cache Monitoring Technology (CMT), Memory Bandwidth Monitoring
5+
(MBM), Cache Allocation Technology (CAT), Code and Data Prioritization
6+
(CDP) and Memory Bandwidth Allocation (MBA).}
7+
8+
Summary: Intel cache monitoring and allocation technology config tool
9+
Name: intel-cmt-cat
10+
Version: 25.04
11+
Release: 2%{?dist}
12+
License: BSD-3-Clause
13+
Vendor: Intel Corporation
14+
Distribution: Edge Microvisor Toolkit
15+
URL: https://github.com/intel/intel-cmt-cat
16+
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
17+
Patch0: 0001-alter-install-paths.patch
18+
Patch1: 0002-remove-build-and-install-of-examples.patch
19+
Patch2: 0003-allow-debian-flags-to-be-added.patch
20+
21+
ExclusiveArch: x86_64
22+
23+
BuildRequires: gcc
24+
BuildRequires: make
25+
26+
%description
27+
%{desc}
28+
29+
%package devel
30+
Summary: Development files for %{name}
31+
Requires: %{name}%{?_isa} = %{version}-%{release}
32+
33+
%description devel %{desc}
34+
35+
Development files.
36+
37+
%prep
38+
%autosetup -p1 -n %{name}-%{version}
39+
40+
%build
41+
%make_build
42+
43+
%install
44+
%make_install BIN_DIR="%{buildroot}%{_bindir}" SBIN_DIR="%{buildroot}%{_sbindir}"
45+
46+
%ldconfig_scriptlets
47+
48+
%files
49+
%license LICENSE
50+
%doc ChangeLog README.md
51+
%{_bindir}/membw
52+
%{_bindir}/pqos
53+
%{_bindir}/pqos-msr
54+
%{_bindir}/pqos-os
55+
%{_bindir}/rdtset
56+
%{_libdir}/libpqos.so.6
57+
%{_libdir}/libpqos.so.%{libpqos_ver}
58+
%{_mandir}/man8/membw.8*
59+
%{_mandir}/man8/pqos.8*
60+
%{_mandir}/man8/pqos-msr.8*
61+
%{_mandir}/man8/pqos-os.8*
62+
%{_mandir}/man8/rdtset.8*
63+
64+
%files -n %{name}-devel
65+
%{_includedir}/pqos.h
66+
%{_libdir}/libpqos.so
67+
68+
%changelog
69+
* Thu Jun 05 2025 Mun Chun Yep <mun.chun.yep@intel.com> - 25.04-2
70+
- Initial Edge Microvisor Toolkit import from Fedora 43 (license: MIT). License verified.
71+
72+
* Tue Apr 29 2025 Ali Erdinc Koroglu <aekoroglu@fedoraproject.org> - 25.04-1
73+
- Update to 25.04
74+
75+
* Wed Feb 12 2025 Ali Erdinc Koroglu <aekoroglu@fedoraproject.org> - 24.05-4
76+
- Merging upstream patches and Rawhide FTBFS fix
77+
78+
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 24.05-3
79+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
80+
81+
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 24.05-2
82+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
83+
84+
* Wed Jun 26 2024 Ali Erdinc Koroglu <aekoroglu@fedoraproject.org> - 24.05-1
85+
- Update to 24.05
86+
87+
* Wed Mar 13 2024 Ali Erdinc Koroglu <aekoroglu@fedoraproject.org> - 23.11.1-1
88+
- Update to 23.11.1
89+
90+
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 23.11-3
91+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
92+
93+
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 23.11-2
94+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
95+
96+
* Mon Nov 13 2023 Ali Erdinc Koroglu <aekoroglu@fedoraproject.org> - 23.11-1
97+
- Update to 23.11
98+
99+
* Thu Aug 31 2023 Ali Erdinc Koroglu <aekoroglu@fedoraproject.org> - 23.08-1
100+
- Update to 23.08
101+
102+
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.5.0-2
103+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
104+
105+
* Mon Mar 06 2023 Raghavan Kanagaraj <raghavan.kanagaraj@intel.com> - 4.5.0-1
106+
- New release 4.5.0
107+
108+
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.1-2
109+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
110+
111+
* Wed Oct 12 2022 Marcel cornu <marcel.d.cornu@intel.com> - 4.4.1-1
112+
- New release 4.4.1
113+
114+
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.3.0-2
115+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
116+
117+
* Tue Mar 1 2022 Khawar Abbasi <khawar.abbasi@intel.com> - 4.3.0-1
118+
- New release 4.3.0
119+
120+
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.0-4
121+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
122+
123+
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.0-3
124+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
125+
126+
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.0-2
127+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
128+
129+
* Fri Dec 18 2020 Khawar Abbasi <khawar.abbasi@intel.com> - 4.1.0-1
130+
- New release 4.1.0
131+
132+
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0-2
133+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
134+
135+
* Tue Jul 21 2020 Khawar Abbasi <khawar.abbasi@intel.com> - 4.0.0-1
136+
- New release 4.0.0
137+
138+
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.1-2
139+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
140+
141+
* Mon Sep 30 2019 Marcel cornu <marcel.d.cornu@intel.com> - 3.1.1-1
142+
- New release 3.1.1
143+
144+
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.1-2
145+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
146+
147+
* Wed Mar 27 2019 Marcel cornu <marcel.d.cornu@intel.com> - 3.0.1-1
148+
- New release 3.0.1
149+
150+
* Mon Feb 18 2019 Marcel cornu <marcel.d.cornu@intel.com> - 3.0.0-1
151+
- New release 3.0.0
152+
153+
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-2
154+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
155+
156+
* Tue Oct 16 2018 Marcel cornu <marcel.d.cornu@intel.com>, Michal Aleksinski <michalx.aleksinski@intel.com> 2.1.0-1
157+
- New release 2.1.0
158+
159+
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-2
160+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
161+
162+
* Thu Jun 28 2018 Marcel cornu <marcel.d.cornu@intel.com>, Michal Aleksinski <michalx.aleksinski@intel.com> - 2.0.0-1
163+
- New release 2.0.0
164+
165+
* Thu Mar 08 2018 Marcel cornu <marcel.d.cornu@intel.com>, Michal Aleksinski <michalx.aleksinski@intel.com> - 1.2.0-3
166+
- Updated spec file with BuildRequires tag
167+
168+
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-2
169+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
170+
171+
* Wed Nov 29 2017 Marcel Cornu <marcel.d.cornu@intel.com>, Wojciech Andralojc <wojciechx.andralojc@intel.com> 1.2.0-1
172+
- New release 1.2.0
173+
174+
* Thu Aug 3 2017 Aaron Hetherington <aaron.hetherington@intel.com>, Marcel Cornu <marcel.d.cornu@intel.com> 1.1.0-1
175+
- New release 1.1.0
176+
177+
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-3
178+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
179+
180+
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-2
181+
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
182+
183+
* Wed Jun 21 2017 Aaron Hetherington <aaron.hetherington@intel.com>, Marcel Cornu <marcel.d.cornu@intel.com> 1.0.1-1
184+
- Spec file bug fixes
185+
186+
* Wed Jun 07 2017 Aaron Hetherington <aaron.hetherington@intel.com>, Marcel Cornu <marcel.d.cornu@intel.com> 1.0.1-1
187+
- new release
188+
- bug fixes
189+
190+
* Fri May 19 2017 Aaron Hetherington <aaron.hetherington@intel.com>, Michal Aleksinski <michalx.aleksinski@intel.com> 1.0.0-1
191+
- new release
192+
193+
* Tue Feb 14 2017 Aaron Hetherington <aaron.hetherington@intel.com> 0.1.5-1
194+
- new release
195+
196+
* Mon Oct 17 2016 Aaron Hetherington <aaron.hetherington@intel.com> 0.1.5
197+
- new release
198+
199+
* Tue Apr 19 2016 Tomasz Kantecki <tomasz.kantecki@intel.com> 0.1.4-3
200+
- global typo fix
201+
- small edits in the description
202+
203+
* Mon Apr 18 2016 Tomasz Kantecki <tomasz.kantecki@intel.com> 0.1.4-2
204+
- LICENSE file added to the package
205+
206+
* Thu Apr 7 2016 Tomasz Kantecki <tomasz.kantecki@intel.com> 0.1.4-1
207+
- initial version of the package

toolkit/imageconfigs/full.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@
1111
"packagelists/ssh-server.json",
1212
"packagelists/selinux-full.json",
1313
"packagelists/intel-gpu-base-rt.json",
14+
"packagelists/intel-rdt.json",
1415
"packagelists/drtm.json",
1516
"packagelists/virt-guest-packages.json",
1617
"packagelists/docker.json"
1718
],
1819
"KernelCommandLine": {
20+
"ExtraCommandLine": "rdt=cmt,mbmtotal,mbmlocal,l3cat,l3cdp,l2cat,l2cdp,mba",
1921
"SELinux": "permissive"
2022
},
2123
"KernelOptions": {
@@ -71,10 +73,12 @@
7173
"packagelists/ssh-server.json",
7274
"packagelists/selinux-full.json",
7375
"packagelists/intel-gpu-base-rt.json",
76+
"packagelists/intel-rdt.json",
7477
"packagelists/drtm.json",
7578
"packagelists/virt-guest-packages.json"
7679
],
7780
"KernelCommandLine": {
81+
"ExtraCommandLine": "rdt=cmt,mbmtotal,mbmlocal,l3cat,l3cdp,l2cat,l2cdp,mba",
7882
"SELinux": "permissive"
7983
},
8084
"KernelOptions": {

0 commit comments

Comments
 (0)