Messages in this thread | | | Date | Wed, 26 Sep 2018 18:51:07 +0100 | From | Patrick Bellasi <> | Subject | Re: [PATCH v4 14/16] sched/core: uclamp: request CAP_SYS_ADMIN by default |
| |
Hi Peter,
On 21-Sep 11:13, Peter Zijlstra wrote: > On Mon, Sep 17, 2018 at 01:27:23PM +0100, Patrick Bellasi wrote:
[...]
While going back to one of our previous conversation, I noted these comments:
> > Thus, the capacity of little CPUs, or the exact capacity of an OPP, is > > something we don't care to specify exactly, since:
[...]
> > - certain platforms don't even expose OPPs, but just "performance > > levels"... which ultimately are a "percentage" > > Well, the whole capacity thing is a 'percentage', it's just that 1024 is > much nicer to work with (for computers) than 100 is (also it provides a > wee bit more resolution).
Here above I was referring to the Intel's HWP support [1], specifically at the:
Ability of HWP to allow software to set an energy/performance preference hint in the IA32_HWP_REQUEST MSR.
which is detailed in section "14.4.4 Managing HWP".
The {Minimum,Maximum}_Performance registers represent what I consider the best semantics for UtilClamp.
In the HWP case we use 256 range values, and thus for UtilClamp as well it would make more sense to use a 1024 scale as suggested by Peter, even just to have a bit more room, while still considering the clamp values _as a percentage_, with just one decimal digit of resolution
I think the important bit here is the abstraction between what we the user can require and what the platform can provided.
If HWP does not allow the OS to pinpoint a specific frequency, why should a user-space interface be designed to pinpoint a specific capacity ?
Can we find here a common ground around the idea that UtilClamp values represent a 1024 range percentage of minimum/maximum performance expected by a task ?
Would be really nice to know what Rafael thing about all that...
Cheers Patrick
[1] https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-3b-part-2-manual.pdf
-- #include <best/regards.h>
Patrick Bellasi
| |