RFR (S): 8067469: G1 ignores AlwaysPreTouch
thomas.schatzl at oracle.com
Tue Dec 16 16:12:58 UTC 2014
thanks for the review.
On Tue, 2014-12-16 at 16:29 +0100, Erik Helin wrote:
> On 2014-12-16, Thomas Schatzl wrote:
> > Hi all,
> > can I have reviews for the following small change?
> > It adds pre-touching of allocated memory in G1, which has been forgotten
> > to be implemented when changing this code in JDK-8038423.
> > This change adds this and refactors the pre-touch code to a single
> > method in the os class.
> > CC'ed runtime since it changes code in os.hpp/cpp.
> > CR:
> > https://bugs.openjdk.java.net/browse/JDK-8067469
> > Webrev:
> > http://cr.openjdk.java.net/~tschatzl/8067469/webrev/
> First of all, nice patch, I really like the introduction of
> os::pretouch_memory. I have one question about the patch: the code you
> removed in virtualspace.cpp did:
> *curr = 0;
> whereas the new code you added in os::pretouch_memory does:
> char t = *p; *p = t;
> Was this change intended or should os::pretouch_memory also write 0?
There is no code relying on particular values written. Pre-touch is done
as part of committing new memory. So in effect, the code reads a zero,
and writes it back.
It's just that there were two different pre-touching implementations and
I chose one of them to factor out into the new method.
More information about the hotspot-gc-dev