| /linux/arch/x86/events/ |
| H A D | core.c | 707 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in x86_pmu_disable_all() local 711 struct hw_perf_event *hwc = &cpuc->events[idx]->hw; in x86_pmu_disable_all() 714 if (!test_bit(idx, cpuc->active_mask)) in x86_pmu_disable_all() 747 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in x86_pmu_disable() local 752 if (!cpuc->enabled) in x86_pmu_disable() 755 cpuc->n_added = 0; in x86_pmu_disable() 756 cpuc->enabled = 0; in x86_pmu_disable() 764 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in x86_pmu_enable_all() local 768 struct hw_perf_event *hwc = &cpuc->events[idx]->hw; in x86_pmu_enable_all() 770 if (!test_bit(idx, cpuc->active_mask)) in x86_pmu_enable_all() [all …]
|
| H A D | perf_event.h | 839 int (*schedule_events)(struct cpu_hw_events *cpuc, int n, int *assign); 879 (*get_event_constraints)(struct cpu_hw_events *cpuc, 883 void (*put_event_constraints)(struct cpu_hw_events *cpuc, 886 void (*start_scheduling)(struct cpu_hw_events *cpuc); 888 void (*commit_scheduling)(struct cpu_hw_events *cpuc, int idx, int cntr); 890 void (*stop_scheduling)(struct cpu_hw_events *cpuc); 997 void (*lbr_read)(struct cpu_hw_events *cpuc); 1290 int x86_schedule_events(struct cpu_hw_events *cpuc, int n, int *assign); 1501 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in amd_pmu_brs_add() local 1504 cpuc->lbr_users++; in amd_pmu_brs_add() [all …]
|
| /linux/arch/sparc/kernel/ |
| H A D | perf_event.c | 827 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 D | core.c | 2510 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in __intel_pmu_disable_all() local 2514 if (bts && test_bit(INTEL_PMC_IDX_FIXED_BTS, cpuc->active_mask)) in __intel_pmu_disable_all() 2527 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); in __intel_pmu_enable_all() local 2528 u64 intel_ctrl = hybrid(cpuc->pmu, intel_ctrl); in __intel_pmu_enable_all() 2532 if (cpuc->fixed_ctrl_val != cpuc->active_fixed_ctrl_val) { in __intel_pmu_enable_all() 2533 wrmsrq(MSR_ARCH_PERFMON_FIXED_CTR_CTRL, cpuc->fixed_ctrl_val); in __intel_pmu_enable_all() 2534 cpuc->active_fixed_ctrl_val = cpuc->fixed_ctrl_val; in __intel_pmu_enable_all() 2538 intel_ctrl & ~cpuc->intel_ctrl_guest_mask); in __intel_pmu_enable_all() 2540 if (test_bit(INTEL_PMC_IDX_FIXED_BTS, cpuc->active_mask)) { in __intel_pmu_enable_all() 2542 cpuc->events[INTEL_PMC_IDX_FIXED_BTS]; in __intel_pmu_enable_all() [all …]
|
| H A D | bts.c | 263 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/tools/sched_ext/ |
| H A D | scx_qmap.bpf.c | 369 struct cpu_ctx *cpuc; in BPF_STRUCT_OPS() local 395 if (!(cpuc = bpf_map_lookup_elem(&cpu_ctx_stor, &zero))) { in BPF_STRUCT_OPS() 402 if (!cpuc->dsp_cnt) { in BPF_STRUCT_OPS() 403 cpuc->dsp_idx = (cpuc->dsp_idx + 1) % 5; in BPF_STRUCT_OPS() 404 cpuc->dsp_cnt = 1 << cpuc->dsp_idx; in BPF_STRUCT_OPS() 407 fifo = bpf_map_lookup_elem(&queue_arr, &cpuc->dsp_idx); in BPF_STRUCT_OPS() 409 scx_bpf_error("failed to find ring %llu", cpuc->dsp_idx); in BPF_STRUCT_OPS() 439 cpuc in BPF_STRUCT_OPS() 471 struct cpu_ctx *cpuc; BPF_STRUCT_OPS() local 624 struct cpu_ctx *cpuc; BPF_STRUCT_OPS() local 756 struct cpu_ctx *cpuc; monitor_cpuperf() local [all...] |
| H A D | scx_flatcg.bpf.c | 152 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() 729 struct fcg_cpu_ctx *cpuc; in BPF_STRUCT_OPS() local 735 cpuc = find_cpu_ctx(); in BPF_STRUCT_OPS() 736 if (!cpuc) in BPF_STRUCT_OPS() 739 if (!cpuc->cur_cgid) in BPF_STRUCT_OPS() 742 if (time_before(now, cpuc->cur_at + cgrp_slice_ns)) { in BPF_STRUCT_OPS() 743 if (scx_bpf_dsq_move_to_local(cpuc in BPF_STRUCT_OPS() [all...] |
| /linux/arch/loongarch/kernel/ |
| H A D | perf_event.c | 253 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 D | perf_event.c | 201 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 D | riscv_pmu.c | 260 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 D | riscv_pmu_sbi.c | 542 struct cpu_hw_events *cpuc = this_cpu_ptr(rvpmu->hw_events); in pmu_sbi_ctr_get_idx() local 586 if (!test_and_set_bit(idx, cpuc->used_fw_ctrs)) in pmu_sbi_ctr_get_idx() 589 if (!test_and_set_bit(idx, cpuc->used_hw_ctrs)) in pmu_sbi_ctr_get_idx() 601 struct cpu_hw_events *cpuc = this_cpu_ptr(rvpmu->hw_events); in pmu_sbi_ctr_clear_idx() local 605 clear_bit(idx, cpuc->used_fw_ctrs); in pmu_sbi_ctr_clear_idx() 607 clear_bit(idx, cpuc->used_hw_ctrs); in pmu_sbi_ctr_clear_idx() 1246 struct cpu_hw_events *cpuc = this_cpu_ptr(rvpmu->hw_events); in riscv_pm_pmu_notify() local 1247 bool enabled = !bitmap_empty(cpuc->used_hw_ctrs, RISCV_MAX_COUNTERS); in riscv_pm_pmu_notify() 1255 event = cpuc->events[idx]; in riscv_pm_pmu_notify()
|
| H A D | arm_brbe.c | 496 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()
|