diff options
author | fraggerfox <santhosh.raju@gmail.com> | 2021-06-12 14:22:57 +0530 |
---|---|---|
committer | BenBE <BenBE@geshi.org> | 2021-06-26 12:18:37 +0200 |
commit | 3770769ed1b52052106274e3fe8c229b24b02553 (patch) | |
tree | 2743b6ecd4b40150886e49f24c6153aa6f941102 /linux | |
parent | 2f5b3ef7337857e04cbb4287517fd51e58ee5beb (diff) |
Replaces WRAP_SUBTRACT with saturatingSub inline function to reduce code duplication.
Diffstat (limited to 'linux')
-rw-r--r-- | linux/LinuxProcessList.c | 26 |
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; |