-
Notifications
You must be signed in to change notification settings - Fork 722
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
Disclaim Cold Code Cache #19397
Disclaim Cold Code Cache #19397
Conversation
gita-omr
commented
Apr 26, 2024
•
edited
Loading
edited
- use the same heuristcs for code cache disclaim as for data cache
- disclaim starting from the cold code
- move stack overflow outline instructions into the warm area to increase disclaim efficiency
- code is enabled with -Xjit:enableCodeCacheDisclaiming
bc551a6
to
f088c14
Compare
Fixed line endings |
f088c14
to
c58500a
Compare
Fixed EOF. |
Addressed comments above. |
709a70c
to
1f360da
Compare
Fixed line ending. |
Removed dependence on eclipse-omr/omr#7300 since it's been merged. |
Added commit to put thunks into warm code cache. |
Line ending check is not related to my change - many test files are reported. |
d39b396
to
b615ea6
Compare
Addressed latest comments. |
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.
LGTM. I only have a small suggestion for more clarity in one of the vlog messages.
} | ||
else if (TR::Options::getCmdLineOptions()->getVerboseOption(TR_VerbosePerformance)) | ||
{ | ||
TR_VerboseLog::writeLineLocked(TR_Vlog_INFO, "In code cache %p small pages start from %p\n", this, middle); |
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.
I would prefer this message to be more explicit. I am trying to imagine what a casual consumer of verbose logs would understand when it sees this message among all the other others.
Suggestion: "Forcing code cache cold region %p-%p to use default size memory pages"
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.
Done
b615ea6
to
2a41998
Compare
Addressed latest comment. |
2a41998
to
3eee070
Compare
Squashed the commits. |
Trailing spaces are not due to this PR. |
Could you please rebase to eliminate conflicts? |
- use the same heuristcs for code cache disclaim as for data cache - disclaim starting from the cold code - move stack overflow outline instructions into the warm area to increase disclaim efficiency - code is enabled with -Xjit:enableCodeCacheDisclaiming
3eee070
to
c3c689a
Compare
Rebased. |
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.
LGTM.
I have a question though: have you tested what happens when large pages are enabled on the system?
I have seen that VM code uses shmat instead of mmap when large pages are configured on the system. I would assume that disclaiming is not going to work in that case. Do we take steps to disable it?
jenkins test sanity all jdk17 |
Good question. I did not try it on the system with large pages. I will take a note and open another PR. This PR is just the core code. I was planning to do more tuning and enable it by default eventually. |
jenkins compile win jdk17 |