All of lore.kernel.org
 help / color / mirror / Atom feed
From: Len Brown <lenb@kernel.org>
To: Venki Pallipadi <venkatesh.pallipadi@intel.com>
Cc: linux-acpi@vger.kernel.org
Subject: Re: [PATCH] Fix acpi_processor_idle and idle= boot parameter interaction
Date: Wed, 30 Apr 2008 22:12:01 -0400	[thread overview]
Message-ID: <200804302212.01674.lenb@kernel.org> (raw)
In-Reply-To: <20080429225726.GA27244@linux-os.sc.intel.com>

This is upstream now.

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=36a913586597cab1cd565e9bf348d037f0df955b

thanks,
-Len

On Tuesday 29 April 2008, Venki Pallipadi wrote:
> 
> acpi_processor_idle and "idle=" boot parameter interaction is broken.
> The problem is that, at boot time acpi driver is checking for "idle=" boot
> option and not registering the acpi idle handler. But, when there is a CST
> changed callback (typically when switching AC <-> battery or suspend-resume)
> there are no checks for boot_option_idle_override and acpi idle handler tries
> to get installed with nasty side effects.
> 
> With CPU_IDLE configured this issue causes results in a nasty oops on CST
> change callback and without CPU_IDLE there is no oops, but boot option
> of "idle=" gets ignored and acpi idle handler gets installed.
> 
> Change the behavior to not do anything in acpi idle handler when there is a
> "idle=" boot option.
> 
> Note that the problem is only there when "idle=" boot option is used.
> 
> Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
> 
> ---
>  drivers/acpi/processor_idle.c |   14 ++++++++++++--
>  1 file changed, 12 insertions(+), 2 deletions(-)
> 
> Index: linux-2.6/drivers/acpi/processor_idle.c
> ===================================================================
> --- linux-2.6.orig/drivers/acpi/processor_idle.c	2008-04-29 14:28:06.000000000 -0700
> +++ linux-2.6/drivers/acpi/processor_idle.c	2008-04-29 14:28:13.000000000 -0700
> @@ -1295,6 +1295,8 @@ int acpi_processor_cst_has_changed(struc
>  {
>  	int result = 0;
>  
> +	if (boot_option_idle_override)
> +		return 0;
>  
>  	if (!pr)
>  		return -EINVAL;
> @@ -1734,6 +1736,9 @@ int acpi_processor_cst_has_changed(struc
>  {
>  	int ret;
>  
> +	if (boot_option_idle_override)
> +		return 0;
> +
>  	if (!pr)
>  		return -EINVAL;
>  
> @@ -1764,6 +1769,8 @@ int __cpuinit acpi_processor_power_init(
>  	struct proc_dir_entry *entry = NULL;
>  	unsigned int i;
>  
> +	if (boot_option_idle_override)
> +		return 0;
>  
>  	if (!first_run) {
>  		dmi_check_system(processor_power_dmi_table);
> @@ -1799,7 +1806,7 @@ int __cpuinit acpi_processor_power_init(
>  	 * Note that we use previously set idle handler will be used on
>  	 * platforms that only support C1.
>  	 */
> -	if ((pr->flags.power) && (!boot_option_idle_override)) {
> +	if (pr->flags.power) {
>  #ifdef CONFIG_CPU_IDLE
>  		acpi_processor_setup_cpuidle(pr);
>  		pr->power.dev.cpu = pr->id;
> @@ -1835,8 +1842,11 @@ int __cpuinit acpi_processor_power_init(
>  int acpi_processor_power_exit(struct acpi_processor *pr,
>  			      struct acpi_device *device)
>  {
> +	if (boot_option_idle_override)
> +		return 0;
> +
>  #ifdef CONFIG_CPU_IDLE
> -	if ((pr->flags.power) && (!boot_option_idle_override))
> +	if (pr->flags.power)
>  		cpuidle_unregister_device(&pr->power.dev);
>  #endif
>  	pr->flags.power_setup_done = 0;
> 



      reply	other threads:[~2008-05-01  2:12 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-29 22:57 [PATCH] Fix acpi_processor_idle and idle= boot parameter interaction Venki Pallipadi
2008-05-01  2:12 ` Len Brown [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200804302212.01674.lenb@kernel.org \
    --to=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=venkatesh.pallipadi@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.