lkml.org 
[lkml]   [2022]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH V2] arch_topology: support parsing cluster_id from DT
From
On 11/05/2022 11:52, Qing Wang wrote:
> From: Wang Qing <wangqing@vivo.com>

[...]

> @@ -582,7 +594,8 @@ static int __init parse_cluster(struct device_node *cluster, int depth)
> }
>
> if (leaf) {
> - ret = parse_core(c, package_id, core_id++);
> + ret = parse_core(c, package_id, (depth == 2)?cluster_id : -1,
> + core_id++);
> } else {
> pr_err("%pOF: Non-leaf cluster with core %s\n",
> cluster, name);
> @@ -599,9 +612,6 @@ static int __init parse_cluster(struct device_node *cluster, int depth)
> if (leaf && !has_cores)
> pr_warn("%pOF: empty cluster\n", cluster);
>
> - if (leaf)
> - package_id++;
> -
> return 0;
> }

The issue I mentioned under
https://lkml.kernel.org/r/bd746cf0-0fdd-1ee6-d394-67fffb5d9b58@arm.com
still exists.

Btw, I recommend the following test strategy.

(A) Create a set of dts files which represent today's topologies in DT:

(1) 8 CPUs flat (Arm DynamIQ single DSU)

(2) 2 groups of 4 CPUs (e.g. hikey 960) (which covers Phantom* domain)

(3) your QC SM8450 Armv9 tri-gear (4-3-1) DynamIQ single DSU w/ shared
L2 btwn CPU0-1 and CPU2-3.
...

* used in Android

(B) Compile dtb's

dtc -I dts -O dtb -o foo.dtb foo.dts


(C) Run them under qemu w/ and w/o CONFIG_SCHED_CLUSTER and check:

sudo qemu-system-aarch64 ... -dtb foo.dtb

(1) sched domains:

cat /sys/kernel/debug/sched/domains/cpu*/domain*/name

(2) sched flags:

cat /sys/kernel/debug/sched/domains/cpu*/domain*/flags

(3) cpumasks:

cat /proc/schedstat | awk '{print $1 " " $2 }' | grep ^[cd]

You can even mention the test results in your patch so that people see
that you already covered them. This will speed up the review-process
enormously.

\
 
 \ /
  Last update: 2022-05-12 12:59    [W:0.086 / U:0.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site