Re: [patch v3 21/36] Hexagon: Add SMP support

Thomas Gleixner
2011-09-09T13:24:54Z

On Thu, 8 Sep 2011, Richard Kuo wrote:

> + /* Set the memory struct */
> + atomic_inc(&init_mm.mm_count);
> + current->active_mm = &init_mm;
> +
> + cpu = smp_processor_id();
> +
> + setup_irq(BASE_IPI_IRQ + cpu, &ipi_intdesc);
> +
> + /* Register the clock_event dummy */
> + setup_percpu_clockdev();
> +
> + printk(KERN_INFO "%s cpu %d\n", __func__, current_thread_info()->cpu);
> +
> + local_irq_enable();
> + set_cpu_online(cpu, true);

This wants to be:

set_cpu_online(cpu, true);
while (!cpumask_test_cpu(cpu, cpu_active_mask))
cpu_relax();
local_irq_enable();

See x86/kernel/smpboot.c and
http://lists.arm.linux.org.uk/lurker/message/20110908.215756.a2ffbe5f.en.html

Thanks,

tglx