Home
last modified time | relevance | path

Searched refs:cpuc (Results 1 – 13 of 13) sorted by relevance

/linux/arch/x86/events/amd/
H A Dlbr.c102 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_pmu_lbr_filter() local
103 int br_sel = cpuc->br_sel, offset, type, i, j; in amd_pmu_lbr_filter()
113 for (i = 0; i < cpuc->lbr_stack.nr; i++) { in amd_pmu_lbr_filter()
114 from = cpuc->lbr_entries[i].from; in amd_pmu_lbr_filter()
115 to = cpuc->lbr_entries[i].to; in amd_pmu_lbr_filter()
124 cpuc->lbr_entries[i].from += offset; in amd_pmu_lbr_filter()
131 (!(br_sel & X86_BR_KERNEL) && kernel_ip(cpuc->lbr_entries[i].from))) { in amd_pmu_lbr_filter()
132 cpuc->lbr_entries[i].from = 0; /* mark invalid */ in amd_pmu_lbr_filter()
137 cpuc->lbr_entries[i].type = common_branch_type(type); in amd_pmu_lbr_filter()
144 for (i = 0; i < cpuc->lbr_stack.nr; ) { in amd_pmu_lbr_filter()
[all …]
H A Dcore.c397 static inline int amd_has_nb(struct cpu_hw_events *cpuc) in amd_has_nb() argument
399 struct amd_nb *nb = cpuc->amd_nb; in amd_has_nb()
425 static void __amd_put_nb_event_constraints(struct cpu_hw_events *cpuc, in __amd_put_nb_event_constraints() argument
428 struct amd_nb *nb = cpuc->amd_nb; in __amd_put_nb_event_constraints()
484 __amd_get_nb_event_constraints(struct cpu_hw_events *cpuc, struct perf_event *event, in __amd_get_nb_event_constraints() argument
488 struct amd_nb *nb = cpuc->amd_nb; in __amd_get_nb_event_constraints()
495 if (cpuc->is_fake) in __amd_get_nb_event_constraints()
582 struct cpu_hw_events *cpuc = &per_cpu(cpu_hw_events, cpu); in amd_pmu_cpu_prepare() local
584 cpuc->lbr_sel = kzalloc_node(sizeof(struct er_account), GFP_KERNEL, in amd_pmu_cpu_prepare()
586 if (!cpuc->lbr_sel) in amd_pmu_cpu_prepare()
[all …]
H A Dbrs.c205 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_brs_enable() local
209 if (++cpuc->brs_active > 1) in amd_brs_enable()
221 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_brs_enable_all() local
222 if (cpuc->lbr_users) in amd_brs_enable_all()
228 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_brs_disable() local
232 if (!cpuc->brs_active) in amd_brs_disable()
236 if (--cpuc->brs_active) in amd_brs_disable()
257 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_brs_disable_all() local
258 if (cpuc->lbr_users) in amd_brs_disable_all()
283 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_brs_drain() local
[all …]
/linux/arch/sparc/kernel/
H A Dperf_event.c827 static inline void sparc_pmu_enable_event(struct cpu_hw_events *cpuc, struct hw_perf_event *hwc, in… in sparc_pmu_enable_event() argument
835 enc = perf_event_get_enc(cpuc->events[idx]); in sparc_pmu_enable_event()
837 val = cpuc->pcr[pcr_index]; in sparc_pmu_enable_event()
840 cpuc->pcr[pcr_index] = val; in sparc_pmu_enable_event()
842 pcr_ops->write_pcr(pcr_index, cpuc->pcr[pcr_index]); in sparc_pmu_enable_event()
845 static inline void sparc_pmu_disable_event(struct cpu_hw_events *cpuc, struct hw_perf_event *hwc, i… in sparc_pmu_disable_event() argument
855 val = cpuc->pcr[pcr_index]; in sparc_pmu_disable_event()
858 cpuc->pcr[pcr_index] = val; in sparc_pmu_disable_event()
860 pcr_ops->write_pcr(pcr_index, cpuc->pcr[pcr_index]); in sparc_pmu_disable_event()
923 static void read_in_all_counters(struct cpu_hw_events *cpuc) in read_in_all_counters() argument
[all …]
/linux/arch/x86/events/intel/
H A Dcore.c2762 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in __intel_pmu_disable_all() local
2766 if (bts && test_bit(INTEL_PMC_IDX_FIXED_BTS, cpuc->active_mask)) in __intel_pmu_disable_all()
2779 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in __intel_pmu_enable_all() local
2780 u64 intel_ctrl = hybrid(cpuc->pmu, intel_ctrl); in __intel_pmu_enable_all()
2784 if (cpuc->fixed_ctrl_val != cpuc->active_fixed_ctrl_val) { in __intel_pmu_enable_all()
2785 wrmsrq(MSR_ARCH_PERFMON_FIXED_CTR_CTRL, cpuc->fixed_ctrl_val); in __intel_pmu_enable_all()
2786 cpuc->active_fixed_ctrl_val = cpuc->fixed_ctrl_val; in __intel_pmu_enable_all()
2790 intel_ctrl & ~cpuc->intel_ctrl_guest_mask); in __intel_pmu_enable_all()
2792 if (test_bit(INTEL_PMC_IDX_FIXED_BTS, cpuc->active_mask)) { in __intel_pmu_enable_all()
2794 cpuc->events[INTEL_PMC_IDX_FIXED_BTS]; in __intel_pmu_enable_all()
[all …]
H A Dbts.c263 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in bts_event_start() local
274 bts->ds_back.bts_buffer_base = cpuc->ds->bts_buffer_base; in bts_event_start()
275 bts->ds_back.bts_absolute_maximum = cpuc->ds->bts_absolute_maximum; in bts_event_start()
276 bts->ds_back.bts_interrupt_threshold = cpuc->ds->bts_interrupt_threshold; in bts_event_start()
308 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in bts_event_stop() local
333 cpuc->ds->bts_index = bts->ds_back.bts_buffer_base; in bts_event_stop()
334 cpuc->ds->bts_buffer_base = bts->ds_back.bts_buffer_base; in bts_event_stop()
335 cpuc->ds->bts_absolute_maximum = bts->ds_back.bts_absolute_maximum; in bts_event_stop()
336 cpuc->ds->bts_interrupt_threshold = bts->ds_back.bts_interrupt_threshold; in bts_event_stop()
538 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in bts_event_add() local
[all …]
/linux/arch/loongarch/kernel/
H A Dperf_event.c253 static int loongarch_pmu_alloc_counter(struct cpu_hw_events *cpuc, struct hw_perf_event *hwc) in loongarch_pmu_alloc_counter() argument
258 if (!test_and_set_bit(i, cpuc->used_mask)) in loongarch_pmu_alloc_counter()
269 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in loongarch_pmu_enable_event() local
274 cpuc->saved_ctrl[idx] = M_PERFCTL_EVENT(evt->event_base) | in loongarch_pmu_enable_event()
288 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in loongarch_pmu_disable_event() local
293 cpuc->saved_ctrl[idx] = loongarch_pmu_read_control(idx) & in loongarch_pmu_disable_event()
295 loongarch_pmu_write_control(idx, cpuc->saved_ctrl[idx]); in loongarch_pmu_disable_event()
388 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in loongarch_pmu_add() local
394 idx = loongarch_pmu_alloc_counter(cpuc, hwc); in loongarch_pmu_add()
406 cpuc->events[idx] = event; in loongarch_pmu_add()
[all …]
/linux/arch/sh/kernel/
H A Dperf_event.c201 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in sh_pmu_stop() local
207 cpuc->events[idx] = NULL; in sh_pmu_stop()
219 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in sh_pmu_start() local
229 cpuc->events[idx] = event; in sh_pmu_start()
236 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in sh_pmu_del() local
239 __clear_bit(event->hw.idx, cpuc->used_mask); in sh_pmu_del()
246 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in sh_pmu_add() local
253 if (__test_and_set_bit(idx, cpuc->used_mask)) { in sh_pmu_add()
254 idx = find_first_zero_bit(cpuc->used_mask, sh_pmu->num_events); in sh_pmu_add()
258 __set_bit(idx, cpuc->used_mask); in sh_pmu_add()
/linux/drivers/perf/
H A Driscv_pmu.c260 struct cpu_hw_events *cpuc = this_cpu_ptr(rvpmu->hw_events); in riscv_pmu_add() local
269 cpuc->events[idx] = event; in riscv_pmu_add()
270 cpuc->n_events++; in riscv_pmu_add()
284 struct cpu_hw_events *cpuc = this_cpu_ptr(rvpmu->hw_events); in riscv_pmu_del() local
288 cpuc->events[hwc->idx] = NULL; in riscv_pmu_del()
292 cpuc->n_events--; in riscv_pmu_del()
390 struct cpu_hw_events *cpuc; in riscv_pmu_alloc() local
403 cpuc = per_cpu_ptr(pmu->hw_events, cpuid); in riscv_pmu_alloc()
404 cpuc->n_events = 0; in riscv_pmu_alloc()
406 cpuc->events[i] = NULL; in riscv_pmu_alloc()
[all …]
H A Driscv_pmu_sbi.c541 struct cpu_hw_events *cpuc = this_cpu_ptr(rvpmu->hw_events); in pmu_sbi_ctr_get_idx() local
585 if (!test_and_set_bit(idx, cpuc->used_fw_ctrs)) in pmu_sbi_ctr_get_idx()
588 if (!test_and_set_bit(idx, cpuc->used_hw_ctrs)) in pmu_sbi_ctr_get_idx()
600 struct cpu_hw_events *cpuc = this_cpu_ptr(rvpmu->hw_events); in pmu_sbi_ctr_clear_idx() local
604 clear_bit(idx, cpuc->used_fw_ctrs); in pmu_sbi_ctr_clear_idx()
606 clear_bit(idx, cpuc->used_hw_ctrs); in pmu_sbi_ctr_clear_idx()
1252 struct cpu_hw_events *cpuc = this_cpu_ptr(rvpmu->hw_events); in riscv_pm_pmu_notify() local
1253 bool enabled = !bitmap_empty(cpuc->used_hw_ctrs, RISCV_MAX_COUNTERS); in riscv_pm_pmu_notify()
1261 event = cpuc->events[idx]; in riscv_pm_pmu_notify()
H A Darm_brbe.c496 struct pmu_hw_events *cpuc = this_cpu_ptr(arm_pmu->hw_events); in brbe_enable() local
509 struct perf_event *event = cpuc->events[i]; in brbe_enable()
/linux/tools/sched_ext/
H A Dscx_flatcg.bpf.c152 struct fcg_cpu_ctx *cpuc; in find_cpu_ctx() local
155 cpuc = bpf_map_lookup_elem(&cpu_ctx, &idx); in find_cpu_ctx()
156 if (!cpuc) { in find_cpu_ctx()
160 return cpuc; in find_cpu_ctx()
735 struct fcg_cpu_ctx *cpuc; in BPF_STRUCT_OPS() local
741 cpuc = find_cpu_ctx(); in BPF_STRUCT_OPS()
742 if (!cpuc) in BPF_STRUCT_OPS()
745 if (!cpuc->cur_cgid) in BPF_STRUCT_OPS()
748 if (time_before(now, cpuc->cur_at + cgrp_slice_ns)) { in BPF_STRUCT_OPS()
749 if (scx_bpf_dsq_move_to_local(cpuc->cur_cgid, 0)) { in BPF_STRUCT_OPS()
[all …]
H A Dscx_qmap.bpf.c691 struct cpu_ctx __arena *cpuc; in BPF_STRUCT_OPS() local
741 cpuc = &qa.cpu_ctxs[scx_bpf_this_cid()]; in BPF_STRUCT_OPS()
745 if (!cpuc->dsp_cnt) { in BPF_STRUCT_OPS()
746 cpuc->dsp_idx = (cpuc->dsp_idx + 1) % 5; in BPF_STRUCT_OPS()
747 cpuc->dsp_cnt = 1 << cpuc->dsp_idx; in BPF_STRUCT_OPS()
754 taskc = qmap_fifo_pop(&qa.fifos[cpuc->dsp_idx]); in BPF_STRUCT_OPS()
809 cpuc->dsp_cnt--; in BPF_STRUCT_OPS()
816 if (!cpuc->dsp_cnt) in BPF_STRUCT_OPS()
820 cpuc->dsp_cnt = 0; in BPF_STRUCT_OPS()
842 struct cpu_ctx __arena *cpuc = &qa.cpu_ctxs[scx_bpf_this_cid()]; in BPF_STRUCT_OPS() local
[all …]