提交 abf0ea65 编写于 作者: K Kirill Tkhai 提交者: Max Filippov

xtensa: Enable irqs after cpu is set online

there is a small possibility that wake_up of softirq thread
happens between local_irq_enable() and set_cpu_online(). In
this case affinity of the thread changes to fallback affinity
(i.e. CPU0). This may be a source of problems.

The patch kills that possibility.
Signed-off-by: NKirill Tkhai <tkhai@yandex.ru>
Signed-off-by: NMax Filippov <jcmvbkbc@gmail.com>
上级 306ab544
...@@ -151,9 +151,10 @@ void secondary_start_kernel(void) ...@@ -151,9 +151,10 @@ void secondary_start_kernel(void)
secondary_init_irq(); secondary_init_irq();
local_timer_setup(cpu); local_timer_setup(cpu);
set_cpu_online(cpu, true);
local_irq_enable(); local_irq_enable();
set_cpu_online(cpu, true);
complete(&cpu_running); complete(&cpu_running);
cpu_startup_entry(CPUHP_ONLINE); cpu_startup_entry(CPUHP_ONLINE);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册