[PATCH v5 3/4] arm64: topology: Support SMT control on ACPI based system
Morten Rasmussen
morten.rasmussen at arm.com
Fri Sep 6 17:06:33 AEST 2024
Hi Yicong,
On Thu, Sep 05, 2024 at 08:02:20PM +0800, Yicong Yang wrote:
> On 2024/9/5 16:34, Pierre Gondois wrote:
> > Hello Yicong,
> >
> > If a platform has CPUs with:
> > - 1 thread
> > - X (!= 1) threads
> > Then I think that the asymmetry is not detected
>
> Ah 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
More information about the Linuxppc-dev
mailing list