RFR: 8307766: Linux: Provide the option to override the timer slack [v5]
David Holmes
dholmes at openjdk.org
Thu Jun 29 00:57:14 UTC 2023
On Wed, 28 Jun 2023 17:27:27 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> See the description in the RFE.
>>
>> On `c6.8xlarge`, the sleep accuracy is improved the following way:
>>
>>
>> % CONF=linux-x86_64-server-release make test TEST=micro:ThreadSleep.millisNanos
>>
>> Benchmark (sleep) Mode Cnt Score Error Units
>>
>> # Default
>> ThreadSleep.millisNanos 0 avgt 15 473.727 ± 3.542 ns/op
>> ThreadSleep.millisNanos 1 avgt 15 585.868 ± 2.010 ns/op
>> ThreadSleep.millisNanos 10 avgt 15 583.475 ± 1.426 ns/op
>> ThreadSleep.millisNanos 100 avgt 15 57833.073 ± 146.406 ns/op
>> ThreadSleep.millisNanos 1000 avgt 15 59324.901 ± 620.924 ns/op
>> ThreadSleep.millisNanos 10000 avgt 15 68071.990 ± 537.880 ns/op
>> ThreadSleep.millisNanos 100000 avgt 15 158069.170 ± 329.991 ns/op
>> ThreadSleep.millisNanos 1000000 avgt 15 1059044.770 ± 370.982 ns/op
>> ThreadSleep.millisNanos 10000000 avgt 15 10060017.354 ± 399.309 ns/op
>> ThreadSleep.millisNanos 100000000 avgt 15 100062969.073 ± 2399.053 ns/op
>> ThreadSleep.millisNanos 1000000000 avgt 15 1000068474.467 ± 2669.980 ns/op
>>
>> # -XX:TimerSlack=1
>> ThreadSleep.millisNanos 0 avgt 15 469.632 ± 1.500 ns/op
>> ThreadSleep.millisNanos 1 avgt 15 587.562 ± 8.966 ns/op
>> ThreadSleep.millisNanos 10 avgt 15 584.241 ± 1.997 ns/op
>> ThreadSleep.millisNanos 100 avgt 15 7907.160 ± 12.476 ns/op
>> ThreadSleep.millisNanos 1000 avgt 15 7913.984 ± 56.996 ns/op
>> ThreadSleep.millisNanos 10000 avgt 15 17929.107 ± 432.083 ns/op
>> ThreadSleep.millisNanos 100000 avgt 15 108154.851 ± 403.717 ns/op
>> ThreadSleep.millisNanos 1000000 avgt 15 1008854.095 ± 418.444 ns/op
>> ThreadSleep.millisNanos 10000000 avgt 15 10009902.829 ± 279.617 ns/op
>> ThreadSleep.millisNanos 100000000 avgt 15 100014000.020 ± 2143.820 ns/op
>> ThreadSleep.millisNanos 1000000000 avgt 15 1000020734.333 ± 4846.754 ns/op
>
> Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:
>
> - Merge branch 'master' into JDK-8307766-linux-timer-slack
> - Touchup comment again
> - Touch-up the comment
> - Review comments
> - Merge branch 'master' into JDK-8307766-linux-timer-slack
> - Fix
As this is experimental and seems non-intrusive I can approve it. But how will this be tested? Can we at least sanity check setting it and reading back the value we set?
Thanks.
-------------
PR Review: https://git.openjdk.org/jdk/pull/13889#pullrequestreview-1504416545
More information about the hotspot-runtime-dev
mailing list