Re: So, what's the status on the recent patches here?

Pavel Machek
2006-08-24T07:59:39Z

Hi!

> > > The userspace interface in Eungeny's patches is for other userspace
> > > programs (policy managers) to activate/deactivate valid operating points
> > > in the system dynamically and if necessary, introduce new ones into the
> > > system. It will also allow the operating points to be referenced by name
> > > instead of the tuple.
> > >
> > > Then, we will be able to use names like 'video', 'mp3', 'fast',
> > > 'powersave', 'usb' to switch to the relevant operating point based on
> > > configuration of the policy manager.
> >
> > This seems to be too specific to embedded machine.
> >
> > If userspace wants to work with usb and play mp3s at the same time,
> > what does it do?
>
> Switch to 'fast'?
>
> The operating point for a use-case specifies the _minimum_ required for
> the use-case. You can always go up.

> The system designer is responsible for 'designing' operating points that
> take into account multiple use-cases. Designing here refers to mapping
> use-cases to HW operating points.

Yes, and that's why I argue this is unsuitable for notebook: there are
just too many usecases for a notebook.

> Consider an example system with a main CPU and a DSP. To simplify
> discussion, lets assume 3 levels for CPU and DSP speeds and system
> voltage. Then, here is what an example operating-point to use-case
> mapping table could look like:
>
> # CPU speed DSP speed Voltage use-case
> ----------------------------------------------------------
> 1. high high high fast, video
> 2. med high high
> 3. med med med usb[1]
> 4. low med med mp3
> 5. low low low powersave
>
> [1] USB has voltage constraint (voltage >= med)

So... you take three independend parametrs and merge them into one,
named parameter. Bad idea.

What about simply having these parameters:

usb on or off

cpu speed (controlled by cpufreq)

dsp speed (controlled by userspace)

Then you can have infrastructure that is able to compute system
voltage from usb/cpu/dsp speed, and users stll have interface they can
understand.

(How are they supposed to know if video use case is compatible with
usb? They should not have to).

> - Now if we are playing mp3, we switch to OP 4.

Do you expect all mp3 playing applications to play with
/sys/.../powerop-point? How do you tell if mp3's are playing? These
are hard questions for a notebook.

> - Add usb and we switch to OP 3.
> - Now our performance monitor (e.g load avg) indicates that we need more
> CPU processing. So we switch to OP 2.

That's cpufreq job, please

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