From jvanek at openjdk.org Tue Jul 2 07:38:57 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Tue, 2 Jul 2024 07:38:57 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v2] In-Reply-To: References: Message-ID: > This is extracting List configs =prepareRunProgram(classes, tests); > with all he HW/switches setup to separated method and reusing it in `-l` mode > > I'm aware of triplicated removal of -agentlib, and will clean it up as > CODETOOLS-7903756 will progress. > > -l now honours also verbose mode, in which it prints not just matching > tests but all really run tests, and thus enabling much more easy > determining of all tests > > help adjusted. > > Maybe I'm missing plain quick initial all tests metod now, but with > artificial -c MAX it seems doing exactly that Ji?? Van?k has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings This is extracting List configs =prepareRunProgram(classes, tests); with all he HW/switches setup to separated method and reusing it in `-l` mode -l now honours also verbose mode, in which it prints not just matching tests but all really run tests, and thus enabling much more easy determining of all tests help adjusted. Maybe I'm missing plain quick initial all tests metod now, but with artificial -c MAX it seems doing exactly that ------------- Changes: - all: https://git.openjdk.org/jcstress/pull/149/files - new: https://git.openjdk.org/jcstress/pull/149/files/a52df414..58455e2d Webrevs: - full: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=01 - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=00-01 Stats: 4 lines in 3 files changed: 0 ins; 2 del; 2 mod Patch: https://git.openjdk.org/jcstress/pull/149.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/149/head:pull/149 PR: https://git.openjdk.org/jcstress/pull/149 From jvanek at openjdk.org Tue Jul 2 07:38:57 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Tue, 2 Jul 2024 07:38:57 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings In-Reply-To: References: Message-ID: On Wed, 19 Jun 2024 12:58:28 GMT, Ji?? Van?k wrote: > This is extracting List configs =prepareRunProgram(classes, tests); > with all he HW/switches setup to separated method and reusing it in `-l` mode > > I'm aware of triplicated removal of -agentlib, and will clean it up as > CODETOOLS-7903756 will progress. > > -l now honours also verbose mode, in which it prints not just matching > tests but all really run tests, and thus enabling much more easy > determining of all tests > > help adjusted. > > Maybe I'm missing plain quick initial all tests metod now, but with > artificial -c MAX it seems doing exactly that Removed the unrelated commit. Ping please? ------------- PR Comment: https://git.openjdk.org/jcstress/pull/149#issuecomment-2202178960 From jvanek at openjdk.org Tue Jul 2 10:42:54 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Tue, 2 Jul 2024 10:42:54 GMT Subject: RFR: CODETOOLS-7903756 - jcstress shuld not pass debugging parameters to subproceses Message-ID: No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" works. ------------- Commit messages: - CODETOOLS-7903756 - jcstress shuld not pass debugging parameters to subproceses Changes: https://git.openjdk.org/jcstress/pull/150/files Webrev: https://webrevs.openjdk.org/?repo=jcstress&pr=150&range=00 Issue: https://bugs.openjdk.org/browse/CODETOOLS-7903756 Stats: 14 lines in 3 files changed: 13 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jcstress/pull/150.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/150/head:pull/150 PR: https://git.openjdk.org/jcstress/pull/150 From duke at openjdk.org Tue Jul 2 17:03:30 2024 From: duke at openjdk.org (PM) Date: Tue, 2 Jul 2024 17:03:30 GMT Subject: RFR: CODETOOLS-7903756 - jcstress shuld not pass debugging parameters to subproceses In-Reply-To: References: Message-ID: On Tue, 2 Jul 2024 10:38:27 GMT, Ji?? Van?k wrote: > No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: > > java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" > > works. Changes requested by matcdac at github.com (no known OpenJDK username). jcstress-core/src/main/java/org/openjdk/jcstress/Options.java line 400: > 398: public static List filterAgentLib(List originalArgs ) { > 399: return originalArgs.stream().filter(s -> !s.startsWith("-agentlib")).collect(Collectors.toList()); > 400: } the name of the method is `filterAgentLib` , but its returning the list of string that don't start with `-agentlib` , correction required here jcstress-core/src/main/java/org/openjdk/jcstress/vm/VMSupport.java line 398: > 396: > 397: private static Config cleanArgs(Config orig) { > 398: List l = Options.filterAgentLib(orig.args); can you directly do the filtering here by writing the logic, instead of defining a static method in the Options class, since every other method in Options class is at instance level and non-static ------------- PR Review: https://git.openjdk.org/jcstress/pull/150#pullrequestreview-2154388676 PR Review Comment: https://git.openjdk.org/jcstress/pull/150#discussion_r1662872100 PR Review Comment: https://git.openjdk.org/jcstress/pull/150#discussion_r1662878734 From duke at openjdk.org Tue Jul 2 17:34:31 2024 From: duke at openjdk.org (PM) Date: Tue, 2 Jul 2024 17:34:31 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v2] In-Reply-To: References: Message-ID: On Tue, 2 Jul 2024 07:38:57 GMT, Ji?? Van?k wrote: >> This is extracting List configs =prepareRunProgram(classes, tests); >> with all he HW/switches setup to separated method and reusing it in `-l` mode >> >> I'm aware of triplicated removal of -agentlib, and will clean it up as >> CODETOOLS-7903756 will progress. >> >> -l now honours also verbose mode, in which it prints not just matching >> tests but all really run tests, and thus enabling much more easy >> determining of all tests >> >> help adjusted. >> >> Maybe I'm missing plain quick initial all tests metod now, but with >> artificial -c MAX it seems doing exactly that > > Ji?? Van?k has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision: > > CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings > > This is extracting List configs =prepareRunProgram(classes, tests); > with all he HW/switches setup to separated method and reusing it in `-l` mode > > -l now honours also verbose mode, in which it prints not just matching > tests but all really run tests, and thus enabling much more easy > determining of all tests > > help adjusted. > > Maybe I'm missing plain quick initial all tests metod now, but with > artificial -c MAX it seems doing exactly that Changes requested by matcdac at github.com (no known OpenJDK username). jcstress-core/src/main/java/org/openjdk/jcstress/Main.java line 74: > 72: for (String test : testsToPrint) { > 73: System.out.println(test); > 74: } maybe move this code to a separate method, for better readability and maintainability jcstress-core/src/main/java/org/openjdk/jcstress/Options.java line 85: > 83: > 84: OptionSpec list = parser.accepts("l", "List the available tests matching the requested settings, " + > 85: "after all filters (like CPU count) are applied. In verbose mode it prints all real combinations which will run.") "List the available tests matching the requested settings, " + "after all filters (like CPU count) are applied. In verbose mode it prints all real combinations which will run." this might have been done for better readability, but remove the string concatenation, define it as a part of single string, possibly at class level by making it static final jcstress-core/src/main/java/org/openjdk/jcstress/infra/runners/TestConfig.java line 39: > 37: import java.io.Serializable; > 38: import java.util.List; > 39: import java.util.stream.Collectors; import is not required jcstress-core/src/main/java/org/openjdk/jcstress/infra/runners/TestConfig.java line 265: > 263: ", strideCount=" + strideCount + > 264: ", cpuMap=" + cpuMap + > 265: ", " + jvmArgs + "}"; kindly modify it to return the json based structure, as followed in rest of the class, equals symbol does not appear in json ------------- PR Review: https://git.openjdk.org/jcstress/pull/149#pullrequestreview-2154420348 PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1662918818 PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1662897106 PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1662892838 PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1662891388 From matcdac at gmail.com Tue Jul 2 17:35:40 2024 From: matcdac at gmail.com (Prakhar Makhija) Date: Tue, 2 Jul 2024 23:05:40 +0530 Subject: jcstress-dev Digest, Vol 71, Issue 1 In-Reply-To: References: Message-ID: Hello Team, Provided review comments for both *openjdk/jcstress PRs : #149 *and* #150* https://github.com/openjdk/jcstress/pull/149 https://github.com/openjdk/jcstress/pull/150 Regards, *Prakhar Makhija* +91 78294 00970 matcdac at gmail.com https://www.linkedin.com/in/prakhar-makhija-17794b107/ On Tue, Jul 2, 2024 at 4:13?PM wrote: > Send jcstress-dev mailing list submissions to > jcstress-dev at openjdk.org > > To subscribe or unsubscribe via the World Wide Web, visit > https://mail.openjdk.org/mailman/listinfo/jcstress-dev > or, via email, send a message with subject or body 'help' to > jcstress-dev-request at openjdk.org > > You can reach the person managing the list at > jcstress-dev-owner at openjdk.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of jcstress-dev digest..." > > > Today's Topics: > > 1. RFR: CODETOOLS-7903748 - jcstress: Test list should honor > concurrency settings (Ji?? Van?k) > 2. Re: RFR: CODETOOLS-7903748 - jcstress: Test list should honor > concurrency settings [v2] (Ji?? Van?k) > 3. Re: RFR: CODETOOLS-7903748 - jcstress: Test list should honor > concurrency settings (Ji?? Van?k) > 4. RFR: CODETOOLS-7903756 - jcstress shuld not pass debugging > parameters to subproceses (Ji?? Van?k) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Wed, 19 Jun 2024 13:03:31 GMT > From: Ji?? Van?k > To: > Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor > concurrency settings > Message-ID: > 53203e9e-f223-4a4c-a406-ee53a14149b6 at github.com> > > Content-Type: text/plain; charset=utf-8 > > This is extracting List configs =prepareRunProgram(classes, > tests); > with all he HW/switches setup to separated method and reusing it in `-l` > mode > > I'm aware of triplicated removal of -agentlib, and will clean it up as > CODETOOLS-7903756 will progress. > > -l now honours also verbose mode, in which it prints not just matching > tests but all really run tests, and thus enabling much more easy > determining of all tests > > help adjusted. > > Maybe I'm missing plain quick initial all tests metod now, but with > artificial -c MAX it seems doing exactly that > > ------------- > > Commit messages: > - CODETOOLS-7903748 - jcstress: Test list should honor concurrency > settings > - CODETOOLS-7903756 - jcstress shuld not pass debugging parameters to > subproceses > > Changes: https://git.openjdk.org/jcstress/pull/149/files > Webrev: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=00 > Issue: https://bugs.openjdk.org/browse/CODETOOLS-7903748 > Stats: 103 lines in 6 files changed: 76 ins; 18 del; 9 mod > Patch: https://git.openjdk.org/jcstress/pull/149.diff > Fetch: git fetch https://git.openjdk.org/jcstress.git > pull/149/head:pull/149 > > PR: https://git.openjdk.org/jcstress/pull/149 > > > ------------------------------ > > Message: 2 > Date: Tue, 2 Jul 2024 07:38:57 GMT > From: Ji?? Van?k > To: > Subject: Re: RFR: CODETOOLS-7903748 - jcstress: Test list should honor > concurrency settings [v2] > Message-ID: > 67df85e6-a732-4ffb-942e-ef3fc41878a1 at github.com> > > Content-Type: text/plain; charset=utf-8 > > > This is extracting List configs =prepareRunProgram(classes, > tests); > > with all he HW/switches setup to separated method and reusing it in `-l` > mode > > > > I'm aware of triplicated removal of -agentlib, and will clean it up as > > CODETOOLS-7903756 will progress. > > > > -l now honours also verbose mode, in which it prints not just matching > > tests but all really run tests, and thus enabling much more easy > > determining of all tests > > > > help adjusted. > > > > Maybe I'm missing plain quick initial all tests metod now, but with > > artificial -c MAX it seems doing exactly that > > Ji?? Van?k has refreshed the contents of this pull request, and previous > commits have been removed. The incremental views will show differences > compared to the previous content of the PR. The pull request contains one > new commit since the last revision: > > CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings > > This is extracting List configs =prepareRunProgram(classes, > tests); > with all he HW/switches setup to separated method and reusing it in `-l` > mode > > -l now honours also verbose mode, in which it prints not just matching > tests but all really run tests, and thus enabling much more easy > determining of all tests > > help adjusted. > > Maybe I'm missing plain quick initial all tests metod now, but with > artificial -c MAX it seems doing exactly that > > ------------- > > Changes: > - all: https://git.openjdk.org/jcstress/pull/149/files > - new: > https://git.openjdk.org/jcstress/pull/149/files/a52df414..58455e2d > > Webrevs: > - full: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=01 > - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=00-01 > > Stats: 4 lines in 3 files changed: 0 ins; 2 del; 2 mod > Patch: https://git.openjdk.org/jcstress/pull/149.diff > Fetch: git fetch https://git.openjdk.org/jcstress.git > pull/149/head:pull/149 > > PR: https://git.openjdk.org/jcstress/pull/149 > > > ------------------------------ > > Message: 3 > Date: Tue, 2 Jul 2024 07:38:57 GMT > From: Ji?? Van?k > To: > Subject: Re: RFR: CODETOOLS-7903748 - jcstress: Test list should honor > concurrency settings > Message-ID: > 87b05cfc-eeb5-4082-96f8-e4b73ccf1da3 at github.com> > > Content-Type: text/plain; charset=utf-8 > > On Wed, 19 Jun 2024 12:58:28 GMT, Ji?? Van?k wrote: > > > This is extracting List configs =prepareRunProgram(classes, > tests); > > with all he HW/switches setup to separated method and reusing it in `-l` > mode > > > > I'm aware of triplicated removal of -agentlib, and will clean it up as > > CODETOOLS-7903756 will progress. > > > > -l now honours also verbose mode, in which it prints not just matching > > tests but all really run tests, and thus enabling much more easy > > determining of all tests > > > > help adjusted. > > > > Maybe I'm missing plain quick initial all tests metod now, but with > > artificial -c MAX it seems doing exactly that > > Removed the unrelated commit. Ping please? > > ------------- > > PR Comment: > https://git.openjdk.org/jcstress/pull/149#issuecomment-2202178960 > > > ------------------------------ > > Message: 4 > Date: Tue, 2 Jul 2024 10:42:54 GMT > From: Ji?? Van?k > To: > Subject: RFR: CODETOOLS-7903756 - jcstress shuld not pass debugging > parameters to subproceses > Message-ID: > 9b65936c-24ac-4cfc-a0d8-0c1ea55d999a at github.com> > > Content-Type: text/plain; charset=utf-8 > > No longer passing any -agentlib to subprocesses, unless it is part of > -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as > expected: > > java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 > -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend > "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" > > works. > > ------------- > > Commit messages: > - CODETOOLS-7903756 - jcstress shuld not pass debugging parameters to > subproceses > > Changes: https://git.openjdk.org/jcstress/pull/150/files > Webrev: https://webrevs.openjdk.org/?repo=jcstress&pr=150&range=00 > Issue: https://bugs.openjdk.org/browse/CODETOOLS-7903756 > Stats: 14 lines in 3 files changed: 13 ins; 0 del; 1 mod > Patch: https://git.openjdk.org/jcstress/pull/150.diff > Fetch: git fetch https://git.openjdk.org/jcstress.git > pull/150/head:pull/150 > > PR: https://git.openjdk.org/jcstress/pull/150 > > > End of jcstress-dev Digest, Vol 71, Issue 1 > ******************************************* > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at openjdk.org Wed Jul 3 08:25:44 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Wed, 3 Jul 2024 08:25:44 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v3] In-Reply-To: References: Message-ID: > This is extracting List configs =prepareRunProgram(classes, tests); > with all he HW/switches setup to separated method and reusing it in `-l` mode > > I'm aware of triplicated removal of -agentlib, and will clean it up as > CODETOOLS-7903756 will progress. > > -l now honours also verbose mode, in which it prints not just matching > tests but all really run tests, and thus enabling much more easy > determining of all tests > > help adjusted. > > Maybe I'm missing plain quick initial all tests metod now, but with > artificial -c MAX it seems doing exactly that Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: Replaced = by : in toDetailedTest method of TestConfig in meantime dropped redundant import ------------- Changes: - all: https://git.openjdk.org/jcstress/pull/149/files - new: https://git.openjdk.org/jcstress/pull/149/files/58455e2d..af53874c Webrevs: - full: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=02 - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=01-02 Stats: 10 lines in 1 file changed: 0 ins; 1 del; 9 mod Patch: https://git.openjdk.org/jcstress/pull/149.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/149/head:pull/149 PR: https://git.openjdk.org/jcstress/pull/149 From jvanek at openjdk.org Wed Jul 3 08:25:45 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Wed, 3 Jul 2024 08:25:45 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v2] In-Reply-To: References: Message-ID: On Tue, 2 Jul 2024 17:10:27 GMT, PM wrote: >> Ji?? Van?k has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision: >> >> CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings >> >> This is extracting List configs =prepareRunProgram(classes, tests); >> with all he HW/switches setup to separated method and reusing it in `-l` mode >> >> -l now honours also verbose mode, in which it prints not just matching >> tests but all really run tests, and thus enabling much more easy >> determining of all tests >> >> help adjusted. >> >> Maybe I'm missing plain quick initial all tests metod now, but with >> artificial -c MAX it seems doing exactly that > > jcstress-core/src/main/java/org/openjdk/jcstress/infra/runners/TestConfig.java line 39: > >> 37: import java.io.Serializable; >> 38: import java.util.List; >> 39: import java.util.stream.Collectors; > > import is not required fixed > jcstress-core/src/main/java/org/openjdk/jcstress/infra/runners/TestConfig.java line 265: > >> 263: ", strideCount=" + strideCount + >> 264: ", cpuMap=" + cpuMap + >> 265: ", " + jvmArgs + "}"; > > kindly modify it to return the json based structure, as followed in rest of the class, equals symbol does not appear in json fixed ------------- PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1663759436 PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1663759712 From jvanek at openjdk.org Wed Jul 3 08:33:44 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Wed, 3 Jul 2024 08:33:44 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v4] In-Reply-To: References: Message-ID: > This is extracting List configs =prepareRunProgram(classes, tests); > with all he HW/switches setup to separated method and reusing it in `-l` mode > > I'm aware of triplicated removal of -agentlib, and will clean it up as > CODETOOLS-7903756 will progress. > > -l now honours also verbose mode, in which it prints not just matching > tests but all really run tests, and thus enabling much more easy > determining of all tests > > help adjusted. > > Maybe I'm missing plain quick initial all tests metod now, but with > artificial -c MAX it seems doing exactly that Ji?? Van?k has updated the pull request incrementally with two additional commits since the last revision: - Moved listing of tests to separate method: listTests - -l description moved to constant ------------- Changes: - all: https://git.openjdk.org/jcstress/pull/149/files - new: https://git.openjdk.org/jcstress/pull/149/files/af53874c..f4ac4222 Webrevs: - full: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=03 - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=02-03 Stats: 41 lines in 2 files changed: 22 ins; 17 del; 2 mod Patch: https://git.openjdk.org/jcstress/pull/149.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/149/head:pull/149 PR: https://git.openjdk.org/jcstress/pull/149 From jvanek at openjdk.org Wed Jul 3 08:33:44 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Wed, 3 Jul 2024 08:33:44 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v3] In-Reply-To: References: Message-ID: On Wed, 3 Jul 2024 08:25:44 GMT, Ji?? Van?k wrote: >> This is extracting List configs =prepareRunProgram(classes, tests); >> with all he HW/switches setup to separated method and reusing it in `-l` mode >> >> I'm aware of triplicated removal of -agentlib, and will clean it up as >> CODETOOLS-7903756 will progress. >> >> -l now honours also verbose mode, in which it prints not just matching >> tests but all really run tests, and thus enabling much more easy >> determining of all tests >> >> help adjusted. >> >> Maybe I'm missing plain quick initial all tests metod now, but with >> artificial -c MAX it seems doing exactly that > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > Replaced = by : in toDetailedTest method of TestConfig > > in meantime dropped redundant import hi! Thanx a lot for review! I did as you bif, although I would prefer to keep LIST_OPTION_DESCRIPTION as it was - on two lines. Whether to use it in parser.accepts method or not, to have it outside is much better, but then it should be done globalluy. NVM:) Thanx again! ------------- PR Comment: https://git.openjdk.org/jcstress/pull/149#issuecomment-2205411898 From jvanek at openjdk.org Wed Jul 3 08:33:45 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Wed, 3 Jul 2024 08:33:45 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v2] In-Reply-To: References: Message-ID: On Tue, 2 Jul 2024 17:32:12 GMT, PM wrote: >> Ji?? Van?k has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision: >> >> CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings >> >> This is extracting List configs =prepareRunProgram(classes, tests); >> with all he HW/switches setup to separated method and reusing it in `-l` mode >> >> -l now honours also verbose mode, in which it prints not just matching >> tests but all really run tests, and thus enabling much more easy >> determining of all tests >> >> help adjusted. >> >> Maybe I'm missing plain quick initial all tests metod now, but with >> artificial -c MAX it seems doing exactly that > > jcstress-core/src/main/java/org/openjdk/jcstress/Main.java line 74: > >> 72: for (String test : testsToPrint) { >> 73: System.out.println(test); >> 74: } > > maybe move this code to a separate method, for better readability and maintainability Sure! Done. > jcstress-core/src/main/java/org/openjdk/jcstress/Options.java line 85: > >> 83: >> 84: OptionSpec list = parser.accepts("l", "List the available tests matching the requested settings, " + >> 85: "after all filters (like CPU count) are applied. In verbose mode it prints all real combinations which will run.") > > "List the available tests matching the requested settings, " + > "after all filters (like CPU count) are applied. In verbose mode it prints all real combinations which will run." > > this might have been done for better readability, but remove the string concatenation, define it as a part of single string, possibly at class level by making it static final fixed ------------- PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1663770684 PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1663766131 From jvanek at openjdk.org Wed Jul 3 08:49:42 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Wed, 3 Jul 2024 08:49:42 GMT Subject: RFR: CODETOOLS-7903756 - jcstress shuld not pass debugging parameters to subproceses [v2] In-Reply-To: References: Message-ID: > No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: > > java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" > > works. Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: Restricted -agentlib:jdwp filtering ------------- Changes: - all: https://git.openjdk.org/jcstress/pull/150/files - new: https://git.openjdk.org/jcstress/pull/150/files/5266af04..41426036 Webrevs: - full: https://webrevs.openjdk.org/?repo=jcstress&pr=150&range=01 - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=150&range=00-01 Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod Patch: https://git.openjdk.org/jcstress/pull/150.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/150/head:pull/150 PR: https://git.openjdk.org/jcstress/pull/150 From jvanek at openjdk.org Wed Jul 3 08:49:42 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Wed, 3 Jul 2024 08:49:42 GMT Subject: RFR: CODETOOLS-7903756 - jcstress shuld not pass debugging parameters to subproceses [v2] In-Reply-To: References: Message-ID: On Tue, 2 Jul 2024 16:54:56 GMT, PM wrote: >> Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: >> >> Restricted -agentlib:jdwp filtering > > jcstress-core/src/main/java/org/openjdk/jcstress/Options.java line 400: > >> 398: public static List filterAgentLib(List originalArgs ) { >> 399: return originalArgs.stream().filter(s -> !s.startsWith("-agentlib")).collect(Collectors.toList()); >> 400: } > > the name of the method is `filterAgentLib` , but its returning the list of string that don't start with `-agentlib` , correction required here Hi! I made it ab it more strict (`-agentlib:jdwp`) and renamed the method. ------------- PR Review Comment: https://git.openjdk.org/jcstress/pull/150#discussion_r1663804795 From jvanek at openjdk.org Wed Jul 3 08:52:32 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Wed, 3 Jul 2024 08:52:32 GMT Subject: RFR: CODETOOLS-7903756 - jcstress shuld not pass debugging parameters to subproceses [v2] In-Reply-To: References: Message-ID: On Tue, 2 Jul 2024 16:59:40 GMT, PM wrote: >> Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: >> >> Restricted -agentlib:jdwp filtering > > jcstress-core/src/main/java/org/openjdk/jcstress/vm/VMSupport.java line 398: > >> 396: >> 397: private static Config cleanArgs(Config orig) { >> 398: List l = Options.filterAgentLib(orig.args); > > can you directly do the filtering here by writing the logic, instead of defining a static method in the Options class, since every other method in Options class is at instance level and non-static Sure. That was leftower. I had moved the method directly ty VMSupport.java and made it private. Unless you insists I would like to keep method in. I will inline it with comment if you say anyway. ------------- PR Review Comment: https://git.openjdk.org/jcstress/pull/150#discussion_r1663810557 From jvanek at openjdk.org Wed Jul 3 08:56:57 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Wed, 3 Jul 2024 08:56:57 GMT Subject: RFR: CODETOOLS-7903756 - jcstress shuld not pass debugging parameters to subproceses [v3] In-Reply-To: References: Message-ID: > No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: > > java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" > > works. Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: Moved removeJdwpAgentLib from Options to VMSupport ------------- Changes: - all: https://git.openjdk.org/jcstress/pull/150/files - new: https://git.openjdk.org/jcstress/pull/150/files/41426036..23291cb3 Webrevs: - full: https://webrevs.openjdk.org/?repo=jcstress&pr=150&range=02 - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=150&range=01-02 Stats: 9 lines in 2 files changed: 4 ins; 4 del; 1 mod Patch: https://git.openjdk.org/jcstress/pull/150.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/150/head:pull/150 PR: https://git.openjdk.org/jcstress/pull/150 From jvanek at openjdk.org Wed Jul 3 08:56:57 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Wed, 3 Jul 2024 08:56:57 GMT Subject: RFR: CODETOOLS-7903756 - jcstress shuld not pass debugging parameters to subproceses [v2] In-Reply-To: References: Message-ID: On Wed, 3 Jul 2024 08:49:42 GMT, Ji?? Van?k wrote: >> No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: >> >> java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" >> >> works. > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > Restricted -agentlib:jdwp filtering Hello! Thanx a lot for review. The https://github.com/openjdk/jcstress/pull/119 can be closed with its corresponding bug of https://bugs.openjdk.org/browse/CODETOOLS-7903266 , if we agree on merging this (#150) . I had noticed the bug and the PR only I drafted my PR. Sorry. ------------- PR Comment: https://git.openjdk.org/jcstress/pull/150#issuecomment-2205457780 From duke at openjdk.org Wed Jul 3 19:33:32 2024 From: duke at openjdk.org (PM) Date: Wed, 3 Jul 2024 19:33:32 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v4] In-Reply-To: References: Message-ID: On Wed, 3 Jul 2024 08:33:44 GMT, Ji?? Van?k wrote: >> This is extracting List configs =prepareRunProgram(classes, tests); >> with all he HW/switches setup to separated method and reusing it in `-l` mode >> >> I'm aware of triplicated removal of -agentlib, and will clean it up as >> CODETOOLS-7903756 will progress. >> >> -l now honours also verbose mode, in which it prints not just matching >> tests but all really run tests, and thus enabling much more easy >> determining of all tests >> >> help adjusted. >> >> Maybe I'm missing plain quick initial all tests metod now, but with >> artificial -c MAX it seems doing exactly that > > Ji?? Van?k has updated the pull request incrementally with two additional commits since the last revision: > > - Moved listing of tests to separate method: listTests > - -l description moved to constant Changes requested by matcdac at github.com (no known OpenJDK username). jcstress-core/src/main/java/org/openjdk/jcstress/Options.java line 50: > 48: public class Options { > 49: > 50: private static final String LIST_OPTION_DESCRIPTION="List the available tests matching the requested settings, after all filters (like CPU count) are applied. In verbose mode it prints all real combinations which will run."; feel free to split this in two lines if you prefer, you are right on the readability aspect, anyways the concatenation would happen just once at the application startup jcstress-core/src/main/java/org/openjdk/jcstress/infra/runners/TestConfig.java line 264: > 262: ", strideCount: " + strideCount + > 263: ", cpuMap: " + cpuMap + > 264: ", " + jvmArgs + "}"; kindly modify this to return a valid json, perhaps try running this method locally once in your machine, and copy paste that json in any online json formatter to check if you encounter any errors ------------- PR Review: https://git.openjdk.org/jcstress/pull/149#pullrequestreview-2157193321 PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1664653397 PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1664644334 From duke at openjdk.org Wed Jul 3 19:41:32 2024 From: duke at openjdk.org (PM) Date: Wed, 3 Jul 2024 19:41:32 GMT Subject: RFR: CODETOOLS-7903756 - jcstress shuld not pass debugging parameters to subproceses [v3] In-Reply-To: References: Message-ID: On Wed, 3 Jul 2024 08:56:57 GMT, Ji?? Van?k wrote: >> No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: >> >> java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" >> >> works. > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > Moved removeJdwpAgentLib from Options to VMSupport other than the imports it looks good to me jcstress-core/src/main/java/org/openjdk/jcstress/Options.java line 43: > 41: import java.util.*; > 42: import java.util.concurrent.TimeUnit; > 43: import java.util.stream.Collectors; this import is not required now jcstress-core/src/main/java/org/openjdk/jcstress/TestExecutor.java line 41: > 39: import java.util.concurrent.*; > 40: import java.util.concurrent.atomic.AtomicInteger; > 41: import java.util.stream.Collectors; same here as well ------------- Changes requested by matcdac at github.com (no known OpenJDK username). PR Review: https://git.openjdk.org/jcstress/pull/150#pullrequestreview-2157226428 PR Review Comment: https://git.openjdk.org/jcstress/pull/150#discussion_r1664663158 PR Review Comment: https://git.openjdk.org/jcstress/pull/150#discussion_r1664663889 From jvanek at openjdk.org Thu Jul 4 05:49:57 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Thu, 4 Jul 2024 05:49:57 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v5] In-Reply-To: References: Message-ID: > This is extracting List configs =prepareRunProgram(classes, tests); > with all he HW/switches setup to separated method and reusing it in `-l` mode > > I'm aware of triplicated removal of -agentlib, and will clean it up as > CODETOOLS-7903756 will progress. > > -l now honours also verbose mode, in which it prints not just matching > tests but all really run tests, and thus enabling much more easy > determining of all tests > > help adjusted. > > Maybe I'm missing plain quick initial all tests metod now, but with > artificial -c MAX it seems doing exactly that Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: LIST_OPTION_DESCRIPTION split to two lines ------------- Changes: - all: https://git.openjdk.org/jcstress/pull/149/files - new: https://git.openjdk.org/jcstress/pull/149/files/f4ac4222..713c5a2d Webrevs: - full: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=04 - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=03-04 Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jcstress/pull/149.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/149/head:pull/149 PR: https://git.openjdk.org/jcstress/pull/149 From jvanek at openjdk.org Thu Jul 4 05:49:57 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Thu, 4 Jul 2024 05:49:57 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v4] In-Reply-To: References: Message-ID: On Wed, 3 Jul 2024 19:30:06 GMT, PM wrote: >> Ji?? Van?k has updated the pull request incrementally with two additional commits since the last revision: >> >> - Moved listing of tests to separate method: listTests >> - -l description moved to constant > > jcstress-core/src/main/java/org/openjdk/jcstress/Options.java line 50: > >> 48: public class Options { >> 49: >> 50: private static final String LIST_OPTION_DESCRIPTION="List the available tests matching the requested settings, after all filters (like CPU count) are applied. In verbose mode it prints all real combinations which will run."; > > feel free to split this in two lines if you prefer, you are right on the readability aspect, anyways the concatenation would happen just once at the application startup thanx! Split. ------------- PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1665155175 From jvanek at openjdk.org Thu Jul 4 06:08:29 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Thu, 4 Jul 2024 06:08:29 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v4] In-Reply-To: References: Message-ID: On Wed, 3 Jul 2024 19:21:08 GMT, PM wrote: >> Ji?? Van?k has updated the pull request incrementally with two additional commits since the last revision: >> >> - Moved listing of tests to separate method: listTests >> - -l description moved to constant > > jcstress-core/src/main/java/org/openjdk/jcstress/infra/runners/TestConfig.java line 264: > >> 262: ", strideCount: " + strideCount + >> 263: ", cpuMap: " + cpuMap + >> 264: ", " + jvmArgs + "}"; > > kindly modify this to return a valid json, perhaps try running this method locally once in your machine, and copy paste that json in any online json formatter to check if you encounter any errors I never had an intention to return valid json. It is used only in verbose output, to differentiate individual variants of tests. Wihtout the test id, it do no have sense, and the extended info in {} is... complicated. See eg: org.openjdk.jcstress.samples.api.API_01_Simple {[actor1, actor2], spinLoopStyle: Thread.onSpinWait(), threads: 2, forkId: 0, maxFootprintMB: 64, compileMode: 0, shClass: (PG 0, CG 0), (PG 0, CG 0), strideSize: 256, strideCount: 40, cpuMap: null, [-XX:+UseBiasedLocking]} org.openjdk.jcstress.samples.api.API_01_Simple {[actor1, actor2], spinLoopStyle: Thread.onSpinWait(), threads: 2, forkId: 0, maxFootprintMB: 64, compileMode: 0, shClass: (PG 0, CG 0), (PG 0, CG 0), strideSize: 256, strideCount: 40, cpuMap: null, [-XX:-UseBiasedLocking]} To highlight it is not json, was the original usage of `=`, but I did not had super strong opinion. As the output should remain mainly human readable, I'm quite against full json (thus bracket before name, and id before actorNames and jvmArgs). But on contrary, the list is indeed huge. The main motivation is the line of ""All matching tests combinations - " + testsToPrint.size()" thus real number of run tests. The listing itself is (very) useful candy on top: java -jar tests-all/target/jcstress.jar -v -l -t org.openjdk.jcstress.samples.api.API_01_Simple ... All matching tests combinations - 96 ... x java -jar tests-all/target/jcstress.jar -l -t org.openjdk.jcstress.samples.api.API_01_Simple ... All matching tests - 1 ... So back to verbose listig output format - I intentionally kept it semi parseabel - grep/sed on output, and readable enough: name info in {} , all firelds with key id, and obvious arrays in [] without key. AFAICJ, the full json will lower the human readabiity. What about this - with "-v" it would print it as it is - human readable, fully distinguishible. on "-vv or -vvv" it would print complete fully qulified json. WDYT? ------------- PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1665173411 From jvanek at openjdk.org Thu Jul 4 06:25:05 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Thu, 4 Jul 2024 06:25:05 GMT Subject: RFR: CODETOOLS-7903756 - jcstress shuld not pass debugging parameters to subproceses [v4] In-Reply-To: References: Message-ID: > No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: > > java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" > > works. Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: Removed unused imports ------------- Changes: - all: https://git.openjdk.org/jcstress/pull/150/files - new: https://git.openjdk.org/jcstress/pull/150/files/23291cb3..6ffc620b Webrevs: - full: https://webrevs.openjdk.org/?repo=jcstress&pr=150&range=03 - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=150&range=02-03 Stats: 3 lines in 2 files changed: 0 ins; 3 del; 0 mod Patch: https://git.openjdk.org/jcstress/pull/150.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/150/head:pull/150 PR: https://git.openjdk.org/jcstress/pull/150 From jvanek at openjdk.org Thu Jul 4 06:25:05 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Thu, 4 Jul 2024 06:25:05 GMT Subject: RFR: CODETOOLS-7903756 - jcstress shuld not pass debugging parameters to subproceses [v3] In-Reply-To: References: Message-ID: On Wed, 3 Jul 2024 19:38:32 GMT, PM wrote: >> Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: >> >> Moved removeJdwpAgentLib from Options to VMSupport > > jcstress-core/src/main/java/org/openjdk/jcstress/TestExecutor.java line 41: > >> 39: import java.util.concurrent.*; >> 40: import java.util.concurrent.atomic.AtomicInteger; >> 41: import java.util.stream.Collectors; > > same here as well sorry for that. both gone now. ------------- PR Review Comment: https://git.openjdk.org/jcstress/pull/150#discussion_r1665187531 From duke at openjdk.org Thu Jul 4 07:58:30 2024 From: duke at openjdk.org (PM) Date: Thu, 4 Jul 2024 07:58:30 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v4] In-Reply-To: References: Message-ID: On Thu, 4 Jul 2024 06:05:51 GMT, Ji?? Van?k wrote: >> jcstress-core/src/main/java/org/openjdk/jcstress/infra/runners/TestConfig.java line 264: >> >>> 262: ", strideCount: " + strideCount + >>> 263: ", cpuMap: " + cpuMap + >>> 264: ", " + jvmArgs + "}"; >> >> kindly modify this to return a valid json, perhaps try running this method locally once in your machine, and copy paste that json in any online json formatter to check if you encounter any errors > > I never had an intention to return valid json. It is used only in verbose output, to differentiate individual variants of tests. Wihtout the test id, it do no have sense, and the extended info in {} is... complicated. See eg: > > org.openjdk.jcstress.samples.api.API_01_Simple {[actor1, actor2], spinLoopStyle: Thread.onSpinWait(), threads: 2, forkId: 0, maxFootprintMB: 64, compileMode: 0, shClass: (PG 0, CG 0), (PG 0, CG 0), strideSize: 256, strideCount: 40, cpuMap: null, [-XX:+UseBiasedLocking]} > org.openjdk.jcstress.samples.api.API_01_Simple {[actor1, actor2], spinLoopStyle: Thread.onSpinWait(), threads: 2, forkId: 0, maxFootprintMB: 64, compileMode: 0, shClass: (PG 0, CG 0), (PG 0, CG 0), strideSize: 256, strideCount: 40, cpuMap: null, [-XX:-UseBiasedLocking]} > > > > To highlight it is not json, was the original usage of `=`, but I did not had super strong opinion. > As the output should remain mainly human readable, I'm quite against full json (thus bracket before name, and id before actorNames and jvmArgs). But on contrary, the list is indeed huge. > > All matching tests combinations - 3030696 > x > All matching tests - 4483 > > with most of the combinations. > > The main motivation is the line of ""All matching tests combinations - " + testsToPrint.size()" thus real number of run tests. The listing itself is (very) useful candy on top: > > java -jar tests-all/target/jcstress.jar -v -l -t org.openjdk.jcstress.samples.api.API_01_Simple > ... > All matching tests combinations - 96 > ... > > x > > java -jar tests-all/target/jcstress.jar -l -t org.openjdk.jcstress.samples.api.API_01_Simple > ... > All matching tests - 1 > ... > > > > So back to verbose listing output format - I intentionally kept it semi parse-able - grep/sed on output, and readable enough: name info in {} , all fields with key id, and obvious arrays in [] without key. > **AFAICJ, the full json will lower the human readability.** > > What about this - with "-v" it would print it as it is - human readable, fully distinguishible. on "-vv or -vvv" it would print complete fully qulified json. WDYT? ok sure, gotcha, the human readable output with `-v` option what you are printing right now should be fine, just one small change I would request, instead of doing string concatenation with the `+` operator, can we use append operation with String Builder or String Buffer whichever is more appropriate here ------------- PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1665294060 From matcdac at gmail.com Thu Jul 4 08:03:57 2024 From: matcdac at gmail.com (Prakhar Makhija) Date: Thu, 4 Jul 2024 13:33:57 +0530 Subject: jcstress-dev Digest, Vol 71, Issue 6 In-Reply-To: References: Message-ID: Hello Team, Provided Review Comments for both *openjdk/jcstress PRs : #119 *and* #149* https://github.com/openjdk/jcstress/pull/119 https://github.com/openjdk/jcstress/pull/149 Approved *openjdk/jcstress PR : #150* https://github.com/openjdk/jcstress/pull/150 Regards, *Prakhar Makhija* +91 78294 00970 matcdac at gmail.com https://www.linkedin.com/in/prakhar-makhija-17794b107/ On Thu, Jul 4, 2024 at 11:55?AM wrote: > Send jcstress-dev mailing list submissions to > jcstress-dev at openjdk.org > > To subscribe or unsubscribe via the World Wide Web, visit > https://mail.openjdk.org/mailman/listinfo/jcstress-dev > or, via email, send a message with subject or body 'help' to > jcstress-dev-request at openjdk.org > > You can reach the person managing the list at > jcstress-dev-owner at openjdk.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of jcstress-dev digest..." > > > Today's Topics: > > 1. Re: RFR: CODETOOLS-7903748 - jcstress: Test list should honor > concurrency settings [v5] (Ji?? Van?k) > 2. Re: RFR: CODETOOLS-7903748 - jcstress: Test list should honor > concurrency settings [v4] (Ji?? Van?k) > 3. Re: RFR: CODETOOLS-7903748 - jcstress: Test list should honor > concurrency settings [v4] (Ji?? Van?k) > 4. Re: RFR: CODETOOLS-7903756 - jcstress shuld not pass > debugging parameters to subproceses [v4] (Ji?? Van?k) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Thu, 4 Jul 2024 05:49:57 GMT > From: Ji?? Van?k > To: > Subject: Re: RFR: CODETOOLS-7903748 - jcstress: Test list should honor > concurrency settings [v5] > Message-ID: > d6e1c38f-2687-4e1e-af67-500bc6271cb0 at github.com> > > Content-Type: text/plain; charset=utf-8 > > > This is extracting List configs =prepareRunProgram(classes, > tests); > > with all he HW/switches setup to separated method and reusing it in `-l` > mode > > > > I'm aware of triplicated removal of -agentlib, and will clean it up as > > CODETOOLS-7903756 will progress. > > > > -l now honours also verbose mode, in which it prints not just matching > > tests but all really run tests, and thus enabling much more easy > > determining of all tests > > > > help adjusted. > > > > Maybe I'm missing plain quick initial all tests metod now, but with > > artificial -c MAX it seems doing exactly that > > Ji?? Van?k has updated the pull request incrementally with one additional > commit since the last revision: > > LIST_OPTION_DESCRIPTION split to two lines > > ------------- > > Changes: > - all: https://git.openjdk.org/jcstress/pull/149/files > - new: > https://git.openjdk.org/jcstress/pull/149/files/f4ac4222..713c5a2d > > Webrevs: > - full: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=04 > - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=03-04 > > Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod > Patch: https://git.openjdk.org/jcstress/pull/149.diff > Fetch: git fetch https://git.openjdk.org/jcstress.git > pull/149/head:pull/149 > > PR: https://git.openjdk.org/jcstress/pull/149 > > > ------------------------------ > > Message: 2 > Date: Thu, 4 Jul 2024 05:49:57 GMT > From: Ji?? Van?k > To: > Subject: Re: RFR: CODETOOLS-7903748 - jcstress: Test list should honor > concurrency settings [v4] > Message-ID: > d49b7c4e-e620-4c6e-a72b-d31763be8260 at github.com> > > Content-Type: text/plain; charset=utf-8 > > On Wed, 3 Jul 2024 19:30:06 GMT, PM wrote: > > >> Ji?? Van?k has updated the pull request incrementally with two > additional commits since the last revision: > >> > >> - Moved listing of tests to separate method: listTests > >> - -l description moved to constant > > > > jcstress-core/src/main/java/org/openjdk/jcstress/Options.java line 50: > > > >> 48: public class Options { > >> 49: > >> 50: private static final String LIST_OPTION_DESCRIPTION="List the > available tests matching the requested settings, after all filters (like > CPU count) are applied. In verbose mode it prints all real combinations > which will run."; > > > > feel free to split this in two lines if you prefer, you are right on the > readability aspect, anyways the concatenation would happen just once at the > application startup > > thanx! Split. > > ------------- > > PR Review Comment: > https://git.openjdk.org/jcstress/pull/149#discussion_r1665155175 > > > ------------------------------ > > Message: 3 > Date: Thu, 4 Jul 2024 06:08:29 GMT > From: Ji?? Van?k > To: > Subject: Re: RFR: CODETOOLS-7903748 - jcstress: Test list should honor > concurrency settings [v4] > Message-ID: > 2aa97ef4-5dcb-4d02-b7c6-55782fdc7cac at github.com> > > Content-Type: text/plain; charset=utf-8 > > On Wed, 3 Jul 2024 19:21:08 GMT, PM wrote: > > >> Ji?? Van?k has updated the pull request incrementally with two > additional commits since the last revision: > >> > >> - Moved listing of tests to separate method: listTests > >> - -l description moved to constant > > > > > jcstress-core/src/main/java/org/openjdk/jcstress/infra/runners/TestConfig.java > line 264: > > > >> 262: ", strideCount: " + strideCount + > >> 263: ", cpuMap: " + cpuMap + > >> 264: ", " + jvmArgs + "}"; > > > > kindly modify this to return a valid json, perhaps try running this > method locally once in your machine, and copy paste that json in any online > json formatter to check if you encounter any errors > > I never had an intention to return valid json. It is used only in verbose > output, to differentiate individual variants of tests. Wihtout the test > id, it do no have sense, and the extended info in {} is... complicated. See > eg: > > org.openjdk.jcstress.samples.api.API_01_Simple {[actor1, actor2], > spinLoopStyle: Thread.onSpinWait(), threads: 2, forkId: 0, maxFootprintMB: > 64, compileMode: 0, shClass: (PG 0, CG 0), (PG 0, CG 0), strideSize: 256, > strideCount: 40, cpuMap: null, [-XX:+UseBiasedLocking]} > org.openjdk.jcstress.samples.api.API_01_Simple {[actor1, actor2], > spinLoopStyle: Thread.onSpinWait(), threads: 2, forkId: 0, maxFootprintMB: > 64, compileMode: 0, shClass: (PG 0, CG 0), (PG 0, CG 0), strideSize: 256, > strideCount: 40, cpuMap: null, [-XX:-UseBiasedLocking]} > > > > To highlight it is not json, was the original usage of `=`, but I did not > had super strong opinion. > As the output should remain mainly human readable, I'm quite against full > json (thus bracket before name, and id before actorNames and jvmArgs). But > on contrary, the list is indeed huge. > > The main motivation is the line of ""All matching tests combinations - " + > testsToPrint.size()" thus real number of run tests. The listing itself is > (very) useful candy on top: > > java -jar tests-all/target/jcstress.jar -v -l -t > org.openjdk.jcstress.samples.api.API_01_Simple > ... > All matching tests combinations - 96 > ... > > x > > java -jar tests-all/target/jcstress.jar -l -t > org.openjdk.jcstress.samples.api.API_01_Simple > ... > All matching tests - 1 > ... > > > > So back to verbose listig output format - I intentionally kept it semi > parseabel - grep/sed on output, and readable enough: name info in {} , > all firelds with key id, and obvious arrays in [] without key. > AFAICJ, the full json will lower the human readabiity. > What about this - with "-v" it would print it as it is - human readable, > fully distinguishible. on "-vv or -vvv" it would print complete fully > qulified json. WDYT? > > ------------- > > PR Review Comment: > https://git.openjdk.org/jcstress/pull/149#discussion_r1665173411 > > > ------------------------------ > > Message: 4 > Date: Thu, 4 Jul 2024 06:25:05 GMT > From: Ji?? Van?k > To: > Subject: Re: RFR: CODETOOLS-7903756 - jcstress shuld not pass > debugging parameters to subproceses [v4] > Message-ID: > 73657180-4fd6-4683-8b0e-ed10d5028d3e at github.com> > > Content-Type: text/plain; charset=utf-8 > > > No longer passing any -agentlib to subprocesses, unless it is part of > -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as > expected: > > > > java > -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar > tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend > "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" > > > > works. > > Ji?? Van?k has updated the pull request incrementally with one additional > commit since the last revision: > > Removed unused imports > > ------------- > > Changes: > - all: https://git.openjdk.org/jcstress/pull/150/files > - new: > https://git.openjdk.org/jcstress/pull/150/files/23291cb3..6ffc620b > > Webrevs: > - full: https://webrevs.openjdk.org/?repo=jcstress&pr=150&range=03 > - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=150&range=02-03 > > Stats: 3 lines in 2 files changed: 0 ins; 3 del; 0 mod > Patch: https://git.openjdk.org/jcstress/pull/150.diff > Fetch: git fetch https://git.openjdk.org/jcstress.git > pull/150/head:pull/150 > > PR: https://git.openjdk.org/jcstress/pull/150 > > > End of jcstress-dev Digest, Vol 71, Issue 6 > ******************************************* > -------------- next part -------------- An HTML attachment was scrubbed... URL: From duke at openjdk.org Thu Jul 4 08:04:38 2024 From: duke at openjdk.org (PM) Date: Thu, 4 Jul 2024 08:04:38 GMT Subject: RFR: CODETOOLS-7903756 - jcstress shuld not pass debugging parameters to subproceses [v4] In-Reply-To: References: Message-ID: <_7lwZ8HeK3Nzl8W8RzRWRB2hxib4tWP67nobrFmxKIw=.29566c3e-a475-465a-bd6c-3680ba8c0db0@github.com> On Thu, 4 Jul 2024 06:25:05 GMT, Ji?? Van?k wrote: >> No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: >> >> java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" >> >> works. > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > Removed unused imports looks good to me, ready to merge ------------- Marked as reviewed by matcdac at github.com (no known OpenJDK username). PR Review: https://git.openjdk.org/jcstress/pull/150#pullrequestreview-2158252745 From jvanek at openjdk.org Thu Jul 4 08:11:44 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Thu, 4 Jul 2024 08:11:44 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v6] In-Reply-To: References: Message-ID: > This is extracting List configs =prepareRunProgram(classes, tests); > with all he HW/switches setup to separated method and reusing it in `-l` mode > > I'm aware of triplicated removal of -agentlib, and will clean it up as > CODETOOLS-7903756 will progress. > > -l now honours also verbose mode, in which it prints not just matching > tests but all really run tests, and thus enabling much more easy > determining of all tests > > help adjusted. > > Maybe I'm missing plain quick initial all tests metod now, but with > artificial -c MAX it seems doing exactly that Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: replaced long string concatenation with StringBuilder ------------- Changes: - all: https://git.openjdk.org/jcstress/pull/149/files - new: https://git.openjdk.org/jcstress/pull/149/files/713c5a2d..4ee850d8 Webrevs: - full: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=05 - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=04-05 Stats: 15 lines in 1 file changed: 3 ins; 0 del; 12 mod Patch: https://git.openjdk.org/jcstress/pull/149.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/149/head:pull/149 PR: https://git.openjdk.org/jcstress/pull/149 From jvanek at openjdk.org Thu Jul 4 08:11:44 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Thu, 4 Jul 2024 08:11:44 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v5] In-Reply-To: References: Message-ID: On Thu, 4 Jul 2024 05:49:57 GMT, Ji?? Van?k wrote: >> This is extracting List configs =prepareRunProgram(classes, tests); >> with all he HW/switches setup to separated method and reusing it in `-l` mode >> >> I'm aware of triplicated removal of -agentlib, and will clean it up as >> CODETOOLS-7903756 will progress. >> >> -l now honours also verbose mode, in which it prints not just matching >> tests but all really run tests, and thus enabling much more easy >> determining of all tests >> >> help adjusted. >> >> Maybe I'm missing plain quick initial all tests metod now, but with >> artificial -c MAX it seems doing exactly that > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > LIST_OPTION_DESCRIPTION split to two lines Sorry for forced, push, that was typo in commit message ------------- PR Comment: https://git.openjdk.org/jcstress/pull/149#issuecomment-2208365304 From jvanek at openjdk.org Thu Jul 4 08:11:44 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Thu, 4 Jul 2024 08:11:44 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v4] In-Reply-To: References: Message-ID: On Thu, 4 Jul 2024 07:55:45 GMT, PM wrote: >> I never had an intention to return valid json. It is used only in verbose output, to differentiate individual variants of tests. Wihtout the test id, it do no have sense, and the extended info in {} is... complicated. See eg: >> >> org.openjdk.jcstress.samples.api.API_01_Simple {[actor1, actor2], spinLoopStyle: Thread.onSpinWait(), threads: 2, forkId: 0, maxFootprintMB: 64, compileMode: 0, shClass: (PG 0, CG 0), (PG 0, CG 0), strideSize: 256, strideCount: 40, cpuMap: null, [-XX:+UseBiasedLocking]} >> org.openjdk.jcstress.samples.api.API_01_Simple {[actor1, actor2], spinLoopStyle: Thread.onSpinWait(), threads: 2, forkId: 0, maxFootprintMB: 64, compileMode: 0, shClass: (PG 0, CG 0), (PG 0, CG 0), strideSize: 256, strideCount: 40, cpuMap: null, [-XX:-UseBiasedLocking]} >> >> >> >> To highlight it is not json, was the original usage of `=`, but I did not had super strong opinion. >> As the output should remain mainly human readable, I'm quite against full json (thus bracket before name, and id before actorNames and jvmArgs). But on contrary, the list is indeed huge. >> >> All matching tests combinations - 3030696 >> x >> All matching tests - 4483 >> >> with most of the combinations. >> >> The main motivation is the line of ""All matching tests combinations - " + testsToPrint.size()" thus real number of run tests. The listing itself is (very) useful candy on top: >> >> java -jar tests-all/target/jcstress.jar -v -l -t org.openjdk.jcstress.samples.api.API_01_Simple >> ... >> All matching tests combinations - 96 >> ... >> >> x >> >> java -jar tests-all/target/jcstress.jar -l -t org.openjdk.jcstress.samples.api.API_01_Simple >> ... >> All matching tests - 1 >> ... >> >> >> >> So back to verbose listing output format - I intentionally kept it semi parse-able - grep/sed on output, and readable enough: name info in {} , all fields with key id, and obvious arrays in [] without key. >> **AFAICJ, the full json will lower the human readability.** >> >> What about this - with "-v" it would print it as it is - human readable, fully distinguishible. on "-vv or -vvv" it would print complete fully qulified json. WDYT? > > ok sure, gotcha, the human readable output with `-v` option what you are printing right now should be fine, just one small change I would request, instead of doing string concatenation with the `+` operator, can we use append operation with String Builder or String Buffer whichever is more appropriate here Thanx, done! Maybe.. can I return back the "=" instead of ": " ? ------------- PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1665308861 From duke at openjdk.org Thu Jul 4 08:21:35 2024 From: duke at openjdk.org (PM) Date: Thu, 4 Jul 2024 08:21:35 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v6] In-Reply-To: References: Message-ID: <4kMsXhzpZXCLwKkZVwzKVCVbCThhQFZ6rcouV7tBQFw=.4a52179a-157b-4d1a-80f6-cf261de4232f@github.com> On Thu, 4 Jul 2024 08:11:44 GMT, Ji?? Van?k wrote: >> This is extracting List configs =prepareRunProgram(classes, tests); >> with all he HW/switches setup to separated method and reusing it in `-l` mode >> >> I'm aware of triplicated removal of -agentlib, and will clean it up as >> CODETOOLS-7903756 will progress. >> >> -l now honours also verbose mode, in which it prints not just matching >> tests but all really run tests, and thus enabling much more easy >> determining of all tests >> >> help adjusted. >> >> Maybe I'm missing plain quick initial all tests metod now, but with >> artificial -c MAX it seems doing exactly that > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > replaced long string concatenation with StringBuilder looks good to me, ready to be merged ------------- Marked as reviewed by matcdac at github.com (no known OpenJDK username). PR Review: https://git.openjdk.org/jcstress/pull/149#pullrequestreview-2158290785 From duke at openjdk.org Thu Jul 4 08:21:36 2024 From: duke at openjdk.org (PM) Date: Thu, 4 Jul 2024 08:21:36 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v4] In-Reply-To: References: Message-ID: On Thu, 4 Jul 2024 08:07:24 GMT, Ji?? Van?k wrote: >> ok sure, gotcha, the human readable output with `-v` option what you are printing right now should be fine, just one small change I would request, instead of doing string concatenation with the `+` operator, can we use append operation with String Builder or String Buffer whichever is more appropriate here > > Thanx, done! > Maybe.. can I return back the "=" instead of ": " ? I'd suggest to probably let it be, because the name is there at the start following the convention of other tests in the `else` clause where just the name is printed. Here in the `if` clause we have the additional content wrapped in `{ }` , although its partial json, it can still be modified to complete json with less changes in future if required ------------- PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1665321229 From jvanek at openjdk.org Thu Jul 4 08:21:36 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Thu, 4 Jul 2024 08:21:36 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v4] In-Reply-To: References: Message-ID: On Thu, 4 Jul 2024 08:16:02 GMT, PM wrote: >> Thanx, done! >> Maybe.. can I return back the "=" instead of ": " ? > > I'd suggest to probably let it be, because the name is there at the start following the convention of other tests in the `else` clause where just the name is printed. Here in the `if` clause we have the additional content wrapped in `{ }` , although its partial json, it can still be modified to complete json with less changes in future if required Yah, I thought the same:) Ok by me. TYVM! ------------- PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1665323352 From matcdac at gmail.com Thu Jul 4 08:37:22 2024 From: matcdac at gmail.com (Prakhar Makhija) Date: Thu, 4 Jul 2024 14:07:22 +0530 Subject: jcstress-dev Digest, Vol 71, Issue 8 In-Reply-To: References: Message-ID: Hello Team, Approved *openjdk/jcstress PR : #149* https://github.com/openjdk/jcstress/pull/149 Both *openjdk/jcstress PR : **#149* and *#150* are *Ready for Integration* https://github.com/openjdk/jcstress/pull/149 https://github.com/openjdk/jcstress/pull/150 Whoever has access kindly update the labels by removing `rfr` and adding `ready` ; and can proceed further for the process of merge Regards, *Prakhar Makhija* +91 78294 00970 matcdac at gmail.com https://www.linkedin.com/in/prakhar-makhija-17794b107/ On Thu, Jul 4, 2024 at 1:42?PM wrote: > Send jcstress-dev mailing list submissions to > jcstress-dev at openjdk.org > > To subscribe or unsubscribe via the World Wide Web, visit > https://mail.openjdk.org/mailman/listinfo/jcstress-dev > or, via email, send a message with subject or body 'help' to > jcstress-dev-request at openjdk.org > > You can reach the person managing the list at > jcstress-dev-owner at openjdk.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of jcstress-dev digest..." > > > Today's Topics: > > 1. Re: RFR: CODETOOLS-7903756 - jcstress shuld not pass > debugging parameters to subproceses [v4] (PM) > 2. Re: RFR: CODETOOLS-7903748 - jcstress: Test list should honor > concurrency settings [v6] (Ji?? Van?k) > 3. Re: RFR: CODETOOLS-7903748 - jcstress: Test list should honor > concurrency settings [v5] (Ji?? Van?k) > 4. Re: RFR: CODETOOLS-7903748 - jcstress: Test list should honor > concurrency settings [v4] (Ji?? Van?k) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Thu, 4 Jul 2024 08:04:38 GMT > From: PM > To: > Subject: Re: RFR: CODETOOLS-7903756 - jcstress shuld not pass > debugging parameters to subproceses [v4] > Message-ID: > <_7lwZ8HeK3Nzl8W8RzRWRB2hxib4tWP67nobrFmxKIw=. > 29566c3e-a475-465a-bd6c-3680ba8c0db0 at github.com> > > Content-Type: text/plain; charset=utf-8 > > On Thu, 4 Jul 2024 06:25:05 GMT, Ji?? Van?k wrote: > > >> No longer passing any -agentlib to subprocesses, unless it is part of > -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as > expected: > >> > >> java > -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar > tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend > "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" > >> > >> works. > > > > Ji?? Van?k has updated the pull request incrementally with one > additional commit since the last revision: > > > > Removed unused imports > > looks good to me, ready to merge > > ------------- > > Marked as reviewed by matcdac at github.com (no known OpenJDK username). > > PR Review: > https://git.openjdk.org/jcstress/pull/150#pullrequestreview-2158252745 > > > ------------------------------ > > Message: 2 > Date: Thu, 4 Jul 2024 08:11:44 GMT > From: Ji?? Van?k > To: > Subject: Re: RFR: CODETOOLS-7903748 - jcstress: Test list should honor > concurrency settings [v6] > Message-ID: > e81a5b67-57f2-4127-8fc0-c61e1b664984 at github.com> > > Content-Type: text/plain; charset=utf-8 > > > This is extracting List configs =prepareRunProgram(classes, > tests); > > with all he HW/switches setup to separated method and reusing it in `-l` > mode > > > > I'm aware of triplicated removal of -agentlib, and will clean it up as > > CODETOOLS-7903756 will progress. > > > > -l now honours also verbose mode, in which it prints not just matching > > tests but all really run tests, and thus enabling much more easy > > determining of all tests > > > > help adjusted. > > > > Maybe I'm missing plain quick initial all tests metod now, but with > > artificial -c MAX it seems doing exactly that > > Ji?? Van?k has updated the pull request incrementally with one additional > commit since the last revision: > > replaced long string concatenation with StringBuilder > > ------------- > > Changes: > - all: https://git.openjdk.org/jcstress/pull/149/files > - new: > https://git.openjdk.org/jcstress/pull/149/files/713c5a2d..4ee850d8 > > Webrevs: > - full: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=05 > - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=04-05 > > Stats: 15 lines in 1 file changed: 3 ins; 0 del; 12 mod > Patch: https://git.openjdk.org/jcstress/pull/149.diff > Fetch: git fetch https://git.openjdk.org/jcstress.git > pull/149/head:pull/149 > > PR: https://git.openjdk.org/jcstress/pull/149 > > > ------------------------------ > > Message: 3 > Date: Thu, 4 Jul 2024 08:11:44 GMT > From: Ji?? Van?k > To: > Subject: Re: RFR: CODETOOLS-7903748 - jcstress: Test list should honor > concurrency settings [v5] > Message-ID: > 057a5990-538c-4bab-9331-1680b65c283b at github.com> > > Content-Type: text/plain; charset=utf-8 > > On Thu, 4 Jul 2024 05:49:57 GMT, Ji?? Van?k wrote: > > >> This is extracting List configs > =prepareRunProgram(classes, tests); > >> with all he HW/switches setup to separated method and reusing it in > `-l` mode > >> > >> I'm aware of triplicated removal of -agentlib, and will clean it up as > >> CODETOOLS-7903756 will progress. > >> > >> -l now honours also verbose mode, in which it prints not just matching > >> tests but all really run tests, and thus enabling much more easy > >> determining of all tests > >> > >> help adjusted. > >> > >> Maybe I'm missing plain quick initial all tests metod now, but with > >> artificial -c MAX it seems doing exactly that > > > > Ji?? Van?k has updated the pull request incrementally with one > additional commit since the last revision: > > > > LIST_OPTION_DESCRIPTION split to two lines > > Sorry for forced, push, that was typo in commit message > > ------------- > > PR Comment: > https://git.openjdk.org/jcstress/pull/149#issuecomment-2208365304 > > > ------------------------------ > > Message: 4 > Date: Thu, 4 Jul 2024 08:11:44 GMT > From: Ji?? Van?k > To: > Subject: Re: RFR: CODETOOLS-7903748 - jcstress: Test list should honor > concurrency settings [v4] > Message-ID: > ebd770fa-da01-4e6c-90af-e81902be185f at github.com> > > Content-Type: text/plain; charset=utf-8 > > On Thu, 4 Jul 2024 07:55:45 GMT, PM wrote: > > >> I never had an intention to return valid json. It is used only in > verbose output, to differentiate individual variants of tests. Wihtout the > test id, it do no have sense, and the extended info in {} is... > complicated. See eg: > >> > >> org.openjdk.jcstress.samples.api.API_01_Simple {[actor1, actor2], > spinLoopStyle: Thread.onSpinWait(), threads: 2, forkId: 0, maxFootprintMB: > 64, compileMode: 0, shClass: (PG 0, CG 0), (PG 0, CG 0), strideSize: 256, > strideCount: 40, cpuMap: null, [-XX:+UseBiasedLocking]} > >> org.openjdk.jcstress.samples.api.API_01_Simple {[actor1, actor2], > spinLoopStyle: Thread.onSpinWait(), threads: 2, forkId: 0, maxFootprintMB: > 64, compileMode: 0, shClass: (PG 0, CG 0), (PG 0, CG 0), strideSize: 256, > strideCount: 40, cpuMap: null, [-XX:-UseBiasedLocking]} > >> > >> > >> > >> To highlight it is not json, was the original usage of `=`, but I did > not had super strong opinion. > >> As the output should remain mainly human readable, I'm quite against > full json (thus bracket before name, and id before actorNames and > jvmArgs). But on contrary, the list is indeed huge. > >> > >> All matching tests combinations - 3030696 > >> x > >> All matching tests - 4483 > >> > >> with most of the combinations. > >> > >> The main motivation is the line of ""All matching tests combinations - > " + testsToPrint.size()" thus real number of run tests. The listing itself > is (very) useful candy on top: > >> > >> java -jar tests-all/target/jcstress.jar -v -l -t > org.openjdk.jcstress.samples.api.API_01_Simple > >> ... > >> All matching tests combinations - 96 > >> ... > >> > >> x > >> > >> java -jar tests-all/target/jcstress.jar -l -t > org.openjdk.jcstress.samples.api.API_01_Simple > >> ... > >> All matching tests - 1 > >> ... > >> > >> > >> > >> So back to verbose listing output format - I intentionally kept it semi > parse-able - grep/sed on output, and readable enough: name info in {} , > all fields with key id, and obvious arrays in [] without key. > >> **AFAICJ, the full json will lower the human readability.** > >> > >> What about this - with "-v" it would print it as it is - human > readable, fully distinguishible. on "-vv or -vvv" it would print complete > fully qulified json. WDYT? > > > > ok sure, gotcha, the human readable output with `-v` option what you are > printing right now should be fine, just one small change I would request, > instead of doing string concatenation with the `+` operator, can we use > append operation with String Builder or String Buffer whichever is more > appropriate here > > Thanx, done! > Maybe.. can I return back the "=" instead of ": " ? > > ------------- > > PR Review Comment: > https://git.openjdk.org/jcstress/pull/149#discussion_r1665308861 > > > End of jcstress-dev Digest, Vol 71, Issue 8 > ******************************************* > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at openjdk.org Thu Jul 4 10:15:36 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Thu, 4 Jul 2024 10:15:36 GMT Subject: RFR: CODETOOLS-7903756 - jcstress shuld not pass debugging parameters to subproceses [v2] In-Reply-To: References: Message-ID: <2VMPZnHseWzZYzoLXIcPzcJsRqdF0kn85kQKAoL-ypo=.35fe9a1e-a5d0-4dd1-a40e-30a817687aef@github.com> On Wed, 3 Jul 2024 08:52:38 GMT, Ji?? Van?k wrote: >> Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: >> >> Restricted -agentlib:jdwp filtering > > Hello! Thanx a lot for review. > > The https://github.com/openjdk/jcstress/pull/119 can be closed with its corresponding bug of https://bugs.openjdk.org/browse/CODETOOLS-7903266 , if we agree on merging this (#150) . I had noticed the bug and the PR only I drafted my PR. Sorry. > @judovana This pull request has not yet been marked as ready for integration. Hmm, then we need approver and sponsor? ------------- PR Comment: https://git.openjdk.org/jcstress/pull/150#issuecomment-2208613580 From jvanek at openjdk.org Thu Jul 4 10:15:36 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Thu, 4 Jul 2024 10:15:36 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v5] In-Reply-To: References: Message-ID: On Thu, 4 Jul 2024 08:08:04 GMT, Ji?? Van?k wrote: >> Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: >> >> LIST_OPTION_DESCRIPTION split to two lines > > Sorry for forced, push, that was typo in commit message > @judovana This pull request has not yet been marked as ready for integration. Hmm, then we need approver and sponsor? ------------- PR Comment: https://git.openjdk.org/jcstress/pull/149#issuecomment-2208613761 From duke at openjdk.org Thu Jul 4 19:53:31 2024 From: duke at openjdk.org (PM) Date: Thu, 4 Jul 2024 19:53:31 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v6] In-Reply-To: References: Message-ID: On Thu, 4 Jul 2024 08:11:44 GMT, Ji?? Van?k wrote: >> This is extracting List configs =prepareRunProgram(classes, tests); >> with all he HW/switches setup to separated method and reusing it in `-l` mode >> >> I'm aware of triplicated removal of -agentlib, and will clean it up as >> CODETOOLS-7903756 will progress. >> >> -l now honours also verbose mode, in which it prints not just matching >> tests but all really run tests, and thus enabling much more easy >> determining of all tests >> >> help adjusted. >> >> Maybe I'm missing plain quick initial all tests metod now, but with >> artificial -c MAX it seems doing exactly that > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > replaced long string concatenation with StringBuilder Hello my fellow colleague contributors @shipilev @mmirwaldt @pavelrappo @izeye @simonis @edvbld @isopov @lewurm , I had signed OCA around 9 years ago from the email id `matcdac at gmail.com` , my only github account this one is also from the same email id `matcdac at gmail.com` , I am subscribed to the mailing list `jcstress-dev` as well from the same email id `matcdac at gmail.com` , could you let me know why OpenJDK GitHub is not recognizing my account, and shows as follows as highlighted in the image from above PR #149 ( https://github.com/openjdk/jcstress/pull/149 ) :- ![image](https://github.com/openjdk/jcstress/assets/20089585/8777c38c-ab6a-4168-9e92-21837c691a70) seems to be a discrepancy between yellow circle (recognized, green tick) and red circle (Reviewers @matcdac : no known openjdk.org user name / role) can anyone of you get this checked also I need write / push and merge access ------------- PR Comment: https://git.openjdk.org/jcstress/pull/149#issuecomment-2209504312 From simonis at openjdk.org Fri Jul 5 07:28:32 2024 From: simonis at openjdk.org (Volker Simonis) Date: Fri, 5 Jul 2024 07:28:32 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v6] In-Reply-To: References: Message-ID: On Thu, 4 Jul 2024 19:50:36 GMT, PM wrote: >> Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: >> >> replaced long string concatenation with StringBuilder > > Hello my fellow colleague contributors @shipilev @mmirwaldt @pavelrappo @izeye @simonis @edvbld @isopov @lewurm , > > I had signed OCA around 9 years ago from the email id `matcdac at gmail.com` , my only github account this one is also from the same email id `matcdac at gmail.com` , I am subscribed to the mailing list `jcstress-dev` as well from the same email id `matcdac at gmail.com` , could you let me know why OpenJDK GitHub is not recognizing my account, and shows as follows as highlighted in the image from above PR #149 ( https://github.com/openjdk/jcstress/pull/149 ) :- > > ![image](https://github.com/openjdk/jcstress/assets/20089585/8777c38c-ab6a-4168-9e92-21837c691a70) > > seems to be a discrepancy between yellow circle (recognized, green tick) and red circle (Reviewers @matcdac : no known openjdk.org user name / role) > > can anyone of you get this checked > > also I need write / push and merge access @matcdac, unfortunately I don't know your real name, so I can't check in the [OpenJDK Census](https://openjdk.org/census) if you hold any kind of project role in the OpenJDK project. Notice that merely signing a OCA doesn't give you any project role - it only makes you an [OpenJDK Contributor](https://openjdk.org/contribute/). Take a look at the [OpenJDK projects page](https://openjdk.org/projects/) for details about how to advance from Contributor to Author, Committer and Reviewer. Regarding the image you've attached - I don't think the information in the yellow and red circle contradict. The yellow circle is information from GitHub's builtin workflow. It means that you've successfully reviewed and approved this PR from GitHub's perspective. The information in the red circle comes from the OpenJDK project's customized GitHub workflow which additionally checks the OpenJDK role (according to the [OpenJDK Census](https://openjdk.org/census)) of contributors. After becoming an [OpenJDK Author](https://openjdk.org/projects/#project-author) (which will give you an OpenJDK user name), you'll have to [associate your GitHub account and your OpenJDK username](https://wiki.openjdk.org/display/SKARA#Skara-AssociatingyourGitHubaccountandyourOpenJDKusername) in order for this workflow to recognize you with your OpenJDK role. ------------- PR Comment: https://git.openjdk.org/jcstress/pull/149#issuecomment-2210342447 From robilad at openjdk.org Fri Jul 5 19:57:43 2024 From: robilad at openjdk.org (Dalibor Topic) Date: Fri, 5 Jul 2024 19:57:43 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v6] In-Reply-To: References: Message-ID: On Thu, 4 Jul 2024 19:50:36 GMT, PM wrote: >> Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: >> >> replaced long string concatenation with StringBuilder > > Hello my fellow colleague contributors @shipilev @mmirwaldt @pavelrappo @izeye @simonis @edvbld @isopov @lewurm , > > I had signed OCA around 9 years ago from the email id `matcdac at gmail.com` , my only github account this one is also from the same email id `matcdac at gmail.com` , I am subscribed to the mailing list `jcstress-dev` as well from the same email id `matcdac at gmail.com` , could you let me know why OpenJDK GitHub is not recognizing my account, and shows as follows as highlighted in the image from above PR #149 ( https://github.com/openjdk/jcstress/pull/149 ) :- > > ![image](https://github.com/openjdk/jcstress/assets/20089585/8777c38c-ab6a-4168-9e92-21837c691a70) > > seems to be a discrepancy between yellow circle (recognized, green tick) and red circle (Reviewers @matcdac : no known openjdk.org user name / role) > > can anyone of you get this checked > > also I need write / push and merge access Yup, @matcdac would need to contribute two changes (or more) become an OpenJDK Author first, before they can receive write access to OpenJDK infrastructure (like the bug tracker, for example). Since they're not a Committer on the Code Tools Project, the review doesn't count towards meeting this requirement: "Change must be properly reviewed (1 review required, with at least 1 [Committer](https://openjdk.org/bylaws#committer))" ------------- PR Comment: https://git.openjdk.org/jcstress/pull/149#issuecomment-2211350913 From jvanek at openjdk.org Mon Jul 8 09:18:50 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 09:18:50 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v6] In-Reply-To: References: Message-ID: On Thu, 4 Jul 2024 08:11:44 GMT, Ji?? Van?k wrote: >> This is extracting List configs =prepareRunProgram(classes, tests); >> with all he HW/switches setup to separated method and reusing it in `-l` mode >> >> I'm aware of triplicated removal of -agentlib, and will clean it up as >> CODETOOLS-7903756 will progress. >> >> -l now honours also verbose mode, in which it prints not just matching >> tests but all really run tests, and thus enabling much more easy >> determining of all tests >> >> help adjusted. >> >> Maybe I'm missing plain quick initial all tests metod now, but with >> artificial -c MAX it seems doing exactly that > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > replaced long string concatenation with StringBuilder That is unhappy situation:( Then both https://github.com/openjdk/jcstress/pull/149 https://github.com/openjdk/jcstress/pull/150 remain valid review of course. TY! ------------- PR Comment: https://git.openjdk.org/jcstress/pull/149#issuecomment-2213481209 From shade at openjdk.org Mon Jul 8 10:40:47 2024 From: shade at openjdk.org (Aleksey Shipilev) Date: Mon, 8 Jul 2024 10:40:47 GMT Subject: RFR: 7903756: jcstress: Skip debugging JVM options for sub-processes [v4] In-Reply-To: References: Message-ID: On Thu, 4 Jul 2024 06:25:05 GMT, Ji?? Van?k wrote: >> No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: >> >> java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" >> >> works. > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > Removed unused imports This looks okay, but I would probably just inline `removeJdwpAgentLib` into `cleanArgs` and re-indent the stream as the code around does it (ops on different lines, collect as the last line). The single-line helper method does not carry its weight, IMO. Wait, let's make sure it passes the GHA tests, enable the workflows first, and then update the PR. jcstress-core/src/main/java/org/openjdk/jcstress/vm/VMSupport.java line 402: > 400: } > 401: > 402: private static List removeJdwpAgentLib(List originalArgs ) { Suggestion: private static List removeJdwpAgentLib(List originalArgs) { ------------- Marked as reviewed by shade (Committer). PR Review: https://git.openjdk.org/jcstress/pull/150#pullrequestreview-2162921510 Changes requested by shade (Committer). PR Review: https://git.openjdk.org/jcstress/pull/150#pullrequestreview-2162925918 PR Review Comment: https://git.openjdk.org/jcstress/pull/150#discussion_r1668397200 From jvanek at openjdk.org Mon Jul 8 10:46:18 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 10:46:18 GMT Subject: RFR: 7903756: jcstress: Skip debugging JVM options for sub-processes [v4] In-Reply-To: References: Message-ID: On Thu, 4 Jul 2024 06:25:05 GMT, Ji?? Van?k wrote: >> No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: >> >> java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" >> >> works. > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > Removed unused imports hi! Ty! The only reason to not inline the `removeJdwpAgentLib` is need of comment instead of separate method. But I do not have strong preference. TYVM for eyball and GH! ------------- PR Comment: https://git.openjdk.org/jcstress/pull/150#issuecomment-2213662031 From jvanek at openjdk.org Mon Jul 8 10:46:18 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 10:46:18 GMT Subject: RFR: 7903756: jcstress: Skip debugging JVM options for sub-processes [v5] In-Reply-To: References: Message-ID: > No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: > > java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" > > works. Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: removed redundant space Co-authored-by: Aleksey Shipil?v ------------- Changes: - all: https://git.openjdk.org/jcstress/pull/150/files - new: https://git.openjdk.org/jcstress/pull/150/files/6ffc620b..2b6b3be3 Webrevs: - full: https://webrevs.openjdk.org/?repo=jcstress&pr=150&range=04 - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=150&range=03-04 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jcstress/pull/150.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/150/head:pull/150 PR: https://git.openjdk.org/jcstress/pull/150 From shade at openjdk.org Mon Jul 8 11:02:49 2024 From: shade at openjdk.org (Aleksey Shipilev) Date: Mon, 8 Jul 2024 11:02:49 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v6] In-Reply-To: References: Message-ID: On Thu, 4 Jul 2024 08:11:44 GMT, Ji?? Van?k wrote: >> This is extracting List configs =prepareRunProgram(classes, tests); >> with all he HW/switches setup to separated method and reusing it in `-l` mode >> >> I'm aware of triplicated removal of -agentlib, and will clean it up as >> CODETOOLS-7903756 will progress. >> >> -l now honours also verbose mode, in which it prints not just matching >> tests but all really run tests, and thus enabling much more easy >> determining of all tests >> >> help adjusted. >> >> Maybe I'm missing plain quick initial all tests metod now, but with >> artificial -c MAX it seems doing exactly that > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > replaced long string concatenation with StringBuilder Suggestions: jcstress-core/src/main/java/org/openjdk/jcstress/JCStress.java line 60: > 58: public void run() throws Exception { > 59: ConfigsWithScheduler configsWithScheduler = getConfigs(); > 60: if (configsWithScheduler == null) return; Suggestion: ConfigsWithScheduler configs = getConfigs(); if (configs == null) { return; } jcstress-core/src/main/java/org/openjdk/jcstress/JCStress.java line 86: > 84: } > 85: > 86: Suggestion: jcstress-core/src/main/java/org/openjdk/jcstress/JCStress.java line 118: > 116: } > 117: ConfigsWithScheduler configsWithScheduler = new ConfigsWithScheduler(scheduler, configs); > 118: return configsWithScheduler; Suggestion: return new ConfigsWithScheduler(scheduler, configs); jcstress-core/src/main/java/org/openjdk/jcstress/Main.java line 58: > 56: JCStress jcstress = new JCStress(opts); > 57: if (opts.shouldList()) { > 58: listTests(opts, jcstress); So, for symmetry with `parseResults` and `run`, why not make it the instance method of `JCStress`? This will also allow to make `JCStress.ConfigsWithScheduler` `private`, AFAICS. jcstress-core/src/main/java/org/openjdk/jcstress/Options.java line 51: > 49: > 50: private static final String LIST_OPTION_DESCRIPTION="List the available tests matching the requested settings, " + > 51: "after all filters (like CPU count) are applied. In verbose mode it prints all real combinations which will run."; Introducing a `static final String` for option description is not the style for this file. Please inline it back. jcstress-core/src/main/java/org/openjdk/jcstress/infra/runners/TestConfig.java line 249: > 247: > 248: > 249: public String toDetailedTest() { The output looks a bit ugly. I think I understand the motivation for printing out more data about the tests, but then it should be more clean. Right now it looks like just an internals dump, which is not a preferred style for jcstress output. Or, we can just not do it at all, and just print the test names, without these verbose printouts. That would be my preference. ------------- Changes requested by shade (Committer). PR Review: https://git.openjdk.org/jcstress/pull/149#pullrequestreview-2162933112 PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1668422320 PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1668421718 PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1668421467 PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1668414286 PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1668404100 PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1668425396 From jvanek at openjdk.org Mon Jul 8 13:56:59 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 13:56:59 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v7] In-Reply-To: References: Message-ID: > This is extracting List configs =prepareRunProgram(classes, tests); > with all he HW/switches setup to separated method and reusing it in `-l` mode > > I'm aware of triplicated removal of -agentlib, and will clean it up as > CODETOOLS-7903756 will progress. > > -l now honours also verbose mode, in which it prints not just matching > tests but all really run tests, and thus enabling much more easy > determining of all tests > > help adjusted. > > Maybe I'm missing plain quick initial all tests metod now, but with > artificial -c MAX it seems doing exactly that Ji?? Van?k has updated the pull request incrementally with three additional commits since the last revision: - Return freshly created object without storing it first Co-authored-by: Aleksey Shipil?v - remvoed dangling new line Co-authored-by: Aleksey Shipil?v - added correct brackets after if statement Co-authored-by: Aleksey Shipil?v ------------- Changes: - all: https://git.openjdk.org/jcstress/pull/149/files - new: https://git.openjdk.org/jcstress/pull/149/files/4ee850d8..4f455a99 Webrevs: - full: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=06 - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=05-06 Stats: 8 lines in 1 file changed: 2 ins; 2 del; 4 mod Patch: https://git.openjdk.org/jcstress/pull/149.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/149/head:pull/149 PR: https://git.openjdk.org/jcstress/pull/149 From jvanek at openjdk.org Mon Jul 8 13:56:59 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 13:56:59 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v6] In-Reply-To: References: Message-ID: On Mon, 8 Jul 2024 11:00:28 GMT, Aleksey Shipilev wrote: >> Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: >> >> replaced long string concatenation with StringBuilder > > jcstress-core/src/main/java/org/openjdk/jcstress/infra/runners/TestConfig.java line 249: > >> 247: >> 248: >> 249: public String toDetailedTest() { > > The output looks a bit ugly. I think I understand the motivation for printing out more data about the tests, but then it should be more clean. Right now it looks like just an internals dump, which is not a preferred style for jcstress output. > > Or, we can just not do it at all, and just print the test names, without these verbose printouts. That would be my preference. But the individual tests are then not recognizable:( And the individual difference is jsut big, so ugly at the end. I had an idea to actually group it in oposite way like: - for this combination * those tests are run * ... - for this another combination * those tests are run * ... ``` eg: {[actor1, actor2], spinLoopStyle: Thread.onSpinWait(), threads: 2, forkId: 0, maxFootprintMB: 64, compileMode: 0, shClass: (PG 0, CG 0), (PG 0, CG 0), strideSize: 256, strideCount: 40, cpuMap : null, [-XX:+UseBiasedLocking]} org.openjdk.jcstress.samples.api.API_01_Simple org.openjdk.jcstress.tests.volatiles.VolatileIncrementAtomicityTest {[actor1, actor2], spinLoopStyle: Thread.onSpinWait(), threads: 2, forkId: 0, maxFootprintMB: 64, compileMode: 0, shClass: (PG 0, CG 0), (PG 0, CG 0), strideSize: 256, strideCount: 40, cpuMap : null, [-XX:-UseBiasedLocking]} org.openjdk.jcstress.samples.api.API_01_Simple org.openjdk.jcstress.tests.volatiles.VolatileIncrementAtomicityTest But I guess you got it. But that was a bit more work which I did not want to start without your feedback. The verbose test lsiting (toDetailedTest) is super useful. I would highly appreciate to merge it, and am willing to later agree in separate PR/jira issue on better output(s) ------------- PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1668678910 From jvanek at openjdk.org Mon Jul 8 14:10:57 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 14:10:57 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v8] In-Reply-To: References: Message-ID: > This is extracting List configs =prepareRunProgram(classes, tests); > with all he HW/switches setup to separated method and reusing it in `-l` mode > > I'm aware of triplicated removal of -agentlib, and will clean it up as > CODETOOLS-7903756 will progress. > > -l now honours also verbose mode, in which it prints not just matching > tests but all really run tests, and thus enabling much more easy > determining of all tests > > help adjusted. > > Maybe I'm missing plain quick initial all tests metod now, but with > artificial -c MAX it seems doing exactly that Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: Reverted extract of sibngle option text to constant ------------- Changes: - all: https://git.openjdk.org/jcstress/pull/149/files - new: https://git.openjdk.org/jcstress/pull/149/files/4f455a99..9b1ab093 Webrevs: - full: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=07 - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=06-07 Stats: 5 lines in 1 file changed: 1 ins; 3 del; 1 mod Patch: https://git.openjdk.org/jcstress/pull/149.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/149/head:pull/149 PR: https://git.openjdk.org/jcstress/pull/149 From jvanek at openjdk.org Mon Jul 8 14:28:58 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 14:28:58 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v9] In-Reply-To: References: Message-ID: > This is extracting List configs =prepareRunProgram(classes, tests); > with all he HW/switches setup to separated method and reusing it in `-l` mode > > I'm aware of triplicated removal of -agentlib, and will clean it up as > CODETOOLS-7903756 will progress. > > -l now honours also verbose mode, in which it prints not just matching > tests but all really run tests, and thus enabling much more easy > determining of all tests > > help adjusted. > > Maybe I'm missing plain quick initial all tests metod now, but with > artificial -c MAX it seems doing exactly that Ji?? Van?k has updated the pull request incrementally with two additional commits since the last revision: - Renamed configsWithScheduler to config as suggester in review - Moved listTests to JCStress class, made ConfigsWithScheduler private ------------- Changes: - all: https://git.openjdk.org/jcstress/pull/149/files - new: https://git.openjdk.org/jcstress/pull/149/files/9b1ab093..48ab2a19 Webrevs: - full: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=08 - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=07-08 Stats: 53 lines in 2 files changed: 21 ins; 23 del; 9 mod Patch: https://git.openjdk.org/jcstress/pull/149.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/149/head:pull/149 PR: https://git.openjdk.org/jcstress/pull/149 From jvanek at openjdk.org Mon Jul 8 14:28:58 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 14:28:58 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v6] In-Reply-To: References: Message-ID: On Mon, 8 Jul 2024 11:00:39 GMT, Aleksey Shipilev wrote: >> Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: >> >> replaced long string concatenation with StringBuilder > > Suggestions: @shipilev Tahnx for review! all issues (hopefully) filled. ------------- PR Comment: https://git.openjdk.org/jcstress/pull/149#issuecomment-2214227480 From shade at openjdk.org Mon Jul 8 14:33:47 2024 From: shade at openjdk.org (Aleksey Shipilev) Date: Mon, 8 Jul 2024 14:33:47 GMT Subject: RFR: 7903756: jcstress: Skip debugging JVM options for sub-processes [v5] In-Reply-To: References: Message-ID: On Mon, 8 Jul 2024 10:46:18 GMT, Ji?? Van?k wrote: >> No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: >> >> java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" >> >> works. > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > removed redundant space > > Co-authored-by: Aleksey Shipil?v Please do the following: 1. Inline `removeJdwpAgentLib`. 2. Enable GHA tests and pass them. ------------- PR Comment: https://git.openjdk.org/jcstress/pull/150#issuecomment-2214242056 From shade at openjdk.org Mon Jul 8 14:34:49 2024 From: shade at openjdk.org (Aleksey Shipilev) Date: Mon, 8 Jul 2024 14:34:49 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v9] In-Reply-To: References: Message-ID: On Mon, 8 Jul 2024 14:28:58 GMT, Ji?? Van?k wrote: >> This is extracting List configs =prepareRunProgram(classes, tests); >> with all he HW/switches setup to separated method and reusing it in `-l` mode >> >> I'm aware of triplicated removal of -agentlib, and will clean it up as >> CODETOOLS-7903756 will progress. >> >> -l now honours also verbose mode, in which it prints not just matching >> tests but all really run tests, and thus enabling much more easy >> determining of all tests >> >> help adjusted. >> >> Maybe I'm missing plain quick initial all tests metod now, but with >> artificial -c MAX it seems doing exactly that > > Ji?? Van?k has updated the pull request incrementally with two additional commits since the last revision: > > - Renamed configsWithScheduler to config as suggester in review > - Moved listTests to JCStress class, made ConfigsWithScheduler private GHA testing is still not enabled, please enable it and pass it to green. ------------- PR Comment: https://git.openjdk.org/jcstress/pull/149#issuecomment-2214242989 From jvanek at openjdk.org Mon Jul 8 14:48:45 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 14:48:45 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v9] In-Reply-To: References: Message-ID: On Mon, 8 Jul 2024 14:28:58 GMT, Ji?? Van?k wrote: >> This is extracting List configs =prepareRunProgram(classes, tests); >> with all he HW/switches setup to separated method and reusing it in `-l` mode >> >> I'm aware of triplicated removal of -agentlib, and will clean it up as >> CODETOOLS-7903756 will progress. >> >> -l now honours also verbose mode, in which it prints not just matching >> tests but all really run tests, and thus enabling much more easy >> determining of all tests >> >> help adjusted. >> >> Maybe I'm missing plain quick initial all tests metod now, but with >> artificial -c MAX it seems doing exactly that > > Ji?? Van?k has updated the pull request incrementally with two additional commits since the last revision: > > - Renamed configsWithScheduler to config as suggester in review > - Moved listTests to JCStress class, made ConfigsWithScheduler private Sorry, I understood the `Wait, let's make sure it passes the GHA tests, enable the workflows first, and then update the PR.` that it will get enabled somehow on its own or by you. I'm failing to see whre to enabel them as aprt of my PRs ------------- PR Comment: https://git.openjdk.org/jcstress/pull/149#issuecomment-2214294269 From jvanek at openjdk.org Mon Jul 8 14:58:06 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 14:58:06 GMT Subject: RFR: 7903756: jcstress: Skip debugging JVM options for sub-processes [v6] In-Reply-To: References: Message-ID: > No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: > > java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" > > works. Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: inlined removeJdwpAgentLib ------------- Changes: - all: https://git.openjdk.org/jcstress/pull/150/files - new: https://git.openjdk.org/jcstress/pull/150/files/2b6b3be3..95556157 Webrevs: - full: https://webrevs.openjdk.org/?repo=jcstress&pr=150&range=05 - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=150&range=04-05 Stats: 5 lines in 1 file changed: 0 ins; 4 del; 1 mod Patch: https://git.openjdk.org/jcstress/pull/150.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/150/head:pull/150 PR: https://git.openjdk.org/jcstress/pull/150 From jvanek at openjdk.org Mon Jul 8 15:01:46 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 15:01:46 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v9] In-Reply-To: References: Message-ID: On Mon, 8 Jul 2024 14:28:58 GMT, Ji?? Van?k wrote: >> This is extracting List configs =prepareRunProgram(classes, tests); >> with all he HW/switches setup to separated method and reusing it in `-l` mode >> >> I'm aware of triplicated removal of -agentlib, and will clean it up as >> CODETOOLS-7903756 will progress. >> >> -l now honours also verbose mode, in which it prints not just matching >> tests but all really run tests, and thus enabling much more easy >> determining of all tests >> >> help adjusted. >> >> Maybe I'm missing plain quick initial all tests metod now, but with >> artificial -c MAX it seems doing exactly that > > Ji?? Van?k has updated the pull request incrementally with two additional commits since the last revision: > > - Renamed configsWithScheduler to config as suggester in review > - Moved listTests to JCStress class, made ConfigsWithScheduler private Damn, I always forget this about jdk projects. Fixing now. ------------- PR Comment: https://git.openjdk.org/jcstress/pull/149#issuecomment-2214350613 From jvanek at openjdk.org Mon Jul 8 15:05:22 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 15:05:22 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v10] In-Reply-To: References: Message-ID: > This is extracting List configs =prepareRunProgram(classes, tests); > with all he HW/switches setup to separated method and reusing it in `-l` mode > > I'm aware of triplicated removal of -agentlib, and will clean it up as > CODETOOLS-7903756 will progress. > > -l now honours also verbose mode, in which it prints not just matching > tests but all really run tests, and thus enabling much more easy > determining of all tests > > help adjusted. > > Maybe I'm missing plain quick initial all tests metod now, but with > artificial -c MAX it seems doing exactly that Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: Enabled GHA ------------- Changes: - all: https://git.openjdk.org/jcstress/pull/149/files - new: https://git.openjdk.org/jcstress/pull/149/files/48ab2a19..f3858f3c Webrevs: - full: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=09 - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=08-09 Stats: 0 lines in 0 files changed: 0 ins; 0 del; 0 mod Patch: https://git.openjdk.org/jcstress/pull/149.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/149/head:pull/149 PR: https://git.openjdk.org/jcstress/pull/149 From jvanek at openjdk.org Mon Jul 8 15:05:31 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 15:05:31 GMT Subject: RFR: 7903756: jcstress: Skip debugging JVM options for sub-processes [v7] In-Reply-To: References: Message-ID: <-mgeYGIJaBkIc72LwlLwN7LZvcATHlbR1VgLWj8lSns=.b38e6b06-1769-448d-ae55-ff5d0ef58f47@github.com> > No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: > > java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" > > works. Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: Enabled GHA ------------- Changes: - all: https://git.openjdk.org/jcstress/pull/150/files - new: https://git.openjdk.org/jcstress/pull/150/files/95556157..b4c88fa1 Webrevs: - full: https://webrevs.openjdk.org/?repo=jcstress&pr=150&range=06 - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=150&range=05-06 Stats: 0 lines in 0 files changed: 0 ins; 0 del; 0 mod Patch: https://git.openjdk.org/jcstress/pull/150.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/150/head:pull/150 PR: https://git.openjdk.org/jcstress/pull/150 From shade at openjdk.org Mon Jul 8 15:50:46 2024 From: shade at openjdk.org (Aleksey Shipilev) Date: Mon, 8 Jul 2024 15:50:46 GMT Subject: RFR: 7903756: jcstress: Skip debugging JVM options for sub-processes [v7] In-Reply-To: <-mgeYGIJaBkIc72LwlLwN7LZvcATHlbR1VgLWj8lSns=.b38e6b06-1769-448d-ae55-ff5d0ef58f47@github.com> References: <-mgeYGIJaBkIc72LwlLwN7LZvcATHlbR1VgLWj8lSns=.b38e6b06-1769-448d-ae55-ff5d0ef58f47@github.com> Message-ID: On Mon, 8 Jul 2024 15:05:31 GMT, Ji?? Van?k wrote: >> No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: >> >> java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" >> >> works. > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > Enabled GHA Only stylistic nits, otherwise good. Fix those, and once GHA is green, we can integrate. jcstress-core/src/main/java/org/openjdk/jcstress/vm/VMSupport.java line 398: > 396: > 397: private static Config cleanArgs(Config orig) { > 398: List l = orig.args.stream().filter(s -> !s.startsWith("-agentlib:jdwp")).collect(Collectors.toList()); Suggestion: List l = orig.args.stream() .filter(s -> !s.startsWith("-agentlib:jdwp")) .collect(Collectors.toList()); jcstress-core/src/main/java/org/openjdk/jcstress/vm/VMSupport.java line 457: > 455: .collect(Collectors.toCollection(LinkedHashSet::new)); > 456: } > 457: configs = configs.stream() Suggestion: // Filter out unwanted arguments. configs = configs.stream() ------------- Marked as reviewed by shade (Committer). PR Review: https://git.openjdk.org/jcstress/pull/150#pullrequestreview-2163733954 PR Review Comment: https://git.openjdk.org/jcstress/pull/150#discussion_r1668886170 PR Review Comment: https://git.openjdk.org/jcstress/pull/150#discussion_r1668887726 From jvanek at openjdk.org Mon Jul 8 15:55:47 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 15:55:47 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v10] In-Reply-To: References: Message-ID: On Mon, 8 Jul 2024 15:05:22 GMT, Ji?? Van?k wrote: >> This is extracting List configs =prepareRunProgram(classes, tests); >> with all he HW/switches setup to separated method and reusing it in `-l` mode >> >> I'm aware of triplicated removal of -agentlib, and will clean it up as >> CODETOOLS-7903756 will progress. >> >> -l now honours also verbose mode, in which it prints not just matching >> tests but all really run tests, and thus enabling much more easy >> determining of all tests >> >> help adjusted. >> >> Maybe I'm missing plain quick initial all tests metod now, but with >> artificial -c MAX it seems doing exactly that > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > Enabled GHA Cool. All except MACs are green. ------------- PR Comment: https://git.openjdk.org/jcstress/pull/149#issuecomment-2214504244 From jvanek at openjdk.org Mon Jul 8 15:58:14 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 15:58:14 GMT Subject: RFR: 7903756: jcstress: Skip debugging JVM options for sub-processes [v8] In-Reply-To: References: Message-ID: > No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: > > java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" > > works. Ji?? Van?k has updated the pull request incrementally with two additional commits since the last revision: - Added comment before filtering arguments Co-authored-by: Aleksey Shipil?v - Split stream to multiple lines Co-authored-by: Aleksey Shipil?v ------------- Changes: - all: https://git.openjdk.org/jcstress/pull/150/files - new: https://git.openjdk.org/jcstress/pull/150/files/b4c88fa1..ad692a81 Webrevs: - full: https://webrevs.openjdk.org/?repo=jcstress&pr=150&range=07 - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=150&range=06-07 Stats: 5 lines in 1 file changed: 4 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jcstress/pull/150.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/150/head:pull/150 PR: https://git.openjdk.org/jcstress/pull/150 From jvanek at openjdk.org Mon Jul 8 15:58:14 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 15:58:14 GMT Subject: RFR: 7903756: jcstress: Skip debugging JVM options for sub-processes [v7] In-Reply-To: <-mgeYGIJaBkIc72LwlLwN7LZvcATHlbR1VgLWj8lSns=.b38e6b06-1769-448d-ae55-ff5d0ef58f47@github.com> References: <-mgeYGIJaBkIc72LwlLwN7LZvcATHlbR1VgLWj8lSns=.b38e6b06-1769-448d-ae55-ff5d0ef58f47@github.com> Message-ID: On Mon, 8 Jul 2024 15:05:31 GMT, Ji?? Van?k wrote: >> No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: >> >> java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" >> >> works. > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > Enabled GHA Cool. All except MACs are green. ------------- PR Comment: https://git.openjdk.org/jcstress/pull/150#issuecomment-2214504646 From shade at openjdk.org Mon Jul 8 16:02:09 2024 From: shade at openjdk.org (Aleksey Shipilev) Date: Mon, 8 Jul 2024 16:02:09 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v6] In-Reply-To: References: Message-ID: On Mon, 8 Jul 2024 13:52:05 GMT, Ji?? Van?k wrote: >> jcstress-core/src/main/java/org/openjdk/jcstress/infra/runners/TestConfig.java line 249: >> >>> 247: >>> 248: >>> 249: public String toDetailedTest() { >> >> The output looks a bit ugly. I think I understand the motivation for printing out more data about the tests, but then it should be more clean. Right now it looks like just an internals dump, which is not a preferred style for jcstress output. >> >> Or, we can just not do it at all, and just print the test names, without these verbose printouts. That would be my preference. > > But the individual tests are then not recognizable:( And the individual difference is jsut big, so ugly at the end. > I had an idea to actually group it in oposite way like: > > - for this combination > * those tests are run > * ... > - for this another combination > * those tests are run > * ... > ``` > eg: > > {[actor1, actor2], spinLoopStyle: Thread.onSpinWait(), threads: 2, forkId: 0, maxFootprintMB: 64, compileMode: 0, shClass: (PG 0, CG 0), (PG 0, CG 0), strideSize: 256, strideCount: 40, cpuMap > : null, [-XX:+UseBiasedLocking]} > org.openjdk.jcstress.samples.api.API_01_Simple > org.openjdk.jcstress.tests.volatiles.VolatileIncrementAtomicityTest > {[actor1, actor2], spinLoopStyle: Thread.onSpinWait(), threads: 2, forkId: 0, maxFootprintMB: 64, compileMode: 0, shClass: (PG 0, CG 0), (PG 0, CG 0), strideSize: 256, strideCount: 40, cpuMap > : null, [-XX:-UseBiasedLocking]} > org.openjdk.jcstress.samples.api.API_01_Simple > org.openjdk.jcstress.tests.volatiles.VolatileIncrementAtomicityTest > > But I guess you got it. > But that was a bit more work which I did not want to start without your feedback. > > The verbose test lsiting (toDetailedTest) is super useful. I would highly appreciate to merge it, and am willing to later agree in separate PR/jira issue on better output(s) All right, fine, let's do this. ------------- PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1668900808 From jvanek at openjdk.org Mon Jul 8 16:02:08 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 16:02:08 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v11] In-Reply-To: References: Message-ID: > This is extracting List configs =prepareRunProgram(classes, tests); > with all he HW/switches setup to separated method and reusing it in `-l` mode > > I'm aware of triplicated removal of -agentlib, and will clean it up as > CODETOOLS-7903756 will progress. > > -l now honours also verbose mode, in which it prints not just matching > tests but all really run tests, and thus enabling much more easy > determining of all tests > > help adjusted. > > Maybe I'm missing plain quick initial all tests metod now, but with > artificial -c MAX it seems doing exactly that Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: Update jcstress-core/src/main/java/org/openjdk/jcstress/JCStress.java Co-authored-by: Aleksey Shipil?v ------------- Changes: - all: https://git.openjdk.org/jcstress/pull/149/files - new: https://git.openjdk.org/jcstress/pull/149/files/f3858f3c..514e285f Webrevs: - full: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=10 - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=09-10 Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod Patch: https://git.openjdk.org/jcstress/pull/149.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/149/head:pull/149 PR: https://git.openjdk.org/jcstress/pull/149 From shade at openjdk.org Mon Jul 8 16:02:08 2024 From: shade at openjdk.org (Aleksey Shipilev) Date: Mon, 8 Jul 2024 16:02:08 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v10] In-Reply-To: References: Message-ID: On Mon, 8 Jul 2024 15:05:22 GMT, Ji?? Van?k wrote: >> This is extracting List configs =prepareRunProgram(classes, tests); >> with all he HW/switches setup to separated method and reusing it in `-l` mode >> >> I'm aware of triplicated removal of -agentlib, and will clean it up as >> CODETOOLS-7903756 will progress. >> >> -l now honours also verbose mode, in which it prints not just matching >> tests but all really run tests, and thus enabling much more easy >> determining of all tests >> >> help adjusted. >> >> Maybe I'm missing plain quick initial all tests metod now, but with >> artificial -c MAX it seems doing exactly that > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > Enabled GHA More nits. jcstress-core/src/main/java/org/openjdk/jcstress/JCStress.java line 87: > 85: parseResults(); > 86: } > 87: private ConfigsWithScheduler getConfigs() { Suggestion: } private ConfigsWithScheduler getConfigs() { jcstress-core/src/main/java/org/openjdk/jcstress/JCStress.java line 229: > 227: } > 228: > 229: public int listTests(Options opts, JCStress jcstress) { You don't need to pass `JCStress jcstress` now that the method is instance one. ------------- PR Review: https://git.openjdk.org/jcstress/pull/149#pullrequestreview-2163739640 PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1668901395 PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1668889997 From jvanek at openjdk.org Mon Jul 8 16:02:08 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 16:02:08 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v10] In-Reply-To: References: Message-ID: On Mon, 8 Jul 2024 15:49:12 GMT, Aleksey Shipilev wrote: >> Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: >> >> Enabled GHA > > jcstress-core/src/main/java/org/openjdk/jcstress/JCStress.java line 229: > >> 227: } >> 228: >> 229: public int listTests(Options opts, JCStress jcstress) { > > You don't need to pass `JCStress jcstress` now that the method is instance one. //me facepalm ------------- PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1668904723 From jvanek at openjdk.org Mon Jul 8 16:09:46 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 16:09:46 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v10] In-Reply-To: References: Message-ID: On Mon, 8 Jul 2024 15:56:00 GMT, Aleksey Shipilev wrote: >> Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: >> >> Enabled GHA > > jcstress-core/src/main/java/org/openjdk/jcstress/JCStress.java line 87: > >> 85: parseResults(); >> 86: } >> 87: private ConfigsWithScheduler getConfigs() { > > Suggestion: > > } > > private ConfigsWithScheduler getConfigs() { > All right, fine, let's do this. TY! had filed: https://bugs.openjdk.org/browse/JDK-8335901 Ideas welcomed ------------- PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1668917864 From shade at openjdk.org Mon Jul 8 16:15:46 2024 From: shade at openjdk.org (Aleksey Shipilev) Date: Mon, 8 Jul 2024 16:15:46 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v11] In-Reply-To: References: Message-ID: <8jeGm0RBUr8SztRDCpEjaKCY9w9Fd9NRg7y_SRCl7pE=.2ebba687-2976-4d39-abd0-96b4a9ab84a7@github.com> On Mon, 8 Jul 2024 16:02:08 GMT, Ji?? Van?k wrote: >> This is extracting List configs =prepareRunProgram(classes, tests); >> with all he HW/switches setup to separated method and reusing it in `-l` mode >> >> I'm aware of triplicated removal of -agentlib, and will clean it up as >> CODETOOLS-7903756 will progress. >> >> -l now honours also verbose mode, in which it prints not just matching >> tests but all really run tests, and thus enabling much more easy >> determining of all tests >> >> help adjusted. >> >> Maybe I'm missing plain quick initial all tests metod now, but with >> artificial -c MAX it seems doing exactly that > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > Update jcstress-core/src/main/java/org/openjdk/jcstress/JCStress.java > > Co-authored-by: Aleksey Shipil?v One more leftover. jcstress-core/src/main/java/org/openjdk/jcstress/Main.java line 27: > 25: package org.openjdk.jcstress; > 26: > 27: import org.openjdk.jcstress.infra.runners.TestConfig; Don't need this import now? ------------- PR Review: https://git.openjdk.org/jcstress/pull/149#pullrequestreview-2163798658 PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1668925742 From jvanek at openjdk.org Mon Jul 8 16:28:05 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 16:28:05 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v11] In-Reply-To: <8jeGm0RBUr8SztRDCpEjaKCY9w9Fd9NRg7y_SRCl7pE=.2ebba687-2976-4d39-abd0-96b4a9ab84a7@github.com> References: <8jeGm0RBUr8SztRDCpEjaKCY9w9Fd9NRg7y_SRCl7pE=.2ebba687-2976-4d39-abd0-96b4a9ab84a7@github.com> Message-ID: On Mon, 8 Jul 2024 16:12:47 GMT, Aleksey Shipilev wrote: >> Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: >> >> Update jcstress-core/src/main/java/org/openjdk/jcstress/JCStress.java >> >> Co-authored-by: Aleksey Shipil?v > > jcstress-core/src/main/java/org/openjdk/jcstress/Main.java line 27: > >> 25: package org.openjdk.jcstress; >> 26: >> 27: import org.openjdk.jcstress.infra.runners.TestConfig; > > Don't need this import now? uneeded, part of last commit (pusehd now) ------------- PR Review Comment: https://git.openjdk.org/jcstress/pull/149#discussion_r1668940563 From jvanek at openjdk.org Mon Jul 8 16:28:05 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Mon, 8 Jul 2024 16:28:05 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v12] In-Reply-To: References: Message-ID: <9JOVKC4te-PPit57Qa784uQ9agp2SuT0H5Ob67jZ9WU=.8f15d634-ca8d-4a7c-b2b8-31ef22d560f4@github.com> > This is extracting List configs =prepareRunProgram(classes, tests); > with all he HW/switches setup to separated method and reusing it in `-l` mode > > I'm aware of triplicated removal of -agentlib, and will clean it up as > CODETOOLS-7903756 will progress. > > -l now honours also verbose mode, in which it prints not just matching > tests but all really run tests, and thus enabling much more easy > determining of all tests > > help adjusted. > > Maybe I'm missing plain quick initial all tests metod now, but with > artificial -c MAX it seems doing exactly that Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: Removed unused instance and import ------------- Changes: - all: https://git.openjdk.org/jcstress/pull/149/files - new: https://git.openjdk.org/jcstress/pull/149/files/514e285f..02725da5 Webrevs: - full: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=11 - incr: https://webrevs.openjdk.org/?repo=jcstress&pr=149&range=10-11 Stats: 5 lines in 2 files changed: 0 ins; 2 del; 3 mod Patch: https://git.openjdk.org/jcstress/pull/149.diff Fetch: git fetch https://git.openjdk.org/jcstress.git pull/149/head:pull/149 PR: https://git.openjdk.org/jcstress/pull/149 From shade at openjdk.org Mon Jul 8 17:50:48 2024 From: shade at openjdk.org (Aleksey Shipilev) Date: Mon, 8 Jul 2024 17:50:48 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v12] In-Reply-To: <9JOVKC4te-PPit57Qa784uQ9agp2SuT0H5Ob67jZ9WU=.8f15d634-ca8d-4a7c-b2b8-31ef22d560f4@github.com> References: <9JOVKC4te-PPit57Qa784uQ9agp2SuT0H5Ob67jZ9WU=.8f15d634-ca8d-4a7c-b2b8-31ef22d560f4@github.com> Message-ID: On Mon, 8 Jul 2024 16:28:05 GMT, Ji?? Van?k wrote: >> This is extracting List configs =prepareRunProgram(classes, tests); >> with all he HW/switches setup to separated method and reusing it in `-l` mode >> >> I'm aware of triplicated removal of -agentlib, and will clean it up as >> CODETOOLS-7903756 will progress. >> >> -l now honours also verbose mode, in which it prints not just matching >> tests but all really run tests, and thus enabling much more easy >> determining of all tests >> >> help adjusted. >> >> Maybe I'm missing plain quick initial all tests metod now, but with >> artificial -c MAX it seems doing exactly that > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > Removed unused instance and import Marked as reviewed by shade (Committer). ------------- PR Review: https://git.openjdk.org/jcstress/pull/149#pullrequestreview-2163992834 From duke at openjdk.org Tue Jul 9 05:24:51 2024 From: duke at openjdk.org (duke) Date: Tue, 9 Jul 2024 05:24:51 GMT Subject: RFR: 7903756: jcstress: Skip debugging JVM options for sub-processes [v8] In-Reply-To: References: Message-ID: <810aaSbjrrCpWuYcov8hHbI62EALZdQl-6W7KEagcCA=.4746ab27-f5dd-42b1-9394-e811d874858d@github.com> On Mon, 8 Jul 2024 15:58:14 GMT, Ji?? Van?k wrote: >> No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: >> >> java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" >> >> works. > > Ji?? Van?k has updated the pull request incrementally with two additional commits since the last revision: > > - Added comment before filtering arguments > > Co-authored-by: Aleksey Shipil?v > - Split stream to multiple lines > > Co-authored-by: Aleksey Shipil?v @judovana Your change (at version ad692a81db10021bfe23465f8f42235b63bb8b38) is now ready to be sponsored by a Committer. ------------- PR Comment: https://git.openjdk.org/jcstress/pull/150#issuecomment-2216563133 From duke at openjdk.org Tue Jul 9 05:24:51 2024 From: duke at openjdk.org (duke) Date: Tue, 9 Jul 2024 05:24:51 GMT Subject: RFR: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings [v12] In-Reply-To: <9JOVKC4te-PPit57Qa784uQ9agp2SuT0H5Ob67jZ9WU=.8f15d634-ca8d-4a7c-b2b8-31ef22d560f4@github.com> References: <9JOVKC4te-PPit57Qa784uQ9agp2SuT0H5Ob67jZ9WU=.8f15d634-ca8d-4a7c-b2b8-31ef22d560f4@github.com> Message-ID: On Mon, 8 Jul 2024 16:28:05 GMT, Ji?? Van?k wrote: >> This is extracting List configs =prepareRunProgram(classes, tests); >> with all he HW/switches setup to separated method and reusing it in `-l` mode >> >> I'm aware of triplicated removal of -agentlib, and will clean it up as >> CODETOOLS-7903756 will progress. >> >> -l now honours also verbose mode, in which it prints not just matching >> tests but all really run tests, and thus enabling much more easy >> determining of all tests >> >> help adjusted. >> >> Maybe I'm missing plain quick initial all tests metod now, but with >> artificial -c MAX it seems doing exactly that > > Ji?? Van?k has updated the pull request incrementally with one additional commit since the last revision: > > Removed unused instance and import @judovana Your change (at version 02725da5dd1e602cde195fd359e41e5da5d0e5d7) is now ready to be sponsored by a Committer. ------------- PR Comment: https://git.openjdk.org/jcstress/pull/149#issuecomment-2216563398 From jvanek at openjdk.org Tue Jul 9 08:16:48 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Tue, 9 Jul 2024 08:16:48 GMT Subject: Integrated: 7903756: jcstress: Skip debugging JVM options for sub-processes In-Reply-To: References: Message-ID: On Tue, 2 Jul 2024 10:38:27 GMT, Ji?? Van?k wrote: > No longer passing any -agentlib to subprocesses, unless it is part of -jvmArgsPrepend, thus allowing to debug both jcstress itself or wrked vm as expected: > > java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar tests-all/target/jcstress.jar -c 1 -jvmArgsPrepend "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5006" > > works. This pull request has now been integrated. Changeset: 6def1a93 Author: Ji?? Van?k Committer: Aleksey Shipilev URL: https://git.openjdk.org/jcstress/commit/6def1a9384321534dca92e147dbe5e573c9ec601 Stats: 12 lines in 2 files changed: 11 ins; 1 del; 0 mod 7903756: jcstress: Skip debugging JVM options for sub-processes Reviewed-by: shade ------------- PR: https://git.openjdk.org/jcstress/pull/150 From jvanek at openjdk.org Tue Jul 9 08:16:48 2024 From: jvanek at openjdk.org (=?UTF-8?B?SmnFmcOt?= =?UTF-8?B?IA==?= =?UTF-8?B?VmFuxJtr?=) Date: Tue, 9 Jul 2024 08:16:48 GMT Subject: Integrated: CODETOOLS-7903748 - jcstress: Test list should honor concurrency settings In-Reply-To: References: Message-ID: On Wed, 19 Jun 2024 12:58:28 GMT, Ji?? Van?k wrote: > This is extracting List configs =prepareRunProgram(classes, tests); > with all he HW/switches setup to separated method and reusing it in `-l` mode > > I'm aware of triplicated removal of -agentlib, and will clean it up as > CODETOOLS-7903756 will progress. > > -l now honours also verbose mode, in which it prints not just matching > tests but all really run tests, and thus enabling much more easy > determining of all tests > > help adjusted. > > Maybe I'm missing plain quick initial all tests metod now, but with > artificial -c MAX it seems doing exactly that This pull request has now been integrated. Changeset: 164a3f58 Author: Ji?? Van?k Committer: Aleksey Shipilev URL: https://git.openjdk.org/jcstress/commit/164a3f58c290d1da8f3ec91f29f5d77b185043e4 Stats: 105 lines in 4 files changed: 78 ins; 18 del; 9 mod 7903748: jcstress: Test list should honor concurrency settings Reviewed-by: shade ------------- PR: https://git.openjdk.org/jcstress/pull/149