zephyr/doc/kernel
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
..
data_structures doc: Fix double 'the' 2023-11-15 14:25:11 +00:00
drivers build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
iterable_sections doc: move misc services into OS Service section 2022-04-07 16:35:19 +02:00
memory_management kernel: mmu: shrink and align struct z_page_frame 2024-05-13 16:04:40 -04:00
object_cores doc: Add missing threads references to object cores 2023-10-09 10:16:46 +02:00
services kernel: Add CONFIG_ARCH_HAS_DIRECTED_IPIS 2024-06-04 22:35:54 -04:00
timing_functions os: timing: polish doxygen 2023-12-12 19:10:33 +01:00
usermode build: namespace syscall sources to zephyr/ 2024-05-28 22:03:55 +02:00
util doc: move utility functions to kernel 2022-04-07 16:35:19 +02:00
code-relocation.rst doc: kernel: code-relocation: Remove kernel example and add tips 2024-05-02 09:56:11 +01:00
index.rst doc: Add object core documentation 2023-09-30 08:04:14 +03:00
timeutil.rst bluetooth: mesh: Doc fix Bluetooth mesh to Mesh 2023-12-01 10:56:18 +00:00