RFR: 8298129: Let checkpoint event sizes grow beyond u4 limit
Greetings, This change pre-calculates the event size for checkpoint / constant pool events (event id 1) before serialization to disk and circumvents the need to reserve a limited checkpoint event size up front, to be later filled in, using a padded write of the actual size. It lets us represent small checkpoint events more effectively, but more importantly, it allows for larger checkpoint / constant pool events because the event size pre-reservation no longer restricts them. The parser side will continue to read checkpoint event sizes as varints, but will expose the checkpoint event size as a long instead of an int. Testing: jdk_jfr, stress testing Thanks Markus ------------- Commit messages: - remove min_intx - 8298129 Changes: https://git.openjdk.org/jdk/pull/11584/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=11584&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8298129 Stats: 139 lines in 6 files changed: 84 ins; 17 del; 38 mod Patch: https://git.openjdk.org/jdk/pull/11584.diff Fetch: git fetch https://git.openjdk.org/jdk pull/11584/head:pull/11584 PR: https://git.openjdk.org/jdk/pull/11584
On Thu, 8 Dec 2022 10:55:07 GMT, Markus Grönlund <mgronlun@openjdk.org> wrote:
Greetings,
This change pre-calculates the event size for checkpoint / constant pool events (event id 1) before serialization to disk and circumvents the need to reserve a limited checkpoint event size up front, to be later filled in, using a padded write of the actual size. It lets us represent small checkpoint events more effectively, but more importantly, it allows for larger checkpoint / constant pool events because the event size pre-reservation no longer restricts them. The parser side will continue to read checkpoint event sizes as varints, but will expose the checkpoint event size as a long instead of an int.
Testing: jdk_jfr, stress testing
Thanks Markus
Marked as reviewed by egahlin (Reviewer). ------------- PR: https://git.openjdk.org/jdk/pull/11584
On Thu, 8 Dec 2022 10:55:07 GMT, Markus Grönlund <mgronlun@openjdk.org> wrote:
Greetings,
This change pre-calculates the event size for checkpoint / constant pool events (event id 1) before serialization to disk and circumvents the need to reserve a limited checkpoint event size up front, to be later filled in, using a padded write of the actual size. It lets us represent small checkpoint events more effectively, but more importantly, it allows for larger checkpoint / constant pool events because the event size pre-reservation no longer restricts them. The parser side will continue to read checkpoint event sizes as varints, but will expose the checkpoint event size as a long instead of an int.
Testing: jdk_jfr, stress testing
Thanks Markus
This pull request has now been integrated. Changeset: ea108f50 Author: Markus Grönlund <mgronlun@openjdk.org> URL: https://git.openjdk.org/jdk/commit/ea108f504ccb63fc9651e804e3bbba1c108dcead Stats: 139 lines in 6 files changed: 84 ins; 17 del; 38 mod 8298129: Let checkpoint event sizes grow beyond u4 limit Reviewed-by: egahlin ------------- PR: https://git.openjdk.org/jdk/pull/11584
participants (2)
-
Erik Gahlin
-
Markus Grönlund