kernel version 2.6.11-12 : Apic fires less often on Intel quad Cores x5355 than on other platforms

From: Jeff Bloom
Date: Thu Aug 23 2007 - 15:05:26 EST


Problem: The local apic interrupt fires less often on a Quad core x5355
Intel Xeon CPU 2.67GHz
than on an Intel 3.2GHz Xeon system running the same kernel
version 2.6.11.12

Description: Specifically the local apic fires 984 times a second on the Quad
core and 1000 times on the 3.2GHz Xeon.
The expected result is to have both platforms
receive the apic
interrupt 1000 times a second.

Question: Are there any isolated apic patches which may account for
this behaviour? Some obscure errata for this apic configured
with a different divisor?

I certainly see some rework in 2.6.22 kernels apic.c but I'm not sure
it addresses this issue specifically.

Has anyone else encountered this issue?

Detailed info below: (dmesg kernel command line with apic=verbose)

3.2GHz:
calibrating APIC timer ...
..... CPU clock speed is 3191.0619 MHz.
..... host bus clock speed is 199.0476 MHz.

2.67GHz Quad Core:
calibrating APIC timer ...
..... CPU clock speed is 2659.0967 MHz.
..... host bus clock speed is 332.0495 MHz.



Validation of what I'm seeing below:
test 1: running /proc/stat; sleep 1; /proc/stat
3.2GHz:
cpu 607 5 487 5620413 1974 25 89 0 <- 1st reading
cpu 607 5 487 5620815 1974 26 89 0 <- 2nd reading
delta 402/(4 cpus) = 100.5 <- Adding up deltas (mostly from idle time)
2.67Ghz: (Quad core)
cpu 391 1 354 12566716 1028 24 42 0
cpu 391 1 354 12567503 1028 24 42 0
delta 787/(8 cpus) = 98.38

I also see the same result looking at LOC in the /proc/interrupts
which confirm 984 interrupts instead of the expected 1000.

cat /proc/interrupts |grep LOC; sleep 1; cat /proc/interrupts |grep LOC
<inserting cpu labels>
CPU0 CPU1 CPU2 CPU3 CPU4
CPU5 CPU6 CPU7
LOC: 15900999 15901079 15900473 15901014 15901027 15901077
15901022 15901022

LOC: 15901983 15902063 15901457 15901998 15902011 15902061
15902006 15902006

Following CPU0(15901983-15900999) = 984
The deltas show the apic interrupt interval must not be setup properly
on the Quad Xeon core.

Thanks for any information you can provide.
If you need more information: lspci, full dmesg, etc please let me know.
- Jeff Bloom
-
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/