Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ff7de620 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

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: default avatarFrederic Weisbecker <frederic@kernel.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: default avatarFrederic Weisbecker <frederic@kernel.org>
parent 2bc629a6
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -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