linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Woodhouse <dwmw2@infradead.org>
To: Usama Arif <usama.arif@bytedance.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	kim.phillips@amd.com
Cc: arjan@linux.intel.com, mingo@redhat.com, bp@alien8.de,
	dave.hansen@linux.intel.com, hpa@zytor.com, x86@kernel.org,
	pbonzini@redhat.com, paulmck@kernel.org,
	linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	rcu@vger.kernel.org, mimoja@mimoja.de, hewenliang4@huawei.com,
	thomas.lendacky@amd.com, seanjc@google.com,
	pmenzel@molgen.mpg.de, fam.zheng@bytedance.com,
	punit.agrawal@bytedance.com, simon.evans@bytedance.com,
	liangma@liangbit.com, David Woodhouse <dwmw@amazon.co.uk>
Subject: Re: [External] Re: [PATCH v8 9/9] x86/smpboot: Serialize topology updates for secondary bringup
Date: Tue, 14 Feb 2023 07:57:48 +0100	[thread overview]
Message-ID: <81F5E360-7BE1-46A1-80DE-79871DA3BCBB@infradead.org> (raw)
In-Reply-To: <5b696beb-52e2-716c-83c6-3bb70e5c9565@bytedance.com>



On 13 February 2023 23:30:20 CET, Usama Arif <usama.arif@bytedance.com> wrote:
>
>
>On 13/02/2023 20:53, David Woodhouse wrote:
>> 
>> 
>> On 13 February 2023 21:43:13 CET, Thomas Gleixner <tglx@linutronix.de> wrote:
>>> On Thu, Feb 09 2023 at 15:41, Usama Arif wrote:
>>>> From: David Woodhouse <dwmw@amazon.co.uk>
>>>> 
>>>> The toplogy update is performed by the AP via smp_callin() after the BSP
>>>> has called do_wait_cpu_initialized(), setting the AP's bit in
>>>> cpu_callout_mask to allow it to proceed.
>>>> 
>>>> In preparation to enable further parallelism of AP bringup, add locking to
>>>> serialize the update even if multiple APs are (in future) permitted to
>>>> proceed through the next stages of bringup in parallel.
>>> 
>>> This one is also only relevant for further parallelisation, right?
>> 
>> I believe so, yes. But it's low-hanging fruit and might as well go in now.
>
>Yes, only needed if we parallelize further, i.e. after do_wait_cpu_initialized. As David said, its a simple enough and easy patch, but its not needed for parallelizing INIT/SIPI.
>
>I tested Davids' part2 branch (https://git.infradead.org/users/dwmw2/linux.git/shortlog/refs/heads/parallel-6.2-rc7) again just to be sure, and the only commit that makes a significant difference in smpboot time on top of part1 (this series) is reusing timer calibration (100ms to 34ms).
>
>Parallelizing do_wait_cpu_initialized didn't significantly improve smpboot time (only reduced to 31ms on average of 4 runs so maybe within the margin of error?), so I think its better to move this patch into its own series with any further parallelization only if it shows a further improvement in smpboot time?

Let's do it anyway; it's harmless to make it thread-safe even if it doesn't get invoked that way today. There is further parallelism to be had with letting the APs run themselves all the way to the online state, and the "part2" in my tree is only the next step towards that.

  reply	other threads:[~2023-02-14  6:58 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-09 15:41 [PATCH v8 0/9] Parallel CPU bringup for x86_64 Usama Arif
2023-02-09 15:41 ` [PATCH v8 1/9] x86/apic/x2apic: Allow CPU cluster_mask to be populated in parallel Usama Arif
2023-02-09 15:41 ` [PATCH v8 2/9] cpu/hotplug: Move idle_thread_get() to <linux/smpboot.h> Usama Arif
2023-02-09 15:41 ` [PATCH v8 3/9] cpu/hotplug: Add dynamic parallel bringup states before CPUHP_BRINGUP_CPU Usama Arif
2023-02-09 15:41 ` [PATCH v8 4/9] x86/smpboot: Reference count on smpboot_setup_warm_reset_vector() Usama Arif
2023-02-09 15:41 ` [PATCH v8 5/9] x86/smpboot: Split up native_cpu_up into separate phases and document them Usama Arif
2023-02-09 15:41 ` [PATCH v8 6/9] x86/smpboot: Support parallel startup of secondary CPUs Usama Arif
2023-02-09 18:25   ` Thomas Gleixner
2023-02-09 20:37     ` [External] " Usama Arif
2023-02-09 15:41 ` [PATCH v8 7/9] x86/smpboot: Send INIT/SIPI/SIPI to secondary CPUs in parallel Usama Arif
2023-02-09 15:41 ` [PATCH v8 8/9] x86/mtrr: Avoid repeated save of MTRRs on boot-time CPU bringup Usama Arif
2023-02-09 18:31   ` Thomas Gleixner
2023-02-09 20:32     ` [External] " Usama Arif
2023-02-09 20:37       ` David Woodhouse
2023-02-09 23:50       ` Thomas Gleixner
2023-02-10  8:55         ` David Woodhouse
2023-02-13 15:19           ` Usama Arif
2023-02-13 20:42             ` Thomas Gleixner
2023-02-09 15:41 ` [PATCH v8 9/9] x86/smpboot: Serialize topology updates for secondary bringup Usama Arif
2023-02-13 20:43   ` Thomas Gleixner
2023-02-13 20:53     ` David Woodhouse
2023-02-13 22:30       ` [External] " Usama Arif
2023-02-14  6:57         ` David Woodhouse [this message]
2023-02-10  4:11 ` [PATCH v8 0/9] Parallel CPU bringup for x86_64 Paul E. McKenney
2023-02-10  9:02   ` David Woodhouse

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=81F5E360-7BE1-46A1-80DE-79871DA3BCBB@infradead.org \
    --to=dwmw2@infradead.org \
    --cc=arjan@linux.intel.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=dwmw@amazon.co.uk \
    --cc=fam.zheng@bytedance.com \
    --cc=hewenliang4@huawei.com \
    --cc=hpa@zytor.com \
    --cc=kim.phillips@amd.com \
    --cc=kvm@vger.kernel.org \
    --cc=liangma@liangbit.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mimoja@mimoja.de \
    --cc=mingo@redhat.com \
    --cc=paulmck@kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=pmenzel@molgen.mpg.de \
    --cc=punit.agrawal@bytedance.com \
    --cc=rcu@vger.kernel.org \
    --cc=seanjc@google.com \
    --cc=simon.evans@bytedance.com \
    --cc=tglx@linutronix.de \
    --cc=thomas.lendacky@amd.com \
    --cc=usama.arif@bytedance.com \
    --cc=x86@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).