Loading drivers/devfreq/arm-memlat-mon.c +6 −1 Original line number Diff line number Diff line Loading @@ -657,8 +657,13 @@ static void stop_hwmon(struct memlat_hwmon *hw) unsigned int idx = cpu - cpumask_first(&mon->cpus); struct dev_stats *devstats = to_devstats(mon, cpu); if (mon->miss_ev) if (mon->miss_ev) { delete_event(&mon->miss_ev[idx]); if (mon->wb_ev) delete_event(&mon->wb_ev[idx]); if (mon->access_ev) delete_event(&mon->access_ev[idx]); } devstats->inst_count = 0; devstats->mem_count = 0; devstats->freq = 0; Loading drivers/soc/qcom/rimps_memlat.c +5 −0 Original line number Diff line number Diff line Loading @@ -632,6 +632,8 @@ static void save_cpugrp_pmu_events(struct memlat_cpu_grp *cpu_grp, u8 cpu) !cpus_data->common_evs[i]) continue; perf_event_read_local(cpus_data->common_evs[i], &ev_count, NULL, NULL); ev_count = local64_read(&cpus_data->common_evs[i]->hw.prev_count); store_event_val(ev_count, hw_id, cpu); } Loading @@ -651,6 +653,9 @@ static void save_mon_pmu_events(struct memlat_mon *mon, u8 cpu) if (hw_id == INVALID_PMU_HW_IDX || !ev_data->mon_evs[i]) continue; perf_event_read_local(ev_data->mon_evs[i], &ev_count, NULL, NULL); ev_count = local64_read(&ev_data->mon_evs[i]->hw.prev_count); store_event_val(ev_count, hw_id, cpu); } Loading Loading
drivers/devfreq/arm-memlat-mon.c +6 −1 Original line number Diff line number Diff line Loading @@ -657,8 +657,13 @@ static void stop_hwmon(struct memlat_hwmon *hw) unsigned int idx = cpu - cpumask_first(&mon->cpus); struct dev_stats *devstats = to_devstats(mon, cpu); if (mon->miss_ev) if (mon->miss_ev) { delete_event(&mon->miss_ev[idx]); if (mon->wb_ev) delete_event(&mon->wb_ev[idx]); if (mon->access_ev) delete_event(&mon->access_ev[idx]); } devstats->inst_count = 0; devstats->mem_count = 0; devstats->freq = 0; Loading
drivers/soc/qcom/rimps_memlat.c +5 −0 Original line number Diff line number Diff line Loading @@ -632,6 +632,8 @@ static void save_cpugrp_pmu_events(struct memlat_cpu_grp *cpu_grp, u8 cpu) !cpus_data->common_evs[i]) continue; perf_event_read_local(cpus_data->common_evs[i], &ev_count, NULL, NULL); ev_count = local64_read(&cpus_data->common_evs[i]->hw.prev_count); store_event_val(ev_count, hw_id, cpu); } Loading @@ -651,6 +653,9 @@ static void save_mon_pmu_events(struct memlat_mon *mon, u8 cpu) if (hw_id == INVALID_PMU_HW_IDX || !ev_data->mon_evs[i]) continue; perf_event_read_local(ev_data->mon_evs[i], &ev_count, NULL, NULL); ev_count = local64_read(&ev_data->mon_evs[i]->hw.prev_count); store_event_val(ev_count, hw_id, cpu); } Loading