RFR: 8281181: Do not use CPU Shares to compute active processor count [v2]

David Holmes dholmes at openjdk.java.net
Thu Mar 3 12:54:03 UTC 2022


On Thu, 3 Mar 2022 07:09:34 GMT, Ioi Lam <iklam at openjdk.org> wrote:

>> This is a simple change (Linux-only) that removes the consideration of Cgroups CPU Shares from the active process count calculation. Of note, this fixes CPU underutilization when Java is executed by Kubernetes without CPU resources limits. 
>> 
>> Please see the CSR [JDK-8281571](https://bugs.openjdk.java.net/browse/JDK-8281571) for a detailed discussion of the reasons to make this change.
>> 
>> To err on the side of caution, we added a temporary (and deprecated) VM flag `-XX:+UseContainerCpuShares` to enable the old behavior. We believe the old behavior is wrong and unnecessary. The plan is to remove the old behavior in JDK 20.
>> 
>> The associated flag, `PreferContainerQuotaForCPUCount` is also deprecated. Both flags will be obsoleted in JDK 20.
>> 
>> Testing with tiers 1-4, as well as container tests in tier5.
>
> Ioi Lam has updated the pull request incrementally with one additional commit since the last revision:
> 
>   @dholmes-ora comments

Updates look good.

Please file an issue to obsolete these flags in JDK 20 (they will be expired en-masse in JDK 21).

Thanks,
David

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

Marked as reviewed by dholmes (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/7666


More information about the hotspot-dev mailing list