mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jeremy Linton <jeremy.linton@arm.com>
To: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	sudeep.holla@arm.com, hanjun.guo@linaro.org, rjw@rjwysocki.net,
	will.deacon@arm.com, catalin.marinas@arm.com,
	gregkh@linuxfoundation.org, viresh.kumar@linaro.org,
	mark.rutland@arm.com, linux-kernel@vger.kernel.org,
	linux-pm@vger.kernel.org, jhugo@codeaurora.org,
	wangxiongfeng2@huawei.com, Jonathan.Zhang@cavium.com,
	ahs3@redhat.com, Jayachandran.Nair@cavium.com,
	austinwc@codeaurora.org, lenb@kernel.org,
	morten.rasmussen@arm.com, dietmar.eggemann@arm.com
Subject: Re: [PATCH v5 7/9] arm64: Topology, rename cluster_id
Date: Fri, 15 Dec 2017 10:36:35 -0600	[thread overview]
Message-ID: <7bb4e955-f3e5-d22f-4e78-eac97e66a9a6@arm.com> (raw)
In-Reply-To: <20171213180217.GB4060@red-moon>

Hi,

On 12/13/2017 12:02 PM, Lorenzo Pieralisi wrote:
> [+Morten, Dietmar]
> 
> $SUBJECT should be:
> 
> arm64: topology: rename cluster_id

Sure..

