RFR(M): 8194258: PPC64 safepoint mechanism: Fix initialization on AIX and support SIGTRAP

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Sat Dec 30 13:00:42 UTC 2017


Hi Martin,

thanks for fixing this issue. The change itself looks good. 

Nevertheless some points:
I would like a comment about the sigtrap mechanism used on 
ppc, maybe where the macro for UseSIGTRAP is set.

I think you need to adapt runtime/logging/OsCpuLoggingTest.java.
The tracing is missing on linuxppc, too, if UseSIGTRAP is set.
Maybe the test should call the VM with -XX:-UseSIGTRAP on ppc?
And then it should work on aix, too?

Best regards,
  Goetz.

> -----Original Message-----
> From: Doerr, Martin
> Sent: Donnerstag, 28. Dezember 2017 18:47
> To: hotspot-runtime-dev at openjdk.java.net; Robbin Ehn
> <robbin.ehn at oracle.com>; Lindenmaier, Goetz <goetz.lindenmaier at sap.com>
> Subject: RFR(M): 8194258: PPC64 safepoint mechanism: Fix initialization on AIX
> and support SIGTRAP
> 
> Hi,
> 
> 
> 
> unfortunately, the safepoint mechanism initialization on AIX is not completely
> correct, yet. The VM crashes when using -XX:-OptimizePollingPageLocation or
> when allocation at desired addresses failed.
> 
> Only pages allocated by mmap can be read protected.
> 
> 
> 
> In addition, SIGTRAP-based polling performs slightly better on PPC64 and avoids
> the need for allocating a protected page.
> 
> 
> 
> I have uploaded a webrev:
> 
> http://cr.openjdk.java.net/~mdoerr/8194258_PPC64_poll/webrev.00/
> 
> 
> 
> We use trap instructions if UseSIGTRAP is enabled (PPC64 specific -XX flag) and
> fall back to loads from the polling pages otherwise.
> 
> 
> 
> Please review.
> 
> 
> 
> I will also need a sponsor because I'm changing the shared file
> safepointMechanism.cpp. It's not a functional change for other platforms.
> 
> 
> 
> Best regards,
> 
> Martin
> 
> 



More information about the hotspot-runtime-dev mailing list