import tuna-0.16-5.el9

This commit is contained in:
CentOS Sources 2021-12-07 13:41:52 -05:00 committed by Stepan Oksanichenko
parent b8775742f8
commit 8d2126fcc1
4 changed files with 164 additions and 1 deletions

View File

@ -0,0 +1,49 @@
From c9d2fc624905cd0af96ee9f84317d562a042fe14 Mon Sep 17 00:00:00 2001
From: Leah Leshchinsky <lleshchi@redhat.com>
Date: Wed, 6 Oct 2021 13:21:50 -0400
Subject: [PATCH] tuna: Add distinction between --spread and --move to error
message
Currently, the command `tuna --cpus=CPU-LIST --spread` generates an
error with the warning "tuna: --move requires a list of threads/irqs!".
Similarly, when the command `tuna --threads=THREAD-LIST --spread` is
run, it generates the warning "tuna: --move requires a cpu list!".
This can be confusing to the user, especially with commands that use both
the "--spread" and "--move" flags. The warning should specify "--spread"
when that is the source of the error.
Check whether the argument is a move or spread and update the warning
string accordingly.
Signed-off-by: Leah Leshchinsky <lleshchi@redhat.com>
---
tuna-cmd.py | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/tuna-cmd.py b/tuna-cmd.py
index 8617966..8dfad9e 100755
--- a/tuna-cmd.py
+++ b/tuna-cmd.py
@@ -633,15 +633,14 @@ def main():
elif o in ("-n", "--show_sockets"):
show_sockets = True
elif o in ("-m", "--move", "-x", "--spread"):
+ spread = o in ("-x", "--spread")
if not cpu_list:
- print("tuna: --move " + _("requires a cpu list!"))
+ print("tuna: %s " % ("--spread" if spread else "--move") + _("requires a cpu list!"))
sys.exit(2)
if not (thread_list or irq_list):
- print("tuna: --move " + _("requires a list of threads/irqs!"))
+ print("tuna: %s " % ("--spread" if spread else "--move") + _("requires a list of threads/irqs!"))
sys.exit(2)
- spread = o in ("-x", "--spread")
-
if thread_list:
tuna.move_threads_to_cpu(cpu_list, thread_list, spread=spread)
--
2.27.0

View File

