diff options
Diffstat (limited to 'kernel/sched/psi.c')
| -rw-r--r-- | kernel/sched/psi.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/sched/psi.c b/kernel/sched/psi.c index 517e3719027e..ce8f6748678a 100644 --- a/kernel/sched/psi.c +++ b/kernel/sched/psi.c @@ -185,7 +185,8 @@ static void group_init(struct psi_group *group)  	for_each_possible_cpu(cpu)  		seqcount_init(&per_cpu_ptr(group->pcpu, cpu)->seq); -	group->avg_next_update = sched_clock() + psi_period; +	group->avg_last_update = sched_clock(); +	group->avg_next_update = group->avg_last_update + psi_period;  	INIT_DELAYED_WORK(&group->avgs_work, psi_avgs_work);  	mutex_init(&group->avgs_lock);  	/* Init trigger-related members */ @@ -481,7 +482,7 @@ static u64 window_update(struct psi_window *win, u64 now, u64 value)  		u32 remaining;  		remaining = win->size - elapsed; -		growth += div_u64(win->prev_growth * remaining, win->size); +		growth += div64_u64(win->prev_growth * remaining, win->size);  	}  	return growth;  | 
