Thread (133 messages) 133 messages, 19 authors, 2007-02-27

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

From: Pavel Machek <hidden>
Date: 2006-09-12 08:33:28
Also in: lkml

Hi!
quoted
quoted
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help