[haiku-development] Re: [gsoc proposal] add cpuidle support to haiku

Hi,

On Thu, Apr 5, 2012 at 10:55 PM, Yongcong Du <ycdu.vmcore@xxxxxxxxx> wrote:
> Dear list,
>
> Here is my gsoc proposal, would you please help to review it? I will submit
> it tomorrow morning.
>
> Introduce yourself
> I began to use Linux 6 years ago and FreeBSD 3 years ago. I'm familiar with
> c/c++ programing language. Two years ago, I began to reading the source code
> of Linux kernel and write some interesting kernel modules. During one of my
> internship period, I implemented the Linux cpufreq and cpuidle drivers for
> one arm SoC
>
> In my spare time, I like to dig into Linux and NetBSD kernel source. The
> interesting operating system areas to me are memory management, process
> schedule.
>
>
> why I choose haiku?
> *newbie friendly and repose quickly community
> I can always get exact answers and detailed information from
> haiku-development mailing list or IRC
> *lightweight
> the typical installation only occupies ~180MB
>
>
> Project Proposal
> *Title
> add cpuidle support to haiku
>
> *Description
> In modern Operating Systems, power efficiency is one of the important areas.
> Many OSs make use of both Macro and Micro technology to improve its power
> efficiency. The former includes suspend to ram, suspend to disk etc. The
> later includes the so called tickless, cpufreq and cpuidle. Generally
> speaking, cpufreq is used to change the clock speed of the CPUs based on
> system load while cpuidle is used to put CPU into deeper idle stage(for
> example, C2, C3 stage on x86) when idle.
>
> Currently, haiku lacks of deeper CPU idle stage support. For example, on x86
> during idle haiku only calls hlt instruction[1] which put CPU into C1 stage.
> This project will add cpuidle support to haiku, including platform and
> driver independent framework and platform dependent drivers. This project
> will haiku in power efficiency and will extends laptop's battery life under
> haiku.

To improve your proposal, I suggest giving a more precise overview of
the parts that you will need to change. In which modules will you need
to update the code?

N>

Other related posts: