-
Notifications
You must be signed in to change notification settings - Fork 394
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
Use top-down direction for heap allocation on zLinux #7344
Conversation
Object heap allocation logic for zLinux running with Concurrent Scavenger with HW support (Guarded Storage) has not been changed by this PR and still use bottom-up direction. |
@amicic Would you please review? |
looks good to me |
Correspondent issue: eclipse-openj9/openj9#19490 |
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.
minor formatting nits
Current heap allocation direction for zLinux is bottom-up. The motivation for this is on Z platforms shift operation executes faster for smaller shift value. However with bottom-up direction object heap takes all available memory below 4G bar. This does not allow Suballocator to expand if necessary and might lead to OOM below 4G bar. The intention for this fix is to improve this situation. Switching to top-down increases chances that less memory below 4G bar is going to be used (but worst case scenario still be the same as now). In order to keep smaller shift performance benefit an allocation shift scheme should stay 0-1-2-3-4. All other platforms still use 0-3-4. Heap allocation logic for Concurrent Scavenger with HW support (Guarded Storage) hasn't been changed and still be bottom-up. The behaviour for all other platforms hasn't been changed. Signed-off-by: Dmitri Pivkine <Dmitri_Pivkine@ca.ibm.com>
jenkins build all |
Current heap allocation direction for zLinux is bottom-up. The motivation for this is on Z platforms shift operation executes faster for smaller shift value. However with bottom-up direction object heap takes all available memory below 4G bar. This does not allow Suballocator to expand if necessary and might lead to OOM below 4G bar. The intention for this fix is to improve this situation. Switching to top-down increases chances that less memory below 4G bar is going to be used (but worst case scenario still be the same as now). In order to keep smaller shift performance benefit an allocation shift scheme should stay 0-1-2-3-4. All other platforms still use 0-3-4. The behaviour for all other platforms has not been changed.