BACKPORT: devfreq: memlat: track cpu during ipi to cluster
Will aid debugging lockups in perf_event_read_value() track the cpu being ipi'd. Change-Id: Ia948f31bb2d91bca6144c0c50f8f66bd9c1459fe Signed-off-by: Stephen Dickey <dickey@codeaurora.org> Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
This commit is contained in:
parent
bbe528de02
commit
de090849fd
@ -128,6 +128,7 @@ struct memlat_cpu_grp {
|
||||
cpumask_t cpus;
|
||||
unsigned int common_ev_ids[NUM_COMMON_EVS];
|
||||
struct cpu_data *cpus_data;
|
||||
int read_event_cpu;
|
||||
ktime_t last_update_ts;
|
||||
unsigned long last_ts_delta_us;
|
||||
|
||||
@ -184,8 +185,11 @@ static void update_counts(struct memlat_cpu_grp *cpu_grp)
|
||||
struct cpu_data *cpu_data = to_cpu_data(cpu_grp, cpu);
|
||||
struct event_data *common_evs = cpu_data->common_evs;
|
||||
|
||||
for (i = 0; i < NUM_COMMON_EVS; i++)
|
||||
for (i = 0; i < NUM_COMMON_EVS; i++) {
|
||||
cpu_grp->read_event_cpu = cpu;
|
||||
read_event(&common_evs[i]);
|
||||
cpu_grp->read_event_cpu = -1;
|
||||
}
|
||||
|
||||
if (!common_evs[STALL_IDX].pevent)
|
||||
common_evs[STALL_IDX].last_delta =
|
||||
@ -209,12 +213,15 @@ static void update_counts(struct memlat_cpu_grp *cpu_grp)
|
||||
for_each_cpu(cpu, &mon->cpus) {
|
||||
unsigned int mon_idx =
|
||||
cpu - cpumask_first(&mon->cpus);
|
||||
cpu_grp->read_event_cpu = cpu;
|
||||
read_event(&mon->miss_ev[mon_idx]);
|
||||
|
||||
if (mon->wb_ev_id && mon->access_ev_id) {
|
||||
read_event(&mon->wb_ev[mon_idx]);
|
||||
read_event(&mon->access_ev[mon_idx]);
|
||||
}
|
||||
|
||||
cpu_grp->read_event_cpu = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -564,6 +571,8 @@ static int memlat_cpu_grp_probe(struct platform_device *pdev)
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
cpu_grp->read_event_cpu = -1;
|
||||
|
||||
num_mons = of_get_available_child_count(dev->of_node);
|
||||
|
||||
if (!num_mons) {
|
||||
|
Loading…
Reference in New Issue
Block a user