RFR: 8307766: Linux: Provide the option to override the timer slack [v9]
Aleksey Shipilev
shade at openjdk.org
Thu Jul 6 10:41:18 UTC 2023
On Wed, 5 Jul 2023 11:16:08 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 incrementally with one additional commit since the last revision:
>
> Completely disable the override/printout with -1; allow printouts with 0
RISC-V build failure looks like an infrastructure issue.
I re-tested current patch on `ThreadSleep` bench with various `TimerSlack` values, and they still make sense.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/13889#issuecomment-1623443067
More information about the hotspot-runtime-dev
mailing list