Fighting with some potential race in ivshmem-net, I noticed that we lack the right memory barriers before sending ivshmem doorbell events. On x86, this even revealed some potential issue of Linux [1].
This series cleanes up our dirty corners, adding the right IPI barrier for x2APIC mode and changing the spec and implementation of doorbell writes to include a memory barrier. There are also some ARM cleanups along this. Please review carefully! Thanks, Jan [1] https://lore.kernel.org/lkml/[email protected]/ Jan Kiszka (6): x86: Add proper fence before sending IPIs arm-common: Add memory barrier before ivshmem interrupt submission arm-common: Get rid of arm_cpu_kick core, arm-common: Clarify role of spin_unlock before event submission arm-common: Factor out irqchip_trigger_external_irq Documentation: ivshmem: Require that doorbell writes act as memory barriers Documentation/ivshmem-v2-specification.md | 4 ++++ hypervisor/arch/arm-common/control.c | 3 ++- hypervisor/arch/arm-common/include/asm/control.h | 6 ------ hypervisor/arch/arm-common/include/asm/irqchip.h | 2 ++ hypervisor/arch/arm-common/irqchip.c | 14 +++++++------- hypervisor/arch/arm-common/ivshmem.c | 11 +++++++++-- hypervisor/arch/arm-common/psci.c | 7 ++++++- hypervisor/arch/x86/apic.c | 11 +++++++++++ hypervisor/arch/x86/control.c | 3 --- hypervisor/arch/x86/include/asm/control.h | 2 -- hypervisor/control.c | 4 ++++ hypervisor/include/jailhouse/control.h | 15 +++++++++++++++ 12 files changed, 60 insertions(+), 22 deletions(-) -- 2.16.4 -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jailhouse-dev/cover.1583516039.git.jan.kiszka%40siemens.com.
