RFR: 8316180: Thread-local backoff for secondary_super_cache updates [v5]

Vladimir Ivanov vlivanov at openjdk.org
Wed Sep 27 16:45:10 UTC 2023


On Wed, 27 Sep 2023 16:20:50 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> src/hotspot/share/runtime/globals.hpp line 2003:
>> 
>>> 2001:           range(0, UINT_MAX)                                                \
>>> 2002:                                                                             \
>>> 2003:   product(uint, SecondarySuperMissBackoff, 1000, EXPERIMENTAL,              \
>> 
>> Should it be marked DIAGNOSTIC instead? The functionality is turned on by default. It it were 0 by default, EXPERIMENTAL would have been well-justified.
>
> I don't think the discriminating factor for calling an option "diagnostic" or "experimental" is its default value. Rather it is its target use.
> 
> As per `globals.hpp`:
> 
> 
> // DIAGNOSTIC options are not meant for VM tuning or for product modes.
> //    They are to be used for VM quality assurance or field diagnosis
> //    of VM bugs.
> 
> // EXPERIMENTAL flags are in support of features that may not be
> //    an officially supported part of a product, but may be available
> //    for experimenting with. They could, for example, be performance
> //    features that may not have undergone full or rigorous QA, but which may
> //    help performance in some cases and released for experimentation
> //    by the community of users and developers. 
> 
> 
> ...and this one is obviously the experimental performance feature.

I referred to default value because in your particular case it controls whether the feature is turned on or off. Calling a feature experimental when it is unconditionally turned on in product builds looks a bit weird, doesn't it?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/15718#discussion_r1338903230


More information about the hotspot-dev mailing list