H. Peter Anvin
hpa at zytor.com
Wed Apr 13 15:01:10 PDT 2011
On 04/13/2011 02:50 PM, Joerg Roedel wrote:
> On Wed, Apr 13, 2011 at 01:48:48PM -0700, Yinghai Lu wrote:
>> - addr = memblock_find_in_range(0, 1ULL<<32, aper_size, 512ULL<<20);
>> + addr = memblock_find_in_range(0, 1ULL<<32, aper_size, 512ULL<<21);
> Btw, while looking at this code I wondered why the 512M goal is enforced
> by the alignment. Start could be set to 512M instead and the alignment
> can be aper_size as it should. Any reason for such a big alignment?
> P.S.: The box is still in the office, I will try this debug-patch
The only reason that I can think of is that the aperture itself can be
huge, and perhaps 512 MiB is the biggest such known. 512ULL<<21 is of
course a particularly moronic way to write 1 GiB, but it was a debug patch.
The value 512 MiB apparently comes from
7677b2ef6c0c4fddc84f6473f3863f40eb71821b, which is apparently totally ad
hoc; effectively it tries to prevent a collision with kexec by
hardcoding the kdump allocation as it sat at that point in time in the
GART assignment rules.
More information about the dri-devel