Pavel Machek wrote:
When a VCPU enters its idle loop, it disables its periodic
alarm and sets up a one shot alarm for the next time event.
That way, it does not become ready to run just to service
the periodic alarm interrupt. Instead, it can remain halted
until there is some real work pending for it. This allows
the hypervisor to use the physical resources more
effectively since idle VCPUs will have lower overhead.
Does this NO_IDLE_HZ work only on VMI-enabled runs or globally? We are
trying to get NO_IDLE_HZ working to save some power on notebooks; how
is it related to this?
The NO_IDLE_HZ implementation provided here is enabled when the
VMI-Timer device is used as the timer interrupt source. The VMI-Timer
device is only present on paravirtual hardware.
However, the hooks introduced into the kernel (stop_hz_timer,
restart_hz_timer) with these patches will be approximately the same
(perhaps a subset) for implementing NO_IDLE_HZ on systems that use other
Can you use NO_IDLE_HZ patches that are already floating around?
Certainly we plan to merge our NO_IDLE_HZ implementation with those
patches once they are stabilized in the kernel. Presently, they seem to
be too fast of a moving target to be worth merging at this point,
though. Additionally, the VMI-Timer NO_IDLE_HZ implementation does not
need all the machinery provided with the NO_IDLE_HZ patches that are
floating around because the VMI-Timer code does not track time by
counting interrupts. This leads to a fairly simplistic NO_IDLE_HZ
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Video 4 Linux]
[Linux for the blind]