> 
> On Fri, Dec 01, 2017 at 04:23:28PM -0600, Jeremy Linton wrote:
>> Lets match the name of the arm64 topology field
>> to the kernel macro that uses it.
>>
>> Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
>> ---
>>   arch/arm64/include/asm/topology.h |  4 ++--
>>   arch/arm64/kernel/topology.c      | 27 ++++++++++++++-------------
>>   2 files changed, 16 insertions(+), 15 deletions(-)
>>
>> diff --git a/arch/arm64/include/asm/topology.h b/arch/arm64/include/asm/topology.h
>> index c4f2d50491eb..118136268f66 100644
>> --- a/arch/arm64/include/asm/topology.h
>> +++ b/arch/arm64/include/asm/topology.h
>> @@ -7,14 +7,14 @@
>>   struct cpu_topology {
>>   	int thread_id;
>>   	int core_id;
>> -	int cluster_id;
>> +	int physical_id;
> 
> package_id ?

Given the macro is topology_physical_package_id, either makes sense to 
me. <shrug> I will change it in the next set.


> 
> It has been debated before, I know. Should we keep the cluster_id too
> (even if it would be 1:1 mapped to package_id - for now) ?

Well given that this patch replaces the patch that did that at your 
request..

I was hoping someone else would comment here, but my take at this point 
is that it doesn't really matter in a functional sense at the moment.
Like the chiplet discussion it can be the subject of a future patch 
along with the patches which tweak the scheduler to understand the split.

BTW, given that i'm OoO next week, and the following that are the 
holidays, I don't intend to repost this for a couple weeks. I don't 
think there are any issues with this set.

> 
> There is also arch/arm to take into account, again, this patch is
> just renaming (as it should have named since the beginning) a
> topology level but we should consider everything from a legacy
> perspective.
> 
> Lorenzo
> 
>>   	cpumask_t thread_sibling;
>>   	cpumask_t core_sibling;
>>   };
>>   
>>   extern struct cpu_topology cpu_topology[NR_CPUS];
>>   
>> -#define topology_physical_package_id(cpu)	(cpu_topology[cpu].cluster_id)
>> +#define topology_physical_package_id(cpu)	(cpu_topology[cpu].physical_id)
>>   #define topology_core_id(cpu)		(cpu_topology[cpu].core_id)
>>   #define topology_core_cpumask(cpu)	(&cpu_topology[cpu].core_sibling)
>>   #define topology_sibling_cpumask(cpu)	(&cpu_topology[cpu].thread_sibling)
>> diff --git a/arch/arm64/kernel/topology.c b/arch/arm64/kernel/topology.c
>> index 8d48b233e6ce..74a8a5173a35 100644
>> --- a/arch/arm64/kernel/topology.c
>> +++ b/arch/arm64/kernel/topology.c
>> @@ -51,7 +51,7 @@ static int __init get_cpu_for_node(struct device_node *node)
>>   	return -1;
>>   }
>>   
>> -static int __init parse_core(struct device_node *core, int cluster_id,
>> +static int __init parse_core(struct device_node *core, int physical_id,
>>   			     int core_id)
>>   {
>>   	char name[10];
>> @@ -67,7 +67,7 @@ static int __init parse_core(struct device_node *core, int cluster_id,
>>   			leaf = false;
>>   			cpu = get_cpu_for_node(t);
>>   			if (cpu >= 0) {
>> -				cpu_topology[cpu].cluster_id = cluster_id;
>> +				cpu_topology[cpu].physical_id = physical_id;
>>   				cpu_topology[cpu].core_id = core_id;
>>   				cpu_topology[cpu].thread_id = i;
>>   			} else {
>> @@ -89,7 +89,7 @@ static int __init parse_core(struct device_node *core, int cluster_id,
>>   			return -EINVAL;
>>   		}
>>   
>> -		cpu_topology[cpu].cluster_id = cluster_id;
>> +		cpu_topology[cpu].physical_id = physical_id;
>>   		cpu_topology[cpu].core_id = core_id;
>>   	} else if (leaf) {
>>   		pr_err("%pOF: Can't get CPU for leaf core\n", core);
>> @@ -105,7 +105,7 @@ static int __init parse_cluster(struct device_node *cluster, int depth)
>>   	bool leaf = true;
>>   	bool has_cores = false;
>>   	struct device_node *c;
>> -	static int cluster_id __initdata;
>> +	static int physical_id __initdata;
>>   	int core_id = 0;
>>   	int i, ret;
>>   
>> @@ -144,7 +144,7 @@ static int __init parse_cluster(struct device_node *cluster, int depth)
>>   			}
>>   
>>   			if (leaf) {
>> -				ret = parse_core(c, cluster_id, core_id++);
>> +				ret = parse_core(c, physical_id, core_id++);
>>   			} else {
>>   				pr_err("%pOF: Non-leaf cluster with core %s\n",
>>   				       cluster, name);
>> @@ -162,7 +162,7 @@ static int __init parse_cluster(struct device_node *cluster, int depth)
>>   		pr_warn("%pOF: empty cluster\n", cluster);
>>   
>>   	if (leaf)
>> -		cluster_id++;
>> +		physical_id++;
>>   
>>   	return 0;
>>   }
>> @@ -198,7 +198,7 @@ static int __init parse_dt_topology(void)
>>   	 * only mark cores described in the DT as possible.
>>   	 */
>>   	for_each_possible_cpu(cpu)
>> -		if (cpu_topology[cpu].cluster_id == -1)
>> +		if (cpu_topology[cpu].physical_id == -1)
>>   			ret = -EINVAL;
>>   
>>   out_map:
>> @@ -228,7 +228,7 @@ static void update_siblings_masks(unsigned int cpuid)
>>   	for_each_possible_cpu(cpu) {
>>   		cpu_topo = &cpu_topology[cpu];
>>   
>> -		if (cpuid_topo->cluster_id != cpu_topo->cluster_id)
>> +		if (cpuid_topo->physical_id != cpu_topo->physical_id)
>>   			continue;
>>   
>>   		cpumask_set_cpu(cpuid, &cpu_topo->core_sibling);
>> @@ -249,7 +249,7 @@ void store_cpu_topology(unsigned int cpuid)
>>   	struct cpu_topology *cpuid_topo = &cpu_topology[cpuid];
>>   	u64 mpidr;
>>   
>> -	if (cpuid_topo->cluster_id != -1)
>> +	if (cpuid_topo->physical_id != -1)
>>   		goto topology_populated;
>>   
>>   	mpidr = read_cpuid_mpidr();
>> @@ -263,19 +263,19 @@ void store_cpu_topology(unsigned int cpuid)
>>   		/* Multiprocessor system : Multi-threads per core */
>>   		cpuid_topo->thread_id  = MPIDR_AFFINITY_LEVEL(mpidr, 0);
>>   		cpuid_topo->core_id    = MPIDR_AFFINITY_LEVEL(mpidr, 1);
>> -		cpuid_topo->cluster_id = MPIDR_AFFINITY_LEVEL(mpidr, 2) |
>> +		cpuid_topo->physical_id = MPIDR_AFFINITY_LEVEL(mpidr, 2) |
>>   					 MPIDR_AFFINITY_LEVEL(mpidr, 3) << 8;
>>   	} else {
>>   		/* Multiprocessor system : Single-thread per core */
>>   		cpuid_topo->thread_id  = -1;
>>   		cpuid_topo->core_id    = MPIDR_AFFINITY_LEVEL(mpidr, 0);
>> -		cpuid_topo->cluster_id = MPIDR_AFFINITY_LEVEL(mpidr, 1) |
>> +		cpuid_topo->physical_id = MPIDR_AFFINITY_LEVEL(mpidr, 1) |
>>   					 MPIDR_AFFINITY_LEVEL(mpidr, 2) << 8 |
>>   					 MPIDR_AFFINITY_LEVEL(mpidr, 3) << 16;
>>   	}
>>   
>>   	pr_debug("CPU%u: cluster %d core %d thread %d mpidr %#016llx\n",
>> -		 cpuid, cpuid_topo->cluster_id, cpuid_topo->core_id,
>> +		 cpuid, cpuid_topo->physical_id, cpuid_topo->core_id,
>>   		 cpuid_topo->thread_id, mpidr);
>>   
>>   topology_populated:
>> @@ -291,7 +291,7 @@ static void __init reset_cpu_topology(void)
>>   
>>   		cpu_topo->thread_id = -1;
>>   		cpu_topo->core_id = 0;
>> -		cpu_topo->cluster_id = -1;
>> +		cpu_topo->physical_id = -1;
>>   
>>   		cpumask_clear(&cpu_topo->core_sibling);
>>   		cpumask_set_cpu(cpu, &cpu_topo->core_sibling);
>> @@ -300,6 +300,7 @@ static void __init reset_cpu_topology(void)
>>   	}
>>   }
>>   
>> +
>>   void __init init_cpu_topology(void)
>>   {
>>   	reset_cpu_topology();
>> -- 
>> 2.13.5
>>

  reply	other threads:[~2017-12-15 16:36 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-01 22:23 [PATCH v5 0/9] Support PPTT for ARM64 Jeremy Linton
2017-12-01 22:23 ` [PATCH v5 1/9] arm64/acpi: Create arch specific cpu to acpi id helper Jeremy Linton
2017-12-01 22:23 ` [PATCH v5 2/9] ACPI/PPTT: Add Processor Properties Topology Table parsing Jeremy Linton
2017-12-12  1:10   ` Rafael J. Wysocki
2017-12-01 22:23 ` [PATCH v5 3/9] ACPI: Enable PPTT support on ARM64 Jeremy Linton
2017-12-13 17:26   ` Lorenzo Pieralisi
2018-01-05 21:58     ` Jeremy Linton
2018-01-05 22:07       ` Rafael J. Wysocki
2017-12-01 22:23 ` [PATCH v5 4/9] drivers: base cacheinfo: Add support for ACPI based firmware tables Jeremy Linton
2017-12-12  1:11   ` Rafael J. Wysocki
2017-12-12 17:03     ` Jeremy Linton
2017-12-12 17:25       ` Rafael J. Wysocki
2017-12-12 22:55         ` Jeremy Linton
2017-12-12 23:02           ` Rafael J. Wysocki
2017-12-12 23:37             ` Jeremy Linton
2017-12-12 23:41               ` Rafael J. Wysocki
2018-01-03 14:21               ` Sudeep Holla
2018-01-04 11:46                 ` Sudeep Holla
2017-12-01 22:23 ` [PATCH v5 5/9] arm64: " Jeremy Linton
2017-12-01 22:23 ` [PATCH v5 6/9] ACPI/PPTT: Add topology parsing code Jeremy Linton
2017-12-12  1:12   ` Rafael J. Wysocki
2017-12-12 16:13     ` Jeremy Linton
2017-12-13 17:38       ` Lorenzo Pieralisi
2017-12-13 22:28         ` Rafael J. Wysocki
2017-12-13 23:06           ` Jeremy Linton
2017-12-13 23:09             ` Rafael J. Wysocki
2018-01-03  8:49               ` vkilari
2018-01-03 16:57                 ` Jeremy Linton
2018-01-04  6:48                   ` vkilari
2018-01-04 17:50                     ` Jeremy Linton
2017-12-01 22:23 ` [PATCH v5 7/9] arm64: Topology, rename cluster_id Jeremy Linton
2017-12-13 18:02   ` Lorenzo Pieralisi
2017-12-15 16:36     ` Jeremy Linton [this message]
2017-12-18 12:42       ` Morten Rasmussen
2017-12-18 15:47         ` Lorenzo Pieralisi
2017-12-19  9:38           ` Morten Rasmussen
2018-01-02  2:29         ` Xiongfeng Wang
2018-01-02 11:30           ` Morten Rasmussen
2018-01-03 14:29           ` Sudeep Holla
2018-01-03 17:32             ` Jeremy Linton
2018-01-03 17:43               ` Sudeep Holla
2018-01-04  3:59               ` Xiongfeng Wang
2018-01-04 18:00                 ` Jeremy Linton
2018-01-04  4:14               ` Xiongfeng Wang
2017-12-01 22:23 ` [PATCH v5 8/9] arm64: topology: Enable ACPI/PPTT based CPU topology Jeremy Linton
2017-12-13 18:22   ` Lorenzo Pieralisi
2017-12-15 17:42     ` Jeremy Linton
2017-12-01 22:23 ` [PATCH v5 9/9] ACPI: Add PPTT to injectable table list Jeremy Linton

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=7bb4e955-f3e5-d22f-4e78-eac97e66a9a6@arm.com \
    --to=jeremy.linton@arm.com \
    --cc=Jayachandran.Nair@cavium.com \
    --cc=Jonathan.Zhang@cavium.com \
    --cc=ahs3@redhat.com \
    --cc=austinwc@codeaurora.org \
    --cc=catalin.marinas@arm.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hanjun.guo@linaro.org \
    --cc=jhugo@codeaurora.org \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=morten.rasmussen@arm.com \
    --cc=rjw@rjwysocki.net \
    --cc=sudeep.holla@arm.com \
    --cc=viresh.kumar@linaro.org \
    --cc=wangxiongfeng2@huawei.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

Powered by JetHome