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