Bug 14886

Summary: acpi=ht stopped working in 2.6.32 - Asus P2B-DS not detected as SMP motherboard
Product: ACPI Reporter: Lorenzo Buzzi (flinco)
Component: Config-OtherAssignee: acpi_config-other
Status: CLOSED CODE_FIX    
Severity: normal CC: acpi-bugzilla, akpm, arekm, hpa, lenb, rjw, rui.zhang
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.32 - 2.6.32.1 - 2.6.32.2 Tree: Mainline
Regression: Yes
Bug Depends on:    
Bug Blocks: 14230    
Attachments: working 2.6.28.10 kernel
2.6.32.3 not working kernel
patch to remove ASUS P2B-DS from acpi=ht blacklist
patch to fix acpi=ht

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