-
Notifications
You must be signed in to change notification settings - Fork 106
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
8319876: Reduce memory consumption of VM_ThreadDump::doit #307
Conversation
👋 Welcome back yanglong1010! A progress list of the required criteria for merging this PR into |
This backport pull request has now been updated with issue from the original commit. |
|
/approval 8319876 request I would like to backport this fix to |
@yanglong1010 |
@yanglong1010 This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 124 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. As you do not have Committer status in this project an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@phohensee) but any other Committer may sponsor as well. ➡️ To flag this PR as ready for integration with the above commit message, type |
/integrate |
@yanglong1010 |
/sponsor |
Going to push as commit 342ae64.
Your commit was automatically rebased without conflicts. |
@DamonFool @yanglong1010 Pushed as commit 342ae64. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
Thank you all ! |
Hi, all
Could I have a review of this backport.
This pull request contains a backport of commit 8ec6b8de3bb3d7aeebdcb45d761b18cce3bab75e from the openjdk/jdk repository.
This backport can significantly reduce the
RSS
during the execution ofThreadMXBean.dumpAllThreads(boolean, boolean)
.On
jdk21u-dev
, if creates 4096 threads, and the stack depth of each thread is 256.On the version that does not contain this backport, during the execution of
ThreadMXBean.dumpAllThreads(true, true)
, theRSS
reaches about 5GiB.On the version that contains this backport, the max
RSS
is about 300MiB.There is a difference between
jdk21u-dev
andopenjdk/jdk
.On
openjdk/jdk
,ThreadStackTrace::dump_stack_at_safepoint
will only be executed inVMThread
.But on
jdk21u-dev
,ThreadStackTrace::dump_stack_at_safepoint
will be executed inVMThread
orRuntimeWorker
, so when creatingResourceMark
, can not directedly specifyVMThread
like whatopenjdk/jdk
does, but needs to read current thread.Testing:
I ran
tier1
,tier2
,tier3
,tier4
on my host machine with thejdk21u-dev
including this backport.tier1
,tier2
, andtier3
all passed.Because my host does not have a
display device
, I addedexport JTREG_KEYWORDS="!headful"
before runningtier4
.Finally, some tests in
tier4
that depend on the printing device failed, and the rest were successful.The GHA failed in [linux-cross-compile, build(riscv64), Create sysroot].
I've also seen others fail at this step as well (e.g. link), it looks like there's an issue with the GHA's process.
I would appreciate it if anyone could review this.
Thanks!
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk21u-dev.git pull/307/head:pull/307
$ git checkout pull/307
Update a local copy of the PR:
$ git checkout pull/307
$ git pull https://git.openjdk.org/jdk21u-dev.git pull/307/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 307
View PR using the GUI difftool:
$ git pr show -t 307
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk21u-dev/pull/307.diff
Webrev
Link to Webrev Comment