Frequently Asked Questions

line

Top FAQ

What is tickless, how does it work?
To explain this I need to go back 15 years in time; at that time a PC had only the PIT timer chip, which was good at doing a periodic interrupt. Basically all operating systems started using this periodic timer (since it was there) to do their "perform this action X milliseconds in the future" functionality. So every time the PIT created an interrupt, the OS would check the queue of "future work" for stuff to be done, and there was something, it would do that work. If there is no work (which is the common case), it was no big deal; the hardware of the time didn't have a huge penalty for this.

Now, fast forward 15 years, PC's have more options for timer chips, notably the HPET chip and the local APIC timer. These two chips can be used more easily in a flexible manner. Another thing that changed is that the current processors have a lot of power saving features that kick in if there is no work to do; doing this kind of regular "no-work" really hurts. So this is where tickless comes in. On the surface, it's a really simple concept: Instead of doing the "interrupt every 1 millisecond" thing, Linux looks at the future works and sets the hardware to fire an interrupt exactly at the right time... and conceptually it really is that simple. It just took a long time since over those 15 years, Linux grew several assumptions about the presence of the regular tick interrupt that had to be weeded out, and in addition various funky hardware and BIOS issues had to be weeded out.

How can I detect whether any application is doing polling when it is supposed to be idle?
Powertop is the utility that points to the application using periodic timers. 'strace' utility can also be used to see whether the application is really idle when it is supposed to be idle.

What is sched_mc_power_savings?
sched_mc_power_savings is a Linux kernel process scheduler tunable. This tunable is exported on a multi-socket, multi-core system under /sys/devices/system/cpu/. This tunable having a value of 0 will mean that the scheduler (at core level) will be optimized for performance and a value of 1 will mean that the scheduler will be optimized for power savings.

Why is "ondemand" kernel's CPU governor more efficient than the "conservative" one (or than manually lowering CPU freq)?
At lower freqs, your CPU may take more time to execute heavy tasks, so will spend less time in idle (power saving) state. The "ondemand" governor solves this by elevating the CPU to full speed when needed, so it can go back to idle state quickly.

Does cpufreq affect processor utilization information in 'top'?
Yes. With cpufreq active and processor frequency being changed at run time, 'top' can no longer be used to measure the utilization of the platform. For example, if top reports that the cpus are 50% utilized, the cpu may infact be running at half the maximum frequency and actual utilization at full frequency will be much less than 50%.

What is framebuffer compression? How can I maximize my power savings when using it?
Intel mobile graphics devices (e.g. 965GM, 945GM) have the ability to scan out the display from a compressed buffer. The hardware periodically compresses the real framebuffer using run length encoding (RLE) on each line. As long as a line hasn't been modified since it was last compressed, at each refresh period the hardware will use the compressed version, which reduces memory bus traffic, saving power. To maximize this benefit, it's best to have a desktop full of content easily compressible by RLE, like solid colors or gradients that don't vary along the X axis (since compression is done on a linewise basis).

What kernel options should I enable and disable inside the kernel?

Enable:

  • CONFIG_NO_HZ
  • CONFIG_HIGH_RES_TIMERS
  • CONFIG_HPET_TIMER
  • CONFIG_CPU_FREQ_GOV_ONDEMAND
  • CONFIG_USB_SUSPEND
  • CONFIG_SND_AC97_POWER_SAVE
  • CONFIG_TIMER_STATS

Disable:

  • CONFIG_IRQBALANCE
  • CONFIG_ACPI_DEBUG



 About | ISN | Intel is a trademark of Intel Corporation in the U.S. and other countries. | * Other names / brands may be claimed as the property of others