struct percpu
Defined at line 34 of file ../../zircon/kernel/include/kernel/percpu.h
Forward declaration.
Public Members
TimerQueue timer_queue
CpuSearchSet search_set
Scheduler scheduler
ChainLockTransaction * active_cl_transaction
atomic chain_lock_conflict_id
guest_stats gstats
cpu_stats stats
IdlePowerThread idle_power_thread
int64_t * counters
DpcRunner dpc_runner
vm_page_counts vm_page_counts
Timer lockup_detector_timer
StallAccumulator memory_stall_accumulator
PlatformCpuResumeState resume_state
Public Methods
void percpu (cpu_num_t cpu_num)
Defined at line 34 of file ../../zircon/kernel/kernel/percpu.cc
void percpu (const percpu & )
percpus cannot be moved or copied.
Defined at line 38 of file ../../zircon/kernel/include/kernel/percpu.h
void percpu (percpu && )
Defined at line 39 of file ../../zircon/kernel/include/kernel/percpu.h
percpu & operator= (const percpu & )
Defined at line 40 of file ../../zircon/kernel/include/kernel/percpu.h
percpu & operator= (percpu && )
Defined at line 41 of file ../../zircon/kernel/include/kernel/percpu.h
void InitializeBoot ()
Called once during early init by the boot processor to initalize the percpu
data for the boot processor.
Defined at line 47 of file ../../zircon/kernel/kernel/percpu.cc
void InitializeSecondariesBegin ()
Called once by the boot processor after heap init to initialize the percpu
data for the secondary processors.
Defined at line 53 of file ../../zircon/kernel/kernel/percpu.cc
percpu & Get (cpu_num_t cpu_num)
Returns a reference to the percpu instance for given CPU number.
Defined at line 117 of file ../../zircon/kernel/include/kernel/percpu.h
void InitializeSecondaryFinish ()
Called on each secondary processors immediately after booting.
Defined at line 117 of file ../../zircon/kernel/kernel/percpu.cc
percpu & GetCurrent ()
Returns a reference to the percpu instance for the calling CPU.
Defined at line 123 of file ../../zircon/kernel/include/kernel/percpu.h
size_t processor_count ()
Returns the number of percpu instances.
Defined at line 126 of file ../../zircon/kernel/include/kernel/percpu.h
template <typename Func>
void WithCurrentPreemptDisable (Func && func)
Call |Func| with the current CPU's percpu struct with preemption disabled.
|Func| should accept a |percpu*|.
Defined at line 143 of file ../../zircon/kernel/include/kernel/percpu.h
template <typename Func>
void ForEachPreemptDisable (Func && func)
Call |Func| once per CPU with each CPU's percpu struct with preemption disabled.
|Func| should accept a |percpu*|.
Defined at line 154 of file ../../zircon/kernel/include/kernel/percpu.h
template <typename Func>
void ForEach (Func && func)
Call |Func| once per CPU with each CPU's percpu struct.
|Func| should accept |cpu_num| and |percpu*|.
Defined at line 167 of file ../../zircon/kernel/include/kernel/percpu.h