Re: [patch 22/34] mips: Use generic idle loop

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/22/2013 03:23 AM, Thomas Gleixner wrote:
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
> ---
>  arch/mips/Kconfig          |    1 
>  arch/mips/kernel/process.c |   46 ++++++++++++---------------------------------
>  arch/mips/kernel/smp.c     |    2 -
>  3 files changed, 15 insertions(+), 34 deletions(-)
>
[...]
 
> Index: linux-2.6/arch/mips/kernel/process.c
> ===================================================================
> --- linux-2.6.orig/arch/mips/kernel/process.c
> +++ linux-2.6/arch/mips/kernel/process.c
> @@ -41,44 +41,24 @@
>  #include <asm/inst.h>
>  #include <asm/stacktrace.h>
> 
> -/*
> - * The idle thread. There's no useful work to be done, so just try to conserve
> - * power and have a low exit latency (ie sit in a loop waiting for somebody to
> - * say that they'd like to reschedule)
> - */
> -void __noreturn cpu_idle(void)
> +void arch_cpu_idle_dead(void)
>  {
> -	int cpu;
> -
> -	/* CPU is going idle. */
> -	cpu = smp_processor_id();
> +	/* What the heck is this check doing ? */
> +	if (!cpu_isset(cpu, cpu_callin_map))
> +		play_dead();}

Extra closing brace?

> +}
> 
> -	/* endless idle loop with no priority at all */
> -	while (1) {
> -		tick_nohz_idle_enter();
> -		rcu_idle_enter();
> -		while (!need_resched() && cpu_online(cpu)) {
> +void arch__cpu_idle(void)

s/arch__cpu_idle/arch_cpu_idle (single underscore)


Regards,
Srivatsa S. Bhat

> +{
>  #ifdef CONFIG_MIPS_MT_SMTC
> -			extern void smtc_idle_loop_hook(void);
> +	extern void smtc_idle_loop_hook(void);
> 
> -			smtc_idle_loop_hook();
> +	smtc_idle_loop_hook();
>  #endif
> -
> -			if (cpu_wait) {
> -				/* Don't trace irqs off for idle */
> -				stop_critical_timings();
> -				(*cpu_wait)();
> -				start_critical_timings();
> -			}
> -		}
> -#ifdef CONFIG_HOTPLUG_CPU
> -		if (!cpu_online(cpu) && !cpu_isset(cpu, cpu_callin_map))
> -			play_dead();
> -#endif
> -		rcu_idle_exit();
> -		tick_nohz_idle_exit();
> -		schedule_preempt_disabled();
> -	}
> +	if (cpu_wait)
> +		(*cpu_wait)();
> +	else
> +		local_irq_enable();
>  }
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux