[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <cf81280a-fd37-436c-aefa-fba5a4df87f6@linuxfoundation.org>
Date: Thu, 6 Mar 2025 13:33:56 -0700
From: Shuah Khan <skhan@...uxfoundation.org>
To: "John B. Wyatt IV" <jwyatt@...hat.com>, Thomas Renninger <trenn@...e.com>
Cc: linux-pm@...r.kernel.org, Shuah Khan <shuah@...nel.org>,
"Rafael J. Wysocki" <rafael@...nel.org>, linux-kernel@...r.kernel.org,
John Kacur <jkacur@...hat.com>, "John B. Wyatt IV"
<sageofredondo@...il.com>, Shuah Khan <skhan@...uxfoundation.org>
Subject: Re: [PATCH] cpupower: Implement CPU physical core querying
On 3/5/25 14:08, John B. Wyatt IV wrote:
> This patch is also an issue report. get_cpu_topology will always save
> into cpupower_topology a cores size of 0. The code to handle this looks
> like it was commented out, and what is commented out is missing a curly
> bracket.
>
> https://elixir.bootlin.com/linux/v6.13.5/source/tools/power/cpupower/lib/cpupower.c#L206-L212
>
> Inspiration was taken from psutil to implement this by querying
> core_cpu_list. Instead of using a hashmap, I used a sorted array, and
> counted the number of valid unique strings. The counting of this takes
> place before the qsort for .pkg as the following code says it is
> dependent on the order of that sort.
>
> The previous code claimed Intel CPUs are not numbered correctly. I was
> not able to reproduce that issue and removed that comment and the code.
>
> This commit was tested with the libcpupower SWIG Python bindings and
> performed correctly on 4 different setups. The most notable is the
> Framework Intel laptop; a hybrid system of 4 P cores (8 threads) and 8 E
> cores (8 threads).
>
> The 4 setups: A 4 core virt-manager VM running Fedora 41 4c/4t (specs not
> listed) was tested as a sanity test for VMs. A Lenovo Ryzen 7 Pro 7840HS
> 8c/16t. A Supermico Intel(R) Xeon(R) Gold 6330 CPU w/ 56c/112t with 2 CPU
> sockets. A Framework 12th Gen Intel(R) Core(TM) i5-1240P with hybrid
> cores.
>
> CPU(s): 16
> On-line CPU(s) list: 0-15
> Vendor ID: AuthenticAMD
> Model name: AMD Ryzen 7 PRO 7840HS w/ Radeon 780M Graphics
> CPU family: 25
> Model: 116
> Thread(s) per core: 2
> Core(s) per socket: 8
> Socket(s): 1
> Stepping: 1
>
> CPU(s): 112
> On-line CPU(s) list: 0-111
> Vendor ID: GenuineIntel
> BIOS Vendor ID: Intel(R) Corporation
> Model name: Intel(R) Xeon(R) Gold 6330 CPU @ 2.00GHz
> BIOS Model name: Intel(R) Xeon(R) Gold 6330 CPU @ 2.00GHz CPU @ 2.0GHz
> BIOS CPU family: 179
> CPU family: 6
> Model: 106
> Thread(s) per core: 2
> Core(s) per socket: 28
> Socket(s): 2
> Stepping: 6
>
> CPU(s): 16
> On-line CPU(s) list: 0-15
> Vendor ID: GenuineIntel
> Model name: 12th Gen Intel(R) Core(TM) i5-1240P
> CPU family: 6
> Model: 154
> Thread(s) per core: 2
> Core(s) per socket: 12
> Socket(s): 1
> Stepping: 3
>
> Signed-off-by: "John B. Wyatt IV" <jwyatt@...hat.com>
> Signed-off-by: "John B. Wyatt IV" <sageofredondo@...il.com>
> ---
Thanks. Applied and will include in my PR for 6.15-rc1 to Rafael
https://web.git.kernel.org/pub/scm/linux/kernel/git/shuah/linux.git/log/?h=cpupower
thanks,
-- Shuah
Powered by blists - more mailing lists