-
Notifications
You must be signed in to change notification settings - Fork 10
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
Check the assertion failure in SFT map #143
Conversation
The error message contains |
This PR resolves the issues found in mmtk/mmtk-julia#143. ```console [2024-03-19T05:23:33Z INFO mmtk::policy::vmspace] Set [78624DC00000, 786258000000) as VM region (heap available range [20000000000, 220000000000)) thread '<unnamed>' panicked at 'start = 78624DC00000 + bytes = 171966464 should be smaller than space_start 380000000000 + max extent 2199023255552, index 28, table size 31', /home/runner/.cargo/git/checkouts/mmtk-core-89cdc7bf360cce7f/46b0abe/src/policy/sft_map.rs:202:21 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace fatal runtime error: failed to initiate panic, error 5 ``` Basically we should not use `SFTSpaceMap` when we have off-heap memory. Julia tries to set VM space at an address range outside our heap range, and that causes issues when we compute index for `SFTSpaceMap`. Using `SFTDenseChunkMap` will solve the issue. Changes: * Use `SFTDenseChunkMap` if `vm_space` is enabled. * Add a range check for `SFTSpaceMap::has_sft_entry()`. The address/index computation is only correct if the address is in the range. * Add a simple test case for mmtk/mmtk-julia#143.
This is the performance results for this PR. It shows that there are two benchmarks that are significantly slowed down by more than 10% while most benchmarks are observed with a slowdown of a few percents. Though this PR (along with the mmtk-core PR) fixes a correctness bug (using
|
#147 tracks the performance slowdown. I will close this issue. |
No description provided.