Re: [PATCH v5 3/4] arm64: topology: Support SMT control on ACPI based system
From: Morten Rasmussen <hidden>
Date: 2024-09-06 07:06:45
Also in:
linux-arm-kernel, lkml
Hi Yicong, On Thu, Sep 05, 2024 at 08:02:20PM +0800, Yicong Yang wrote:
On 2024/9/5 16:34, Pierre Gondois wrote:quoted
Hello Yicong, If a platform has CPUs with: - 1 thread - X (!= 1) threads Then I think that the asymmetry is not detectedAh ok, I only handle the case where there are several thread numbers except no SMT CPUs in the system. For this case I was thinking we don't need to handle this since there's only one kind of SMT core in the system, control should works fine for the SMT CPU clusters and we may not care about the CPUs with no SMT. Below code should handle the case if we initialize the max_smt_thread_num to 0. I also reword the warning messages to match the fact. For heterogeneous SMT topology we still support control SMT by on/off toggle but not fully support setting the thread number. int max_smt_thread_num = 0; [...] /* * This should be a short loop depending on the number of heterogeneous * CPU clusters. Typically on a homogeneous system there's only one * entry in the XArray. */ xa_for_each(&hetero_cpu, hetero_id, entry) { /* * If max_smt_thread_num has been initialized and doesn't match * the thread number of this entry, then the system has * heterogeneous SMT topology. */ if (entry->thread_num != max_smt_thread_num && max_smt_thread_num) pr_warn_once("Heterogeneous SMT topology is partly supported by SMT control\n");
What does 'partly supported' mean here? If the SMT control doesn't work as intended for this topology, I don't think it should be enabled for it. Morten