64 bit and safepoint polling

Chuck Rasbold rasbold at google.com
Wed Sep 22 10:34:21 PDT 2010


I'm seeing a problem as a result of a collection of factors.  We have an
internal agent (on by default), on a particular Linux release, when running
under make, provokes an odd memory pattern with a large displacement between
the polling page and the CodeCache.  So... Queens fails when the safepoint
poll is executed.

We haven't seen the problem under other circumstances, so it isn't a
pressing need.   But the Queens crashing is annoying and a guarantee would
be nice.

Orthogonally, the cause of the strange layout is of concern here.

I also thought about moving the polling page into the code cache.  Do you
think a single large page will impact the code cache significantly?


On Wed, Sep 22, 2010 at 10:15 AM, Tom Rodriguez <tom.rodriguez at oracle.com>wrote:

> No it doesn't work correctly.  I think I filed a bug about this a little
> while ago but I can't find it at the moment.  The code should just be
> updated to handle it properly though we'd really like to ensure that it
> isn't far away since it makes the polling code sequence a lot worse.  I'd
> considered something like allocating the polling page out of the code cache
> to make sure it's near but that doesn't work that well if we use large pages
> for the code cache.  Maybe there's a way to make it work though.  Have you
> hit this problem?
>
> tom
>
> On Sep 22, 2010, at 9:47 AM, Chuck Rasbold wrote:
>
> > In a 64 bit JVM, when the polling page is more than a 32 displacement
> from the codeCache, does the code generated by C2 for safepoint polling work
> correctly?
> >
> > If not, should there be a guarantee in JVM startup about the maximum
> displacement supported?
> >
> > -- Chuck
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20100922/bf3ed8ac/attachment-0001.html 


More information about the hotspot-compiler-dev mailing list