Re: [PATCH 1/4] x86, gart: Don't enforce GART aperture lower-boundby alignment

From: Joerg Roedel
Date: Mon Apr 18 2011 - 13:37:07 EST


On Mon, Apr 18, 2011 at 08:51:50AM -0700, H. Peter Anvin wrote:
> On 04/18/2011 07:56 AM, Roedel, Joerg wrote:
> > On Mon, Apr 18, 2011 at 10:45:19AM -0400, H. Peter Anvin wrote:
> >> On 04/18/2011 06:45 AM, Joerg Roedel wrote:
> >>> This patch changes the allocation of the GART aperture to
> >>> enforce only natural alignment instead of aligning it on
> >>> 512MB. This big alignment was used to force the GART
> >>> aperture to be over 512MB. This is enforced by using 512MB
> >>> as the lower-bound address in the allocation range.
> >>>
> >>> Cc: Yinghai Lu <yinghai@xxxxxxxxxx>
> >>> Signed-off-by: Joerg Roedel <joerg.roedel@xxxxxxx>
> >>
> >> Better implementation of the existing bounds, yes, but I think the
> >> algorithm is still wrong. Specifically, 512 MiB seems to have been the
> >> maximum address of the kernel at some point, but that is historic at
> >> this point, at least on 64 bits.
> >
> > I am fine with a smaller lower-bound, but I am not sure what a better
> > choice is. The comment about kexec seems to be valid. It shouldn't matter
> > for kdump because in this case the memory is allocated independently and
> > the kdump kernel will only use this part, but for other kexec uses it is
> > a bit harder. Probably any number we choose as a lower bound is an
> > arbitrary choice at some point. But I am open for
> > suggestions/corrections to this.
> >
>
> The right thing to do for in-place kexec it to turn it off, not rely on
> any specific magic addresses. We have had this problem with a number of
> drivers in the context of kexec.

Ok, so changing the start-address to zero seems the best thing to do.
This way the GART will working again on machines with less than 512MB of
RAM (and a BIOS that does not initialize the GART as we want it).

Regards,

Joerg

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