Re: arm64 pointer tagging, VA-bits, the end of the world...
On Wed, Aug 17, 2016 at 04:16:37PM +0100, Leif Lindholm wrote:
> On Wed, Aug 17, 2016 at 04:03:07PM +0100, Mark Rutland wrote:
> > > ARM64 platforms with > 512GB between the lowest and highest RAM
> > > addresses end up getting their amount of usable memory truncated if
> > > the kernel is built for 39-bit VA (which is what currently happens for
> > > Debian kernels). For 4.7, the arm64 defconfig was changed to enable
> > > 48-bit VA by default.
> > > The problem is - some pieces of software have had time to be written
> > > in a ... let's charitably call it a "focused on amd64" fasion ... with
> > > the embedded assumption that anything above virtual address bit 44 is
> > > a pointer-tag free-for-all.
> > I suspect that we're likely to fall further into this.
> > ARMv8.2 bumps the maximum address limit to 52 bits . Architecturally,
> > only the upper 8 bits of address are reserved for tagging (and this has
> > been the case since the original ARMv8-A release), and all other bits
> > are reserved.
> > Given the above, it seems possible/likely that we may see address spaces
> > of up to 56 bits in future.
> > So shuffling bits along a few places is only likely to buy us some time,
> > and won't solve the problem entirely.
> Absolutely - but it's still something we need to do, now.
> And I'm hoping that by the time > 48-bit VA becomes an issue, it will
> be an issue for Intel also, and we won't need to do all of the lifting
> on the ARM side.
Sure. I just wanted to make clear that there are already things in the
pipe beyond 48-bit.
w.r.t. future lifting it depends on how quickly those ARMv8.2 systems