]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
x86: store pending bitmapped IPIs in per-cpu areas
authorMateusz Guzik <mjg@FreeBSD.org>
Sun, 12 May 2019 06:36:54 +0000 (06:36 +0000)
committerMateusz Guzik <mjg@FreeBSD.org>
Sun, 12 May 2019 06:36:54 +0000 (06:36 +0000)
commita8c2fcb2877be723cd86e087a98f9e6b232f5cee
treee9d957dd72524fae0e87752c242e4a348f52b690
parent8eae2be460aebfcba63cf5cdc11fa6fd0962470e
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