lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120601110415.GG21245@n2100.arm.linux.org.uk>
Date:	Fri, 1 Jun 2012 12:04:15 +0100
From:	Russell King - ARM Linux <linux@....linux.org.uk>
To:	"Srivatsa S. Bhat" <srivatsa.bhat@...ux.vnet.ibm.com>
Cc:	tglx@...utronix.de, peterz@...radead.org,
	paulmck@...ux.vnet.ibm.com, rusty@...tcorp.com.au,
	mingo@...nel.org, yong.zhang0@...il.com, akpm@...ux-foundation.org,
	vatsa@...ux.vnet.ibm.com, rjw@...k.pl, linux-arch@...r.kernel.org,
	linux-kernel@...r.kernel.org, nikunj@...ux.vnet.ibm.com,
	Marc Zyngier <marc.zyngier@....com>,
	Will Deacon <will.deacon@....com>,
	David Brown <davidb@...eaurora.org>,
	linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH 26/27] arm, smpboot: Use generic SMP booting
	infrastructure

If you're expecting an ack from me, you're not going to get it because
this patch is useless on its own.  It can't be reviewed and it can't be
tested without the rest of the series.

On Fri, Jun 01, 2012 at 02:46:20PM +0530, Srivatsa S. Bhat wrote:
> Convert arm to use the generic framework to boot secondary CPUs.
> 
> Notes:
> The calls to local_irq_enable() and local_fiq_enable() which were there
> in secondary_start_kernel() originally, are retained in __cpu_post_online()
> since the generic code only calls local_irq_enable().
> Also, we were anyway going to enable interrupts in the generic code
> immediately after __cpu_post_online(), so its not like we enabled interrupts
> way too early.
> 
> Cc: Russell King <linux@....linux.org.uk>
> Cc: Marc Zyngier <marc.zyngier@....com>
> Cc: Will Deacon <will.deacon@....com>
> Cc: Thomas Gleixner <tglx@...utronix.de>
> Cc: David Brown <davidb@...eaurora.org>
> Cc: linux-arm-kernel@...ts.infradead.org
> Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@...ux.vnet.ibm.com>
> ---
> 
>  arch/arm/kernel/smp.c |   26 +++++++++++++-------------
>  1 files changed, 13 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
> index b735521..460b7e7 100644
> --- a/arch/arm/kernel/smp.c
> +++ b/arch/arm/kernel/smp.c
> @@ -25,6 +25,7 @@
>  #include <linux/percpu.h>
>  #include <linux/clockchips.h>
>  #include <linux/completion.h>
> +#include <linux/smpboot.h>
>  
>  #include <linux/atomic.h>
>  #include <asm/cacheflush.h>
> @@ -227,6 +228,11 @@ static void percpu_timer_setup(void);
>   */
>  asmlinkage void __cpuinit secondary_start_kernel(void)
>  {
> +	smpboot_start_secondary(NULL);
> +}
> +
> +void __cpuinit __cpu_pre_starting(void *unused)
> +{
>  	struct mm_struct *mm = &init_mm;
>  	unsigned int cpu = smp_processor_id();
>  
> @@ -244,26 +250,25 @@ asmlinkage void __cpuinit secondary_start_kernel(void)
>  	printk("CPU%u: Booted secondary processor\n", cpu);
>  
>  	cpu_init();
> -	preempt_disable();
>  	trace_hardirqs_off();
>  
>  	/*
>  	 * Give the platform a chance to do its own initialisation.
>  	 */
>  	platform_secondary_init(cpu);
> +}
>  
> -	notify_cpu_starting(cpu);
> +void __cpuinit __cpu_pre_online(void *unused)
> +{
> +	unsigned int cpu = smp_processor_id();
>  
>  	calibrate_delay();
>  
>  	smp_store_cpu_info(cpu);
> +}
>  
> -	/*
> -	 * OK, now it's safe to let the boot CPU continue.  Wait for
> -	 * the CPU migration code to notice that the CPU is online
> -	 * before we continue - which happens after __cpu_up returns.
> -	 */
> -	set_cpu_online(cpu, true);
> +void __cpuinit __cpu_post_online(void *unused)
> +{
>  	complete(&cpu_running);
>  
>  	/*
> @@ -273,11 +278,6 @@ asmlinkage void __cpuinit secondary_start_kernel(void)
>  
>  	local_irq_enable();
>  	local_fiq_enable();
> -
> -	/*
> -	 * OK, it's off to the idle thread for us
> -	 */
> -	cpu_idle();
>  }
>  
>  void __init smp_cpus_done(unsigned int max_cpus)
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