Re: [PATCH] pci: increase alignment to make more space for hiddencode

From: Ingo Molnar
Date: Mon Oct 12 2009 - 13:21:03 EST



* Bjorn Helgaas <bjorn.helgaas@xxxxxx> wrote:

> On Sunday 11 October 2009 03:17:16 pm Yinghai Lu wrote:
> > for
> >
> > http://bugzilla.kernel.org/show_bug.cgi?id=13940
> >
> > some system when acpi are enabled, acpi clears some BAR for some devices without
> > reason, and kernel will need to allocate devices for them.
>
> "ACPI clears some BARs"? I'm dubious. The handoff state is the same
> whether we boot with "acpi=off" or not, so the BIOS can't be clearing
> them. I really don't think the ACPI code in Linux clears BARs. The
> Linux PCI code might be clearing BARs, but it sure would be nice to
> know exactly why. Did you ever figure that out?
>
> > try to increase alignment to get more safe range for unassigned devices.
> >
> > Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
> >
> > ---
> > arch/x86/kernel/e820.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > Index: linux-2.6/arch/x86/kernel/e820.c
> > ===================================================================
> > --- linux-2.6.orig/arch/x86/kernel/e820.c
> > +++ linux-2.6/arch/x86/kernel/e820.c
> > @@ -1378,8 +1378,8 @@ static unsigned long ram_alignment(resou
> > if (mb < 16)
> > return 1024*1024;
> >
> > - /* To 32MB for anything above that */
> > - return 32*1024*1024;
> > + /* To 64MB for anything above that */
> > + return 64*1024*1024;
>
> How do we know 64MB is the correct alignment?
>
> This feels like a hack that accidentally covers up the problem. I
> don't think we understand what's happening well enough.

Perhaps hidden chipset BARs getting protected by the larger granularity?
Do we know the before/after allocation layout?

Ingo
--
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/