Re: cpufreq terminally broken [was Re: community PM requirements/issues and PowerOP]

Pavel Machek
2006-09-12T08:33:28Z

Hi!

> > > >No, there is reason to keep that in kernel -- so that cpufreq
> > > >userspace interface can be kept, and so that resulting kernel<->user
> > > >interface is not ugly.
> > > Cpuferq defines cpufreq_frequency_table structure in arch independent
> > > header while it's arch dependent data structure. A lot of code is built
> > > around this invalid basic brick and therefore is invalid: cpufreq tables,
> > > interface with cpu freq drivers, etc. Notion of transition latency as it
> > > defined by cpufreq is wrong because it's not a function of cpu type but
> > > function of current and next operating point. no runtime control on
> > > operating points set. it's always the same set of operating points for all
> > > system cpus in smp case and no way to define different sets or track any
> > > dependencies in case say multi core cpus. insufficient kernel<->user space
> > > interface to handle embedded requirements and no way to extend it within
> > > current design. Shall I continue? Why should then anyone want to keep
> > > cpufreq userspace interface just due to keep it?
> >
> > Yes, please continue. I do not think we can just rip cpufreq interface
> > out of kernel, and I do not think it is as broken as you claim it
> > is. Ripping interface out of kernel takes years.
> >
> > I'm sure cpufreq_frequency_table could be moved to asm/ header if you
> > felt strongly about that.
> >
> > I believe we need to fix cpufreq if it is broken for embedded
> > cases.
>
> cpufreq is broken at the cpufreq_driver interface for embedded
> applications needing control over more than one control variable at a
> time.
>
> That interface only supports setting target frequencies, and expanding it
> to set target frequencies and voltages is not possible without something
> like PowerOP. Adding the types of parameters to cpufreq would likely
> make cpufreq a mess.

Can we at least try adding that, before deciding cpufreq is unsuitable
and starting new interface? I do not think issues are nearly as big as
you think.. (at user<->kernel interface level, anyway; you'll need big
changes under the hood).
Pavel

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html