From: "Yinghai Lu" <yhlu.kernel@gmail.com>
To: Alexey Starikovskiy <aystarik@gmail.com>
Cc: webmaster@dragonslave.de,
Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org, linux-next@vger.kernel.org,
linux-acpi@vger.kernel.org, Ingo Molnar <mingo@elte.hu>
Subject: Re: linux-next Regression: Unable to locate IOAPIC
Date: Sat, 14 Jun 2008 01:26:41 -0700 [thread overview]
Message-ID: <86802c440806140126l7a949783of0fb08d11ae07bef@mail.gmail.com> (raw)
In-Reply-To: <48536E3B.4000703@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2625 bytes --]
On Sat, Jun 14, 2008 at 12:07 AM, Alexey Starikovskiy
<aystarik@gmail.com> wrote:
> Hi Ingo, Yinghai,
>
> It looks like the code introduced by
> 2944e16b25e7fb8b5ee0dd9dc7197a0f9e523cfd
> is causing this problem. At least it is new between -rc5 (working) and
> linux-next (not working).
>
> Regards,
> Alex.
>
>
> Daniel Exner wrote:
>>
>> Hi all,
>>
>> Alexey Starikovskiy wrote:
>>
>>>
>>> Hi Daniel,
>>>
>>> Could you please provide full dmesg and acpidump outputs?
>>>
>>
>> I attached dmesg and config , both from working 2.6.26-rc5 with git-acpi
>> patch below and from linux-next snapshot 20080604.
>> I also attached acpidump that was done while using stock 2.6.25-fw5 from
>> my distro. (But I think that doesnt matter, at least it shouldn't ;)
>>
>>
>>>
>>> Daniel Exner wrote:
>>>
>>>>
>>>> Andrew Morton wrote:
>>>>
>>>>>
>>>>> On Fri, 6 Jun 2008 19:30:28 +0200 Daniel Exner <dex@dragonslave.de>
>>>>>
>>
>> wrote:
>>
>>>>>>
>>>>>> Andrew Morton wrote:
>>>>>>
>>>>>>>
>>>>>>> (cc linux-acpi)
>>>>>>>
>>>>>>> On Thu, 5 Jun 2008 11:00:12 +0200 Daniel Exner <dex@dragonslave.de>
>>>>>>>
>>>>
>>>> wrote:
>>>>
>>>>>>>>
>>>>>>>> Hi!
>>>>>>>>
>>>>>>>> (Added myself to CC, because I'm not subscribed)
>>>>>>>>
>>>>>>>> with linux-next snapshot 20080604 my Laptop morphes into sitting
>>>>>>>> duck
>>>>>>>> and I think this is due to this:
>>>>>>>>
>>>>>>>
>>>>>>> I assume 2.6.26-rc5 is OK?
>>>>>>>
>>>>>>
>>>>>> Indeed.. just tried it with (nearly) the same config: no unable to
>>>>>> locate IOAPIC
>>>>>>
>>>>>> Will try todays next snapshot above -rc5 now.
>>>>>>
>>>>>
>>>>> OK, thanks.
>>>>>
>>>>> It would be great if you could test 2.6.26-rc5 plus
>>>>> http://userweb.kernel.org/~akpm/git-acpi.patch. That'll allow us to
>>>>> confirm that the regression is due to changes in the acpi tree.
>>>>>
>>>>
>>>> Sorry for the delay.. real-life you know ;)
>>>>
>>>> I guess you'd expect me to confirm the behavior on rc5 with this patch
>>>> aplied, but .. well this Kernel works!
>>>>
>>
>> To clarify myself:
>> 2.6.25.5: --> relatively fast no IOAPIC Errors in dmesg
>> 2.6.26-rc5: --> relatively no IOAPIC Errors in dmesg
>> 2.6.26-rc5 + git-acpi Patch: --> relatively no IOAPIC Errors in dmesg
>> 2.6.26-rc5 + linux-next snapshot 20080604 --> even slower than before my
>> ide Patch many "unable to locate IOAPIC" Errors
>>
>>
>> So I think the problem lies not in the acpi tree but somewhre else.
>>
>> Is it possible to tell git to explicitly _exclude_ a specific tree while
>> bisecting?
can you check if the attached patch fix the problem?
it will not check entries before MP_intsrc_info...
YH
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: enable_update_mptable.patch --]
[-- Type: text/x-patch; name=enable_update_mptable.patch, Size: 2125 bytes --]
[PATCH] x86: keep MP_intsrc_info untouched if not update mptable
use enable_update_mptable to decide if need check before add mp_irqs array
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index f1d24bd..d2a4768 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -1170,6 +1170,9 @@ int mp_config_acpi_gsi(unsigned char number, unsigned int devfn, u8 pin,
struct mpc_config_intsrc intsrc;
int ioapic;
+ if (!enable_update_mptable)
+ return 0;
+
/* print the entry should happen on mptable identically */
intsrc.mpc_type = MP_INTSRC;
intsrc.mpc_irqtype = mp_INT;
diff --git a/arch/x86/kernel/mpparse.c b/arch/x86/kernel/mpparse.c
index 7ac1b68..1b041a5 100644
--- a/arch/x86/kernel/mpparse.c
+++ b/arch/x86/kernel/mpparse.c
@@ -34,6 +34,8 @@
#include <mach_mpparse.h>
#endif
+int enable_update_mptable;
+
/*
* Checksum an MP configuration block.
*/
@@ -295,10 +297,11 @@ void MP_intsrc_info(struct mpc_config_intsrc *m)
print_MP_intsrc_info(m);
- for (i = 0; i < mp_irq_entries; i++) {
- if (!mp_irq_mpc_intsrc_cmp(&mp_irqs[i], m))
- return;
- }
+ if (enable_update_mptable)
+ for (i = 0; i < mp_irq_entries; i++) {
+ if (!mp_irq_mpc_intsrc_cmp(&mp_irqs[i], m))
+ return;
+ }
assign_to_mp_irq(m, &mp_irqs[mp_irq_entries]);
if (++mp_irq_entries == MAX_IRQ_SOURCES)
@@ -1116,8 +1119,6 @@ out:
return 0;
}
-int __initdata enable_update_mptable;
-
static int __init update_mptable_setup(char *str)
{
enable_update_mptable = 1;
diff --git a/include/asm-x86/mpspec.h b/include/asm-x86/mpspec.h
index b8ba374..f48dbca 100644
--- a/include/asm-x86/mpspec.h
+++ b/include/asm-x86/mpspec.h
@@ -61,6 +61,7 @@ extern void mp_config_acpi_legacy_irqs(void);
extern int mp_register_gsi(u32 gsi, int edge_level, int active_high_low);
extern void MP_intsrc_info(struct mpc_config_intsrc *m);
#ifdef CONFIG_X86_IO_APIC
+extern int enable_update_mptable;
extern int mp_config_acpi_gsi(unsigned char number, unsigned int devfn, u8 pin,
u32 gsi, int triggering, int polarity);
#else
next prev parent reply other threads:[~2008-06-14 8:26 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-05 9:00 linux-next Regression: Unable to locate IOAPIC Daniel Exner
2008-06-06 10:17 ` Andrew Morton
2008-06-06 17:30 ` Daniel Exner
2008-06-06 18:50 ` Andrew Morton
2008-06-10 20:29 ` Daniel Exner
2008-06-11 5:47 ` Andrew Morton
2008-06-12 22:16 ` Yinghai Lu
2008-06-12 22:58 ` Alexey Starikovskiy
2008-06-13 11:07 ` Daniel Exner
2008-06-13 15:42 ` Maciej W. Rozycki
2008-06-14 7:07 ` Alexey Starikovskiy
2008-06-14 8:26 ` Yinghai Lu [this message]
2008-06-14 8:31 ` Ingo Molnar
2008-06-15 19:14 ` Daniel Exner
2008-06-15 19:20 ` Yinghai Lu
2008-06-18 19:57 ` Daniel Exner
2008-06-18 20:41 ` Yinghai Lu
2008-06-18 21:14 ` Daniel Exner
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=86802c440806140126l7a949783of0fb08d11ae07bef@mail.gmail.com \
--to=yhlu.kernel@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=aystarik@gmail.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=webmaster@dragonslave.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).