]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
x86: store pending bitmapped IPIs in per-cpu areas
authormjg <mjg@FreeBSD.org>
Sun, 12 May 2019 06:36:54 +0000 (06:36 +0000)
committermjg <mjg@FreeBSD.org>
Sun, 12 May 2019 06:36:54 +0000 (06:36 +0000)
commit1f0d762096cd9a37bcdf27290cca14ad9e7c649f
treee9d957dd72524fae0e87752c242e4a348f52b690
parent03e6ca6d64f5e81f264836e085e4ca8bfb8bca13
x86: store pending bitmapped IPIs in per-cpu areas

This gets rid of the global cpu_ipi_pending array.

While replace cmpset with fcmpset in the delivery code and opportunistically
check if given IPI is already pending.

Sponsored by: The FreeBSD Foundation
sys/amd64/amd64/mp_machdep.c
sys/amd64/include/pcpu.h
sys/i386/i386/mp_machdep.c
sys/i386/include/pcpu.h
sys/x86/include/x86_smp.h
sys/x86/x86/mp_x86.c