lkml.org 
[lkml]   [2010]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH 1/5] resources: add arch hook for preventing allocation in reserved areas
    Date
    On Friday, December 10, 2010 01:36:09 pm Jesse Barnes wrote:
    > [Actually cc'ing Matthew this time]
    >
    > On Fri, 10 Dec 2010 12:30:08 -0800
    > Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
    >
    > > On Wed, 08 Dec 2010 14:36:06 -0700
    > > Bjorn Helgaas <bjorn.helgaas@hp.com> wrote:
    > >
    > > >
    > > > This adds arch_remove_reservations(), which an arch can implement if it
    > > > needs to protect part of the address space from allocation.
    > > >
    > > > Sometimes that can be done by just requesting a resource. This hook is to
    > > > cover cases where protected area doesn't fit well in the hierarchical
    > > > resource tree. For example, x86 BIOS E820 reservations are not related
    > > > to devices, so they may overlap part of, all of, or more than a device
    > > > resource.
    > > >
    > > > Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
    > > > ---
    > >
    > > Hm, this is bigger than the simple change of just avoiding the high 2M;
    > > Linus have you checked it out yet? It's nicer than simply adjusting
    > > PCIBIOS_MAX_MEM since it will affect all resource callers rather than
    > > just PCI, but it's definitely bigger.

    Dan Williams also reproduced the problem on a 2530p and tested this
    series (though I think he actually tested a backport in Fedora):
    https://bugzilla.kernel.org/show_bug.cgi?id=23542#c7
    https://bugzilla.kernel.org/show_bug.cgi?id=23542#c23

    The simple PCIBIOS_MAX_MEM_32 change below will fix the 2530p problem,
    but it won't help fix the nx6325 problem Rafael reported; details at:
    https://bugzilla.kernel.org/show_bug.cgi?id=23332#c20

    Rafael did confirm on #acpi Wednesday that the full series fixed
    his nx6325.

    Bjorn

    > > If you want just the simple change for 2.6.37 I can push that, but
    > > we'll need to get a tested-by from Matthew:
    > >
    > > diff --git a/arch/x86/include/asm/pci.h b/arch/x86/include/asm/pci.h
    > > index ca0437c..aef9f77 100644
    > > --- a/arch/x86/include/asm/pci.h
    > > +++ b/arch/x86/include/asm/pci.h
    > > @@ -141,7 +141,7 @@ void dma32_reserve_bootmem(void);
    > >
    > > /* generic pci stuff */
    > > #include <asm-generic/pci.h>
    > > -#define PCIBIOS_MAX_MEM_32 0xffffffff
    > > +#define PCIBIOS_MAX_MEM_32 0xfff00000
    > >
    > > #ifdef CONFIG_NUMA
    > > /* Returns the node based on pci bus */
    > >
    > > and I'll queue up this set for 2.6.38.
    > >
    > > Thanks,
    >
    >
    >


    \
     
     \ /
      Last update: 2010-12-10 22:27    [W:4.123 / U:0.696 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site