Re: acpi_ex_system_memory_space_handler oops

From: Lin Ming
Date: Thu Aug 27 2009 - 04:48:40 EST


On Thu, 2009-08-27 at 16:29 +0800, Sergey Senozhatsky wrote:
> On (08/27/09 15:59), Lin Ming wrote:
> > > rc7-git5 (patched)
> > >
> > > [ 0.178628] ACPI: EC: Look up EC in DSDT
> > > [ 0.196480] ACPI: Interpreter enabled
> > > [ 0.196575] ACPI: (supports S0 S1 S3 S4 S5)
> > > [ 0.197184] ACPI: Using IOAPIC for interrupt routing
> > > [ 0.197352] PCI: MCFG configuration 0: base e0000000 segment 0 buses 0 - 255
> > > [ 0.203511] ACPI Error (dswload-0790): [PCFG] Namespace lookup failure, AE_ALREADY_EXISTS
> > > [ 0.203738] ACPI Exception: AE_ALREADY_EXISTS, During name lookup/catalog 20090521 psloop-227
> > > [ 0.203964] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.RBPE] (Node f7017678), AE_ALREADY_EXISTS
> > > [ 0.204256] ACPI: Marking method RBPE as Serialized because of AE_ALREADY_EXISTS error
> > > [ 0.204510] ACPI Error (psparse-0537): Method parse/execution failed [\_GPE._L01] (Node f701d198), AE_ALREADY_EXISTS
> > > [ 0.204803] ACPI: Marking method _L01 as Serialized because of AE_ALREADY_EXISTS error
> > > [ 0.205063] ACPI Exception: AE_ALREADY_EXISTS, while evaluating GPE method [_L01] 20090521 evgpe-568
> >
> > Do you mean rc7-git5 sometime boot fails even with the patch applied?
> >
> No. Patched kernel boots ok. Even successfully booted kernel sometimes has the given lines in dmesg.
> (I'll watch more.)

Thanks for the info.
So the patch only fixes the oops,
we also need to fix the AE_ALREADY_EXISTS error.

>
> > >
> > >
> > > [...]
> > > + if (!(region_obj->region.node->flags & ANOBJ_TEMPORARY)) {
> > > + acpi_ex_exit_interpreter();
> > > + }
> > > [...]
> > > Does it explain successful boot with delay (vga=791, prink delay, etc.)?
> >
> > Sorry, could you explain the question a bit more?
> >
> Sorry,
> We had successful boots with small delays (like vga=791, prinTk delays and so on) and oopses otherwise.

Got it.

>
> On (08/12/09 20:18), Len Brown wrote:
> >The fact that boot_delay=10 makes the problem go away
> >suggests some sort of race condition. Is 10 the smallest
> >value of printk_time that works, or is it a random value?
> >
>
>
> >Currently, we exit the interpreter when setup region, because it may
> >execute control methods, such as _REG.
> >
> >The attached debug kernel patch (region-debug.patch) don't exit the
> >interpreter if the region is temporary, namely, it is defined inside a
> >method.
> Ok, we don't exit in case of temporary region. How is it possible that we had 'normal'
> boots with delays?

Not sure. Maybe the delays avoid some sort of race condition.

I will continue to investigate ...

Thanks,
Lin Ming

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/