@ -0,0 +1,55 @@
From 532739e58bc36df820a1742489c744e7589221d0 Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
Date: Wed, 10 Nov 2021 15:58:44 -0500
Subject: [PATCH] tuna: Make it clear that include and isolate affects IRQs in
help
Make it clear in the online help (-h) and in the manpage
that
-i --isolate
-I --include
affects IRQs as well as threads
Signed-off-by: John Kacur <jkacur@redhat.com>
---
docs/tuna.8 | 4 ++--
tuna-cmd.py | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/docs/tuna.8 b/docs/tuna.8
index b6431be5e117..bd6299b5a771 100644
--- a/docs/tuna.8
+++ b/docs/tuna.8
@@ -26,10 +26,10 @@ Apply changes described in profile
List preloaded profiles
.TP
\fB\-i\fR, \fB\-\-isolate\fR
-Move all threads away from CPU\-LIST. Requires \fB\-c\fR or \fB-S\fR.
+Move all allowed threads and IRQs away from CPU\-LIST. Requires \fB\-c\fR or \fB-S\fR.
.TP
\fB\-I\fR, \fB\-\-include\fR
-Allow all threads to run on CPU\-LIST. Requires \fB\-c\fR or \fB-S\fR.
+Allow all allowed threads and IRQs to run on CPU\-LIST. Requires \fB\-c\fR or \fB-S\fR.
.TP
\fB\-m\fR, \fB\-\-move\fR
Move selected entities to CPU\-LIST. Requires \fB\-c\fR and either \fB-t\fR or \fB-q\fR.
diff --git a/tuna-cmd.py b/tuna-cmd.py
index 46ce86efa036..d209a2e89493 100755
--- a/tuna-cmd.py
+++ b/tuna-cmd.py
@@ -63,9 +63,9 @@ def usage():
_('Explicitly disable usage of perf in GUI for process view')))
print(fmt % ('-f, --filter',
_('Display filter the selected entities')))
- print(fmt % ('-i, --isolate', _('Move all threads away from %(cpulist)s') %
+ print(fmt % ('-i, --isolate', _('Move all allowed threads and IRQs away from %(cpulist)s') %
{"cpulist": _('CPU-LIST')}))
- print(fmt % ('-I, --include', _('Allow all threads to run on %(cpulist)s') %
+ print(fmt % ('-I, --include', _('Allow all allowed threads and IRQs to run on %(cpulist)s') %
{"cpulist": _('CPU-LIST')}))
print(fmt % ('-K, --no_kthreads',
_('Operations will not affect kernel threads')))
--
2.31.1

View File

@ -0,0 +1,40 @@
From 1dd72d9db74b063c8dd96f13701a14e299abc325 Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
Date: Thu, 28 Oct 2021 00:50:12 -0400
Subject: [PATCH 1/2] tuna: Print warning if setting affinity results in EBUSY
and continue
When trying to isolate a CPU, if a device uses SCHED_DEADLINE and admission
control is enabled, setting the affinity will result in the error EBUSY.
tuna should print a warning that this pid could not be moved, and
continue.
The user can either ignore the warning or use other measures to isolate
the cpu such as booting with isolcpus or turning off admission control
and rerunning the tuna isolate command and then turning admission
control back on.
Signed-off-by: John Kacur <jkacur@redhat.com>
---
tuna/tuna.py | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tuna/tuna.py b/tuna/tuna.py
index 591206d9b4e1..f25eb3d10923 100755
--- a/tuna/tuna.py
+++ b/tuna/tuna.py
@@ -360,6 +360,10 @@ def isolate_cpus(cpus, nr_cpus):
if err.args[0] == errno.EINVAL:
print("Function:", fname, ",", err.strerror, file=sys.stderr)
sys.exit(2)
+ if err.args[0] == errno.EBUSY:
+ comm = ps[pid].stat["comm"]
+ print(f'Warning: Unable to isolate pid {pid} [{comm}]')
+ continue
raise err
if "threads" not in ps[pid]:
--
2.31.1

View File

@ -1,6 +1,6 @@
Name: tuna
Version: 0.16
Release: 2%{?dist}
Release: 5%{?dist}
License: GPLv2
Summary: Application tuning GUI & command line utility
URL: https://git.kernel.org/pub/scm/utils/tuna/tuna.git
@ -14,6 +14,9 @@ Requires: python3-linux-procfs >= 0.6
# Requires: python-inet_diag
# Patches
Patch1: tuna-Print-warning-if-setting-affinity-results-in-EBUSY.patch
Patch2: tuna-Add-distinction-between-spread-and-move-to-erro.patch
Patch3: tuna-Make-it-clear-that-include-and-isolate-affects-IRQs.patch
%description
Provides interface for changing scheduler and IRQ tunables, at whole CPU and at
@ -26,6 +29,9 @@ installed.
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%build
%py3_build
@ -67,6 +73,19 @@ done
%{_datadir}/polkit-1/actions/org.tuna.policy
%changelog
* Thu Nov 11 2021 John Kacur <jkacur@redhat.com> - 0.16-5
- Make it clear in online help and man pages that --include and --isolate
affect IRQs as well as threads
Resolves: rhbz#2022142
* Tue Nov 02 2021 Leah Leshchinsky <lleshchi@redhat.com> - 0.16-4
- Add distinction between spread and move to error message
Resolves: rhbz#2012243
* Thu Oct 28 2021 John Kacur <jkacur@redhat.com> - 0.16-3
- Print warning if setaffinity causes EBUSY and continue
Resolves: rhbz#2016540
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 0.16-2
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688