Symbol: rapl_pmu
arch/x86/events/rapl.c
144
struct rapl_pmu *rapl_pmu[] __counted_by(nr_rapl_pmu);
arch/x86/events/rapl.c
247
static void rapl_start_hrtimer(struct rapl_pmu *pmu)
arch/x86/events/rapl.c
255
struct rapl_pmu *rapl_pmu = container_of(hrtimer, struct rapl_pmu, hrtimer);
arch/x86/events/rapl.c
259
if (!rapl_pmu->n_active)
arch/x86/events/rapl.c
262
raw_spin_lock_irqsave(&rapl_pmu->lock, flags);
arch/x86/events/rapl.c
264
list_for_each_entry(event, &rapl_pmu->active_list, active_entry)
arch/x86/events/rapl.c
267
raw_spin_unlock_irqrestore(&rapl_pmu->lock, flags);
arch/x86/events/rapl.c
269
hrtimer_forward_now(hrtimer, rapl_pmu->timer_interval);
arch/x86/events/rapl.c
274
static void rapl_hrtimer_init(struct rapl_pmu *rapl_pmu)
arch/x86/events/rapl.c
276
struct hrtimer *hr = &rapl_pmu->hrtimer;
arch/x86/events/rapl.c
281
static void __rapl_pmu_event_start(struct rapl_pmu *rapl_pmu,
arch/x86/events/rapl.c
289
list_add_tail(&event->active_entry, &rapl_pmu->active_list);
arch/x86/events/rapl.c
293
rapl_pmu->n_active++;
arch/x86/events/rapl.c
294
if (rapl_pmu->n_active == 1)
arch/x86/events/rapl.c
295
rapl_start_hrtimer(rapl_pmu);
arch/x86/events/rapl.c
300
struct rapl_pmu *rapl_pmu = event->pmu_private;
arch/x86/events/rapl.c
303
raw_spin_lock_irqsave(&rapl_pmu->lock, flags);
arch/x86/events/rapl.c
304
__rapl_pmu_event_start(rapl_pmu, event);
arch/x86/events/rapl.c
305
raw_spin_unlock_irqrestore(&rapl_pmu->lock, flags);
arch/x86/events/rapl.c
310
struct rapl_pmu *rapl_pmu = event->pmu_private;
arch/x86/events/rapl.c
314
raw_spin_lock_irqsave(&rapl_pmu->lock, flags);
arch/x86/events/rapl.c
318
WARN_ON_ONCE(rapl_pmu->n_active <= 0);
arch/x86/events/rapl.c
319
rapl_pmu->n_active--;
arch/x86/events/rapl.c
320
if (rapl_pmu->n_active == 0)
arch/x86/events/rapl.c
321
hrtimer_cancel(&rapl_pmu->hrtimer);
arch/x86/events/rapl.c
339
raw_spin_unlock_irqrestore(&rapl_pmu->lock, flags);
arch/x86/events/rapl.c
344
struct rapl_pmu *rapl_pmu = event->pmu_private;
arch/x86/events/rapl.c
348
raw_spin_lock_irqsave(&rapl_pmu->lock, flags);
arch/x86/events/rapl.c
353
__rapl_pmu_event_start(rapl_pmu, event);
arch/x86/events/rapl.c
355
raw_spin_unlock_irqrestore(&rapl_pmu->lock, flags);
arch/x86/events/rapl.c
369
struct rapl_pmu *rapl_pmu;
arch/x86/events/rapl.c
418
rapl_pmu = rapl_pmus->rapl_pmu[rapl_pmu_idx];
arch/x86/events/rapl.c
419
if (!rapl_pmu)
arch/x86/events/rapl.c
422
event->pmu_private = rapl_pmu;
arch/x86/events/rapl.c
683
kfree(rapl_pmus->rapl_pmu[i]);
arch/x86/events/rapl.c
703
struct rapl_pmu *rapl_pmu;
arch/x86/events/rapl.c
707
rapl_pmu = kzalloc_obj(*rapl_pmu);
arch/x86/events/rapl.c
708
if (!rapl_pmu)
arch/x86/events/rapl.c
711
raw_spin_lock_init(&rapl_pmu->lock);
arch/x86/events/rapl.c
712
INIT_LIST_HEAD(&rapl_pmu->active_list);
arch/x86/events/rapl.c
713
rapl_pmu->pmu = &rapl_pmus->pmu;
arch/x86/events/rapl.c
714
rapl_pmu->timer_interval = ms_to_ktime(rapl_timer_ms);
arch/x86/events/rapl.c
715
rapl_hrtimer_init(rapl_pmu);
arch/x86/events/rapl.c
717
rapl_pmus->rapl_pmu[idx] = rapl_pmu;
arch/x86/events/rapl.c
723
kfree(rapl_pmus->rapl_pmu[idx - 1]);
arch/x86/events/rapl.c
745
rapl_pmus = kzalloc_flex(*rapl_pmus, rapl_pmu, nr_rapl_pmu);
drivers/powercap/intel_rapl_common.c
1135
static struct rapl_pmu rapl_pmu;
drivers/powercap/intel_rapl_common.c
1513
return rapl_pmu.domain_map & BIT(domain) ? attr->mode : 0; \
drivers/powercap/intel_rapl_common.c
1541
if (rapl_pmu.registered && !(rp->domain_map & (~rapl_pmu.domain_map)))
drivers/powercap/intel_rapl_common.c
1545
if (rapl_pmu.registered)
drivers/powercap/intel_rapl_common.c
1546
perf_pmu_unregister(&rapl_pmu.pmu);
drivers/powercap/intel_rapl_common.c
1548
rapl_pmu.registered = false;
drivers/powercap/intel_rapl_common.c
1549
rapl_pmu.domain_map |= rp->domain_map;
drivers/powercap/intel_rapl_common.c
1551
memset(&rapl_pmu.pmu, 0, sizeof(struct pmu));
drivers/powercap/intel_rapl_common.c
1552
rapl_pmu.pmu.attr_groups = pmu_attr_groups;
drivers/powercap/intel_rapl_common.c
1553
rapl_pmu.pmu.attr_update = pmu_attr_update;
drivers/powercap/intel_rapl_common.c
1554
rapl_pmu.pmu.task_ctx_nr = perf_invalid_context;
drivers/powercap/intel_rapl_common.c
1555
rapl_pmu.pmu.event_init = rapl_pmu_event_init;
drivers/powercap/intel_rapl_common.c
1556
rapl_pmu.pmu.add = rapl_pmu_event_add;
drivers/powercap/intel_rapl_common.c
1557
rapl_pmu.pmu.del = rapl_pmu_event_del;
drivers/powercap/intel_rapl_common.c
1558
rapl_pmu.pmu.start = rapl_pmu_event_start;
drivers/powercap/intel_rapl_common.c
1559
rapl_pmu.pmu.stop = rapl_pmu_event_stop;
drivers/powercap/intel_rapl_common.c
1560
rapl_pmu.pmu.read = rapl_pmu_event_read;
drivers/powercap/intel_rapl_common.c
1561
rapl_pmu.pmu.module = THIS_MODULE;
drivers/powercap/intel_rapl_common.c
1562
rapl_pmu.pmu.capabilities = PERF_PMU_CAP_NO_EXCLUDE | PERF_PMU_CAP_NO_INTERRUPT;
drivers/powercap/intel_rapl_common.c
1563
ret = perf_pmu_register(&rapl_pmu.pmu, "power", -1);
drivers/powercap/intel_rapl_common.c
1569
rapl_pmu.registered = true;
drivers/powercap/intel_rapl_common.c
1599
if (!rapl_pmu.timer_ms) {
drivers/powercap/intel_rapl_common.c
1616
rapl_pmu.timer_ms = val;
drivers/powercap/intel_rapl_common.c
1618
pr_debug("%llu ms overflow timer\n", rapl_pmu.timer_ms);
drivers/powercap/intel_rapl_common.c
1627
data->timer_interval = ms_to_ktime(rapl_pmu.timer_ms);
drivers/powercap/intel_rapl_common.c
1655
perf_pmu_unregister(&rapl_pmu.pmu);
drivers/powercap/intel_rapl_common.c
1656
memset(&rapl_pmu, 0, sizeof(struct rapl_pmu));