ZXFoundation™ 26h2
Loading...
Searching...
No Matches
zxfoundation.smp.csd.core Module Reference

Functions

auto zxfoundation::smp::csd::call_function_many (const ::lib::cpumask &mask, csd_fn func, void *data, u64 info, call_single_data *csd_pool, u32 pool_capacity) noexcept -> std::expected< u32, lib::kernel_error >
 Fan-out a synchronous callback to many CPUs at once.
auto zxfoundation::smp::csd::call_function_single_async (u16 cpu, call_single_data *csd) noexcept -> std::expected< void, lib::kernel_error >
 Enqueue a pre-initialised csd onto a target CPU.
auto zxfoundation::smp::csd::call_function_single_sync (u16 cpu, csd_fn func, void *data, u64 info) noexcept -> std::expected< void, lib::kernel_error >
 Synchronous single-CPU function-call IPI.
auto zxfoundation::smp::csd::disable_cpu (u16 cpu) noexcept -> void
 Prevent new remote CSD enqueues to cpu and wait until all already accepted callbacks have completed on the target.
auto zxfoundation::smp::csd::drain_cpu () noexcept -> void
 Drain all pending CSD nodes for the running CPU.
auto zxfoundation::smp::csd::enable_cpu (u16 cpu) noexcept -> void
 Allow remote CSD enqueues to cpu after it has been initialized.
auto zxfoundation::smp::csd::init (call_single_data &csd, csd_fn func, void *data, u64 info, u32 flags) noexcept -> void
 Initialise a csd before enqueue.
auto zxfoundation::smp::csd::is_done (const call_single_data &csd) noexcept -> bool
 Test whether csd has completed dispatch.
auto zxfoundation::smp::csd::lock_wait (const call_single_data &csd) noexcept -> void
 Wait until the target CPU has completed dispatch of csd.
auto zxfoundation::smp::csd::pending () noexcept -> bool
 Test whether the running CPU has any pending csd nodes.
auto zxfoundation::smp::csd::set_rcu_free (call_single_data &csd, void(*fn)(sync::rcu::rcu_head *) noexcept) noexcept -> void
 Register an RCU-freeing callback on a csd flagged with CSD_F_RCU_FREE.
auto zxfoundation::smp::csd::stats_of (u16 cpu) noexcept -> csd_stats
 Read the per-CPU CSD statistics block for diagnostics.

Files

file  zxfoundation/smp/csd.zcomponent/core.cxxm
file  zxfoundation/smp/csd.zcomponent/core.cxx