-
Notifications
You must be signed in to change notification settings - Fork 728
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
Fix acquireVMaccessIfNeeded for Non-Compiler Threads #19260
Conversation
@mpirvu Could you please review? |
is one legimate place where the app thread does not have VMAccess, but startPCIfAlreadyCompiled tries to acquire VMAccess via TR::VMAccessCriticalSection .
|
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.
The code needs to take into the account the fact that TR_DisableNoVMAccess
is an option that only applies to compilation threads. Looks good otherwise.
Whena a non-comp thread invokes acquireVMaccessIfNeeded, the function silently returns, because it assumes that a non-comp thread should already have had VMAccess. This is particularly problematic when using TR::VMAccessCriticalSection, as it is not at all obvious that the current thread may not actually have VMAccess. Furthermore, there are legitmate circusmtances when a non-comp thread will not have VMAccess and will need to use this API to acquire it. Signed-off-by: Irwin D'Souza <[email protected]>
Signed-off-by: Irwin D'Souza <[email protected]>
Signed-off-by: Irwin D'Souza <[email protected]>
jenkins test sanity all jdk17 |
zlinux failure due to #17474
|
xlinux errors are due to #19114
|
aarch64 tests aborted for no apparent reason:
|
The build failed because |
jenkins test sanity alinux64 jdk17 |
Test failure on aarch64:
|
Not sure if these are hangs, or the machine is just too slow. |
For aarch64 cent8, it seems like these machines became slow. These are the aarch64 jobs |
It's a network problem and I've disabled the problematic machines for now. jenkins test sanity alinux64 jdk17 |
Merging since there are no issues cause this PR. |
When a non-comp thread invokes
acquireVMaccessIfNeeded
, the functionsilently returns, because it assumes that a non-comp thread should
already have had VMAccess. This is particularly problematic when using
TR::VMAccessCriticalSection
, as it is not at all obvious that thecurrent thread may not actually have VMAccess. Furthermore, there are
legitmate circusmtances when a non-comp thread will not have VMAccess
Additionally, this PR includes:
compileMethod
TR::VMAccessCriticalSection
indumpIPBCDataCallGraph
Enables #18982