linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Chandra Sekhar Lingutla <clingutla@codeaurora.org>
To: Sudeep Holla <sudeep.holla@arm.com>
Cc: catalin.marinas@arm.com, will.deacon@arm.com,
	dietmar.eggemann@arm.com, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] arch_topology: Update user supplied capacity to possible cpus in cluster
Date: Sat, 2 Mar 2019 19:00:43 +0530	[thread overview]
Message-ID: <5785fd91-3d76-78e6-f4c5-7ed07be1a14d@codeaurora.org> (raw)
In-Reply-To: <20190228152555.GA13165@e107155-lin>


On 2/28/2019 8:55 PM, Sudeep Holla wrote:
> On Thu, Feb 28, 2019 at 08:08:13PM +0530, Chandra Sekhar Lingutla wrote:
>> Hi Sudeep,
>>
>> On 2/28/2019 5:49 PM, Sudeep Holla wrote:
>>> On Thu, Feb 28, 2019 at 05:23:58PM +0530, Lingutla Chandrasekhar wrote:
>>>> With commit '5bdd2b3f0f8 ("arm64: topology: add support to remove cpu
>>>> topology sibling masks")', when cpu hotplugged out, it resets the cpu
>>>> information in its sibling CPUs. If user changes capacity of any cpu,
>>>> then the new capacity applied to all online cpus in the cluster.
>>>>
>>> Correct but you are now changing to apply the same to all the CPUs
>>> in the package which is wrong.
>>>
>>>> If any hot plugged out cpu in the same cluster comes back to online,
>>>> then that would have different/stale capacity value.
>>>>
>>> Why not save the value ?
>> Sorry, didn't get you, you mean save user supplied value ?
> I meant save the last user set value and reset when CPU comes online.

But 'cpu_capacity' for hot plugging cpu is not touched, so it would retain same value.

The actual problem is, cpu_capacity_store() tries to change the capacity for all its 'sibling cpus'.

Now the commit '5bdd2b3f0f8' keeps only online cpus in the sibling mask, so user supplied

cpu_capacity would be applied only online sibling cpus at the time. After that, if any

cpu hot plugged in, it would have different cpu_capacity than its siblings.

>>>> Fix it by applying user supplied capacity to all possible cpus in the
>>>> cluster.
>>>>
>>> NACK for the change. It changes for all the CPUs in the package/socket.
>>> Though DT platforms have cluster ids as package ids, that's wrong and
>>> must be fixed. So you need to fix this issuw without depending on the
>>> package id. I have removed all the wrong users of the same and this is
>>> also a wrong usage.
>> I presumed all cores with same package-id have same cpu capacity, so
>> depended on it.
> No,
> 1. Package is not cluster, it's the physical socket which on typical
>    mobile systems will be the whole SoC. So it includes all the CPUs
>    in the system.
>
> 2. How about DSU systems where CPUs can have different capacity within
>    cluster ?
So cpus in cpu_topology->core_sibling mask would not need to have same capacity_cpu?

Then i think, we should update the cpu_capacity for only requested cpu right?

ex: 'echo 910 > sys/devices/system/cpu/cpu5/cpu_capacity' should be applied only to cpu5.

>> I think, we can update the capacity of newly online cpu by reading its
>> core_sibling cpu capacity.
> Will that survive scenario where all the CPUs in the so-called cluster
> is hot-plugged out and back in.
>
>> Let me know your opinion on this option ?
>>
> I see only solution is to save the value last set from the user somewhere
> if not already done and restore the same.
>
> --
> Regards,
> Sudeep

-- Chandrasekhar L, 
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
 a Linux Foundation Collaborative Project.


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-03-02 13:31 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-28 11:53 [PATCH] arch_topology: Update user supplied capacity to possible cpus in cluster Lingutla Chandrasekhar
2019-02-28 12:19 ` Sudeep Holla
2019-02-28 14:38   ` Chandra Sekhar Lingutla
2019-02-28 15:25     ` Sudeep Holla
2019-03-02 13:30       ` Chandra Sekhar Lingutla [this message]
2019-03-04 18:21         ` Sudeep Holla
2019-03-05  9:23           ` Quentin Perret
2019-03-05 11:13             ` Sudeep Holla
2019-03-05 11:29               ` Quentin Perret
2019-03-05 11:36                 ` Sudeep Holla
2019-03-05 15:53                   ` Chandra Sekhar Lingutla
2019-03-05 16:12                     ` Quentin Perret
2019-03-05 16:54                     ` Sudeep Holla
2019-03-06 15:22                       ` Morten Rasmussen
2019-03-06 15:27                         ` [PATCH v1] arch_topology: Make cpu_capacity sysfs node as ready-only Lingutla Chandrasekhar
2019-03-07  7:28                           ` Juri Lelli
2019-03-07  9:31                             ` Quentin Perret
2019-03-07  9:57                               ` Juri Lelli
2019-03-07 12:14                                 ` Quentin Perret
2019-03-07 15:04                                   ` Sudeep Holla
2019-03-07 15:19                           ` Sudeep Holla
2019-03-08 11:45                           ` Dietmar Eggemann
2019-03-08 12:38                             ` [PATCH v2] " Lingutla Chandrasekhar
2019-03-27 10:56                               ` Quentin Perret
2019-03-06  9:48                 ` [PATCH] arch_topology: Update user supplied capacity to possible cpus in cluster Dietmar Eggemann

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=5785fd91-3d76-78e6-f4c5-7ed07be1a14d@codeaurora.org \
    --to=clingutla@codeaurora.org \
    --cc=catalin.marinas@arm.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=sudeep.holla@arm.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).