[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081124230208.GA21491@youquan-linux.bj.intel.com>
Date: Mon, 24 Nov 2008 18:02:08 -0500
From: "Youquan,Song" <youquan.song@...ux.intel.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-acpi@...r.kernel.org, venkatesh.pallipadi@...el.com,
len.brown@...el.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] ACPI: Check _PSS invalidation when BIOS report _PSS with all 0x80000000
On Fri, Nov 21, 2008 at 03:08:39PM -0800, Andrew Morton wrote:
> On Thu, 20 Nov 2008 19:08:36 -0800 (PST)
> youquan_song@...ux.intel.com wrote:
>
> > Subject: Check _PSS invalidation when BIOS report _PSS with 0x80000000
> >
> > When cpu frequencey scaling disable,some BIOS report _PSS with all
> > 0x80000000.
> > If kernel treat this case as valid, the kernel will boot crash when load
> > cpufreq govenors.
> >
> > So in order to cover more buggy BIOSs, the patch just check _PSS core
> > frequencey invalidtion.
> >
>
> It's unclear how many machines this will affect, and what the effects
> of not having the patch are upon those machines. That is useful
> information for people who are deciding whcih kernel versions this
> patch should be merged into.
I meet 2 machines that if the P-states is disabled in BIOS, the kernel
will boot crash at loading cpufreq_userspace governor because kernel
consider that P-states validate. I know there are some other machines
also exist this bug.
>
> Do you think this fix is needed in 2.6.28? 2.6.27.x? 2.6.26.x? etc?
>
I know that the bug exists in kernel as old as 2.6.18 and also exits on
2.6.28, 2.6.27 etc.
> >
> > --- linux-2.6-tip-orignal/drivers/acpi/processor_perflib.c 2008-11-20
> > 12:25:05.000000000 -0500
> > +++ linux-2.6-tip/drivers/acpi/processor_perflib.c 2008-11-20
> > 12:23:57.000000000 -0500
>
> Your email client is wordwrapping the text, btw.
>
> > @@ -50,6 +50,7 @@
> > #define ACPI_PROCESSOR_CLASS "processor"
> > #define ACPI_PROCESSOR_FILE_PERFORMANCE "performance"
> > #define _COMPONENT ACPI_PROCESSOR_COMPONENT
> > +#define ACPI_PROCESSOR_PSS_INVALID 0x80000000
> > ACPI_MODULE_NAME("processor_perflib");
> >
> > static DEFINE_MUTEX(performance_mutex);
> > @@ -324,6 +325,14 @@
> > kfree(pr->performance->states);
> > goto end;
> > }
> > +
> > + if (px->core_frequency == ACPI_PROCESSOR_PSS_INVALID) {
> > + printk(KERN_ERR PREFIX
> > + "P-states disabled in the BIOS\n");
> > + result = -EFAULT;
> > + kfree(pr->performance->states);
> > + goto end;
> > + }
> > }
> >
> > end:
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists