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

Commit 8198c169 authored by Richard Weinberger's avatar Richard Weinberger Committed by Thomas Gleixner
Browse files

um: Use generic idle loop



Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
Cc: user-mode-linux-devel@lists.sourceforge.net
Link: http://lkml.kernel.org/r/1366149209-24787-1-git-send-email-richard@nod.at


Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 2412aa12
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ config UML
	select GENERIC_CPU_DEVICES
	select GENERIC_IO
	select GENERIC_CLOCKEVENTS
	select GENERIC_IDLE_LOOP
	select TTY # Needed for line.c

config MMU
+4 −23
Original line number Diff line number Diff line
@@ -210,33 +210,14 @@ void initial_thread_cb(void (*proc)(void *), void *arg)
	kmalloc_ok = save_kmalloc_ok;
}

void default_idle(void)
void arch_cpu_idle(void)
{
	unsigned long long nsecs;

	while (1) {
		/* endless idle loop with no priority at all */

		/*
		 * although we are an idle CPU, we do not want to
		 * get into the scheduler unnecessarily.
		 */
		if (need_resched())
			schedule();

		tick_nohz_idle_enter();
		rcu_idle_enter();
	cpu_tasks[current_thread_info()->cpu].pid = os_getpid();
	nsecs = disable_timer();
	idle_sleep(nsecs);
		rcu_idle_exit();
		tick_nohz_idle_exit();
	}
}

void cpu_idle(void)
{
	cpu_tasks[current_thread_info()->cpu].pid = os_getpid();
	default_idle();
	local_irq_enable();
}

int __cant_sleep(void) {