Loading drivers/devfreq/arm-memlat-mon.c +11 −5 Original line number Diff line number Diff line Loading @@ -227,9 +227,11 @@ static unsigned long get_cnt(struct memlat_hwmon *hw) static void delete_event(struct event_data *event) { event->prev_count = event->last_delta = 0; if (event->pevent) { perf_event_release_kernel(event->pevent); event->pevent = NULL; } } static struct perf_event_attr *alloc_attr(void) { Loading Loading @@ -307,6 +309,8 @@ static void memlat_monitor_work(struct work_struct *work) unsigned int i; mutex_lock(&cpu_grp->mons_lock); if (!cpu_grp->num_active_mons) goto unlock_out; update_counts(cpu_grp); for (i = 0; i < cpu_grp->num_mons; i++) { struct devfreq *df; Loading @@ -326,6 +330,8 @@ static void memlat_monitor_work(struct work_struct *work) queue_delayed_work(memlat_wq, &cpu_grp->work, msecs_to_jiffies(cpu_grp->update_ms)); unlock_out: mutex_unlock(&cpu_grp->mons_lock); } Loading Loading @@ -395,7 +401,7 @@ static void stop_hwmon(struct memlat_hwmon *hw) } if (!cpu_grp->num_active_mons) { cancel_delayed_work_sync(&cpu_grp->work); cancel_delayed_work(&cpu_grp->work); free_common_evs(cpu_grp); } mutex_unlock(&cpu_grp->mons_lock); Loading @@ -419,12 +425,12 @@ static void set_update_ms(struct memlat_cpu_grp *cpu_grp) } if (new_update_ms == UINT_MAX) { cancel_delayed_work_sync(&cpu_grp->work); cancel_delayed_work(&cpu_grp->work); } else if (cpu_grp->update_ms == UINT_MAX) { queue_delayed_work(memlat_wq, &cpu_grp->work, msecs_to_jiffies(new_update_ms)); } else if (new_update_ms > cpu_grp->update_ms) { cancel_delayed_work_sync(&cpu_grp->work); cancel_delayed_work(&cpu_grp->work); queue_delayed_work(memlat_wq, &cpu_grp->work, msecs_to_jiffies(new_update_ms)); } Loading Loading
drivers/devfreq/arm-memlat-mon.c +11 −5 Original line number Diff line number Diff line Loading @@ -227,9 +227,11 @@ static unsigned long get_cnt(struct memlat_hwmon *hw) static void delete_event(struct event_data *event) { event->prev_count = event->last_delta = 0; if (event->pevent) { perf_event_release_kernel(event->pevent); event->pevent = NULL; } } static struct perf_event_attr *alloc_attr(void) { Loading Loading @@ -307,6 +309,8 @@ static void memlat_monitor_work(struct work_struct *work) unsigned int i; mutex_lock(&cpu_grp->mons_lock); if (!cpu_grp->num_active_mons) goto unlock_out; update_counts(cpu_grp); for (i = 0; i < cpu_grp->num_mons; i++) { struct devfreq *df; Loading @@ -326,6 +330,8 @@ static void memlat_monitor_work(struct work_struct *work) queue_delayed_work(memlat_wq, &cpu_grp->work, msecs_to_jiffies(cpu_grp->update_ms)); unlock_out: mutex_unlock(&cpu_grp->mons_lock); } Loading Loading @@ -395,7 +401,7 @@ static void stop_hwmon(struct memlat_hwmon *hw) } if (!cpu_grp->num_active_mons) { cancel_delayed_work_sync(&cpu_grp->work); cancel_delayed_work(&cpu_grp->work); free_common_evs(cpu_grp); } mutex_unlock(&cpu_grp->mons_lock); Loading @@ -419,12 +425,12 @@ static void set_update_ms(struct memlat_cpu_grp *cpu_grp) } if (new_update_ms == UINT_MAX) { cancel_delayed_work_sync(&cpu_grp->work); cancel_delayed_work(&cpu_grp->work); } else if (cpu_grp->update_ms == UINT_MAX) { queue_delayed_work(memlat_wq, &cpu_grp->work, msecs_to_jiffies(new_update_ms)); } else if (new_update_ms > cpu_grp->update_ms) { cancel_delayed_work_sync(&cpu_grp->work); cancel_delayed_work(&cpu_grp->work); queue_delayed_work(memlat_wq, &cpu_grp->work, msecs_to_jiffies(new_update_ms)); } Loading