On Thu, Feb 02 2023 at 21:56, Usama Arif wrote: > From: David Woodhouse <dwmw@xxxxxxxxxxxx> > > If we want to do parallel CPU bringup, we're going to need to set this up > and leave it until all CPUs are done. Might as well use the RTC spinlock > to protect the refcount, as we need to take it anyway. https://www.kernel.org/doc/html/latest/process/maintainer-tip.html#changelog Aside of the 'We' this does not explain anything at all. > [Usama Arif: fixed rebase conflict] > Signed-off-by: David Woodhouse <dwmw@xxxxxxxxxxxx> > Signed-off-by: Usama Arif <usama.arif@xxxxxxxxxxxxx> > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx> This SOB chain is even more broken... > --- > arch/x86/kernel/smpboot.c | 21 ++++++++++++++------- > 1 file changed, 14 insertions(+), 7 deletions(-) > > diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c > index 55cad72715d9..a19eddcdccc2 100644 > --- a/arch/x86/kernel/smpboot.c > +++ b/arch/x86/kernel/smpboot.c > @@ -121,17 +121,22 @@ int arch_update_cpu_topology(void) > return retval; > } > > + > +static unsigned int smpboot_warm_reset_vector_count; > + > static inline void smpboot_setup_warm_reset_vector(unsigned long start_eip) > { > unsigned long flags; > > spin_lock_irqsave(&rtc_lock, flags); > - CMOS_WRITE(0xa, 0xf); > + if (!smpboot_warm_reset_vector_count++) { > + CMOS_WRITE(0xa, 0xf); > + *((volatile unsigned short *)phys_to_virt(TRAMPOLINE_PHYS_HIGH)) = > + start_eip >> 4; > + *((volatile unsigned short *)phys_to_virt(TRAMPOLINE_PHYS_LOW)) = > + start_eip & 0xf; Again: 80 characters are history. Please fix that all over the series. Thanks, tglx