[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d0eeb5d0026ed0ecc12ea75b1e6cf03ee2ce068f.camel@infradead.org>
Date: Wed, 08 Feb 2023 12:02:55 +0000
From: David Woodhouse <dwmw2@...radead.org>
To: Yuan Yao <yuan.yao@...ux.intel.com>,
Usama Arif <usama.arif@...edance.com>
Cc: tglx@...utronix.de, kim.phillips@....com, arjan@...ux.intel.com,
mingo@...hat.com, bp@...en8.de, dave.hansen@...ux.intel.com,
hpa@...or.com, x86@...nel.org, pbonzini@...hat.com,
paulmck@...nel.org, linux-kernel@...r.kernel.org,
kvm@...r.kernel.org, rcu@...r.kernel.org, mimoja@...oja.de,
hewenliang4@...wei.com, thomas.lendacky@....com, seanjc@...gle.com,
pmenzel@...gen.mpg.de, fam.zheng@...edance.com,
punit.agrawal@...edance.com, simon.evans@...edance.com,
liangma@...ngbit.com
Subject: Re: [PATCH v7 5/9] x86/smpboot: Split up native_cpu_up into
separate phases and document them
On Wed, 2023-02-08 at 18:03 +0800, Yuan Yao wrote:
>
> > #endif
> > + /*
> > + * Sync point with do_wait_cpu_initialized(). On boot, all secondary
> > + * CPUs reach this stage after receiving INIT/SIPI from do_cpu_up()
> > + * in the x86/cpu:kick cpuhp stage. At the start of cpu_init() they
> > + * will wait for do_wait_cpu_initialized() to set their bit in
> > + * smp_callout_mask to release them.
>
> The last sentence of the comment looks confused. The fact is:
>
> For serial case, The BSP waits AP to set cpu_initialized_mask from
> wait_for_master_cpu() after fired INIT/SIPI, then AP starts to wait
> cpu_callout_mask set by BSP from do_boot_cpu().
>
> Or the comments below "Bringup step two:..." which also looks clear
> enough then above.
/*
* Sync point with do_wait_cpu_initialized(). Before proceeding through
* cpu_init(), the AP will call wait_for_master_cpu() which sets its
* bit in cpu_initialized_mask and then waits for the BSP to set its
* bit in cpu_callout_mask to release it.
*/
cpu_init_secondary();
Better?
Download attachment "smime.p7s" of type "application/pkcs7-signature" (5965 bytes)
Powered by blists - more mailing lists