Bug 14886 - acpi=ht stopped working in 2.6.32 - Asus P2B-DS not detected as SMP motherboard
acpi=ht stopped working in 2.6.32 - Asus P2B-DS not detected as SMP motherboard
Status: CLOSED CODE_FIX
Product: ACPI
Classification: Unclassified
Component: Config-Other
All Linux
: P1 normal
Assigned To: acpi_config-other
:
Depends on:
Blocks: 14230
  Show dependency treegraph
 
Reported: 2009-12-27 17:20 UTC by Lorenzo Buzzi
Modified: 2010-02-19 04:07 UTC (History)
7 users (show)

See Also:
Kernel Version: 2.6.32 - 2.6.32.1 - 2.6.32.2
Tree: Mainline
Regression: Yes


Attachments
working 2.6.28.10 kernel (27.19 KB, text/plain)
2010-01-16 09:19 UTC, Arkadiusz Miskiewicz
Details
2.6.32.3 not working kernel (24.31 KB, text/plain)
2010-01-16 09:20 UTC, Arkadiusz Miskiewicz
Details
patch to remove ASUS P2B-DS from acpi=ht blacklist (1.15 KB, patch)
2010-02-16 08:38 UTC, Len Brown
Details | Diff
patch to fix acpi=ht (1.24 KB, patch)
2010-02-16 08:50 UTC, Len Brown
Details | Diff

Description Lorenzo Buzzi 2009-12-27 17:20:29 UTC
Since release 2.6.32 the Asus P2B-DS motherboard (a dual CPU board) is detected as a single CPU platform.
Kernel messages report "SMP motherboard not detected" and only one CPU is listed in '/proc/cpuinfo'.
Tried 2.6.32, 2.6.32.1, and 2.6.32.2 starting with a custom '.config' correctly working up to 2.6.31.9 (motherboard detected as SMP; two CPUs brought up).
If needed I will post my '.config'.

Regards
Comment 1 Andrew Morton 2010-01-04 23:59:47 UTC
Thanks.  I marked this as a regression.
Comment 2 Rafael J. Wysocki 2010-01-11 19:40:15 UTC
On Monday 11 January 2010, flinco@libero.it wrote:
> Tried 2.6.32.3. The issue is still present.
Comment 3 Arkadiusz Miskiewicz 2010-01-16 09:19:21 UTC
Happens also on my Intel SE7501CW2 platform.

"SMP motherboard not detected."
Comment 4 Arkadiusz Miskiewicz 2010-01-16 09:19:58 UTC
Created attachment 24592 [details]
working 2.6.28.10 kernel
Comment 5 Arkadiusz Miskiewicz 2010-01-16 09:20:52 UTC
Created attachment 24593 [details]
2.6.32.3 not working kernel
Comment 6 H. Peter Anvin 2010-01-19 01:06:57 UTC
Could we get a git bisect on this by any chance?
Comment 7 Arkadiusz Miskiewicz 2010-01-19 05:33:05 UTC
Doing bisect for me is very problematic in case when something goes wrong (production machine, is in remote datacenter and has no remote management card).
Comment 8 Lorenzo Buzzi 2010-01-25 10:44:27 UTC
Tried 2.6.32.5. The issue is still present.
Comment 9 Arkadiusz Miskiewicz 2010-01-25 12:44:34 UTC
Lorenzo: maybe you can do git bisect?
Comment 10 Rafael J. Wysocki 2010-01-25 20:44:31 UTC
On Monday 25 January 2010, flinco@libero.it wrote:
> Tried yestaerdy 2.6.32.5. Regression still present.
> 
> Lorenzo Buzzi.
Comment 11 Rafael J. Wysocki 2010-01-26 20:00:18 UTC
On Tuesday 26 January 2010, Dmitry Artamonow wrote:
> On 20:40 Mon 11 Jan     , Rafael J. Wysocki wrote:
> > On Monday 11 January 2010, flinco@libero.it wrote:
> > > Tried 2.6.32.3. The issue is still present.
> > 
> > Thanks for the update.
> > 
> > Rafael
> 
> (I have some troubles with registering on kernel bugzilla, so posting here,
> adding people from bug to CC: list)
> 
> Hi!
> I'm also using P2B-DS and can confirm that starting with kernel 2.6.32
> SMP stopped working (and don't work still - tested with current git
> v2.6.33-rc5-238-g158c168) The issue seems to have something to do with the
> fact that ACPI is blacklisted on P2B-DS. I used to workaround this bug
> on newer kernels (>=2.6.32) by passing "acpi=force" in kernel arguments.
> Finally, yesterday I found some time to write simple automated bisection
> script and leaved it to run on machine overnight. Here's result:
> ---------------------------------------------------------------------------
> e5b8fc6ac158f65598f58dba2c0d52ba3b412f52 is the first bad commit
> commit e5b8fc6ac158f65598f58dba2c0d52ba3b412f52
> Author: Len Brown <len.brown@intel.com>
> Date:   Tue Jul 7 23:22:58 2009 -0400
> 
>     ACPI: check acpi_disabled in acpi_table_parse() and acpi_table_parse_entries()
>     
>     Allow consumers of the acpi_table_parse()/acpi_table_parse_entries() API
>     to gracefully handle the acpi_disabled=1 case via return value
>     rather than checking the global flag themselves.
>     
>     Signed-off-by: Feng Tang <feng.tang@intel.com>
>     Signed-off-by: Len Brown <len.brown@intel.com>
> ---------------------------------------------------------------------------
> 
> I re-checked this result and yes - reverting this commit on both 2.6.32 and
> current git (v2.6.33-rc5-238-g158c168) makes problem go away.
Comment 12 Rafael J. Wysocki 2010-01-26 20:00:57 UTC
First-Bad-Commit : e5b8fc6ac158f65598f58dba2c0d52ba3b412f52
Comment 13 Zhang Rui 2010-01-28 01:52:13 UTC
we used to parse the MADT when "acpi=ht", and now it's broken by commit e5b8fc6ac158f65598f58dba2c0d52ba3b412f52.
Comment 14 Rafael J. Wysocki 2010-02-01 21:56:32 UTC
Handled-By : Matthew Garrett <mjg59@srcf.ucam.org>
Patch : http://patchwork.kernel.org/patch/76089/
Comment 15 Len Brown 2010-02-16 08:33:28 UTC
Arkadiusz,
[    0.000000] Linux version 2.6.28.10-1 ...
...
[    0.000000] Kernel command line: ... acpi=ht ...

Why do you boot 2.6.28 on an an Intel SE7501CW2 with "acpi=ht"
What happens when you boot 2.6.28 without acpi=ht?

What happens when you boot the latest kernel without acpi=ht?
Comment 16 Len Brown 2010-02-16 08:38:14 UTC
Created attachment 25062 [details]
patch to remove ASUS P2B-DS from acpi=ht blacklist

This patch should address the symptom that caused Lorenzo
to file this bug.  However, it will change the behaviour
because it will now run in ACPI mode on the ASUS P2B-DS
rather than in acpi=ht mode.

We still need to fix the fact that the acpi=ht option,
and the systems that use it in the blacklist, are broken.
Comment 17 Len Brown 2010-02-16 08:50:22 UTC
Created attachment 25063 [details]
patch to fix acpi=ht

please try this patch using "acpi=ht"
Comment 18 Len Brown 2010-02-19 04:07:39 UTC
patch in comment #16 and comment #17 shipped
in linux-2.6.33-rc8-git4 and sent to 2.6.32.stable

closed

Note You need to log in before you can comment on or make changes to this bug.