Re: IRQ Routing. [A 2.6 question about smp irq balancing]

From: Paul
Date: Tue Oct 21 2003 - 01:00:08 EST


"Martin J. Bligh" <mbligh@xxxxxxxxxxx>, on Mon Oct 20, 2003 [07:23:44 AM] said:
> > Are their any linux tools to allow the user to view irq routing details,
> > and maybe change the routing after boot ?
> >
> > This might be useful in special cases.
>
> Yeah, "cat /proc/interrupts" and
> "echo <cpu_bitmask> > /proc/irq/<number>/smp_affinity"
>
> M.

Hi;

Here is my /proc/interrupts for 2.6.0-test6:

CPU0 CPU1
0: 10442 1795758405 IO-APIC-edge timer
1: 737209 0 IO-APIC-edge i8042
2: 0 0 XT-PIC cascade
3: 517 1 IO-APIC-edge serial
4: 100488033 1 IO-APIC-edge serial
5: 0 0 IO-APIC-edge eth0
8: 2 0 IO-APIC-edge rtc
12: 1626560 1 IO-APIC-edge i8042
14: 8988748 8 IO-APIC-edge ide0
15: 377275 1 IO-APIC-edge ide1
16: 1364704 2 IO-APIC-level eth1
17: 857789 144630 IO-APIC-level eth2
19: 165579 1 IO-APIC-level Ensoniq AudioPCI
NMI: 1795768424 1795763795
LOC: 1795877980 1795878044
ERR: 0
MIS: 351

Now, on 2.4 kernels, both columns are about even.
Upon noticing this, I tried to get more interrupts on cpu1.
You can see I got some on eth2, by running many 'ping -f's at the
same time. I havent been able to get anything more out of ide[01]
for cpu1, even though Ive run many -j4 compiles of huge packages,
which coincided with other things that bring my load up to 8+ over
the course of 20 days of uptime. /proc/irq/<num>/smp_affinity
is 3 (ie. both cpus) for all <num>. I was able to induce interrupts
on cpu1 for ide0 by setting it to 2.
Ok, my question is, is this how it is supposed to be?
I ask because I am seeing a throughput decrease on 2.6 v 2.4
on hdparm -t, bonnie, kernel compile benchmarks, though interactivity
seems to be better.

Paul
set@xxxxxxxxx
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/