RFR: Remove prefetch during mark

Per Liden per.liden at oracle.com
Thu Feb 15 12:27:01 UTC 2018


Hi Hugh,

On 02/14/2018 05:23 PM, Wilkinson, Hugh wrote:
> I have been looking at this also.
> 
> I find that if the prefetching occurs 3 popped entries ahead of the processing, then there is a worthwhile benefit.
> 
> A bit of re-structuring is required to make this easy and efficient.
> 
> I am prefetching 2 cache lines from the referenced object and also doing a PREFETCHW of the mark bitmap.  (Prefetch::write() requires modification for x86.)
> 
> With the current code structure, removal of the Prefetch::read() probably makes sense; however, I would like to highlight that marking performance can be improved with sufficiently early software cache prefetches.
> 
> I expect to share more details later.

Looking forward to that!

cheers,
Per

> 
> Hugh
> 
> -----Original Message-----
> From: zgc-dev [mailto:zgc-dev-bounces at openjdk.java.net] On Behalf Of Stefan Karlsson
> Sent: Wednesday, February 14, 2018 4:41 AM
> To: Per Liden <per.liden at oracle.com>; zgc-dev at openjdk.java.net
> Subject: Re: RFR: Remove prefetch during mark
> 
> Looks good.
> 
> StefanK
> 
> On 2018-02-14 09:43, Per Liden wrote:
>> Small patch to remove the prefetch we do during marking. Charlie Hunt
>> spent some time looking into the effect of this, and in conclusion the
>> prefetch doesn't help.
>>
>> http://cr.openjdk.java.net/~pliden/zgc/remove_mark_prefetch/webrev.0/
>>
>> /Per


More information about the zgc-dev mailing list