Blame SOURCES/tuna-cpuview.py-Omit-offline-cpus-in-socket_ids-list.patch

6230d8
From 6e19631d5e5e27b28e02d0a3f612b95c56e9ba4c Mon Sep 17 00:00:00 2001
6230d8
From: John Kacur <jkacur@redhat.com>
6230d8
Date: Mon, 30 May 2016 12:57:44 +0200
6230d8
Subject: [PATCH] tuna: cpuview.py: Omit offline cpus in socket_ids list
6230d8
6230d8
sysfy.py inserts None for offline cpus in class cpus, method reload, via
6230d8
class cpu method reload.
6230d8
6230d8
This is potentially useful, so we don't want to change these classes.
6230d8
However in cpuview.py - class cpuview, we don't want to display these
6230d8
offline cpus, so we only need to recognize that the type None can be
6230d8
returned and then skip over it.
6230d8
6230d8
This fixes Bugzilla 1036156
6230d8
First detected on some ppc
6230d8
6230d8
./tuna-cmd.py
6230d8
Traceback (most recent call last):
6230d8
  File "./tuna-cmd.py", line 656, in <module>
6230d8
    main()
6230d8
  File "./tuna-cmd.py", line 650, in main
6230d8
    app = tuna_gui.main_gui(kthreads, uthreads, cpus_filtered)
6230d8
  File "/home/jkacur/tuna/tuna/tuna_gui.py", line 49, in __init__
6230d8
    self.procview, self.irqview, cpus_filtered)
6230d8
  File "/home/jkacur/tuna/tuna/gui/cpuview.py", line 253, in __init__
6230d8
    socket_ids = [ int(id) for id in self.cpus.sockets.keys() ]
6230d8
6230d8
Signed-off-by: John Kacur <jkacur@redhat.com>
6230d8
---
6230d8
 tuna/gui/cpuview.py | 7 ++++++-
6230d8
 1 file changed, 6 insertions(+), 1 deletion(-)
6230d8
6230d8
diff --git a/tuna/gui/cpuview.py b/tuna/gui/cpuview.py
6230d8
index 41a3d9bbbfc3..c84ecd739c70 100755
6230d8
--- a/tuna/gui/cpuview.py
6230d8
+++ b/tuna/gui/cpuview.py
6230d8
@@ -250,7 +250,12 @@ class cpuview:
6230d8
 		self.irqview = irqview
6230d8
 
6230d8
 		vbox = window.get_child().get_child()
6230d8
-		socket_ids = [ int(id) for id in self.cpus.sockets.keys() ]
6230d8
+                socket_ids = []
6230d8
+                for id in self.cpus.sockets.keys():
6230d8
+                    try:
6230d8
+                        socket_ids.append(int(id))
6230d8
+                    except TypeError: # Skip over offline cpus - type None
6230d8
+                        continue
6230d8
 		socket_ids.sort()
6230d8
 
6230d8
 		self.nr_sockets = len(socket_ids)
6230d8
-- 
6230d8
2.4.11
6230d8