ZXFoundation™ 26h2
Loading...
Searching...
No Matches
zxfoundation.sched.nohz.core Module Reference

Data Structures

struct  zxfoundation::sched::nohz::nohz_ops
 Generic per-CPU hook pointers. More...

Enumerations

enum class  nohz_flag : u32 { tick_stopped = 1U << 0 , idle_prepared = 1U << 1 , nr_balance_pending = 1U << 2 }
 Flags written into run_queue::nohz_flags.

Typedefs

using zxfoundation::sched::nohz::nohz_fn = auto (*)() noexcept -> void
 Default nohz management callbacks — installed during the scheduler init.

Functions

auto zxfoundation::sched::nohz::balance_pending (u32 flags) noexcept -> bool
 Test whether the nohz-idle kick is pending on the current CPU.
auto zxfoundation::sched::nohz::clear_balance (u32 &flags) noexcept -> void
 Clear the nohz-balance pending nohz_flag (committed by the balancer on the first pass of the softirq).
auto zxfoundation::sched::nohz::do_enter_balance () noexcept -> void
auto zxfoundation::sched::nohz::do_prepare_idle () noexcept -> void
auto zxfoundation::sched::nohz::do_tick_start () noexcept -> void
auto zxfoundation::sched::nohz::do_tick_stop () noexcept -> void
auto zxfoundation::sched::nohz::idle_enter (u32 &flags, const nohz_ops &ops) noexcept -> void
 Enter nohz idle on the current CPU.
auto zxfoundation::sched::nohz::idle_exit (u32 &flags, const nohz_ops &ops) noexcept -> void
 Exit nohz idle on the current CPU (called on any wakeup).

Variables

void * context {nullptr}
 This CPU's remote context.
nohz_fn enter_balance {nullptr}
 Called on wakeup before tick start.
nohz_fn prepare_idle {nullptr}
 Call before tick stop.
nohz_fn tick_start {nullptr}
 Actually re-add the periodic timer.
nohz_fn tick_stop {nullptr}
 Actually issue the timer_cancel.

Files

file  zxfoundation/sched/nohz.zcomponent/core.cxxm
file  zxfoundation/sched/nohz.zcomponent/core.cxx