Thread (26 messages) 26 messages, 4 authors, 2017-05-30

[PATCH v4 8/8] arm,arm64,drivers: add a prefix to drivers arch_topology interfaces

From: Juri Lelli <hidden>
Date: 2017-05-30 14:59:54
Also in: linux-devicetree, linux-pm, lkml

On 29/05/17 12:46, Dietmar Eggemann wrote:
On 05/29/2017 11:58 AM, Greg KH wrote:
quoted
On Mon, May 29, 2017 at 11:20:24AM +0200, Dietmar Eggemann wrote:
quoted
Hi Greg,

On 05/26/2017 08:36 PM, Greg KH wrote:
quoted
On Fri, May 26, 2017 at 11:10:32AM +0100, Juri Lelli wrote:
quoted
Hi,

On 25/05/17 15:18, Greg KH wrote:
quoted
On Thu, Apr 20, 2017 at 03:43:16PM +0100, Juri Lelli wrote:
[...]
quoted
quoted
quoted
But this is all really topology stuff, right?  Why use "capacity" at
all:
	topology_normalize_cpu()
	topology_parse_cpu()
	topology_scale_cpu()
	topology_set_scale()
?

It's always best to put the "subsystem" name first, we have a bad
history of getting this wrong in the past by putting the verb first, not
the noun.
[...]
quoted
quoted
quoted
Oh, and drop "capacity" please :)
[...]
quoted
I think that if you are creating an api that the scheduler will use, you
need to ask the scheduler maintainers/developers what they want to see
here, as that would be up to them, not me...
The scheduler API exists already. It is arch_scale_cpu_capacity() and
arch_scale_freq_capacity() in kernel/sched/sched.h. An arch is able to
overwrite these two functions by defining them (since commit 8cd5601c5060
and dfbca41f3479):

#define arch_scale_cpu_capacity 'arch implementation of capacity scaling by
micro-architectural + max frequency (OPPmax)'

#define arch_scale_freq_capacity 'arch implementation of capacity scaling by
'frequency ((OPPmin..OPPmax)'

There is no naming convention from the scheduler side on these functions
though. They should just express what they're doing, scaling capacity by
something.
So, discussing this naming with Morten off-line we seemed actually to
agree that the following might adhere even better to what the functions
actually do:

 topology_parse_cpu_capacity() - it parses the raw capacity-dmips-mhz
 values from DT; so it seems OK to leave capacity in the name here

 topology_set_cpu_scale() - it sets the per_cpu cpu_scale variable; so
 this name seems saner that the one with "_capacity"

 topology_get_cpu_scale() - dual of the previous one

 topology_normalize_cpu_scale() - it normalizes cpu_scale variables
 across the system CPUs (and calls topology_set_cpu_scale() to set the
 normalized values)

Greg, does this approack look saner to you as well?
If yes, I'll send a new version of the set shortly.

And, as I already said on IRC, apologies for this naming fight. :)

Thanks,

- Juri
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help