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