smp: Optimize flush_smp_call_function_queue()
authorPeter Zijlstra <peterz@infradead.org>
Tue, 26 May 2020 16:10:59 +0000 (18:10 +0200)
committerIngo Molnar <mingo@kernel.org>
Thu, 28 May 2020 08:54:15 +0000 (10:54 +0200)
commit52103be07d8b08311955f8c30e535c2dda290cf4
tree63cef1a4ad4f066054182d9a1ce44cbeee69218f
parent19a1f5ec699954d21be10f74ff71c2a7079e99ad
smp: Optimize flush_smp_call_function_queue()

The call_single_queue can contain (two) different callbacks,
synchronous and asynchronous. The current interrupt handler runs them
in-order, which means that remote CPUs that are waiting for their
synchronous call can be delayed by running asynchronous callbacks.

Rework the interrupt handler to first run the synchonous callbacks.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20200526161907.836818381@infradead.org
kernel/smp.c