Re: [PATCH 5/5] x86 idle: remove NOP hlt_use_halt()

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

 



* Len Brown <lenb@xxxxxxxxxx> [2011-03-24 03:08:28]:

> From: Len Brown <len.brown@xxxxxxxxx>
> 
> hlt_use_halt() no longer has any effect,
> except to complicate the indentation in default_idle().
> 
> no functional change.
> 
> Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
> ---
>  arch/x86/kernel/process.c |   39 ++++++++++++++-------------------------
>  1 files changed, 14 insertions(+), 25 deletions(-)
> 
> diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
> index 8688ade..094d4ac 100644
> --- a/arch/x86/kernel/process.c
> +++ b/arch/x86/kernel/process.c
> @@ -342,39 +342,28 @@ EXPORT_SYMBOL(boot_option_idle_override);
>  void (*pm_idle)(void);
>  EXPORT_SYMBOL(pm_idle);
> 
> -static inline int hlt_use_halt(void)
> -{
> -	return 1;
> -}
> -
>  /*
>   * We use this if we don't have any better
>   * idle routine..
>   */
>  void default_idle(void)
>  {
> -	if (hlt_use_halt()) {
> -		trace_power_start(POWER_CSTATE, 1, smp_processor_id());
> -		trace_cpu_idle(1, smp_processor_id());
> -		current_thread_info()->status &= ~TS_POLLING;
> -		/*
> -		 * TS_POLLING-cleared state must be visible before we
> -		 * test NEED_RESCHED:
> -		 */
> -		smp_mb();
> +	trace_power_start(POWER_CSTATE, 1, smp_processor_id());
> +	trace_cpu_idle(1, smp_processor_id());
> +	current_thread_info()->status &= ~TS_POLLING;
> +	/*
> +	 * TS_POLLING-cleared state must be visible before we
> +	 * test NEED_RESCHED:
> +	 */
> +	smp_mb();
> 
> -		if (!need_resched())
> -			safe_halt();	/* enables interrupts racelessly */
> -		else
> -			local_irq_enable();
> -		current_thread_info()->status |= TS_POLLING;
> -		trace_power_end(smp_processor_id());
> -		trace_cpu_idle(PWR_EVENT_EXIT, smp_processor_id());
> -	} else {
> +	if (!need_resched())
> +		safe_halt();	/* enables interrupts racelessly */
> +	else
>  		local_irq_enable();
> -		/* loop is done by the caller */
> -		cpu_relax();
> -	}
> +	current_thread_info()->status |= TS_POLLING;
> +	trace_power_end(smp_processor_id());
> +	trace_cpu_idle(PWR_EVENT_EXIT, smp_processor_id());
>  }
>  #ifdef CONFIG_APM_MODULE
>  EXPORT_SYMBOL(default_idle);

Hi Len,

The cleanup looks good.

--Vaidy

_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm


[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux