diff options
| author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2018-04-06 14:59:13 +0200 | 
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2018-04-09 11:54:57 +0200 | 
| commit | ff7de6203131e3d60cda60aeda12c69373ca5d43 (patch) | |
| tree | b1000c6a7860cb22bca0ac5132d46c5f021321ea | |
| parent | 2bc629a692a76b9ee3dab9c303e3f501bece66a4 (diff) | |
nohz: Avoid duplication of code related to got_idle_tick
Move the code setting ts->got_idle_tick into tick_sched_do_timer() to
avoid code duplication.
No intentional changes in functionality.
Suggested-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
| -rw-r--r-- | kernel/time/tick-sched.c | 16 | 
1 files changed, 6 insertions, 10 deletions
| diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index a9d5cc7406d3..956831cf6cfb 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -113,8 +113,7 @@ static ktime_t tick_init_jiffy_update(void)  	return period;  } - -static void tick_sched_do_timer(ktime_t now) +static void tick_sched_do_timer(struct tick_sched *ts, ktime_t now)  {  	int cpu = smp_processor_id(); @@ -134,6 +133,9 @@ static void tick_sched_do_timer(ktime_t now)  	/* Check, if the jiffies need an update */  	if (tick_do_timer_cpu == cpu)  		tick_do_update_jiffies64(now); + +	if (ts->inidle) +		ts->got_idle_tick = 1;  }  static void tick_sched_handle(struct tick_sched *ts, struct pt_regs *regs) @@ -1162,12 +1164,9 @@ static void tick_nohz_handler(struct clock_event_device *dev)  	struct pt_regs *regs = get_irq_regs();  	ktime_t now = ktime_get(); -	if (ts->inidle) -		ts->got_idle_tick = 1; -  	dev->next_event = KTIME_MAX; -	tick_sched_do_timer(now); +	tick_sched_do_timer(ts, now);  	tick_sched_handle(ts, regs);  	/* No need to reprogram if we are running tickless  */ @@ -1262,10 +1261,7 @@ static enum hrtimer_restart tick_sched_timer(struct hrtimer *timer)  	struct pt_regs *regs = get_irq_regs();  	ktime_t now = ktime_get(); -	if (ts->inidle) -		ts->got_idle_tick = 1; - -	tick_sched_do_timer(now); +	tick_sched_do_timer(ts, now);  	/*  	 * Do not call, when we are not in irq context and have | 
