Merge pull request #5123 from vegansk/cpuload_overflow
Fix overflow when casting int64 to int in cpuload.nim
This commit is contained in:
commit
19edb206d9
1 changed files with 3 additions and 3 deletions
|
|
@ -45,12 +45,12 @@ proc advice*(s: var ThreadPoolState): ThreadPoolAdvice =
|
||||||
procKernelDiff = procKernel - s.prevProcKernel
|
procKernelDiff = procKernel - s.prevProcKernel
|
||||||
procUserDiff = procUser - s.prevProcUser
|
procUserDiff = procUser - s.prevProcUser
|
||||||
|
|
||||||
sysTotal = int(sysKernelDiff + sysUserDiff)
|
sysTotal = sysKernelDiff + sysUserDiff
|
||||||
procTotal = int(procKernelDiff + procUserDiff)
|
procTotal = procKernelDiff + procUserDiff
|
||||||
# total CPU usage < 85% --> create a new worker thread.
|
# total CPU usage < 85% --> create a new worker thread.
|
||||||
# Measurements show that 100% and often even 90% is not reached even
|
# Measurements show that 100% and often even 90% is not reached even
|
||||||
# if all my cores are busy.
|
# if all my cores are busy.
|
||||||
if sysTotal == 0 or procTotal / sysTotal < 0.85:
|
if sysTotal == 0 or procTotal.float / sysTotal.float < 0.85:
|
||||||
result = doCreateThread
|
result = doCreateThread
|
||||||
s.prevSysKernel = sysKernel
|
s.prevSysKernel = sysKernel
|
||||||
s.prevSysUser = sysUser
|
s.prevSysUser = sysUser
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue