All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dietmar Eggemann <dietmar.eggemann@arm.com>
To: Greg KH <gregkh@linuxfoundation.org>, Juri Lelli <juri.lelli@arm.com>
Cc: linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
	peterz@infradead.org, vincent.guittot@linaro.org,
	robh+dt@kernel.org, mark.rutland@arm.com, linux@arm.linux.org.uk,
	sudeep.holla@arm.com, lorenzo.pieralisi@arm.com,
	catalin.marinas@arm.com, will.deacon@arm.com,
	morten.rasmussen@arm.com, broonie@kernel.org
Subject: Re: [PATCH v4 8/8] arm,arm64,drivers: add a prefix to drivers arch_topology interfaces
Date: Mon, 29 May 2017 11:20:24 +0200	[thread overview]
Message-ID: <bcc2f8f1-e953-9f32-2aa2-e660b0351e0a@arm.com> (raw)
In-Reply-To: <20170526183610.GB16490@kroah.com>

Hi Greg,

On 05/26/2017 08:36 PM, Greg KH wrote:
> On Fri, May 26, 2017 at 11:10:32AM +0100, Juri Lelli wrote:
>> Hi,
>>
>> On 25/05/17 15:18, Greg KH wrote:
>>> On Thu, Apr 20, 2017 at 03:43:16PM +0100, Juri Lelli wrote:

[...]

>>> 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.
>>>
>>
>> topology_ works for me. However, I'd keep "capacity" in the names, as we
>> might need to topology_normalize_cpu_somethingelse() (etc.) in the
>> future?
> 
> Worry about the future, in the future.  Change the names then, _IF_ it
> becomes an issue.  Try to be short and simple please.
> 
>> Updated patch follows. I kept Catalin and Russell's acks as I only
>> renamed the functions, please shout if that's not OK.
>>
>> Greg, if you are fine with this approach, do you still want a complete
>> v5 of the set or can you pick this up?
> 
> Am I the one who is supposed to take all of these arm-specific patches?
> If so, that's fine, but I need to have acks from the arm maintainers...
> 
> Oh, and drop "capacity" please :)

Once we have driver/base/arch_topology.c in, we want to enable (cpu 
micro-architectural + max frequency (OPPmax)) invariant and frequency 
(OPPmin..OPPmax) invariant load-tracking/accounting in the task 
scheduler for arm and arm64.

The way to do this is to define the task scheduler interfaces 
arch_scale_cpu_capacity() and arch_scale_freq_capacity() in arch 
specific code:

#define arch_scale_cpu_capacity topology_scale_cpu_capacity
#define arch_scale_freq_capacity topology_scale_freq_capacity

In case an arch is not defining them, the default definitions in 
kernel/sched/sched.h are used.

So topology_scale_cpu() wouldn't be correct since we scale the 
_capacity_ by the micro-architectural differences (hence cpu) and not 
the cpu.

Likewise we will have a function topology_scale_freq_capacity indicating 
that we scale the capacity by the frequency.

Or would you prefer something like topology_scale_capacity_by_cpu() and 
topology_scale_capacity_by_freq()?

-- Dietmar

[...]

WARNING: multiple messages have this Message-ID (diff)
From: dietmar.eggemann@arm.com (Dietmar Eggemann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 8/8] arm,arm64,drivers: add a prefix to drivers arch_topology interfaces
Date: Mon, 29 May 2017 11:20:24 +0200	[thread overview]
Message-ID: <bcc2f8f1-e953-9f32-2aa2-e660b0351e0a@arm.com> (raw)
In-Reply-To: <20170526183610.GB16490@kroah.com>

Hi Greg,

On 05/26/2017 08:36 PM, Greg KH wrote:
> On Fri, May 26, 2017 at 11:10:32AM +0100, Juri Lelli wrote:
>> Hi,
>>
>> On 25/05/17 15:18, Greg KH wrote:
>>> On Thu, Apr 20, 2017 at 03:43:16PM +0100, Juri Lelli wrote:

[...]

>>> 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.
>>>
>>
>> topology_ works for me. However, I'd keep "capacity" in the names, as we
>> might need to topology_normalize_cpu_somethingelse() (etc.) in the
>> future?
> 
> Worry about the future, in the future.  Change the names then, _IF_ it
> becomes an issue.  Try to be short and simple please.
> 
>> Updated patch follows. I kept Catalin and Russell's acks as I only
>> renamed the functions, please shout if that's not OK.
>>
>> Greg, if you are fine with this approach, do you still want a complete
>> v5 of the set or can you pick this up?
> 
> Am I the one who is supposed to take all of these arm-specific patches?
> If so, that's fine, but I need to have acks from the arm maintainers...
> 
> Oh, and drop "capacity" please :)

Once we have driver/base/arch_topology.c in, we want to enable (cpu 
micro-architectural + max frequency (OPPmax)) invariant and frequency 
(OPPmin..OPPmax) invariant load-tracking/accounting in the task 
scheduler for arm and arm64.

The way to do this is to define the task scheduler interfaces 
arch_scale_cpu_capacity() and arch_scale_freq_capacity() in arch 
specific code:

#define arch_scale_cpu_capacity topology_scale_cpu_capacity
#define arch_scale_freq_capacity topology_scale_freq_capacity

In case an arch is not defining them, the default definitions in 
kernel/sched/sched.h are used.

