diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2016-11-04 22:22:10 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-11-04 22:22:09 -0700 |
| commit | 6d25dab1baba7b0d82cd4a9db274a44b513650cb (patch) | |
| tree | a61944aa7d9f5cb1b17790a38f39674a6df2ae30 /kernel | |
| parent | 3bc988427db104ca9c70bf3242b5a21eca7e512d (diff) | |
| parent | dfb9634d037fefd3496161959bf7a4a0ad4e59d5 (diff) | |
Merge "sched: prevent race between disable window statistics and task grouping"
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/sched/hmp.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/sched/hmp.c b/kernel/sched/hmp.c index 56f4c60d4d5d..627da2346337 100644 --- a/kernel/sched/hmp.c +++ b/kernel/sched/hmp.c @@ -3150,14 +3150,14 @@ void reset_all_window_stats(u64 window_start, unsigned int window_size) unsigned int old = 0, new = 0; struct related_thread_group *grp; + read_lock(&related_thread_group_lock); + disable_window_stats(); reset_all_task_stats(); local_irq_save(flags); - read_lock(&related_thread_group_lock); - for_each_possible_cpu(cpu) raw_spin_lock(&cpu_rq(cpu)->lock); @@ -3223,10 +3223,10 @@ void reset_all_window_stats(u64 window_start, unsigned int window_size) for_each_possible_cpu(cpu) raw_spin_unlock(&cpu_rq(cpu)->lock); - read_unlock(&related_thread_group_lock); - local_irq_restore(flags); + read_unlock(&related_thread_group_lock); + trace_sched_reset_all_window_stats(window_start, window_size, sched_ktime_clock() - start_ts, reason, old, new); } |
