RFR: 8307766: Linux: Provide the option to override the timer slack
David Holmes
dholmes at openjdk.org
Mon May 22 01:17:48 UTC 2023
On Tue, 9 May 2023 15:36:11 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
src/hotspot/os/linux/globals_linux.hpp line 82:
> 80: "Write map file for Linux perf tool at exit") \
> 81: \
> 82: product(intx, TimerSlack, -1, EXPERIMENTAL, \
Why experimental? Is this not something that these users want to use in production?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13889#discussion_r1199866198
More information about the hotspot-runtime-dev
mailing list