Skip to content

Add support for jdk.tracePinnedThreads system property - #18000

Merged
keithc-ca merged 1 commit into
eclipse-openj9:masterfrom
fengxue-IS:tracePinned2
Sep 13, 2023
Merged

Add support for jdk.tracePinnedThreads system property#18000
keithc-ca merged 1 commit into
eclipse-openj9:masterfrom
fengxue-IS:tracePinned2

Conversation

@fengxue-IS

Copy link
Copy Markdown
Contributor
  • New internal StackWalker flag J9_GET_MONITORS to include monitor entry info into StackFramesImpl structure.
  • New protected getMonitors() API to retrieve monitor entry info.
  • Fix StackWalker class keyword ordering

If the new StackWalker flag is set, the monitor info will be fetched before parsing each stackframe and monitors will be added to the matching StackFrameImpl structure's monitors array based on stack depth. This will be used by PinnedThreadPrinter class to output the stack's acquired monitors' state.

@fengxue-IS

fengxue-IS commented Aug 23, 2023

Copy link
Copy Markdown
Contributor Author

Personal build on aarch64 passed extend.functional[with non-related failures] and sanity.openjdk.
xlinux / plinux personal build in progress

@fengxue-IS fengxue-IS changed the title [WIP] Add support for jdk.tracePinnedThreads system property Add support for jdk.tracePinnedThreads system property Aug 23, 2023
Comment thread jcl/src/java.base/share/classes/java/lang/StackWalker.java Outdated
@fengxue-IS
fengxue-IS marked this pull request as ready for review August 24, 2023 16:12
Comment thread runtime/jcl/common/java_lang_StackWalker.cpp Outdated
Comment thread runtime/jcl/common/java_lang_StackWalker.cpp Outdated
Comment thread jcl/src/java.base/share/classes/java/lang/StackWalker.java Outdated
@fengxue-IS
fengxue-IS force-pushed the tracePinned2 branch 3 times, most recently from 6623ba5 to c5cdf8c Compare August 28, 2023 18:24
Comment thread jcl/src/java.base/share/classes/java/lang/StackWalker.java Outdated
Comment thread jcl/src/java.base/share/classes/java/lang/StackWalker.java Outdated
Comment thread runtime/jcl/common/java_lang_StackWalker.cpp Outdated
- New internal StackWalker flag J9_GET_MONITORS to include monitor entry info
into StackFramesImpl structure.
- New protected getMonitors() API to retrieve monitor entry info.
- Fix StackWalker class keyword ordering

If the new StackWalker flag is set, the monitor info will be fetched before
parsing each stackframe and monitors will be added to the matching
StackFrameImpl structure's monitors array based on stack depth.
This will be used by PinnedThreadPrinter class to output the stack's acquired
monitors' state.

Signed-off-by: Jack Lu <Jack.S.Lu@ibm.com>
@keithc-ca

Copy link
Copy Markdown
Contributor

Jenkins compile amac jdk17

@keithc-ca

Copy link
Copy Markdown
Contributor

Jenkins test extended.functional,sanity.openjdk xlinux jdk21

@keithc-ca

Copy link
Copy Markdown
Contributor

The extended.functional tests failed:

19:08:29  Exception: java.io.IOException: Failed to copy file:/var/lib/jenkins/jobs/test.getDependency/builds/853/archive/jcstress-tests-all-20220908.jar to /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_x86-64_linux_Personal_testList_0/aqa-tests/TKG/lib/jcstress-tests-all-20220908.jar

Re-running in grinders:

@keithc-ca keithc-ca 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.

Both grinders passed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants