So Linux kernel 2.6.21 is finally out and all the buzz is about the Tickless Kernel patches. Wanting to drink the kool aid, I downloaded the freshly released gentoo-sources. Unfortunately, it looks like amd64 support has not yet made it in.
I pulled some numbers on my main workstation, a dual Opteron machine. The first command lists the number of interrupts. You'll notice that the 'timer' interrupt is primarily firing on CPU1. Below this is the output of `sensors`. Here you can see CPU1, again which 'timer' is firing, is running about 13°F higher than CPU0. These numbers are pretty consistent when I let the machine idle, so I am going to postulate that the timer interrupt is responsible for the thermal difference. It will be interesting to revisit the issue once amd64 support is added to CONFIG_NO_HZ, and I will post as soon as the results are in.
kev009@kev-ws-amd64 ~ $ cat /proc/interrupts
0: 969 9294483 IO-APIC-edge timer
1: 10545 28 IO-APIC-edge i8042
6: 0 3 IO-APIC-edge floppy
7: 0 0 IO-APIC-edge parport0
8: 0 0 IO-APIC-edge rtc
9: 0 2 IO-APIC-fasteoi acpi
12: 5 127 IO-APIC-edge i8042
15: 276725 718 IO-APIC-edge ide1
16: 746315 1666 IO-APIC-fasteoi ehci_hcd:usb1, nvidia
17: 59746 5990 IO-APIC-fasteoi libata
18: 282186 1581 IO-APIC-fasteoi ohci_hcd:usb2
19: 0 0 IO-APIC-fasteoi ohci_hcd:usb3
26: 280054 128 IO-APIC-fasteoi EMU10K1
28: 355905 111 IO-APIC-fasteoi eth0
38: 0 15 IO-APIC-fasteoi aic79xx
39: 160124 1762 IO-APIC-fasteoi aic79xx
NMI: 2068 1916
LOC: 9294591 9294562
kev009@kev-ws-amd64 ~ $ sensors -f
Adapter: PCI adapter
Adapter: PCI adapter
My x86 server was a bit more evenhanded with its interrupts, so I can't do a thermal comparison like the above. So throwing caution to the wind I compiled a pair of 2.6.21 kernels: one with CONFIG_NO_HZ and CONFIG_HIGH_RES_TIMERS, and the other without. Armed with a kill-a-watt meter, it's time to see if there is any empirical evidence on power usage.
Tickless/High Res: 98-101 ~100VA
250Hz Tick/"Low Res": 99-103 ~102VA
With this hardware (IBM x330, dual 1GHz PIII, ServerWorks OSB4 chipset) I see about a 1-2 volt-ampere average drop.
I'd be interested in seeing others results, particularly on mobile hardware. Many laptops have a current discharge sensor that could be used to monitor and measure the difference. I suspect that the difference would be more noticeable if you run a 1000Hz tick as well. Please leave a comment or trackback with your thoughts and results.