[aarch64-port-dev ] [Roland Westrelin] Re: Aarch64 port for ZGC, so far

Per Liden per.liden at oracle.com
Mon Apr 15 09:51:31 UTC 2019

On 04/15/2019 11:33 AM, Andrew Haley wrote:
> On 4/13/19 11:33 PM, Stuart Monteith wrote:
>> An alternative is to reproduce the multimapping that is on x86, where
>> all addresses are real. This has the advantage that when the Memory
>> Tagging Extensions (MTE) in AArch64 are implemented, they won't
>> encroach on the ZGC coloured bits, and vice versa. Realistically if we
>> are ever to use MTE, ZGC may prevent that from happening.
>> I believe the only reason we should continue with using the aarch64
>> TBI tagged addresses is if it confers a good performance advantage
>> over multimapping. My plan is to patch JNI for now in my ZGC patch,
>> and then work on a new patch but with x86 style multimapping, which
>> ought to be a straight copy. As I understand it, only one bit of
>> colour is significant in ZGC at any given time, so the TLB impact
>> might not be so bad for the majority of the time, but we'll need to
>> check that.
> This seems a shame. Multi-mapping is a kludge that we shouldn't need

Btw, it's only a bit of a kludge if you're on an old kernel, that 
doesn't have memfd_create() support (kernel < 3.17 and kernel < 4.14 
when using large pages). With memfd_create() support it's pretty much 
transparent, with no need to mount file system, etc.


> on AArch64. Do we know that the colour bits will conflict with MTE? I
> would have thought that the only place you're likely to see a problem
> is with the GetPrimitiveArrayCritical functions, and they can be
> corrected for ZGC.

More information about the zgc-dev mailing list