All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sudeep Holla <sudeep.holla@arm.com>
To: Pierre Gondois <pierre.gondois@arm.com>
Cc: Yicong Yang <yangyicong@huawei.com>, <catalin.marinas@arm.com>,
	Sudeep Holla <sudeep.holla@arm.com>, <will@kernel.org>,
	<tglx@linutronix.de>, <peterz@infradead.org>,
	<mpe@ellerman.id.au>, <linux-arm-kernel@lists.infradead.org>,
	<mingo@redhat.com>, <bp@alien8.de>, <dave.hansen@linux.intel.com>,
	<dietmar.eggemann@arm.com>, <linuxppc-dev@lists.ozlabs.org>,
	<x86@kernel.org>, <linux-kernel@vger.kernel.org>,
	<morten.rasmussen@arm.com>, <msuchanek@suse.de>,
	<gregkh@linuxfoundation.org>, <rafael@kernel.org>,
	<jonathan.cameron@huawei.com>, <prime.zeng@hisilicon.com>,
	<linuxarm@huawei.com>, <yangyicong@hisilicon.com>,
	<xuwei5@huawei.com>, <guohanjun@huawei.com>,
	<sshegde@linux.ibm.com>
Subject: Re: [PATCH v11 3/4] arm64: topology: Support SMT control on ACPI based system
Date: Mon, 3 Mar 2025 11:16:24 +0000	[thread overview]
Message-ID: <Z8WPiOweOjFZqTwN@bogus> (raw)
In-Reply-To: <a52972c7-aadd-4a77-a292-057fa5f8372d@arm.com>

On Mon, Mar 03, 2025 at 10:56:12AM +0100, Pierre Gondois wrote:
> On 2/28/25 20:06, Sudeep Holla wrote:
> > > >
> > > > Ditto as previous patch, can get rid if it is default 1.
> > > >
> > >
> > > On non-SMT platforms, not calling cpu_smt_set_num_threads() leaves
> > > cpu_smt_num_threads uninitialized to UINT_MAX:
> > >
> > > smt/active:0
> > > smt/control:-1
> > >
> > > If cpu_smt_set_num_threads() is called:
> > > active:0
> > > control:notsupported
> > >
> > > So it might be slightly better to still initialize max_smt_thread_num.
> > >
> >
> > Sure, what I meant is to have max_smt_thread_num set to 1 by default is
> > that is what needed anyways and the above code does that now.
> >
> > Why not start with initialised to 1 instead ?
> > Of course some current logic needs to change around testing it for zero.
> >
>
> I think there would still be a way to check against the default value.
> If we have:
> unsigned int max_smt_thread_num = 1;
>
> then on a platform with 2 threads, the detection condition would trigger:
> xa_for_each(&hetero_cpu, hetero_id, entry) {
>     if (entry->thread_num != max_smt_thread_num && max_smt_thread_num)     <---- (entry->thread_num=2) and (max_smt_thread_num=1)
>         pr_warn_once("Heterogeneous SMT topology is partly
>                       supported by SMT control\n");
>
> so we would need an additional variable:
> bool is_initialized = false;

Sure, we could do that or skip the check if max_smt_thread_num == 1 ?

I mean
	if (entry->thread_num != max_smt_thread_num && max_smt_thread_num != 1)

I assume entry->thread_num must be set to 1 on single threaded cores
Won't that work ? Am I missing something still ?

--
Regards,
Sudeep


  reply	other threads:[~2025-03-03 12:09 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-18 14:10 [PATCH v11 0/4] Support SMT control on arm64 Yicong Yang
2025-02-18 14:10 ` [PATCH v11 1/4] cpu/SMT: Provide a default topology_is_primary_thread() Yicong Yang
2025-02-28 11:10   ` Dietmar Eggemann
2025-03-03 13:35     ` Yicong Yang
2025-02-28 13:54   ` Sudeep Holla
2025-03-03 13:38     ` Yicong Yang
2025-02-18 14:10 ` [PATCH v11 2/4] arch_topology: Support SMT control for OF based system Yicong Yang
2025-02-28 11:11   ` Dietmar Eggemann
2025-03-03 14:03     ` Yicong Yang
2025-03-04  9:32       ` Dietmar Eggemann
2025-02-28 13:54   ` Sudeep Holla
2025-03-03 14:11     ` Yicong Yang
2025-02-18 14:10 ` [PATCH v11 3/4] arm64: topology: Support SMT control on ACPI " Yicong Yang
2025-02-25  6:08   ` Hanjun Guo
2025-03-03 14:42     ` Yicong Yang
2025-02-28 11:11   ` Dietmar Eggemann
2025-02-28 13:56   ` Sudeep Holla
2025-02-28 17:51     ` Pierre Gondois
2025-02-28 19:06       ` Sudeep Holla
2025-03-03  9:56         ` Pierre Gondois
2025-03-03 11:16           ` Sudeep Holla [this message]
2025-03-03 14:40             ` Yicong Yang
2025-03-04  8:25               ` Pierre Gondois
2025-03-04 10:02                 ` Sudeep Holla
2025-03-04 15:07                   ` Pierre Gondois
2025-03-05  9:01                     ` Yicong Yang
2025-02-18 14:10 ` [PATCH v11 4/4] arm64: Kconfig: Enable HOTPLUG_SMT Yicong Yang
2025-02-28 11:12 ` [PATCH v11 0/4] Support SMT control on arm64 Dietmar Eggemann
2025-03-03 14:41   ` Yicong Yang

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=Z8WPiOweOjFZqTwN@bogus \
    --to=sudeep.holla@arm.com \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=guohanjun@huawei.com \
    --cc=jonathan.cameron@huawei.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mingo@redhat.com \
    --cc=morten.rasmussen@arm.com \
    --cc=mpe@ellerman.id.au \
    --cc=msuchanek@suse.de \
    --cc=peterz@infradead.org \
    --cc=pierre.gondois@arm.com \
    --cc=prime.zeng@hisilicon.com \
    --cc=rafael@kernel.org \
    --cc=sshegde@linux.ibm.com \
    --cc=tglx@linutronix.de \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    --cc=xuwei5@huawei.com \
    --cc=yangyicong@hisilicon.com \
    --cc=yangyicong@huawei.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.