def set_irq_columns(self, iter, irq, irq_info, nics): new_value = [None] * self.nr_columns users = tuna.get_irq_users(self.irqs, irq, nics) if self.has_threaded_irqs: irq_re = tuna.threaded_irq_re(irq) pids = self.ps.find_by_regex(irq_re) if pids: pid = pids[0] prio = int(self.ps[pid]["stat"]["rt_priority"]) sched = schedutils.schedstr(schedutils.get_scheduler(pid))[6:] else: sched = "" pid = -1 prio = -1 new_value[self.COL_PID] = pid new_value[self.COL_POL] = sched new_value[self.COL_PRI] = prio new_value[self.COL_NUM] = irq new_value[self.COL_AFF] = tuna.get_irq_affinity_text(self.irqs, irq) new_value[self.COL_EVENTS] = reduce(lambda a, b: a + b, irq_info["cpu"]) new_value[self.COL_USERS] = ",".join(users) gui.set_store_columns(self.list_store, iter, new_value)
def __init__(self, irqs, ps, irq, gladefile): self.irqs = irqs self.ps = ps self.irq = irq self.window = gtk.glade.XML(gladefile, "set_irq_attributes", "tuna") self.dialog = self.window.get_widget("set_irq_attributes") pixbuf = self.dialog.render_icon(gtk.STOCK_PREFERENCES, gtk.ICON_SIZE_SMALL_TOOLBAR) self.dialog.set_icon(pixbuf) event_handlers = { "on_irq_affinity_text_changed": self.on_irq_affinity_text_changed, "on_sched_policy_combo_changed": self.on_sched_policy_combo_changed } self.window.signal_autoconnect(event_handlers) self.sched_pri = self.window.get_widget("irq_pri_spinbutton") self.sched_policy = self.window.get_widget("irq_policy_combobox") self.affinity = self.window.get_widget("irq_affinity_text") text = self.window.get_widget("irq_text") users = tuna.get_irq_users(irqs, irq) self.affinity_text = tuna.get_irq_affinity_text(irqs, irq) irq_re = tuna.threaded_irq_re(irq) pids = self.ps.find_by_regex(irq_re) if pids: pid = pids[0] prio = int(ps[pid]["stat"]["rt_priority"]) self.create_policy_model(self.sched_policy) self.sched_policy.set_active(schedutils.get_scheduler(pid)) self.sched_pri.set_value(prio) text.set_markup("IRQ <b>%u</b> (PID <b>%u</b>), pri <b>%u</b>, aff <b>%s</b>, <tt><b>%s</b></tt>" % \ ( irq, pid, prio, self.affinity_text, ",".join(users))) else: self.sched_pri.set_sensitive(False) self.sched_policy.set_sensitive(False) text.set_markup("IRQ <b>%u</b>, aff <b>%s</b>, <tt><b>%s</b></tt>" % \ ( irq, self.affinity_text, ",".join(users))) self.affinity.set_text(self.affinity_text)
def __init__(self, irqs, ps, irq, gladefile): self.irqs = irqs self.ps = ps self.irq = irq self.window = gtk.glade.XML(gladefile, "set_irq_attributes", "tuna") self.dialog = self.window.get_widget("set_irq_attributes") pixbuf = self.dialog.render_icon(gtk.STOCK_PREFERENCES, gtk.ICON_SIZE_SMALL_TOOLBAR) self.dialog.set_icon(pixbuf) event_handlers = { "on_irq_affinity_text_changed" : self.on_irq_affinity_text_changed, "on_sched_policy_combo_changed": self.on_sched_policy_combo_changed } self.window.signal_autoconnect(event_handlers) self.sched_pri = self.window.get_widget("irq_pri_spinbutton") self.sched_policy = self.window.get_widget("irq_policy_combobox") self.affinity = self.window.get_widget("irq_affinity_text") text = self.window.get_widget("irq_text") users = tuna.get_irq_users(irqs, irq) self.affinity_text = tuna.get_irq_affinity_text(irqs, irq) irq_re = tuna.threaded_irq_re(irq) pids = self.ps.find_by_regex(irq_re) if pids: pid = pids[0] prio = int(ps[pid]["stat"]["rt_priority"]) self.create_policy_model(self.sched_policy) self.sched_policy.set_active(schedutils.get_scheduler(pid)) self.sched_pri.set_value(prio) text.set_markup("IRQ <b>%u</b> (PID <b>%u</b>), pri <b>%u</b>, aff <b>%s</b>, <tt><b>%s</b></tt>" % \ ( irq, pid, prio, self.affinity_text, ",".join(users))) else: self.sched_pri.set_sensitive(False) self.sched_policy.set_sensitive(False) text.set_markup("IRQ <b>%u</b>, aff <b>%s</b>, <tt><b>%s</b></tt>" % \ ( irq, self.affinity_text, ",".join(users))) self.affinity.set_text(self.affinity_text)
def set_irq_columns(self, iter, irq, irq_info, nics): new_value = [ None ] * self.nr_columns users = tuna.get_irq_users(self.irqs, irq, nics) if self.has_threaded_irqs: irq_re = tuna.threaded_irq_re(irq) pids = self.ps.find_by_regex(irq_re) if pids: pid = pids[0] prio = int(self.ps[pid]["stat"]["rt_priority"]) sched = schedutils.schedstr(schedutils.get_scheduler(pid))[6:] else: sched = "" pid = -1 prio = -1 new_value[self.COL_PID] = pid new_value[self.COL_POL] = sched new_value[self.COL_PRI] = prio new_value[self.COL_NUM] = irq new_value[self.COL_AFF] = tuna.get_irq_affinity_text(self.irqs, irq) new_value[self.COL_EVENTS] = reduce(lambda a, b: a + b, irq_info["cpu"]) new_value[self.COL_USERS] = ",".join(users) gui.set_store_columns(self.list_store, iter, new_value)