#include "linux/ptrace.h"
#include "linux/random.h"
#include "linux/sched.h"
+#include "linux/tick.h"
#include "linux/threads.h"
#include "asm/pgtable.h"
#include "asm/uaccess.h"
void default_idle(void)
{
+ unsigned long long nsecs;
+
while(1) {
/* endless idle loop with no priority at all */
if (need_resched())
schedule();
- switch_timers(1);
- idle_sleep(10);
- switch_timers(0);
+ tick_nohz_stop_sched_tick();
+ nsecs = disable_timer();
+ idle_sleep(nsecs);
+ tick_nohz_restart_sched_tick();
}
}