Skip to content

Use small page size/flags for Sparse Virtual Memory - #7164

Merged
babsingh merged 1 commit into
eclipse-omr:masterfrom
dmitripivkine:master
Oct 30, 2023
Merged

Use small page size/flags for Sparse Virtual Memory#7164
babsingh merged 1 commit into
eclipse-omr:masterfrom
dmitripivkine:master

Conversation

@dmitripivkine

Copy link
Copy Markdown
Contributor

Currently Sparse Virtual Memory uses page size Object Heap is allocated with. We want to use small pages for Sparse Heap always regardless. Also Sparse Virtual Memory uses page flags "requested" for Object Heap. This is the bug. Page flags should be paired with the page size.

Please note, that current MM_SparseVirtualMemory implementation can use double mapping instead of off-heap. This is an experimental feature never used in the code and not planned to be used. This feature uses hidden assumption that memory page size/flags should be the same for Object and Sparse heaps. This PR can break it potentially in the case memory page settings in the Object Heap and Sparse heap are different. We are going to be aware about this if we need another round of experimental testing with double mapping support.

@dmitripivkine

Copy link
Copy Markdown
Contributor Author

@amicic please review.

@dmitripivkine

Copy link
Copy Markdown
Contributor Author

@babsingh Would you please help to merge this change?
Please note:

  • changed code is not in use at the moment in the head. So, it can not break anything functionally (except compilation problems)
  • I noticed double mapping implementation code I mentioned in the comment has been removed already in off-heap prototype https://github.com/LinHu2016/omr/tree/off-heap/, just is not been delivered to the head yet.

@babsingh

Copy link
Copy Markdown
Contributor

https://github.com/eclipse/omr/blob/master/CONTRIBUTING.md#commit-guidelines

The title (first line) shouldn't end with a period: Use small page size/flags for Sparse Virtual Memory

Otherwise, the changes LGTM.

Currently Sparse Virtual Memory uses page size Object Heap is allocated
with. We want to use small pages for Sparse Heap always regardless. Also
Sparse Virtual Memory uses page flags "requested" for Object Heap. This
is the bug. Page flags should be paired with the page size.

Please note, that current MM_SparseVirtualMemory implementation can use
double mapping instead of off-heap. This is an experimental feature
never used in the code and not planned to be used. This feature uses
hidden assumption that memory page size/flags should be the same for
Object and Sparse heaps. This PR can break it potentially in the case
memory page settings in the Object Heap and Sparse heap are different.
We are going to be aware about this if we need another round of
experimental testing with double mapping support.

Signed-off-by: Dmitri Pivkine <Dmitri_Pivkine@ca.ibm.com>
@dmitripivkine dmitripivkine changed the title Use small page size/flags for Sparse Virtual Memory. Use small page size/flags for Sparse Virtual Memory Oct 30, 2023
@dmitripivkine

Copy link
Copy Markdown
Contributor Author

https://github.com/eclipse/omr/blob/master/CONTRIBUTING.md#commit-guidelines

The title (first line) shouldn't end with a period: Use small page size/flags for Sparse Virtual Memory

Otherwise, the changes LGTM.

Sorry, fixed. Thank you!

@babsingh

Copy link
Copy Markdown
Contributor

jenkins build all

@babsingh babsingh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only known issues are observed, which are unrelated to this PR:

@babsingh
babsingh merged commit 3739ae8 into eclipse-omr:master Oct 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants