From catalin@cs.toronto.edu Tue Oct 14 10:02:07 2003 Date: Mon, 6 Oct 2003 16:20:37 -0400 From: Catalin Drula To: Winnie Ka Tsang , David Kar-Fai Tam Subject: Re: Dynamic-voltage scaling on PDAs (project) (fwd) Hey guys, I am forwarding the answers from the Linux cpufreq folks. The good news are that what we are planning to do is "really interesting". So maybe we can write one of those "cpufreq governor" things and have our project actually turn into something useful in the real world. I am not sure about PDA's with dynamic voltage support yet. I will post my question on the cpufreq mailing list as suggested by these people. My laptop which has Pentium 4 - Mobile has two level of voltage (I am not sure what the voltages are, but the associated frequencies are 1.6GHz and 1.2GHz). Do you think Eyal (or his research group etc.) might have a Crusoe-based laptop that we could test our stuff on? I'll keep you posted, Catalin ---------- Forwarded message ---------- Date: Mon, 6 Oct 2003 13:53:08 -0400 From: Dominik Brodowski To: Catalin Drula Subject: Re: Dynamic-voltage scaling on PDAs (project) Hi, On Mon, Oct 06, 2003 at 12:24:23PM -0400, Catalin Drula wrote: > Hi, > > my name is Catalin Drula and I am a Master's student in Computer Science > at the University of Toronto in Canada. I am doing a project with two > other classmates for our course "Mobile and Pervasive Computing". The > theme of this research project is quantifying the energy-savings of using > a scheduler with dynamic-voltage scaling support. We were planning to do > this on a PDA (handheld computer) by modifying the Linux kernel scheduler. This sounds really interesting. And I think you can use at least parts of the "cpufreq" code in the Linux kernel for doing so: basically, what you're writing is what I called "cpufreq governor" in that contect. Currently there are only static "governors", but the basic idea is: A "cpufreq governor" decides which speed to set on a CPU by calling cpufreq_driver_target(). So your scheduler modification could in fact be a cpufreq governor. If you use this already existing infrastructure, as well as modifications necessary for your use, the chances are quite good that the results of your master thesis may be merged back into the Linux kernel -- if you want to. Only (slight) problem: the cpufreq_governor interface is only available if the governor is put under the Gnu Public License, too. Also, if you have any questions with regard to the Linux cpufreq code, feel free to ask me directly and/or the other, more experienced developers subscribed to the list cpufreq@www.linux.org.uk > Do you know of any PDAs/architectures which support dynamic-voltage > scaling? > > From our investigations, only Transmeta's Crusoe and Intel's XScale > processors seem to have voltage scaling. However, we do not think that > there are any PDAs based on Crusoe. The XScale seems to need support from > the board for voltage-scaling, support which is probably lacking in PDAs. Actually, I think XScale PDAs likely implement dynamic voltage scaling as it lengthens the usage time so much. Unfortunately, I do not know any dynamic-voltage-scaling capable PDA supported by Linux. However, you might have more luck asking this question on cpufreq@www.linux.org.uk as some subscribers work in the embedded market. Also, both the ARM Integrator and the StrongARM SA1100 and SA1110 CPUs might have dynamic voltage scaling support [the CPUs support it, again it's a question of the board IIRC]; so keep your eyes open for these CPUs too. Good luck for your project! Dominik