[RFC] arm64: defconfig: enable 48-bit VA by default

Ard Biesheuvel ard.biesheuvel at linaro.org
Fri Aug 14 06:55:19 PDT 2015


On 14 August 2015 at 15:24, Catalin Marinas <catalin.marinas at arm.com> wrote:
> On Fri, Aug 14, 2015 at 02:15:23PM +0200, Ard Biesheuvel wrote:
>> >> On 7 aug. 2015, at 21:01, Stuart Yoder <stuart.yoder at freescale.com> wrote:
>> >>
>> >> >> Whether defconfig supports your platform optimally has nothing to do
>> >> >> with that. Of course, we should deal with the unexpected memory layout
>> >> >> gracefully, which is why Mark Rutland and myself proposed patches to
>> >> >> fix the panic you reported. But in a development context, I think it
>> >> >> is perfectly acceptable to simply load the kernel at 0x80_8000_0000,
>> >> >> and be able to run defconfig fine while losing just 2 GB of your 16 GB
>> >> >> at the low end.
> [...]
>> So we still need to decide how to fix the case where the linear region
>> is not of sufficient size to cover all of memory, considering that is
>> what got this discussion started in the first place.
>
> We already have a solution, just enable 4-levels of page tables (only
> that I don't think we should change defconfig as well).
>
> If we want to do any tricks like compacting the memory range, it needs
> to be backed by benchmarks to prove that it's worth compared to a full
> 48-bit VA.
>

If you run a 39-bit VA kernel on a system whose DRAM configuration
covers a larger area than what the linear mapping can support, you
currently get a panic since phys_to_virt() overflows into the user
range. So at the very least, we need to clip the range to a size the
kernel can manage.



More information about the linux-arm-kernel mailing list