* [PATCH] ACPI: Check _PSS invalidation when BIOS report _PSS with all 0x80000000 @ 2008-11-21 3:08 ` youquan_song 0 siblings, 0 replies; 7+ messages in thread From: youquan_song @ 2008-11-21 3:08 UTC (permalink / raw) To: linux-acpi; +Cc: venkatesh.pallipadi, len.brown, linux-kernel 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. Signed-off-by: Youquan, Song <youquan.song@intel.com> Signed-off-by: Pallipadi, Venkatesh <venkatesh.pallipadi@intel.com> --- --- 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 @@ -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: ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH] ACPI: Check _PSS invalidation when BIOS report _PSS with all 0x80000000 @ 2008-11-21 3:08 ` youquan_song 0 siblings, 0 replies; 7+ messages in thread From: youquan_song @ 2008-11-21 3:08 UTC (permalink / raw) To: linux-acpi; +Cc: venkatesh.pallipadi, len.brown, linux-kernel 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. Signed-off-by: Youquan, Song <youquan.song@intel.com> Signed-off-by: Pallipadi, Venkatesh <venkatesh.pallipadi@intel.com> --- --- 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 @@ -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: ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] ACPI: Check _PSS invalidation when BIOS report _PSS with all 0x80000000 2008-11-21 3:08 ` youquan_song (?) @ 2008-11-21 23:08 ` Andrew Morton 2008-11-24 23:02 ` Youquan,Song -1 siblings, 1 reply; 7+ messages in thread From: Andrew Morton @ 2008-11-21 23:08 UTC (permalink / raw) To: youquan_song; +Cc: linux-acpi, venkatesh.pallipadi, len.brown, linux-kernel On Thu, 20 Nov 2008 19:08:36 -0800 (PST) youquan_song@linux.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. Do you think this fix is needed in 2.6.28? 2.6.27.x? 2.6.26.x? 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: ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] ACPI: Check _PSS invalidation when BIOS report _PSS with all 0x80000000 2008-11-21 23:08 ` Andrew Morton @ 2008-11-24 23:02 ` Youquan,Song 2008-12-12 5:36 ` Len Brown 0 siblings, 1 reply; 7+ messages in thread From: Youquan,Song @ 2008-11-24 23:02 UTC (permalink / raw) To: Andrew Morton; +Cc: linux-acpi, venkatesh.pallipadi, len.brown, linux-kernel 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@linux.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: > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] ACPI: Check _PSS invalidation when BIOS report _PSS with all 0x80000000 2008-11-24 23:02 ` Youquan,Song @ 2008-12-12 5:36 ` Len Brown 2009-03-12 13:22 ` Woody Suwalski 0 siblings, 1 reply; 7+ messages in thread From: Len Brown @ 2008-12-12 5:36 UTC (permalink / raw) To: Youquan,Song Cc: Andrew Morton, linux-acpi, Venkatesh Pallipadi, Linux Kernel Mailing List On Mon, 24 Nov 2008, Youquan,Song wrote: > 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@linux.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. What does _PPC say when P-states are disabled on these machines? If it is disabling the _PSS, maybe we should not be looking at the _PSS? This would be a good patch if 0x80000000 were actually documented in the ACPI spec as disabling P-states, but it isn't. Can you open a bugzilla and attach the acpidump output for the two failing machines? Are those machines shipped with P-states enabled by default, or disabled by default? Also, how, exactly, do we crash when we see these values? > > 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. So we've been exposed to this BIOS bug for more than 10 releases and the world has not ended. Unless we're about to be exposed to a raft of new machines with this BIOS issue, and they have P-states disabled by default, I'd say this workaround in not urgent. -- Len Brown, Intel Open Source Technology Center ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] ACPI: Check _PSS invalidation when BIOS report _PSS with all 0x80000000 2008-12-12 5:36 ` Len Brown @ 2009-03-12 13:22 ` Woody Suwalski 2009-03-13 2:16 ` Zhang Rui 0 siblings, 1 reply; 7+ messages in thread From: Woody Suwalski @ 2009-03-12 13:22 UTC (permalink / raw) To: Len Brown Cc: Youquan,Song, Andrew Morton, linux-acpi, Venkatesh Pallipadi, Linux Kernel Mailing List Len Brown wrote: > On Mon, 24 Nov 2008, Youquan,Song wrote: > > >> 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@linux.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. >> > > What does _PPC say when P-states are disabled on these machines? > If it is disabling the _PSS, maybe we should not be looking at the _PSS? > > This would be a good patch if 0x80000000 were actually documented > in the ACPI spec as disabling P-states, but it isn't. > > Can you open a bugzilla and attach the acpidump output for > the two failing machines? Are those machines shipped with > P-states enabled by default, or disabled by default? > > Also, how, exactly, do we crash when we see these values? > > >>> 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. >> > > So we've been exposed to this BIOS bug for more than 10 releases > and the world has not ended. Unless we're about to be exposed to > a raft of new machines with this BIOS issue, and they have P-states > disabled by default, I'd say this workaround in not urgent. > > On Dell Latitude E4300 and E4600 I had to add processor.nocst=1 Otherwise system will become disfunctional after modprobing processor, typically on start of X or on exit from X... Do not have any of the systems on hand, but if useful can provide dmesg dump... I have not tried with 2.6.28 or earlier, so can not say if this is a regression or not. Woody -- Woody Suwalski, Xandros, Ottawa, Canada, 1-613-842-3498 x414 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] ACPI: Check _PSS invalidation when BIOS report _PSS with all 0x80000000 2009-03-12 13:22 ` Woody Suwalski @ 2009-03-13 2:16 ` Zhang Rui 0 siblings, 0 replies; 7+ messages in thread From: Zhang Rui @ 2009-03-13 2:16 UTC (permalink / raw) To: Woody Suwalski Cc: Len Brown, Youquan,Song, Andrew Morton, linux-acpi, Pallipadi, Venkatesh, Linux Kernel Mailing List this seems like a different problem. > > > On Dell Latitude E4300 and E4600 I had to add processor.nocst=1 please attach the lspci of these laptops. > Otherwise system will become disfunctional after modprobing processor, > typically on start of X or on exit from X... please use nocst to start X, and attach the /etc/X11/xorg.conf and /var/log/Xorg.0.log after X is started. thanks, rui > Do not have any of the systems on hand, but if useful can provide dmesg > dump... > I have not tried with 2.6.28 or earlier, so can not say if this is a > regression or not. > > Woody > ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-03-13 2:15 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2008-11-21 3:08 [PATCH] ACPI: Check _PSS invalidation when BIOS report _PSS with all 0x80000000 youquan_song 2008-11-21 3:08 ` youquan_song 2008-11-21 23:08 ` Andrew Morton 2008-11-24 23:02 ` Youquan,Song 2008-12-12 5:36 ` Len Brown 2009-03-12 13:22 ` Woody Suwalski 2009-03-13 2:16 ` Zhang Rui
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.