-
Notifications
You must be signed in to change notification settings - Fork 180
/
tuned.spec
1551 lines (1394 loc) · 54.4 KB
/
tuned.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%bcond_with snapshot
%if 0%{?rhel} && 0%{?rhel} < 10
%global user_profiles_dir %{_sysconfdir}/tuned
%global system_profiles_dir %{_prefix}/lib/tuned
%else
%global user_profiles_dir %{_sysconfdir}/tuned/profiles
%global system_profiles_dir %{_prefix}/lib/tuned/profiles
%endif
%if 0%{?fedora}
%if 0%{?fedora} > 27
%bcond_without python3
%else
%bcond_with python3
%endif
%else
# ! 0%%{?fedora}
%if 0%{?rhel}
%if 0%{?rhel} < 8
%bcond_with python3
%else
%bcond_without python3
%endif
%else
# ! 0%%{?rhel}
%bcond_without python3
%endif
%endif
%if %{with python3}
%global _py python3
%global make_python_arg PYTHON=%{__python3}
%else
%{!?python2_sitelib:%global python2_sitelib %{python_sitelib}}
%if 0%{?rhel} && 0%{?rhel} < 8
%global make_python_arg PYTHON=%{__python}
%global _py python
%else
%global make_python_arg PYTHON=%{__python2}
%global _py python2
%endif
%endif
%if %{with snapshot}
%if 0%{!?git_short_commit:1}
%global git_short_commit %(git rev-parse --short=8 --verify HEAD)
%endif
%global git_date %(date +'%Y%m%d')
%global git_suffix %{git_date}git%{git_short_commit}
%endif
#%%global prerelease rc
#%%global prereleasenum 1
%global prerel1 %{?prerelease:.%{prerelease}%{prereleasenum}}
%global prerel2 %{?prerelease:-%{prerelease}.%{prereleasenum}}
Summary: A dynamic adaptive system tuning daemon
Name: tuned
Version: 2.24.1
Release: 1%{?prerel1}%{?with_snapshot:.%{git_suffix}}%{?dist}
License: GPL-2.0-or-later AND CC-BY-SA-3.0
Source0: https://github.com/redhat-performance/%{name}/archive/v%{version}%{?prerel2}/%{name}-%{version}%{?prerel2}.tar.gz
URL: http://www.tuned-project.org/
BuildArch: noarch
BuildRequires: systemd, desktop-file-utils
%if 0%{?rhel}
BuildRequires: asciidoc
%else
BuildRequires: asciidoctor
%endif
Requires(post): systemd, virt-what
Requires(preun): systemd
Requires(postun): systemd
BuildRequires: make
BuildRequires: %{_py}, %{_py}-devel
# BuildRequires for 'make test'
# python-mock is needed for python-2.7, but it's not available on RHEL-7, only in the EPEL
%if %{without python3} && ( ! 0%{?rhel} || 0%{?rhel} >= 8 || 0%{?epel})
BuildRequires: %{_py}-mock
%endif
BuildRequires: %{_py}-pyudev
Requires: %{_py}-pyudev
Requires: %{_py}-linux-procfs, %{_py}-perf
%if %{without python3}
Requires: %{_py}-schedutils
%endif
# requires for packages with inconsistent python2/3 names
%if %{with python3}
# BuildRequires for 'make test'
BuildRequires: python3-dbus, python3-gobject-base
Requires: python3-dbus, python3-gobject-base
%if 0%{?fedora} > 22 || 0%{?rhel} > 7
Recommends: dmidecode
%endif
%else
# BuildRequires for 'make test'
BuildRequires: dbus-python, pygobject3-base
Requires: dbus-python, pygobject3-base
%endif
Requires: virt-what, ethtool, gawk
Requires: util-linux, dbus, polkit
%if 0%{?fedora} > 22 || 0%{?rhel} > 7
Recommends: dmidecode
# i686 excluded
Recommends: kernel-tools
Requires: hdparm
Requires: kmod
Requires: iproute
%endif
# syspurpose
%if 0%{?rhel} > 8
# not on CentOS
%if 0%{!?centos:1}
Recommends: subscription-manager
%endif
%else
%if 0%{?rhel} > 7
Requires: python3-syspurpose
%endif
%endif
%description
The tuned package contains a daemon that tunes system settings dynamically.
It does so by monitoring the usage of several system components periodically.
Based on that information components will then be put into lower or higher
power saving modes to adapt to the current usage. Currently only ethernet
network and ATA harddisk devices are implemented.
%if 0%{?rhel} <= 7 && 0%{!?fedora:1}
# RHEL <= 7
%global docdir %{_docdir}/%{name}-%{version}
%else
# RHEL > 7 || fedora
%global docdir %{_docdir}/%{name}
%endif
%package gtk
Summary: GTK GUI for tuned
Requires: %{name} = %{version}-%{release}
Requires: powertop, polkit
# requires for packages with inconsistent python2/3 names
%if %{with python3}
Requires: python3-gobject-base
%else
Requires: pygobject3-base
%endif
%description gtk
GTK GUI that can control tuned and provides simple profile editor.
%package utils
Requires: %{name} = %{version}-%{release}
Requires: powertop
Summary: Various tuned utilities
%description utils
This package contains utilities that can help you to fine tune and
debug your system and manage tuned profiles.
%package utils-systemtap
Summary: Disk and net statistic monitoring systemtap scripts
Requires: %{name} = %{version}-%{release}
Requires: systemtap
%description utils-systemtap
This package contains several systemtap scripts to allow detailed
manual monitoring of the system. Instead of the typical IO/sec it collects
minimal, maximal and average time between operations to be able to
identify applications that behave power inefficient (many small operations
instead of fewer large ones).
%package profiles-sap
Summary: Additional tuned profile(s) targeted to SAP NetWeaver loads
Requires: %{name} = %{version}
%description profiles-sap
Additional tuned profile(s) targeted to SAP NetWeaver loads.
%package profiles-mssql
Summary: Additional tuned profile(s) for MS SQL Server
Requires: %{name} = %{version}
%description profiles-mssql
Additional tuned profile(s) for MS SQL Server.
%package profiles-oracle
Summary: Additional tuned profile(s) targeted to Oracle loads
Requires: %{name} = %{version}
%description profiles-oracle
Additional tuned profile(s) targeted to Oracle loads.
%package profiles-sap-hana
Summary: Additional tuned profile(s) targeted to SAP HANA loads
Requires: %{name} = %{version}
%description profiles-sap-hana
Additional tuned profile(s) targeted to SAP HANA loads.
%package profiles-atomic
Summary: Additional tuned profile(s) targeted to Atomic
Requires: %{name} = %{version}
%description profiles-atomic
Additional tuned profile(s) targeted to Atomic host and guest.
%package profiles-realtime
Summary: Additional tuned profile(s) targeted to realtime
Requires: %{name} = %{version}
%description profiles-realtime
Additional tuned profile(s) targeted to realtime.
%package profiles-nfv-guest
Summary: Additional tuned profile(s) targeted to Network Function Virtualization (NFV) guest
Requires: %{name} = %{version}
Requires: %{name}-profiles-realtime = %{version}
%description profiles-nfv-guest
Additional tuned profile(s) targeted to Network Function Virtualization (NFV) guest.
%package profiles-nfv-host
Summary: Additional tuned profile(s) targeted to Network Function Virtualization (NFV) host
Requires: %{name} = %{version}
Requires: %{name}-profiles-realtime = %{version}
%description profiles-nfv-host
Additional tuned profile(s) targeted to Network Function Virtualization (NFV) host.
# this is kept for backward compatibility, it should be dropped for RHEL-8
%package profiles-nfv
Summary: Additional tuned profile(s) targeted to Network Function Virtualization (NFV)
Requires: %{name} = %{version}
Requires: %{name}-profiles-nfv-guest = %{version}
Requires: %{name}-profiles-nfv-host = %{version}
%description profiles-nfv
Additional tuned profile(s) targeted to Network Function Virtualization (NFV).
%package profiles-cpu-partitioning
Summary: Additional tuned profile(s) optimized for CPU partitioning
Requires: %{name} = %{version}
%description profiles-cpu-partitioning
Additional tuned profile(s) optimized for CPU partitioning.
%package profiles-spectrumscale
Summary: Additional tuned profile(s) optimized for IBM Spectrum Scale
Requires: %{name} = %{version}
%description profiles-spectrumscale
Additional tuned profile(s) optimized for IBM Spectrum Scale.
%package profiles-compat
Summary: Additional tuned profiles mainly for backward compatibility with tuned 1.0
Requires: %{name} = %{version}
%description profiles-compat
Additional tuned profiles mainly for backward compatibility with tuned 1.0.
It can be also used to fine tune your system for specific scenarios.
%package profiles-postgresql
Summary: Additional tuned profile(s) targeted to PostgreSQL server loads
Requires: %{name} = %{version}
%description profiles-postgresql
Additional tuned profile(s) targeted to PostgreSQL server loads.
%package profiles-openshift
Summary: Additional TuneD profile(s) optimized for OpenShift
Requires: %{name} = %{version}
%description profiles-openshift
Additional TuneD profile(s) optimized for OpenShift.
%package ppd
Summary: PPD compatibility daemon
Requires: %{name} = %{version}
# The compatibility daemon is swappable for power-profiles-daemon
Provides: ppd-service
Conflicts: ppd-service
%description ppd
An API translation daemon that allows applications to easily transition
to TuneD from power-profiles-daemon (PPD).
%prep
%autosetup -p1 -n %{name}-%{version}%{?prerel2}
%build
# Docs cannot be generated on RHEL now due to missing asciidoctor dependency
# asciidoc doesn't seem to be compatible
%if ! 0%{?rhel}
make html %{make_python_arg}
%endif
%install
make install DESTDIR=%{buildroot} DOCDIR=%{docdir} %{make_python_arg} \
TUNED_USER_PROFILES_DIR=%{user_profiles_dir} \
TUNED_SYSTEM_PROFILES_DIR=%{system_profiles_dir}
make install-ppd DESTDIR=%{buildroot} DOCDIR=%{docdir} %{make_python_arg}
%if ! 0%{?rhel}
# manual
make install-html DESTDIR=%{buildroot} DOCDIR=%{docdir}
%endif
# conditional support for grub2, grub2 is not available on all architectures
# and tuned is noarch package, thus the following hack is needed
mkdir -p %{buildroot}%{_datadir}/tuned/grub2
mv %{buildroot}%{_sysconfdir}/grub.d/00_tuned %{buildroot}%{_datadir}/tuned/grub2/00_tuned
rmdir %{buildroot}%{_sysconfdir}/grub.d
# ghost for persistent storage
mkdir -p %{buildroot}%{_var}/lib/tuned
# ghost for NFV
mkdir -p %{buildroot}%{_sysconfdir}/modprobe.d
touch %{buildroot}%{_sysconfdir}/modprobe.d/kvm.rt.tuned.conf
# validate desktop file
desktop-file-validate %{buildroot}%{_datadir}/applications/tuned-gui.desktop
# On RHEL-7 EPEL is needed, because there is no python-mock package and
# python-2.7 doesn't have mock built-in
%if 0%{?rhel} >= 8 || 0%{?epel} || ! 0%{?rhel}
%check
make test %{make_python_arg}
%endif
%post
%systemd_post tuned.service
# convert active_profile from full path to name (if needed)
sed -i 's|.*/\([^/]\+\)/[^\.]\+\.conf|\1|' /etc/tuned/active_profile
# convert GRUB_CMDLINE_LINUX to GRUB_CMDLINE_LINUX_DEFAULT
if [ -r "%{_sysconfdir}/default/grub" ]; then
sed -i 's/GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX \\$tuned_params"/GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT \\$tuned_params"/' \
%{_sysconfdir}/default/grub
fi
%if 0%{?fedora} || 0%{?rhel} >= 10
# migrate all user-defined profiles from /etc/tuned/ to /etc/tuned/profiles/
for f in %{_sysconfdir}/tuned/*; do
if [ -e "$f/tuned.conf" ]; then
mv -n "$f" %{_sysconfdir}/tuned/profiles/
fi
done
%endif
%post ppd
%systemd_post tuned-ppd.service
%preun
%systemd_preun tuned.service
if [ "$1" == 0 ]; then
# clear persistent storage
rm -f %{_var}/lib/tuned/*
# clear temporal storage
rm -f /run/tuned/*
fi
%preun ppd
%systemd_preun tuned-ppd.service
%postun
%systemd_postun_with_restart tuned.service
# conditional support for grub2, grub2 is not available on all architectures
# and tuned is noarch package, thus the following hack is needed
if [ "$1" == 0 ]; then
rm -f %{_sysconfdir}/grub.d/00_tuned || :
# unpatch /etc/default/grub
if [ -r "%{_sysconfdir}/default/grub" ]; then
sed -i '/GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT:+$GRUB_CMDLINE_LINUX_DEFAULT }\\$tuned_params"/d' %{_sysconfdir}/default/grub
fi
# cleanup for Boot loader specification (BLS)
# clear grubenv variables
grub2-editenv - unset tuned_params tuned_initrd &>/dev/null || :
# unpatch BLS entries
MACHINE_ID=`cat /etc/machine-id 2>/dev/null`
if [ "$MACHINE_ID" ]
then
for f in /boot/loader/entries/$MACHINE_ID-*.conf
do
# Skip non-files and rescue entries
if [ ! -f "$f" -o "${f: -12}" == "-rescue.conf" ]
then
continue
fi
# Skip boom managed entries
if [[ "$f" =~ \w*-[0-9a-f]{7,}-.*-.*.conf ]]
then
continue
fi
sed -i '/^\s*options\s\+.*\$tuned_params/ s/\s\+\$tuned_params\b//g' "$f" &>/dev/null || :
sed -i '/^\s*initrd\s\+.*\$tuned_initrd/ s/\s\+\$tuned_initrd\b//g' "$f" &>/dev/null || :
done
fi
fi
%postun ppd
%systemd_postun_with_restart tuned-ppd.service
%triggerun -- tuned < 2.0-0
# remove ktune from old tuned, now part of tuned
/usr/sbin/service ktune stop &>/dev/null || :
/usr/sbin/chkconfig --del ktune &>/dev/null || :
%triggerun ppd -- power-profiles-daemon
# if swapping power-profiles-daemon for tuned-ppd, check whether it is active
if systemctl is-active --quiet power-profiles-daemon; then
mkdir -p %{_localstatedir}/lib/rpm-state/tuned
touch %{_localstatedir}/lib/rpm-state/tuned/ppd-active
fi
%posttrans
# conditional support for grub2, grub2 is not available on all architectures
# and tuned is noarch package, thus the following hack is needed
if [ -d %{_sysconfdir}/grub.d ]; then
cp -a %{_datadir}/tuned/grub2/00_tuned %{_sysconfdir}/grub.d/00_tuned
selinuxenabled &>/dev/null && \
restorecon %{_sysconfdir}/grub.d/00_tuned &>/dev/null || :
fi
%posttrans ppd
# if power-profiles-daemon was active before installing tuned-ppd,
# start tuned-ppd right away
if [ -f %{_localstatedir}/lib/rpm-state/tuned/ppd-active ]; then
systemctl start tuned-ppd
rm -rf %{_localstatedir}/lib/rpm-state/tuned
fi
%files
%exclude %{docdir}/README.utils
%exclude %{docdir}/README.scomes
%exclude %{docdir}/README.NFV
%doc %{docdir}
%{_datadir}/bash-completion/completions/tuned-adm
%if %{with python3}
%exclude %{python3_sitelib}/tuned/gtk
%{python3_sitelib}/tuned
%else
%exclude %{python2_sitelib}/tuned/gtk
%{python2_sitelib}/tuned
%endif
%{_sbindir}/tuned
%{_sbindir}/tuned-adm
%exclude %{_sysconfdir}/tuned/realtime-variables.conf
%exclude %{_sysconfdir}/tuned/realtime-virtual-guest-variables.conf
%exclude %{_sysconfdir}/tuned/realtime-virtual-host-variables.conf
%exclude %{_sysconfdir}/tuned/cpu-partitioning-variables.conf
%exclude %{_sysconfdir}/tuned/cpu-partitioning-powersave-variables.conf
%exclude %{system_profiles_dir}/default
%exclude %{system_profiles_dir}/desktop-powersave
%exclude %{system_profiles_dir}/laptop-ac-powersave
%exclude %{system_profiles_dir}/server-powersave
%exclude %{system_profiles_dir}/laptop-battery-powersave
%exclude %{system_profiles_dir}/enterprise-storage
%exclude %{system_profiles_dir}/spindown-disk
%exclude %{system_profiles_dir}/sap-netweaver
%exclude %{system_profiles_dir}/sap-hana
%exclude %{system_profiles_dir}/sap-hana-kvm-guest
%exclude %{system_profiles_dir}/mssql
%exclude %{system_profiles_dir}/oracle
%exclude %{system_profiles_dir}/atomic-host
%exclude %{system_profiles_dir}/atomic-guest
%exclude %{system_profiles_dir}/realtime
%exclude %{system_profiles_dir}/realtime-virtual-guest
%exclude %{system_profiles_dir}/realtime-virtual-host
%exclude %{system_profiles_dir}/cpu-partitioning
%exclude %{system_profiles_dir}/cpu-partitioning-powersave
%exclude %{system_profiles_dir}/spectrumscale-ece
%exclude %{system_profiles_dir}/postgresql
%exclude %{system_profiles_dir}/openshift
%exclude %{system_profiles_dir}/openshift-control-plane
%exclude %{system_profiles_dir}/openshift-node
%{_prefix}/lib/tuned
%dir %{_sysconfdir}/tuned
%dir %{_sysconfdir}/tuned/recommend.d
%if "%{user_profiles_dir}" != "%{_sysconfdir}/tuned"
%dir %{user_profiles_dir}
%endif
%dir %{_libexecdir}/tuned
%{_libexecdir}/tuned/defirqaffinity*
%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/active_profile
%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/profile_mode
%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/post_loaded_profile
%config(noreplace) %{_sysconfdir}/tuned/tuned-main.conf
%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/bootcmdline
%verify(not size mtime md5) %{_sysconfdir}/modprobe.d/tuned.conf
%{_tmpfilesdir}/tuned.conf
%{_unitdir}/tuned.service
%dir %{_localstatedir}/log/tuned
%dir /run/tuned
%dir %{_var}/lib/tuned
%{_mandir}/man5/tuned*
%{_mandir}/man7/tuned-profiles.7*
%{_mandir}/man8/tuned*
%dir %{_datadir}/tuned
%{_datadir}/tuned/grub2
%{_datadir}/dbus-1/system.d/com.redhat.tuned.conf
%{_datadir}/polkit-1/actions/com.redhat.tuned.policy
%ghost %{_sysconfdir}/modprobe.d/kvm.rt.tuned.conf
%{_prefix}/lib/kernel/install.d/92-tuned.install
%files gtk
%{_sbindir}/tuned-gui
%if %{with python3}
%{python3_sitelib}/tuned/gtk
%else
%{python2_sitelib}/tuned/gtk
%endif
%{_datadir}/tuned/ui
%{_datadir}/icons/hicolor/scalable/apps/tuned.svg
%{_datadir}/applications/tuned-gui.desktop
%files utils
%doc COPYING
%{_bindir}/powertop2tuned
%{_libexecdir}/tuned/pmqos-static*
%files utils-systemtap
%doc doc/README.utils
%doc doc/README.scomes
%doc COPYING
%{_sbindir}/varnetload
%{_sbindir}/netdevstat
%{_sbindir}/diskdevstat
%{_sbindir}/scomes
%{_mandir}/man8/varnetload.*
%{_mandir}/man8/netdevstat.*
%{_mandir}/man8/diskdevstat.*
%{_mandir}/man8/scomes.*
%files profiles-sap
%{system_profiles_dir}/sap-netweaver
%{_mandir}/man7/tuned-profiles-sap.7*
%files profiles-sap-hana
%{system_profiles_dir}/sap-hana
%{system_profiles_dir}/sap-hana-kvm-guest
%{_mandir}/man7/tuned-profiles-sap-hana.7*
%files profiles-mssql
%{system_profiles_dir}/mssql
%{_mandir}/man7/tuned-profiles-mssql.7*
%files profiles-oracle
%{system_profiles_dir}/oracle
%{_mandir}/man7/tuned-profiles-oracle.7*
%files profiles-atomic
%{system_profiles_dir}/atomic-host
%{system_profiles_dir}/atomic-guest
%{_mandir}/man7/tuned-profiles-atomic.7*
%files profiles-realtime
%config(noreplace) %{_sysconfdir}/tuned/realtime-variables.conf
%{system_profiles_dir}/realtime
%{_mandir}/man7/tuned-profiles-realtime.7*
%files profiles-nfv-guest
%config(noreplace) %{_sysconfdir}/tuned/realtime-virtual-guest-variables.conf
%{system_profiles_dir}/realtime-virtual-guest
%{_mandir}/man7/tuned-profiles-nfv-guest.7*
%files profiles-nfv-host
%config(noreplace) %{_sysconfdir}/tuned/realtime-virtual-host-variables.conf
%{system_profiles_dir}/realtime-virtual-host
%{_mandir}/man7/tuned-profiles-nfv-host.7*
%files profiles-nfv
%doc %{docdir}/README.NFV
%files profiles-cpu-partitioning
%config(noreplace) %{_sysconfdir}/tuned/cpu-partitioning-variables.conf
%config(noreplace) %{_sysconfdir}/tuned/cpu-partitioning-powersave-variables.conf
%{system_profiles_dir}/cpu-partitioning
%{system_profiles_dir}/cpu-partitioning-powersave
%{_mandir}/man7/tuned-profiles-cpu-partitioning.7*
%files profiles-spectrumscale
%{system_profiles_dir}/spectrumscale-ece
%{_mandir}/man7/tuned-profiles-spectrumscale-ece.7*
%files profiles-compat
%{system_profiles_dir}/default
%{system_profiles_dir}/desktop-powersave
%{system_profiles_dir}/laptop-ac-powersave
%{system_profiles_dir}/server-powersave
%{system_profiles_dir}/laptop-battery-powersave
%{system_profiles_dir}/enterprise-storage
%{system_profiles_dir}/spindown-disk
%{_mandir}/man7/tuned-profiles-compat.7*
%files profiles-postgresql
%{system_profiles_dir}/postgresql
%{_mandir}/man7/tuned-profiles-postgresql.7*
%files profiles-openshift
%{system_profiles_dir}/openshift
%{system_profiles_dir}/openshift-control-plane
%{system_profiles_dir}/openshift-node
%{_mandir}/man7/tuned-profiles-openshift.7*
%files ppd
%{_sbindir}/tuned-ppd
%{_unitdir}/tuned-ppd.service
%{_datadir}/dbus-1/system-services/net.hadess.PowerProfiles.service
%{_datadir}/dbus-1/system.d/net.hadess.PowerProfiles.conf
%{_datadir}/polkit-1/actions/net.hadess.PowerProfiles.policy
%config(noreplace) %{_sysconfdir}/tuned/ppd.conf
%changelog
* Tue Nov 26 2024 Jaroslav Škarvada <[email protected]> - 2.24.1-1
- new release
- fixed privileged execution of arbitrary scripts by active local user
resolves: CVE-2024-52336
- added sanity checks for API methods parameters
resolves: CVE-2024-52337
- tuned-ppd: fixed controller init to correctly set _on_battery
* Wed Aug 7 2024 Jaroslav Škarvada <[email protected]> - 2.24.0-1
- new release
- clear plugin repository when stopping tuning
resolves: RHEL-36442
- man: add description of the balanced-battery profile
* Thu Jul 25 2024 Jaroslav Škarvada <[email protected]> - 2.24.0-0.1.rc1
- new release
- hotplug: wait for device initialization
resolves: RHEL-39468
- functions: added 'package2cpus' and 'packages2uncores' matchers
- functions: added 'lscpu' to list CPU details
- plugin_uncore: allow to configure frequency limits using percent
- amd-pstate: added support for controlling core performance boost
- plugin_scheduler: adjusted error logging in _set_affinity
resolves: RHEL-46560
- plugin_audio: enabled controller reset to fix suspend with NVIDIA
- plugin_irq: fixed expansion of variables
- plugin_irqbalance: switched to IRQBALANCE_BANNED_CPULIST
* Thu Jun 6 2024 Jaroslav Škarvada <[email protected]> - 2.23.0-1
- new release
- migrated profiles to /etc/tuned/profiles/ and /usr/lib/tuned/profiles/
- added an option to configure profile directories
resolves: RHEL-26157
- daemon: buffer sighup signal
resolves: RHEL-31180
- api: added commands to dynamically create/destroy instances
- functions: added 'intel_recommended_pstate'
- functions: added 'log' which helps with debugging
- plugins: added plugin_irq
- plugin_net: do not read monitors if dynamic tuning is disabled
resolves: RHEL-28757
- plugin_video: added support for amdgpu `panel_power_savings` attribute
- plugin_cpu: check that writes are necessary if they may cause redundant IPIs
resolves: RHEL-25613
- sap-netweaver: increased vm.max_map_count
resolves: RHEL-31757
- tuned-ppd: Detect battery change events
* Thu Feb 22 2024 Jaroslav Škarvada <[email protected]> - 2.22.1-1
- new release
- rebased tuned to latest upstream
related: RHEL-17121
- renamed intel_uncore plugin to uncore
- network-throughput: increased net.ipv4.tcp_rmem default value
resolves: RHEL-25847
* Fri Feb 16 2024 Jaroslav Škarvada <[email protected]> - 2.22.0-1
- new release
- rebased tuned to latest upstream
related: RHEL-17121
* Fri Feb 9 2024 Jaroslav Škarvada <[email protected]> - 2.22.0-0.1.rc1
- new release
- rebased tuned to latest upstream
resolves: RHEL-17121
- print all arguments of failing commands in error messages
resolves: RHEL-3689
- plugin_sysctl: added support for sysctl names with slash
resolves: RHEL-3707
- tuned-adm: added support for moving devices between plugin instances
resolves: RHEL-15141
- api: added methods for retrieval of plugin instances and devices
resolves: RHEL-15137
- plugin_cpu: amd-pstate mentioned instead of just intel_pstate
resolves: RHEL-16469
- hotplug: do not report ENOENT errors on device remove
resolves: RHEL-11342
- plugin_sysctl: expand variables when reporting overrides
resolves: RHEL-18972
- plugin_acpi: new plugin which handles ACPI platform_profile
resolves: RHEL-16966
- plugin_bootloader: skip calling rpm-ostree kargs in no-op case
resolves: RHEL-20767
- plugin_cpu: support cstate settings of pm_qos_resume_latency_us
resolves: RHEL-21129
- scheduler: add option for ignoring IRQs affinity
resolves: RHEL-21923
- plugin_intel_uncore: new plugin for uncore setting
* Tue Aug 29 2023 Jaroslav Škarvada <[email protected]> - 2.21.0-1
- new release
- rebased tuned to latest upstream
related: rhbz#2182117
- api: fixed stop method not to require any parameter
resolves: rhbz#2235637
* Sun Aug 20 2023 Jaroslav Škarvada <[email protected]> - 2.21.0-0.1.rc1
- new release
- rebased tuned to latest upstream
resolves: rhbz#2182117
- plugin_scheduler: fix perf fd leaks
resolves: rhbz#2173938
- allow skipping rollback when restarting TuneD or switching profile
resolves: rhbz#2203142
- function_calc_isolated_cores: no errors for offline CPUs
resolves: rhbz#2217015
- sap-hana: new profile sap-hana-kvm-guest
resolves: rhbz#2173740
- serialized SIGHUP handler to prevent possible bootcmdline corruption
resolves: rhbz#2215298
* Fri Feb 17 2023 Jaroslav Škarvada <[email protected]> - 2.20.0-1
- new release
- rebased tuned to latest upstream
related: rhbz#2133815
- fixed possible traceback on SIGHUP
resolves: rhbz#2169712
- updated manual pages to be consistent
- tuned-adm: better error message for unauthorized switch_profile
- plugin_sysctl: report reapplied sysctls only on different values
* Wed Feb 8 2023 Jaroslav Škarvada <[email protected]> - 2.20.0-0.1.rc1
- new release
- rebased tuned to latest upstream
resolves: rhbz#2133815
- systemd: relax polkit requirement
resolves: rhbz#2065591
- sysvinit: fixed path
resolves: rhbz#2118301
- plugin_cpu: added support for pm_qos_resume_latency_us
resolves: rhbz#2118786
- do not exit on duplicate config lines
resolves: rhbz#2071418
- profiles: new cpu-partitioning-powersave profile
- profiles: new profile for AWS EC2
resolves: rhbz#1935848
- API: add support for moving devices between instances
resolves: rhbz#2113925
- D-Bus: send tracebacks through D-Bus only in debug mode
resolves: rhbz#2159680
- Makefile: added fix for python-3.12
resolves: rhbz#2154801
- throughput-performance: set net.core.somaxconn to at least 2048
resolves: rhbz#1998310
- plugin_scheduler: do not leak FDs from the perf
resolves: rhbz#2080227
- plugin_cpu: added support for intel_pstate scaling driver
resolves: rhbz#2095829
- added support for the API access through the Unix Domain Socket
resolves: rhbz#2113900
* Fri Aug 19 2022 Jaroslav Škarvada <[email protected]> - 2.19.0-1
- new release
- rebased tuned to latest upstream
related: rhbz#2057609
* Tue Aug 9 2022 Jaroslav Škarvada <[email protected]> - 2.19.0-0.1.rc1
- new release
- rebased tuned to latest upstream
resolves: rhbz#2057609
- fixed parsing of inline comments
resolves: rhbz#2060138
- added support for quotes in isolated_cores specification
resolves: rhbz#1891036
- spec: reduced weak dependencies
resolves: rhbz#2093841
- recommend: do not ignore syspurpose_role if there is no syspurpose
resolves: rhbz#2030580
- added support for initial autosetup of isolated_cores
resolves: rhbz#2093847
* Wed Feb 9 2022 Jaroslav Škarvada <[email protected]> - 2.18.0-1
- new release
- rebased tuned to latest upstream
related: rhbz#2003833
- tuned-gui: fixed creation of new profile
* Wed Feb 2 2022 Jaroslav Škarvada <[email protected]> - 2.18.0-0.1.rc1
- new release
- rebased tuned to latest upstream
resolves: rhbz#2003833
- profiles: fix improper parsing of include directive
resolves: rhbz#2017924
- disk: added support for the nvme
resolves: rhbz#1854816
- cpu: extended cstate force_latency syntax to allow skipping zero latency
resolves: rhbz#2002744
- net: added support for the txqueuelen
resolves: rhbz#2015044
- bootloader: on s390(x) remove TuneD variables from the BLS
resolves: rhbz#1978786
- daemon: don't do full rollback on systemd failure
resolves: rhbz#2011459
- spec: do not require subscription-manager on CentOS
resolves: rhbz#2028865
* Sun Jan 16 2022 Jaroslav Škarvada <[email protected]> - 2.17.0-1
- new release
- rebased tuned to latest upstream
related: rhbz#2003838
* Sun Jan 2 2022 Jaroslav Škarvada <[email protected]> - 2.17.0-0.1.rc1
- new release
- rebased tuned to latest upstream
resolves: rhbz#2003838
- cpu-partitioning: fixed no_balance_cores on newer kernels
resolves: rhbz#1874596
- scheduler: allow exclude of processes from the specific cgroup(s)
resolves: rhbz#1980715
- switched to the configparser from the configobj
resolves: rhbz#1936386
- spec: do not require subscription-manager on CentOS
resolves: rhbz#2029405
* Wed Jul 21 2021 Jaroslav Škarvada <[email protected]> - 2.16.0-1
- new release
- rebased tuned to latest upstream
related: rhbz#1936426
* Wed Jul 7 2021 Jaroslav Škarvada <[email protected]> - 2.16.0-0.1.rc1
- new release
- rebased tuned to latest upstream
resolves: rhbz#1936426
- realtime: "isolate_managed_irq=Y" should be mentioned in
"/etc/tuned/realtime-virtual-*-variables.conf"
resolves: rhbz#1817827
- realtime: changed tuned default to "isolcpus=domain,managed_irq,X-Y"
resolves: rhbz#1820626
- applying a profile with multiple inheritance where parents include a common
ancestor fails
resolves: rhbz#1825882
- failure in moving i40e IRQ threads to housekeeping CPUs from isolated CPUs
resolves: rhbz#1933069
- sort network devices before matching by regex
resolves: rhbz#1939970
- net: fixed traceback while adjusting the netdev queue count
resolves: rhbz#1943291
- net: fixed traceback if the first listed device returns netlink error
resolves: rhbz#1944686
- realtime: improve verification
resolves: rhbz#1947858
- bootloader: add support for the rpm-ostree
resolves: rhbz#1950164
- net: fixed traceback if a device channel contains n/a
resolves: rhbz#1974071
- mssql: updated the profile
resolves: rhbz#1942733
- realtime: disabled kvm.nx_huge_page kernel module option in
realtime-virtual-host profile
resolves: rhbz#1976825
- realtime: explicitly set 'irqaffinity=~<isolated_cpu_mask>' in kernel
command line
resolves: rhbz#1974820
- scheduler: added abstraction for the sched_* and numa_* variables which
were previously accessible through the sysctl
resolves: rhbz#1952687
- recommend: fixed wrong profile on ppc64le bare metal servers
resolves: rhbz#1959889
* Thu Dec 17 2020 Jaroslav Škarvada <[email protected]> - 2.15.0-1
- new release
- rebased tuned to latest upstream
related: rhbz#1874052
* Tue Dec 1 2020 Jaroslav Škarvada <[email protected]> - 2.15.0-0.1.rc1
- new release
- rebased tuned to latest upstream
resolves: rhbz#1874052
- added plugin service for linux services control
resolves: rhbz#1869991
- scheduler: added default_irq_smp_affinity option
resolves: rhbz#1896348
- bootloader: skip boom managed BLS snippets
resolves: rhbz#1901532
- scheduler: added perf_process_fork option to enable processing of fork
resolves: rhbz#1894610
- scheduler: added perf_mmap_pages option to set perf buffer size
resolves: rhbz#1890219
- bootloader: fixed cmdline duplication with BLS and grub2-mkconfig
resolves: rhbz#1777874
* Mon Jun 15 2020 Jaroslav Škarvada <[email protected]> - 2.14.0-1
- new release
- rebased tuned to latest upstream
related: rhbz#1792264
* Mon Jun 8 2020 Jaroslav Škarvada <[email protected]> - 2.14.0-0.1.rc1
- new release
- rebased tuned to latest upstream
resolves: rhbz#1792264
- oracle: turned off NUMA balancing
resolves: rhbz#1782233
- man: documented the possibility to apply multiple profiles
resolves: rhbz#1794337
- cpu-partitioning: disabled kernel.timer_migration
resolves: rhbz#1797629
- profiles: new profile optimize-serial-console
resolves: rhbz#1840689
- added support for a post-loaded profile
resolves: rhbz#1798183
- plugins: new irqbalance plugin
resolves: rhbz#1784645
- throughput-performance: added architecture specific tuning for Marvell ThunderX
resolves: rhbz#1746961
- throughput-performance: added architecture specific tuning for AMD
resolves: rhbz#1746957
- scheduler: added support for cgroups
resolves: rhbz#1784648
* Wed Dec 11 2019 Jaroslav Škarvada <[email protected]> - 2.13.0-1
- new release
- rebased tuned to latest upstream
related: rhbz#1738250
- sap-hana: updated tuning
resolves: rhbz#1779821
- latency-performance: updated tuning
resolves: rhbz#1779759
- added sst profile
resolves: rhbz#1743879
* Sun Dec 1 2019 Jaroslav Škarvada <[email protected]> - 2.13.0-0.1.rc1
- new release
- rebased tuned to latest upstream
resolves: rhbz#1738250
- cpu: fixed checking if EPB is supported
resolves: rhbz#1690929
- scheduler: fixed IRQ SMP affinity verification to respect ignore_missing
resolves: rhbz#1729936
- realtime: enabled ktimer_lockless_check
resolves: rhbz#1734096
- plugins: support cpuinfo_regex and uname_regex matching
resolves: rhbz#1748965
- sysctl: made reapply_sysctl ignore configs from /usr
resolves: rhbz#1759597
- added support for multiple include directives
resolves: rhbz#1760390
- realtime: added nowatchdog kernel command line option
resolves: rhbz#1767614
* Thu Jun 27 2019 Jaroslav Škarvada <[email protected]> - 2.12.0-1
- new release
- rebased tuned to latest upstream
related: rhbz#1685585
* Wed Jun 12 2019 Jaroslav Škarvada <[email protected]> - 2.12.0-0.1.rc1
- new release
- rebased tuned to latest upstream
resolves: rhbz#1685585
- sap-netweaver: changed values of kernel.shmall and kernel.shmmax to RHEL-8 defaults
resolves: rhbz#1708418
- sap-netweaver: changed value of kernel.sem to RHEL-8 default
resolves: rhbz#1701394
- sap-hana-vmware: dropped profile
resolves: rhbz#1715541
- s2kb function: fixed to be compatible with python3
resolves: rhbz#1684122
- do fallback to the powersave governor (balanced and powersave profiles)
resolves: rhbz#1679205
- added support for negation of CPU list
resolves: rhbz#1676588
- switched from sysctl tool to own implementation
resolves: rhbz#1666678
- realtime-virtual-host: added tsc-deadline=on to qemu cmdline
resolves: rhbz#1554458
- fixed handling of devices that have been removed and re-attached
resolves: rhbz#1677730