Re: [PATCH 1/5] resources: add arch hook for preventing allocation in reserved areas

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxx> wrote:
> 
> > On Wed, 08 Dec 2010 14:36:06 -0700
> > Bjorn Helgaas <bjorn.helgaas@xxxxxx> 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@xxxxxx>
> > > ---
> > 
> > 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,
> 
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux