|
|
75d4e5 |
From 9ac6c7acac23cf8d2311f1f066d2e17b808a1101 Mon Sep 17 00:00:00 2001
|
|
|
75d4e5 |
From: Petr Oros <poros@redhat.com>
|
|
|
75d4e5 |
Date: Wed, 4 Dec 2013 08:27:15 +0000
|
|
|
75d4e5 |
Subject: [PATCH] CLI: fix traceback where enter -p policy without prio
|
|
|
75d4e5 |
|
|
|
75d4e5 |
commit 443234bd24c794068a752d567bb7f4d903fbbaac upstream
|
|
|
75d4e5 |
Bugzilla: 1035794
|
|
|
75d4e5 |
|
|
|
75d4e5 |
Tuna throwing value error when not specified priority.
|
|
|
75d4e5 |
Example: tuna -t PID_OF_SOME_PROCESS -p OTHER
|
|
|
75d4e5 |
Here "other" not priority, but scheduler policy.
|
|
|
75d4e5 |
For RR and FIFO default 1. For OTHER and BATCH default 0.
|
|
|
75d4e5 |
After patch apply, tuna use first part of string as policy and remaining part as priority.
|
|
|
75d4e5 |
All unacceptable values cause exception in schedutils library and tuna show error
|
|
|
75d4e5 |
|
|
|
75d4e5 |
Tested-by: Jiri Kastner <jkastner@redhat.com>
|
|
|
75d4e5 |
Signed-off-by: Petr Oros <poros@redhat.com>
|
|
|
75d4e5 |
Signed-off-by: Jiri Kastner <jkastner@redhat.com>
|
|
|
75d4e5 |
Signed-off-by: John Kacur <jkacur@redhat.com>
|
|
|
75d4e5 |
---
|
|
|
75d4e5 |
tuna/tuna.py | 8 ++++++--
|
|
|
75d4e5 |
1 file changed, 6 insertions(+), 2 deletions(-)
|
|
|
75d4e5 |
|
|
|
75d4e5 |
diff --git a/tuna/tuna.py b/tuna/tuna.py
|
|
|
75d4e5 |
index 6dfe740..0feb521 100755
|
|
|
75d4e5 |
--- a/tuna/tuna.py
|
|
|
75d4e5 |
+++ b/tuna/tuna.py
|
|
|
75d4e5 |
@@ -490,10 +490,14 @@ def thread_set_priority(tid, policy, rtprio):
|
|
|
75d4e5 |
|
|
|
75d4e5 |
def threads_set_priority(tids, parm, affect_children = False):
|
|
|
75d4e5 |
parms = parm.split(":")
|
|
|
75d4e5 |
+ rtprio = 0
|
|
|
75d4e5 |
policy = None
|
|
|
75d4e5 |
- if len(parms) != 1:
|
|
|
75d4e5 |
+ if parms[0].upper() in ["OTHER", "BATCH", "IDLE", "FIFO", "RR"]:
|
|
|
75d4e5 |
policy = schedutils.schedfromstr("SCHED_%s" % parms[0].upper())
|
|
|
75d4e5 |
- rtprio = int(parms[1])
|
|
|
75d4e5 |
+ if len(parms) > 1:
|
|
|
75d4e5 |
+ rtprio = int(parms[1])
|
|
|
75d4e5 |
+ elif parms[0].upper() in ["FIFO", "RR"]:
|
|
|
75d4e5 |
+ rtprio = 1
|
|
|
75d4e5 |
else:
|
|
|
75d4e5 |
rtprio = int(parms[0])
|
|
|
75d4e5 |
|
|
|
75d4e5 |
--
|
|
|
75d4e5 |
1.8.1.4
|
|
|
75d4e5 |
|