Home
last modified time | relevance | path

Searched refs:percpu (Results 1 – 16 of 16) sorted by relevance

/kernel/include/kernel/
A Dpercpu.h20 struct percpu { struct
58 extern struct percpu percpu[SMP_MAX_CPUS]; argument
61 static_assert(NUM_PRIORITIES <= sizeof(percpu[0].run_queue_bitmap) * CHAR_BIT, "");
63 static inline struct percpu* get_local_percpu(void) { in get_local_percpu()
64 return &percpu[arch_curr_cpu_num()]; in get_local_percpu()
/kernel/kernel/
A Ddebug.cpp131 printf("\treschedules: %lu\n", percpu[i].stats.reschedules); in cmd_threadstats()
134 printf("\tpreempts: %lu\n", percpu[i].stats.preempts); in cmd_threadstats()
135 printf("\tyields: %lu\n", percpu[i].stats.yields); in cmd_threadstats()
137 printf("\ttimers: %lu\n", percpu[i].stats.timers); in cmd_threadstats()
217 zx_duration_t idle_time = percpu[i].stats.idle_time; in cmd_threadload()
246 percpu[i].stats.yields - old_stats[i].yields, in cmd_threadload()
247 percpu[i].stats.preempts - old_stats[i].preempts, in cmd_threadload()
249 percpu[i].stats.syscalls - old_stats[i].syscalls, in cmd_threadload()
252 percpu[i].stats.timers - old_stats[i].timers, in cmd_threadload()
256 old_stats[i] = percpu[i].stats; in cmd_threadload()
[all …]
A Ddpc.cpp33 struct percpu* cpu = get_local_percpu(); in dpc_queue()
57 struct percpu* cpu = get_local_percpu(); in dpc_queue_thread_locked()
74 DEBUG_ASSERT(!percpu[cpu_id].dpc_stop); in dpc_shutdown()
77 percpu[cpu_id].dpc_stop = true; in dpc_shutdown()
80 thread_t* t = percpu[cpu_id].dpc_thread; in dpc_shutdown()
81 percpu[cpu_id].dpc_thread = nullptr; in dpc_shutdown()
105 DEBUG_ASSERT(percpu[cpu_id].dpc_stop); in dpc_shutdown_transition_off_cpu()
118 percpu[cpu_id].dpc_stop = false; in dpc_shutdown_transition_off_cpu()
119 event_destroy(&percpu[cpu_id].dpc_event); in dpc_shutdown_transition_off_cpu()
130 struct percpu* cpu = get_local_percpu(); in dpc_thread()
[all …]
A Dtimer.cpp77 if (new_deadline < percpu[cpu].next_timer_deadline) { in update_platform_timer()
80 percpu[cpu].next_timer_deadline = new_deadline; in update_platform_timer()
196 list_add_tail(&percpu[cpu].timer_queue, &timer->node); in insert_timer_in_queue()
277 percpu[cpu].preempt_timer_deadline = deadline; in timer_preempt_reset()
287 percpu[cpu].preempt_timer_deadline = ZX_TIME_INFINITE; in timer_preempt_cancel()
376 percpu[cpu].next_timer_deadline = ZX_TIME_INFINITE; in timer_tick()
379 if (now >= percpu[cpu].preempt_timer_deadline) { in timer_tick()
443 if (percpu[cpu].preempt_timer_deadline < deadline) { in timer_tick()
444 deadline = percpu[cpu].preempt_timer_deadline; in timer_tick()
502 percpu[cpu].next_timer_deadline = ZX_TIME_INFINITE; in timer_thaw_percpu()
[all …]
A Dpercpu.cpp12 struct percpu percpu[SMP_MAX_CPUS] __CPU_ALIGN_EXCLUSIVE; variable
A Dsched.cpp219 list_add_head(&percpu[cpu].run_queue[t->effec_priority], &t->queue_node); in insert_in_run_queue_head()
220 percpu[cpu].run_queue_bitmap |= (1u << t->effec_priority); in insert_in_run_queue_head()
229 list_add_tail(&percpu[cpu].run_queue[t->effec_priority], &t->queue_node); in insert_in_run_queue_tail()
230 percpu[cpu].run_queue_bitmap |= (1u << t->effec_priority); in insert_in_run_queue_tail()
244 struct percpu* c = &percpu[t->curr_cpu]; in remove_from_run_queue()
251 static uint highest_run_queue(const struct percpu* c) TA_REQ(thread_lock) { in highest_run_queue()
260 struct percpu* c = &percpu[cpu]; in sched_get_top_thread()
851 percpu[cpu].stats.idle_time = zx_duration_add_duration(percpu[cpu].stats.idle_time, delta); in sched_resched_internal()
905 list_initialize(&percpu[cpu].run_queue[i]); in sched_init_early()
A Drules.mk30 $(LOCAL_DIR)/percpu.cpp \
A Dthread.cpp999 thread_t* t = &percpu[0].idle_thread; in thread_init_early()
1005 auto* state = reinterpret_cast<lockdep::ThreadLockState*>(&percpu[cpu].lock_state); in thread_init_early()
1136 DEBUG_ASSERT(percpu[cpu_num].idle_thread.magic != THREAD_MAGIC); in thread_create_idle_thread()
1142 &percpu[cpu_num].idle_thread, name, in thread_create_idle_thread()
/kernel/arch/x86/
A Dmp.cpp134 struct x86_percpu* const percpu = in x86_init_percpu() local
136 DEBUG_ASSERT(percpu->cpu_num == cpu_num); in x86_init_percpu()
137 DEBUG_ASSERT(percpu->direct == percpu); in x86_init_percpu()
244 DEBUG_ASSERT(percpu->cpu_num == 0); in x86_set_local_apic_id()
245 percpu->apic_id = apic_id; in x86_set_local_apic_id()
278 *percpu->monitor = 0; in arch_mp_reschedule()
303 while (*percpu->monitor) { in arch_idle_thread_routine()
304 x86_monitor(percpu->monitor); in arch_idle_thread_routine()
308 if (*percpu->monitor) { in arch_idle_thread_routine()
354 struct x86_percpu* percpu; in arch_mp_send_ipi() local
[all …]
A Ddescriptor.cpp38 static void x86_tss_assign_ists(struct x86_percpu* percpu, tss_t* tss);
46 struct x86_percpu* percpu = x86_get_percpu(); in x86_initialize_percpu_tss() local
47 uint cpu_num = percpu->cpu_num; in x86_initialize_percpu_tss()
48 tss_t* tss = &percpu->default_tss; in x86_initialize_percpu_tss()
54 x86_tss_assign_ists(percpu, tss); in x86_initialize_percpu_tss()
63 static void x86_tss_assign_ists(struct x86_percpu* percpu, tss_t* tss) { in x86_tss_assign_ists() argument
64 tss->ist1 = (uintptr_t)&percpu->interrupt_stacks[0] + PAGE_SIZE; in x86_tss_assign_ists()
65 tss->ist2 = (uintptr_t)&percpu->interrupt_stacks[1] + PAGE_SIZE; in x86_tss_assign_ists()
66 tss->ist3 = (uintptr_t)&percpu->interrupt_stacks[2] + PAGE_SIZE; in x86_tss_assign_ists()
A Darch.cpp184 struct x86_percpu* const percpu = &ap_percpus[cpu_num - 1]; in x86_secondary_entry() local
185 write_msr(X86_MSR_IA32_GS_BASE, (uintptr_t)percpu); in x86_secondary_entry()
188 percpu->stack_guard = bp_percpu.stack_guard; in x86_secondary_entry()
A Dfaults.cpp163 struct x86_percpu* percpu = x86_get_percpu(); in x86_gpf_handler() local
164 if (unlikely(percpu->gpf_return_target)) { in x86_gpf_handler()
168 frame->ip = percpu->gpf_return_target; in x86_gpf_handler()
169 percpu->gpf_return_target = 0; in x86_gpf_handler()
/kernel/arch/arm64/include/arch/arm64/
A Dmp.h52 static inline void arm64_write_percpu_ptr(struct arm64_percpu* percpu) { in arm64_write_percpu_ptr() argument
53 __arm64_percpu = percpu; in arm64_write_percpu_ptr()
/kernel/lib/counters/
A Dcounters.cpp75 percpu[ix].counters = &kcounters_arena[ix * get_num_counters()]; in counters_init()
157 values[ix] = percpu[ix].counters[counter_index]; in dump_counter()
166 values[ix] = percpu[ix].counters[counter_index]; in dump_counter()
/kernel/arch/x86/hypervisor/
A Dvcpu.cpp474 x86_percpu* percpu = x86_get_percpu(); in vmcs_init() local
486 vmcs.Write(VmcsField16::HOST_TR_SELECTOR, TSS_SELECTOR(percpu->cpu_num)); in vmcs_init()
489 vmcs.Write(VmcsFieldXX::HOST_TR_BASE, reinterpret_cast<uint64_t>(&percpu->default_tss)); in vmcs_init()
/kernel/syscalls/
A Dobject.cpp449 const auto cpu = &percpu[i]; in sys_object_get_info()
467 current_time(), percpu[i].idle_thread.last_started_running); in sys_object_get_info()

Completed in 43 milliseconds