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

Commit d45ad062 authored by Haavard Skinnemoen's avatar Haavard Skinnemoen
Browse files

avr32: Call tick_nohz_{stop,restart}_sched_tick() in idle loop



This fixes a hang on boot with nohz enabled. nohz is not actually
supported in mainline yet, but patches that add support for it are
currently under review.

When nohz is compiled out, the functions are no-ops, so this patch
results in no functional change, but it arguably makes the code more
correct.

Signed-off-by: default avatarHaavard Skinnemoen <hskinnemoen@atmel.com>
parent f059267e
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@
#include <linux/fs.h>
#include <linux/ptrace.h>
#include <linux/reboot.h>
#include <linux/tick.h>
#include <linux/uaccess.h>
#include <linux/unistd.h>

@@ -30,8 +31,10 @@ void cpu_idle(void)
{
	/* endless idle loop with no priority at all */
	while (1) {
		tick_nohz_stop_sched_tick();
		while (!need_resched())
			cpu_idle_sleep();
		tick_nohz_restart_sched_tick();
		preempt_enable_no_resched();
		schedule();
		preempt_disable();