New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for persistent SCC on z/OS #17073
Conversation
test/functional/cmdLineTests/shareClassTests/SCCMLTests/ShareClassesCMLTests-1.xml
Outdated
Show resolved
Hide resolved
What are the concerns with making map64 the default? The testing is light. Have you tried making a JVM with persistent as the default and running all the functional tests? |
Actually the system tests as well, there are some class loading and shared cache related system tests. |
Not yet. |
a37bfd4
to
9ea5c3e
Compare
I've also added change regarding: |
I think you misunderstood. This change doesn't add any value to this PR since the OMR PR must be merged first. I want a separate PR from this that adds that code and the changes for |
PR for the OMR flag #17083 |
67cae6a
to
9459a71
Compare
As #17083 is merged, I pushed to resolve the merge conflicts. |
Now this PR can be updated to remove |
Yes, it can be done. |
test/functional/cmdLineTests/shareClassTests/SCCMLTests/ShareClassesCMLTests-1.xml
Outdated
Show resolved
Hide resolved
The heavy class loading tests like
This means I tried another build with the default cache size reduced to 10m, most of these SCC class loading tests passed. There are much fewer tests failed with the error above. I guess there are machine settings that is related to this error. Probably things like |
|
I notice that I can create persistent SCC with a much larger size 60m on VM farm machine
Could you check the settings of |
The 2 systems are not the same release. fyrec51n is 2.5, whereas stlab92 is 2.1. Note the older system has a MAXSHAREPAGES env var.
|
Looks like it is On stlab92.svl.ibm.com can allow SCC with 160m, but fail with 161m.
|
Seems that the I just randomly tried on a VM farm machine
I guess we need to increase the mmap limits are a subset of the more general shared memory limits. May need to update them as well on some machines. |
b63442d
to
54193eb
Compare
When OMRPORT_MMAP_FLAG_ZOS_64BIT is passed in, we should always set flag __MAP_64 Related to eclipse-openj9/openj9#17073 Signed-off-by: Hang Shao <hangshao@ca.ibm.com>
@keithc-ca this seems ready for another review. I want a change, but it's on the OMR side, and isn't a prereq for this. |
When OMRPORT_MMAP_FLAG_ZOS_64BIT is passed in, we should always set flag __MAP_64 Related to eclipse-openj9/openj9#17073 Signed-off-by: Hang Shao <hangshao@ca.ibm.com>
When OMRPORT_MMAP_FLAG_ZOS_64BIT is passed in, we set flag __MAP_64 on z/OS version 2.4 and up. Related to eclipse-openj9/openj9#17073 Signed-off-by: Hang Shao <hangshao@ca.ibm.com>
The implementation of |
This creates dependency between the OMR and OpenJ9 PR. |
When OMRPORT_MMAP_FLAG_ZOS_64BIT is passed in, we set flag __MAP_64 on z/OS version 2.4 and up. Related to eclipse-openj9/openj9#17073 Signed-off-by: Hang Shao <hangshao@ca.ibm.com>
When OMRPORT_MMAP_FLAG_ZOS_64BIT is passed in, we set flag __MAP_64 on z/OS version 2.4 and up. Related to eclipse-openj9/openj9#17073 Signed-off-by: Hang Shao <hangshao@ca.ibm.com>
When OMRPORT_MMAP_FLAG_ZOS_64BIT is passed in, we set flag __MAP_64 on z/OS version 2.4 and up. Related to eclipse-openj9/openj9#17073 Signed-off-by: Hang Shao <hangshao@ca.ibm.com>
When OMRPORT_MMAP_FLAG_ZOS_64BIT is passed in, we set flag __MAP_64 on z/OS version 2.4 and up. Related to eclipse-openj9/openj9#17073 Signed-off-by: Hang Shao <hangshao@ca.ibm.com>
When OMRPORT_MMAP_FLAG_ZOS_64BIT is passed in, we set flag __MAP_64 on z/OS version 2.4 and up. Related to eclipse-openj9/openj9#17073 Signed-off-by: Hang Shao <hangshao@ca.ibm.com>
When OMRPORT_MMAP_FLAG_ZOS_64BIT is passed in, we set flag __MAP_64 on z/OS version 2.4 and up. Related to eclipse-openj9/openj9#17073 Signed-off-by: Hang Shao <hangshao@ca.ibm.com>
When OMRPORT_MMAP_FLAG_ZOS_64BIT is passed in, we set flag __MAP_64 on z/OS version 2.4 and up. Related to eclipse-openj9/openj9#17073 Signed-off-by: Hang Shao <hangshao@ca.ibm.com>
1. Use mmap implementation of SCC on z/OS which can be enabled by "persistent" sub-option. 2. Flush the change of the mapped region to the SCC file on VM exit. 3. Use map64 by default on Java 11 and up. Add new sub-option "map31" which maps SCC below the 2G addressing range. 4. Add test cases 5. Remove the temporary define of OMRPORT_MMAP_FLAG_ZOS_READ_MAPFILE Signed-off-by: Hang Shao <hangshao@ca.ibm.com>
All existing review comments addressed. |
Jenkins test sanity zlinux,win32 jdk8 depends eclipse/omr#6989 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will need to wait until eclipse/omr#6989 is promoted to the openj9 branch of OMR.
I've promoted eclipse/omr#6989 |
When OMRPORT_MMAP_FLAG_ZOS_64BIT is passed in, we set flag __MAP_64 on z/OS version 2.4 and up. Related to eclipse-openj9/openj9#17073 Signed-off-by: Hang Shao <hangshao@ca.ibm.com>
"persistent" sub-option.
which maps SCC below the 2G addressing range.
Depends on eclipse/omr#6940
Depends on eclipse/omr#6989
Signed-off-by: Hang Shao hangshao@ca.ibm.com