Red Hat Bugzilla – Bug 225313
Irqbalance simply exists without any error
Last modified: 2007-11-30 17:11:54 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:126.96.36.199) Gecko/20061208 Firefox/188.8.131.52
Description of problem:
After upgrading from stock irqbalance-1.13-4.fc6.x86_64 to irqbalance-0.55-2.fc6.x86_64 in updates it completely stopped working. IRQs are not balanced, and irqbalance exits very soon after starting. It doesn't even try to rebalance anything, just quits without any warning or error.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Execute /sbin/service irqbalance start or run /usr/sbin/irqbalance directly
ps aux | grep irqbalance shows that irqbalance has started. After a while, no irqbalance is running. /proc/interrupts shows that no irqs are balanced.
Running /sbin/irqbalance --debug produces output:
$ sudo /usr/sbin/irqbalance --debug
Package 0: cpu mask is 00000003 (workload 0)
Cache domain 0: cpu mask is 00000003 (workload 0)
CPU number 1 (workload 0)
CPU number 0 (workload 0)
[no output for some seconds]
Interrupt 16 (class ethernet) has workload 306
Interrupt 0 (class timer) has workload 2002
Interrupt 8 (class timer) has workload 0
Interrupt 19 (class storage) has workload 189
Interrupt 18 (class storage) has workload 104
Interrupt 23 (class legacy) has workload 0
Interrupt 21 (class legacy) has workload 0
Interrupt 12 (class legacy) has workload 0
Interrupt 9 (class legacy) has workload 0
Interrupt 7 (class legacy) has workload 0
Interrupt 1 (class legacy) has workload 0
[no output for some seconds]
IRQ delta is 3217
Package 0: cpu mask is 00000003 (workload 13080)
Cache domain 0: cpu mask is 00000003 (workload 13080)
CPU number 1 (workload 12085)
Interrupt 16 (ethernet/1448)
Interrupt 18 (storage/494)
Interrupt 21 (legacy/0)
Interrupt 9 (legacy/0)
Interrupt 1 (legacy/0)
CPU number 0 (workload 11133)
Interrupt 19 (storage/991)
Interrupt 23 (legacy/0)
Interrupt 12 (legacy/0)
Interrupt 7 (legacy/0)
Irqbalance should keep on running and balancing irqs. Downgrading to irqbalance-1.13 solves this problem.
are you running with selinux enabled? if so you need to update your selinux
targeted policy to reflect the new fileset that irqbalance accesses.
I have latest selinux packages (selinux-policy-2.4.6-27.fc6.noarch), and selinux
is disabled anyway ;)
then please run the above command under strace and attach the output file, as I
can run irqbalance here without it ever exiting
Created attachment 146912 [details]
irqbalance under strace
Here it its.
you appear to have only 1 physical cpu; in that case irqbalancing has only very
limited impact, and irqbalance just sets up a static balance and then exits as
(it can't do much good so it stops spending resources)
Well I do have only one physical cpu, but it's dual-core... (Core 2 Duo).
Doesn't that count as two separate ones?
not under the new irqbalance, no. IIRC, caches are shared in that configuration
meaning that irq's can be serviced on either core without cache line misses.
That's right (L1 caches are not shared, L2 cache is shared). However, doesn't
that mean that irq should be balanced without any fear of cache misses?
If current behavior is desired, so be it. I don't really care whether interrupts
are balanced or not.