Skip to content
Commit 7f0b5edd authored by Ederson de Souza's avatar Ederson de Souza Committed by Henrik Brix Andersen
Browse files

arch/x86: Make irq_offload SMP-safe on x86_64



The irq_offload mechanism was using the same entry of the IDT vector for
all CPUs on SMP systems. This caused race conditions when two CPUs were
doing irq_offload() calls.

This patch addresses that by adding one indirection layer: the
irq_offload() now sets a per CPU entry with the routine and parameter to
be run. Then a software interrupt is generated, and a default handler
will do the appropriate dispatching.

Finally, test "kernel/smp_abort" is enabled for x86 as it should work
now.

Fixes #72172.

Signed-off-by: default avatarEderson de Souza <ederson.desouza@intel.com>
parent af63e488
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment