summaryrefslogtreecommitdiffstats
path: root/linux/LinuxProcessList.c
diff options
context:
space:
mode:
authorfraggerfox <santhosh.raju@gmail.com>2021-06-12 14:22:57 +0530
committerBenBE <BenBE@geshi.org>2021-06-26 12:18:37 +0200
commit3770769ed1b52052106274e3fe8c229b24b02553 (patch)
tree2743b6ecd4b40150886e49f24c6153aa6f941102 /linux/LinuxProcessList.c
parent2f5b3ef7337857e04cbb4287517fd51e58ee5beb (diff)
Replaces WRAP_SUBTRACT with saturatingSub inline function to reduce code duplication.
Diffstat (limited to 'linux/LinuxProcessList.c')
-rw-r--r--linux/LinuxProcessList.c26
1 files changed, 12 insertions, 14 deletions
diff --git a/linux/LinuxProcessList.c b/linux/LinuxProcessList.c
index 356bb759..7452c199 100644
--- a/linux/LinuxProcessList.c
+++ b/linux/LinuxProcessList.c
@@ -1811,20 +1811,18 @@ static inline double LinuxProcessList_scanCPUTime(ProcessList* super) {
// Since we do a subtraction (usertime - guest) and cputime64_to_clock_t()
// used in /proc/stat rounds down numbers, it can lead to a case where the
// integer overflow.
- #define WRAP_SUBTRACT(a,b) (((a) > (b)) ? (a) - (b) : 0)
- cpuData->userPeriod = WRAP_SUBTRACT(usertime, cpuData->userTime);
- cpuData->nicePeriod = WRAP_SUBTRACT(nicetime, cpuData->niceTime);
- cpuData->systemPeriod = WRAP_SUBTRACT(systemtime, cpuData->systemTime);
- cpuData->systemAllPeriod = WRAP_SUBTRACT(systemalltime, cpuData->systemAllTime);
- cpuData->idleAllPeriod = WRAP_SUBTRACT(idlealltime, cpuData->idleAllTime);
- cpuData->idlePeriod = WRAP_SUBTRACT(idletime, cpuData->idleTime);
- cpuData->ioWaitPeriod = WRAP_SUBTRACT(ioWait, cpuData->ioWaitTime);
- cpuData->irqPeriod = WRAP_SUBTRACT(irq, cpuData->irqTime);
- cpuData->softIrqPeriod = WRAP_SUBTRACT(softIrq, cpuData->softIrqTime);
- cpuData->stealPeriod = WRAP_SUBTRACT(steal, cpuData->stealTime);
- cpuData->guestPeriod = WRAP_SUBTRACT(virtalltime, cpuData->guestTime);
- cpuData->totalPeriod = WRAP_SUBTRACT(totaltime, cpuData->totalTime);
- #undef WRAP_SUBTRACT
+ cpuData->userPeriod = saturatingSub(usertime, cpuData->userTime);
+ cpuData->nicePeriod = saturatingSub(nicetime, cpuData->niceTime);
+ cpuData->systemPeriod = saturatingSub(systemtime, cpuData->systemTime);
+ cpuData->systemAllPeriod = saturatingSub(systemalltime, cpuData->systemAllTime);
+ cpuData->idleAllPeriod = saturatingSub(idlealltime, cpuData->idleAllTime);
+ cpuData->idlePeriod = saturatingSub(idletime, cpuData->idleTime);
+ cpuData->ioWaitPeriod = saturatingSub(ioWait, cpuData->ioWaitTime);
+ cpuData->irqPeriod = saturatingSub(irq, cpuData->irqTime);
+ cpuData->softIrqPeriod = saturatingSub(softIrq, cpuData->softIrqTime);
+ cpuData->stealPeriod = saturatingSub(steal, cpuData->stealTime);
+ cpuData->guestPeriod = saturatingSub(virtalltime, cpuData->guestTime);
+ cpuData->totalPeriod = saturatingSub(totaltime, cpuData->totalTime);
cpuData->userTime = usertime;
cpuData->niceTime = nicetime;
cpuData->systemTime = systemtime;

© 2014-2024 Faster IT GmbH | imprint | privacy policy