openj9 icon indicating copy to clipboard operation
openj9 copied to clipboard

AArch64: Implement dual TLH

Open knn-k opened this issue 1 year ago • 14 comments

This commit implements dual TLH for AArch64.

knn-k avatar Jan 26 '24 07:01 knn-k

Jenkins test sanity alinux64,amac jdk17

knn-k avatar Jan 29 '24 02:01 knn-k

Jenkins test sanity alinux64 jdk17

knn-k avatar Jan 29 '24 07:01 knn-k

Related PR in OMR: https://github.com/eclipse/omr/pull/7243

knn-k avatar Jan 29 '24 07:01 knn-k

Jenkins test sanity alinux64,amac jdk17

knn-k avatar Jan 30 '24 03:01 knn-k

Jenkins test sanity alinux64,amac jdk17 depends eclipse/omr#7243

knn-k avatar Feb 08 '24 08:02 knn-k

FYI @0xdaryl

knn-k avatar Jun 11 '24 07:06 knn-k

Jenkins test sanity alinux64,amac jdk17

knn-k avatar Jun 13 '24 04:06 knn-k

Jobs for sanity.functional tests failed with the following error:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 502: unexpected char: '\' @ line 502, column 70.
   ROR: Cannot delete workspace :\s?Unable 
                                 ^

I opened Issue #19696.

knn-k avatar Jun 13 '24 06:06 knn-k

If I read the code correctly, this effectively enables dual TLH on AArch64. The second TLH was being created before based on the logic in DLLMain, but it was never used because the inline allocator logic was not implemented. Is that right?

0xdaryl avatar Jun 13 '24 11:06 0xdaryl

Jenkins test sanity alinux64,amac jdk17

pshipton avatar Jun 13 '24 11:06 pshipton

@0xdaryl Correct. That is the reason why I disabled DualTLH by default on AArch64 in January with https://github.com/eclipse/omr/pull/7243.

knn-k avatar Jun 14 '24 01:06 knn-k

I changed this PR to the draft state because some tests in sanity.functional failed with this PR and with the -Xjit:enableDualTLH option. https://openj9-jenkins.osuosl.org/job/Grinder/3666/

DualTLH used to work when I tested in January.

knn-k avatar Jun 14 '24 02:06 knn-k

Jenkins test sanity alinux64,amac jdk11,jdk17

knn-k avatar Jun 17 '24 02:06 knn-k

I ran sanity.functional jobs with Dual TLH enabled on internal servers, and they were all successful. This PR is ready for review.

  • Java 11/17
  • AArch64 Linux/macOS

I keep Dual TLH turned off by default on AArch64. You can enable it with -Xjit:enableDualTLH after this PR is merged.

knn-k avatar Jun 17 '24 08:06 knn-k