--- old/src/java.base/linux/classes/jdk/internal/platform/cgroupv1/CgroupV1Subsystem.java 2020-02-11 18:27:59.978485881 +0100 +++ new/src/java.base/linux/classes/jdk/internal/platform/cgroupv1/CgroupV1Subsystem.java 2020-02-11 18:27:59.840485424 +0100 @@ -33,9 +33,9 @@ import jdk.internal.platform.CgroupSubsystem; import jdk.internal.platform.CgroupSubsystemController; import jdk.internal.platform.CgroupUtil; -import jdk.internal.platform.Metrics; +import jdk.internal.platform.MetricsCgroupV1; -public class CgroupV1Subsystem implements CgroupSubsystem { +public class CgroupV1Subsystem implements CgroupSubsystem, MetricsCgroupV1 { private CgroupV1MemorySubSystemController memory; private CgroupV1SubsystemController cpu; private CgroupV1SubsystemController cpuacct; @@ -265,7 +265,8 @@ String parm) { return CgroupSubsystemController.getLongValue(controller, parm, - CgroupV1SubsystemController::convertStringToLong); + CgroupV1SubsystemController::convertStringToLong, + CgroupSubsystem.LONG_RETVAL_UNLIMITED); } public String getProvider() { @@ -296,11 +297,11 @@ } public long getCpuUserUsage() { - return CgroupSubsystemController.getLongEntry(cpuacct, "cpuacct.stat", "user"); + return CgroupV1SubsystemController.getLongEntry(cpuacct, "cpuacct.stat", "user"); } public long getCpuSystemUsage() { - return CgroupSubsystemController.getLongEntry(cpuacct, "cpuacct.stat", "system"); + return CgroupV1SubsystemController.getLongEntry(cpuacct, "cpuacct.stat", "system"); } @@ -320,21 +321,21 @@ public long getCpuShares() { long retval = getLongValue(cpu, "cpu.shares"); if (retval == 0 || retval == 1024) - return Metrics.LONG_RETVAL_UNLIMITED; + return CgroupSubsystem.LONG_RETVAL_UNLIMITED; else return retval; } public long getCpuNumPeriods() { - return CgroupSubsystemController.getLongEntry(cpu, "cpu.stat", "nr_periods"); + return CgroupV1SubsystemController.getLongEntry(cpu, "cpu.stat", "nr_periods"); } public long getCpuNumThrottled() { - return CgroupSubsystemController.getLongEntry(cpu, "cpu.stat", "nr_throttled"); + return CgroupV1SubsystemController.getLongEntry(cpu, "cpu.stat", "nr_throttled"); } public long getCpuThrottledTime() { - return CgroupSubsystemController.getLongEntry(cpu, "cpu.stat", "throttled_time"); + return CgroupV1SubsystemController.getLongEntry(cpu, "cpu.stat", "throttled_time"); } public long getEffectiveCpuCount() { @@ -363,7 +364,7 @@ } public double getCpuSetMemoryPressure() { - return CgroupSubsystemController.getDoubleValue(cpuset, "cpuset.memory_pressure"); + return CgroupV1SubsystemController.getDoubleValue(cpuset, "cpuset.memory_pressure"); } public Boolean isCpuSetMemoryPressureEnabled() { @@ -388,24 +389,14 @@ // memory.limit_in_bytes returned unlimited, attempt // hierarchical memory limit String match = "hierarchical_memory_limit"; - retval = CgroupSubsystemController.getLongValueMatchingLine(memory, + retval = CgroupV1SubsystemController.getLongValueMatchingLine(memory, "memory.stat", - match, - CgroupV1Subsystem::convertHierachicalLimitLine); + match); } } return CgroupV1SubsystemController.longValOrUnlimited(retval); } - public static long convertHierachicalLimitLine(String line) { - String[] tokens = line.split("\\s"); - if (tokens.length == 2) { - String strVal = tokens[1]; - return CgroupV1SubsystemController.convertStringToLong(strVal); - } - return CgroupV1SubsystemController.UNLIMITED_MIN + 1; // unlimited - } - public long getMemoryMaxUsage() { return getLongValue(memory, "memory.max_usage_in_bytes"); } @@ -457,10 +448,9 @@ // memory.memsw.limit_in_bytes returned unlimited, attempt // hierarchical memory limit String match = "hierarchical_memsw_limit"; - retval = CgroupSubsystemController.getLongValueMatchingLine(memory, + retval = CgroupV1SubsystemController.getLongValueMatchingLine(memory, "memory.stat", - match, - CgroupV1Subsystem::convertHierachicalLimitLine); + match); } } return CgroupV1SubsystemController.longValOrUnlimited(retval); @@ -475,7 +465,7 @@ } public Boolean isMemoryOOMKillEnabled() { - long val = CgroupSubsystemController.getLongEntry(memory, "memory.oom_control", "oom_kill_disable"); + long val = CgroupV1SubsystemController.getLongEntry(memory, "memory.oom_control", "oom_kill_disable"); return (val == 0); } @@ -490,11 +480,11 @@ public long getBlkIOServiceCount() { - return CgroupSubsystemController.getLongEntry(blkio, "blkio.throttle.io_service_bytes", "Total"); + return CgroupV1SubsystemController.getLongEntry(blkio, "blkio.throttle.io_service_bytes", "Total"); } public long getBlkIOServiced() { - return CgroupSubsystemController.getLongEntry(blkio, "blkio.throttle.io_serviced", "Total"); + return CgroupV1SubsystemController.getLongEntry(blkio, "blkio.throttle.io_serviced", "Total"); } }