/linux-6.6.21/include/linux/ |
D | local_lock_internal.h | 68 local_lock_acquire(this_cpu_ptr(lock)); \ 74 local_lock_acquire(this_cpu_ptr(lock)); \ 80 local_lock_acquire(this_cpu_ptr(lock)); \ 85 local_lock_release(this_cpu_ptr(lock)); \ 91 local_lock_release(this_cpu_ptr(lock)); \ 97 local_lock_release(this_cpu_ptr(lock)); \ 119 spin_lock(this_cpu_ptr((__lock))); \ 133 spin_unlock(this_cpu_ptr((__lock))); \
|
/linux-6.6.21/kernel/ |
D | irq_work.c | 35 if (!llist_empty(this_cpu_ptr(&lazy_list)) && tsk) in wake_irq_workd() 51 return !llist_empty(this_cpu_ptr(&lazy_list)); in irq_workd_should_run() 103 list = this_cpu_ptr(&lazy_list); in __irq_work_queue_local() 105 list = this_cpu_ptr(&raised_list); in __irq_work_queue_local() 188 raised = this_cpu_ptr(&raised_list); in irq_work_needs_cpu() 189 lazy = this_cpu_ptr(&lazy_list); in irq_work_needs_cpu() 261 irq_work_run_list(this_cpu_ptr(&raised_list)); in irq_work_run() 263 irq_work_run_list(this_cpu_ptr(&lazy_list)); in irq_work_run() 271 struct llist_head *raised = this_cpu_ptr(&raised_list); in irq_work_tick() 277 irq_work_run_list(this_cpu_ptr(&lazy_list)); in irq_work_tick() [all …]
|
D | watchdog.c | 135 new_interrupts = atomic_inc_return(this_cpu_ptr(&hrtimer_interrupts)); in watchdog_hardlockup_kick() 439 complete(this_cpu_ptr(&softlockup_completion)); in softlockup_fn() 458 if (completion_done(this_cpu_ptr(&softlockup_completion))) { in watchdog_timer_fn() 459 reinit_completion(this_cpu_ptr(&softlockup_completion)); in watchdog_timer_fn() 462 this_cpu_ptr(&softlockup_stop_work)); in watchdog_timer_fn() 484 period_ts = READ_ONCE(*this_cpu_ptr(&watchdog_report_ts)); in watchdog_timer_fn() 542 struct hrtimer *hrtimer = this_cpu_ptr(&watchdog_hrtimer); in watchdog_enable() 543 struct completion *done = this_cpu_ptr(&softlockup_completion); in watchdog_enable() 568 struct hrtimer *hrtimer = this_cpu_ptr(&watchdog_hrtimer); in watchdog_disable() 579 wait_for_completion(this_cpu_ptr(&softlockup_completion)); in watchdog_disable()
|
D | context_tracking.c | 126 struct context_tracking *ct = this_cpu_ptr(&context_tracking); in ct_kernel_exit() 165 struct context_tracking *ct = this_cpu_ptr(&context_tracking); in ct_kernel_enter() 206 struct context_tracking *ct = this_cpu_ptr(&context_tracking); in ct_nmi_exit() 261 struct context_tracking *ct = this_cpu_ptr(&context_tracking); in ct_nmi_enter() 468 struct context_tracking *ct = this_cpu_ptr(&context_tracking); in __ct_user_enter() 608 struct context_tracking *ct = this_cpu_ptr(&context_tracking); in __ct_user_exit()
|
D | user-return-notifier.c | 18 hlist_add_head(&urn->link, this_cpu_ptr(&return_notifier_list)); in user_return_notifier_register() 29 if (hlist_empty(this_cpu_ptr(&return_notifier_list))) in user_return_notifier_unregister()
|
/linux-6.6.21/arch/powerpc/include/asm/ |
D | idle.h | 14 *this_cpu_ptr(&idle_entry_purr_snap) = mfspr(SPRN_PURR); in snapshot_purr_idle_entry() 19 *this_cpu_ptr(&idle_entry_spurr_snap) = mfspr(SPRN_SPURR); in snapshot_spurr_idle_entry() 25 u64 in_purr = *this_cpu_ptr(&idle_entry_purr_snap); in update_idle_purr_accounting() 34 u64 *idle_spurr_cycles_ptr = this_cpu_ptr(&idle_spurr_cycles); in update_idle_spurr_accounting() 35 u64 in_spurr = *this_cpu_ptr(&idle_entry_spurr_snap); in update_idle_spurr_accounting() 89 return *this_cpu_ptr(&idle_spurr_cycles); in read_this_idle_spurr()
|
D | xics.h | 115 struct xics_cppr *os_cppr = this_cpu_ptr(&xics_cppr); in xics_push_cppr() 128 struct xics_cppr *os_cppr = this_cpu_ptr(&xics_cppr); in xics_pop_cppr() 138 struct xics_cppr *os_cppr = this_cpu_ptr(&xics_cppr); in xics_set_base_cppr() 150 struct xics_cppr *os_cppr = this_cpu_ptr(&xics_cppr); in xics_cppr_top()
|
/linux-6.6.21/Documentation/translations/zh_CN/core-api/ |
D | this_cpu_ops.rst | 118 y = this_cpu_ptr(&x) 121 ``this_cpu_ptr`` 避免了通用 ``get_cpu``/``put_cpu`` 序列所需的多个步骤。没有可用 148 &x和p是每CPU变量的偏移量。 ``this_cpu_ptr()`` 使用每CPU变量的偏移量,这让它看起来 181 ``this_cpu_ptr()``:: 185 pp = this_cpu_ptr(&p); 225 &this_cpu_ptr(pp)->n 对比 this_cpu_ptr(&pp->n) 259 struct data *p = this_cpu_ptr(&datap); 261 但是,将通过this_cpu_ptr计算的指针传递给其他cpu是不寻常的,应该避免。
|
/linux-6.6.21/arch/arm64/kvm/hyp/nvhe/ |
D | stacktrace.c | 28 struct kvm_nvhe_stacktrace_info *stacktrace_info = this_cpu_ptr(&kvm_stacktrace_info); in hyp_prepare_backtrace() 29 struct kvm_nvhe_init_params *params = this_cpu_ptr(&kvm_init_params); in hyp_prepare_backtrace() 32 stacktrace_info->overflow_stack_base = (unsigned long)this_cpu_ptr(overflow_stack); in hyp_prepare_backtrace() 44 unsigned long low = (unsigned long)this_cpu_ptr(overflow_stack); in stackinfo_get_overflow() 55 struct kvm_nvhe_init_params *params = this_cpu_ptr(&kvm_init_params); in stackinfo_get_hyp() 96 unsigned long *stacktrace = this_cpu_ptr(pkvm_stacktrace); in pkvm_save_backtrace_entry()
|
D | psci-relay.c | 160 boot_args = this_cpu_ptr(&suspend_args); in psci_cpu_suspend() 161 init_params = this_cpu_ptr(&kvm_init_params); in psci_cpu_suspend() 187 boot_args = this_cpu_ptr(&suspend_args); in psci_system_suspend() 188 init_params = this_cpu_ptr(&kvm_init_params); in psci_system_suspend() 208 host_ctxt = &this_cpu_ptr(&kvm_host_data)->host_ctxt; in __kvm_host_psci_cpu_entry() 211 boot_args = this_cpu_ptr(&cpu_on_args); in __kvm_host_psci_cpu_entry() 213 boot_args = this_cpu_ptr(&suspend_args); in __kvm_host_psci_cpu_entry()
|
/linux-6.6.21/arch/x86/kernel/cpu/mce/ |
D | intel.c | 146 if (machine_check_poll(0, this_cpu_ptr(&mce_banks_owned))) in mce_intel_cmci_poll() 169 owned = this_cpu_ptr(mce_banks_owned); in cmci_toggle_interrupt_mode() 266 machine_check_poll(MCP_TIMESTAMP, this_cpu_ptr(&mce_banks_owned)); in intel_threshold_interrupt() 276 unsigned long *owned = (void *)this_cpu_ptr(&mce_banks_owned); in cmci_discover() 298 __clear_bit(i, this_cpu_ptr(mce_poll_banks)); in cmci_discover() 322 __clear_bit(i, this_cpu_ptr(mce_poll_banks)); in cmci_discover() 333 WARN_ON(!test_bit(i, this_cpu_ptr(mce_poll_banks))); in cmci_discover() 358 machine_check_poll(0, this_cpu_ptr(&mce_banks_owned)); in cmci_recheck() 367 if (!test_bit(bank, this_cpu_ptr(mce_banks_owned))) in __cmci_disable_bank() 372 __clear_bit(bank, this_cpu_ptr(mce_banks_owned)); in __cmci_disable_bank() [all …]
|
/linux-6.6.21/arch/x86/events/amd/ |
D | brs.c | 205 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_brs_enable() 221 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_brs_enable_all() 228 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_brs_disable() 257 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_brs_disable_all() 283 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_brs_drain() 386 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_pmu_brs_sched_task() 407 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in perf_amd_brs_lopwr_cb()
|
D | lbr.c | 99 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_pmu_lbr_filter() 162 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_pmu_lbr_read() 324 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_pmu_lbr_reset() 343 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_pmu_lbr_add() 363 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_pmu_lbr_del() 378 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_pmu_lbr_sched_task() 391 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_pmu_lbr_enable_all() 412 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_pmu_lbr_disable_all()
|
/linux-6.6.21/net/core/ |
D | dst_cache.c | 68 return dst_cache_per_cpu_get(dst_cache, this_cpu_ptr(dst_cache->cache)); in dst_cache_get() 80 idst = this_cpu_ptr(dst_cache->cache); in dst_cache_get_ip4() 98 idst = this_cpu_ptr(dst_cache->cache); in dst_cache_set_ip4() 113 idst = this_cpu_ptr(dst_cache->cache); in dst_cache_set_ip6() 114 dst_cache_per_cpu_dst_set(this_cpu_ptr(dst_cache->cache), dst, in dst_cache_set_ip6() 129 idst = this_cpu_ptr(dst_cache->cache); in dst_cache_get_ip6()
|
/linux-6.6.21/arch/xtensa/kernel/ |
D | hw_breakpoint.c | 178 i = alloc_slot(this_cpu_ptr(bp_on_reg), XCHAL_NUM_IBREAK, bp); in arch_install_hw_breakpoint() 185 i = alloc_slot(this_cpu_ptr(wp_on_reg), XCHAL_NUM_DBREAK, bp); in arch_install_hw_breakpoint() 216 i = free_slot(this_cpu_ptr(bp_on_reg), XCHAL_NUM_IBREAK, bp); in arch_uninstall_hw_breakpoint() 224 i = free_slot(this_cpu_ptr(wp_on_reg), XCHAL_NUM_DBREAK, bp); in arch_uninstall_hw_breakpoint() 269 struct perf_event *bp = this_cpu_ptr(wp_on_reg)[i]; in restore_dbreak() 281 struct perf_event **bp = this_cpu_ptr(bp_on_reg); in check_hw_breakpoint() 290 struct perf_event **bp = this_cpu_ptr(wp_on_reg); in check_hw_breakpoint()
|
/linux-6.6.21/kernel/time/ |
D | tick-sched.c | 344 irq_work_queue(this_cpu_ptr(&nohz_full_kick_work)); in tick_nohz_full_kick() 529 ts = this_cpu_ptr(&tick_cpu_sched); in __tick_nohz_task_switch() 626 struct tick_sched *ts = this_cpu_ptr(&tick_cpu_sched); in tick_nohz_tick_stopped() 1110 struct tick_sched *ts = this_cpu_ptr(&tick_cpu_sched); in tick_nohz_idle_stop_tick() 1146 tick_nohz_retain_tick(this_cpu_ptr(&tick_cpu_sched)); in tick_nohz_idle_retain_tick() 1167 ts = this_cpu_ptr(&tick_cpu_sched); in tick_nohz_idle_enter() 1187 struct tick_sched *ts = this_cpu_ptr(&tick_cpu_sched); in tick_nohz_irq_exit() 1200 struct tick_sched *ts = this_cpu_ptr(&tick_cpu_sched); in tick_nohz_idle_got_tick() 1234 struct tick_sched *ts = this_cpu_ptr(&tick_cpu_sched); in tick_nohz_get_sleep_length() 1284 struct tick_sched *ts = this_cpu_ptr(&tick_cpu_sched); in tick_nohz_get_idle_calls() [all …]
|
/linux-6.6.21/net/netfilter/ |
D | nft_counter.c | 38 this_cpu = this_cpu_ptr(priv->counter); in nft_counter_do_eval() 39 myseq = this_cpu_ptr(&nft_counter_seq); in nft_counter_do_eval() 70 this_cpu = this_cpu_ptr(cpu_stats); in nft_counter_do_init() 112 this_cpu = this_cpu_ptr(priv->counter); in nft_counter_reset() 244 this_cpu = this_cpu_ptr(cpu_stats); in nft_counter_clone() 269 this_cpu = this_cpu_ptr(priv->counter); in nft_counter_offload_stats() 270 myseq = this_cpu_ptr(&nft_counter_seq); in nft_counter_offload_stats()
|
/linux-6.6.21/arch/x86/events/intel/ |
D | bts.c | 234 struct bts_ctx *bts = this_cpu_ptr(&bts_ctx); in __bts_event_start() 262 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in bts_event_start() 263 struct bts_ctx *bts = this_cpu_ptr(&bts_ctx); in bts_event_start() 293 struct bts_ctx *bts = this_cpu_ptr(&bts_ctx); in __bts_event_stop() 307 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in bts_event_stop() 308 struct bts_ctx *bts = this_cpu_ptr(&bts_ctx); in bts_event_stop() 341 struct bts_ctx *bts = this_cpu_ptr(&bts_ctx); in intel_bts_enable_local() 361 struct bts_ctx *bts = this_cpu_ptr(&bts_ctx); in intel_bts_disable_local() 452 struct debug_store *ds = this_cpu_ptr(&cpu_hw_events)->ds; in intel_bts_interrupt() 453 struct bts_ctx *bts = this_cpu_ptr(&bts_ctx); in intel_bts_interrupt() [all …]
|
/linux-6.6.21/kernel/irq/ |
D | ipi-mux.c | 31 struct ipi_mux_cpu *icpu = this_cpu_ptr(ipi_mux_pcpu); in ipi_mux_mask() 38 struct ipi_mux_cpu *icpu = this_cpu_ptr(ipi_mux_pcpu); in ipi_mux_unmask() 56 struct ipi_mux_cpu *icpu = this_cpu_ptr(ipi_mux_pcpu); in ipi_mux_send_mask() 122 struct ipi_mux_cpu *icpu = this_cpu_ptr(ipi_mux_pcpu); in ipi_mux_process()
|
/linux-6.6.21/arch/arm64/kvm/ |
D | vmid.c | 135 atomic64_set(this_cpu_ptr(&active_vmids), VMID_ACTIVE_INVALID); in kvm_arm_vmid_clear_active() 155 old_active_vmid = atomic64_read(this_cpu_ptr(&active_vmids)); in kvm_arm_vmid_update() 157 0 != atomic64_cmpxchg_relaxed(this_cpu_ptr(&active_vmids), in kvm_arm_vmid_update() 168 atomic64_set(this_cpu_ptr(&active_vmids), vmid); in kvm_arm_vmid_update()
|
/linux-6.6.21/arch/arm/kernel/ |
D | perf_event_xscale.c | 149 struct pmu_hw_events *cpuc = this_cpu_ptr(cpu_pmu->hw_events); in xscale1pmu_handle_irq() 209 struct pmu_hw_events *events = this_cpu_ptr(cpu_pmu->hw_events); in xscale1pmu_enable_event() 245 struct pmu_hw_events *events = this_cpu_ptr(cpu_pmu->hw_events); in xscale1pmu_disable_event() 304 struct pmu_hw_events *events = this_cpu_ptr(cpu_pmu->hw_events); in xscale1pmu_start() 316 struct pmu_hw_events *events = this_cpu_ptr(cpu_pmu->hw_events); in xscale1pmu_stop() 501 struct pmu_hw_events *cpuc = this_cpu_ptr(cpu_pmu->hw_events); in xscale2pmu_handle_irq() 555 struct pmu_hw_events *events = this_cpu_ptr(cpu_pmu->hw_events); in xscale2pmu_enable_event() 601 struct pmu_hw_events *events = this_cpu_ptr(cpu_pmu->hw_events); in xscale2pmu_disable_event() 667 struct pmu_hw_events *events = this_cpu_ptr(cpu_pmu->hw_events); in xscale2pmu_start() 679 struct pmu_hw_events *events = this_cpu_ptr(cpu_pmu->hw_events); in xscale2pmu_stop()
|
/linux-6.6.21/arch/arm64/kernel/ |
D | hw_breakpoint.c | 236 slots = this_cpu_ptr(bp_on_reg); in hw_breakpoint_control() 243 slots = this_cpu_ptr(wp_on_reg); in hw_breakpoint_control() 588 slots = this_cpu_ptr(bp_on_reg); in toggle_bp_registers() 592 slots = this_cpu_ptr(wp_on_reg); in toggle_bp_registers() 630 slots = this_cpu_ptr(bp_on_reg); in breakpoint_handler() 680 kernel_step = this_cpu_ptr(&stepping_kernel_bp); in breakpoint_handler() 765 slots = this_cpu_ptr(wp_on_reg); in watchpoint_handler() 831 kernel_step = this_cpu_ptr(&stepping_kernel_bp); in watchpoint_handler() 856 kernel_step = this_cpu_ptr(&stepping_kernel_bp); in reinstall_suspended_bps() 955 for (slots = this_cpu_ptr(bp_on_reg), i = 0; i < core_num_brps; ++i) { in hw_breakpoint_reset() [all …]
|
/linux-6.6.21/arch/x86/xen/ |
D | multicalls.c | 58 struct mc_buffer *b = this_cpu_ptr(&mc_buffer); in xen_mc_flush() 140 struct mc_buffer *b = this_cpu_ptr(&mc_buffer); in __xen_mc_entry() 171 struct mc_buffer *b = this_cpu_ptr(&mc_buffer); in xen_mc_extend_args() 201 struct mc_buffer *b = this_cpu_ptr(&mc_buffer); in xen_mc_callback()
|
/linux-6.6.21/arch/x86/hyperv/ |
D | hv_proc.c | 82 input_page = *this_cpu_ptr(hyperv_pcpu_input_arg); in hv_call_deposit_pages() 134 input = *this_cpu_ptr(hyperv_pcpu_input_arg); in hv_call_add_logical_proc() 136 output = *this_cpu_ptr(hyperv_pcpu_output_arg); in hv_call_add_logical_proc() 182 input = *this_cpu_ptr(hyperv_pcpu_input_arg); in hv_call_create_vp()
|
/linux-6.6.21/arch/sh/kernel/ |
D | kprobes.c | 102 struct kprobe *saved = this_cpu_ptr(&saved_next_opcode); in arch_remove_kprobe() 111 saved = this_cpu_ptr(&saved_next_opcode2); in arch_remove_kprobe() 153 op1 = this_cpu_ptr(&saved_next_opcode); in prepare_singlestep() 154 op2 = this_cpu_ptr(&saved_next_opcode2); in prepare_singlestep() 326 p = this_cpu_ptr(&saved_next_opcode); in post_kprobe_handler() 338 p = this_cpu_ptr(&saved_next_opcode2); in post_kprobe_handler()
|