All of lore.kernel.org
 help / color / mirror / Atom feed
* RFC: cpu frequency scaling
@ 2006-10-25 18:04 Rik van Riel
  2006-10-25 20:47 ` Keir Fraser
  0 siblings, 1 reply; 5+ messages in thread
From: Rik van Riel @ 2006-10-25 18:04 UTC (permalink / raw)
  To: xen-devel@lists.xensource.com

Right now, CPU frequency scaling in Xen does not work (right) for a
combination of reasons:
1) dom0 might not run on all physical CPUs
2) dom0 might not even have enough VCPUs to fill all physical CPUs
3) dom0 has no idea how busy the other guests are, so it does not
    know whether to scale the CPU frequencies up or down

I can see two ways to fix this:
1) move cpu frequency scaling into the hypervisor, since the hypervisor
    knows how busy all the guests are

2) make sure every physical CPU core has a dom0 VCPU pinned to it, and
    have dom0 poll the hypervisor to find out how busy each CPU is,
    scaling the frequencies of the CPUs as required

These approaches both have their drawbacks.  One requires porting over
a series of drivers from Linux to the hypervisor, maintaining two sets
into the future.  The second could mess up some of the credit
scheduler's balancing, and requires Linux modifications to poll the
hypervisor for the CPU load...

Also, it would mean the end of running a 1 vcpu small dom0, which some
people seem to like.

Which of these approaches would you prefer?

Is there a 3rd option?

-- 
Who do you trust?
The people with all the right answers?
Or the people with the right questions?

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-10-26 14:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-25 18:04 RFC: cpu frequency scaling Rik van Riel
2006-10-25 20:47 ` Keir Fraser
2006-10-25 21:13   ` Rik van Riel
2006-10-26 12:35     ` Petersson, Mats
2006-10-26 14:09       ` Keir Fraser

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.