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

Per Liden per.liden at oracle.com
Mon Apr 15 11:24:34 UTC 2019

On 04/15/2019 12:53 PM, Andrew Haley wrote:
> On 4/15/19 10:51 AM, Per Liden wrote:
>> 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.
> I agree, but you still end up with aliases in the TLB. Given that the
> L1 TLB is maybe 10-32 items in size, we really shouldn't be using
> scarce resources if we can avoid doing so. This is something of a pain
> point: Java tends to be memory heavy, with lots of pointer chasing,
> and Arm cores tend to be a little smaller than Intel's.

Only one of the three heap views (heap mappings) is actively accessed by 
threads at any given time, so the TLB will be fully utilized with no 
need to keep aliases around. We're only switching heap views twice per 
GC cycle (which could be many seconds or minutes apart), so the effect 
multi-mapping has on the TLB is negligible.


More information about the zgc-dev mailing list