zephyr/arch/x86
Peter Mitsis 0bcdae2c62 kernel: Add CONFIG_ARCH_HAS_DIRECTED_IPIS
Platforms that support IPIs allow them to be broadcast via the
new arch_sched_broadcast_ipi() routine (replacing arch_sched_ipi()).
Those that also allow IPIs to be directed to specific CPUs may
use arch_sched_directed_ipi() to do so.

As the kernel has the capability to track which CPUs may need an IPI
(see CONFIG_IPI_OPTIMIZE), this commit updates the signalling of
tracked IPIs to use the directed version if supported; otherwise
they continue to use the broadcast version.

Platforms that allow directed IPIs may see a significant reduction
in the number of IPI related ISRs when CONFIG_IPI_OPTIMIZE is
enabled and the number of CPUs increases.  These platforms can be
identified by the Kconfig option CONFIG_ARCH_HAS_DIRECTED_IPIS.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-06-04 22:35:54 -04:00
..
core kernel: Add CONFIG_ARCH_HAS_DIRECTED_IPIS 2024-06-04 22:35:54 -04:00
include arch: define struct arch_esf and deprecate z_arch_esf_t 2024-06-04 14:02:51 -05:00
zefi arch: x86: avoided increments/decrements with side effects 2024-05-09 15:44:54 +02:00
CMakeLists.txt x86: gen_mmu: allow script to take extra arguments 2021-03-28 08:30:06 -04:00
gen_gdt.py x86: synchronize usage of CONFIG_X86_STACK_PROTECTION 2024-04-10 07:44:27 -04:00
gen_idt.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
gen_mmu.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
ia32.cmake cmake: oneApi: add oneApi support on windows. 2021-07-27 07:20:12 -04:00
intel64.cmake x86: add kconfigs and compiler flags for MMX and SSE* 2021-02-15 08:21:15 -05:00
Kconfig x86: use CONFIG_PRIVILEGED_STACK_SIZE for stack size 2024-03-08 09:37:36 +01:00
timing.c arch: migrate includes to <zephyr/...> 2022-05-06 19:57:22 +02:00