summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gc/unix/cgroup.cpp15
-rw-r--r--src/pal/src/misc/cgroup.cpp13
2 files changed, 7 insertions, 21 deletions
diff --git a/src/gc/unix/cgroup.cpp b/src/gc/unix/cgroup.cpp
index 10b9b869ca..f81f14deb4 100644
--- a/src/gc/unix/cgroup.cpp
+++ b/src/gc/unix/cgroup.cpp
@@ -118,17 +118,10 @@ public:
*val = 1;
return true;
}
-
- cpu_count = (double) quota / period;
- if (cpu_count < UINT32_MAX - 1)
- {
- // round up
- *val = (uint32_t)(cpu_count + 0.999999999);
- }
- else
- {
- *val = UINT32_MAX;
- }
+
+ // Calculate cpu count based on quota and round it up
+ cpu_count = (double) quota / period + 0.999999999;
+ *val = (cpu_count < UINT32_MAX) ? (uint32_t)cpu_count : UINT32_MAX;
return true;
}
diff --git a/src/pal/src/misc/cgroup.cpp b/src/pal/src/misc/cgroup.cpp
index 97b2cb287c..2018df4eda 100644
--- a/src/pal/src/misc/cgroup.cpp
+++ b/src/pal/src/misc/cgroup.cpp
@@ -107,16 +107,9 @@ public:
return true;
}
- cpu_count = (double) quota / period;
- if (cpu_count < UINT_MAX - 1)
- {
- // round up
- *val = (UINT)(cpu_count + 0.999999999);
- }
- else
- {
- *val = UINT_MAX;
- }
+ // Calculate cpu count based on quota and round it up
+ cpu_count = (double) quota / period + 0.999999999;
+ *val = (cpu_count < UINT_MAX) ? (UINT)cpu_count : UINT_MAX;
return true;
}