So topology_scale_cpu() wouldn't be correct since we scale the 
_capacity_ by the micro-architectural differences (hence cpu) and not 
the cpu.

Likewise we will have a function topology_scale_freq_capacity indicating 
that we scale the capacity by the frequency.

Or would you prefer something like topology_scale_capacity_by_cpu() and 
topology_scale_capacity_by_freq()?

-- Dietmar

[...]

  reply	other threads:[~2017-05-29  9:20 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-20 14:43 [PATCH v4 0/8] Fix issues and factorize arm/arm64 capacity information code Juri Lelli
2017-04-20 14:43 ` Juri Lelli
2017-04-20 14:43 ` Juri Lelli
2017-04-20 14:43 ` [PATCH v4 1/8] Documentation: arm: fix wrong reference number in DT definition Juri Lelli
2017-04-20 14:43   ` Juri Lelli
2017-04-20 14:43 ` [PATCH v4 2/8] Documentation/ABI: add information about cpu_capacity Juri Lelli
2017-04-20 14:43   ` Juri Lelli
2017-04-20 14:43   ` Juri Lelli
     [not found] ` <20170420144316.15632-1-juri.lelli-5wv7dgnIgG8@public.gmane.org>
2017-04-20 14:43   ` [PATCH v4 3/8] arm: fix return value of parse_cpu_capacity Juri Lelli
2017-04-20 14:43     ` Juri Lelli
2017-04-20 14:43     ` Juri Lelli
2017-04-20 14:50     ` Vincent Guittot
2017-04-20 14:50       ` Vincent Guittot
2017-04-20 14:43   ` [PATCH v4 6/8] arm,arm64,drivers: reduce scope of cap_parsing_failed Juri Lelli
2017-04-20 14:43     ` Juri Lelli
2017-04-20 14:43     ` Juri Lelli
2017-05-25 13:13     ` Greg KH
2017-05-25 13:13       ` Greg KH
2017-05-11  8:48   ` [PATCH v4 0/8] Fix issues and factorize arm/arm64 capacity information code Juri Lelli
2017-05-11  8:48     ` Juri Lelli
2017-05-11  8:48     ` Juri Lelli
2017-05-11  8:59     ` Greg KH
2017-05-11  8:59       ` Greg KH
     [not found]       ` <20170511085952.GA6934-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2017-05-11 10:27         ` Juri Lelli
2017-05-11 10:27           ` Juri Lelli
2017-05-11 10:27           ` Juri Lelli
2017-05-24 14:45           ` Juri Lelli
2017-05-24 14:45             ` Juri Lelli
2017-05-25 13:18             ` Greg KH
2017-05-25 13:18               ` Greg KH
2017-05-25 13:18               ` Greg KH
     [not found]               ` <20170525131831.GF16244-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2017-05-25 13:30                 ` Juri Lelli
2017-05-25 13:30                   ` Juri Lelli
2017-05-25 13:30                   ` Juri Lelli
2017-04-20 14:43 ` [PATCH v4 4/8] arm: remove wrong CONFIG_PROC_SYSCTL ifdef Juri Lelli
2017-04-20 14:43   ` Juri Lelli
2017-04-20 14:43   ` Juri Lelli
2017-04-20 14:43 ` [PATCH v4 5/8] arm, arm64: factorize common cpu capacity default code Juri Lelli
2017-04-20 14:43   ` Juri Lelli
2017-05-25 13:12   ` Greg KH
2017-05-25 13:12     ` Greg KH
2017-04-20 14:43 ` [PATCH v4 7/8] arm,arm64,drivers: move externs in a new header file Juri Lelli
2017-04-20 14:43   ` Juri Lelli
2017-05-25 13:13   ` Greg KH
2017-05-25 13:13     ` Greg KH
2017-04-20 14:43 ` [PATCH v4 8/8] arm,arm64,drivers: add a prefix to drivers arch_topology interfaces Juri Lelli
2017-04-20 14:43   ` [PATCH v4 8/8] arm, arm64, drivers: " Juri Lelli
2017-05-25 13:18   ` [PATCH v4 8/8] arm,arm64,drivers: " Greg KH
2017-05-25 13:18     ` Greg KH
     [not found]     ` <20170525131802.GE16244-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2017-05-26 10:10       ` Juri Lelli
2017-05-26 10:10         ` Juri Lelli
2017-05-26 10:10         ` Juri Lelli
2017-05-26 18:36         ` Greg KH
2017-05-26 18:36           ` Greg KH
2017-05-26 18:36           ` Greg KH
2017-05-29  9:20           ` Dietmar Eggemann [this message]
2017-05-29  9:20             ` Dietmar Eggemann
2017-05-29  9:58             ` Greg KH
2017-05-29  9:58               ` Greg KH
2017-05-29 10:46               ` Dietmar Eggemann
2017-05-29 10:46                 ` Dietmar Eggemann
2017-05-30 14:59                 ` Juri Lelli
2017-05-30 14:59                   ` Juri Lelli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bcc2f8f1-e953-9f32-2aa2-e660b0351e0a@arm.com \
    --to=dietmar.eggemann@arm.com \
    --cc=broonie@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=juri.lelli@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=morten.rasmussen@arm.com \
    --cc=peterz@infradead.org \
    --cc=robh+dt@kernel.org \
    --cc=sudeep.holla@arm.com \
    --cc=vincent.guittot@linaro.org \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.