[PATCH v2 11/12] proc/stat: Use unsigned long for "softirq" sum

Alexei Lozovsky
2021-09-15T17:59:32Z

Similarly to "intr" sum value, "softirq" sum is computed by adding up
unsigned long counters for each CPU returned by kstat_softirqs_cpu().
To preserve monotonicity, use the same integer type so that the sum
wraps around consistently. And just like before, this value does not
need to be explicitly casted into unsigned long long for display.

Signed-off-by: Alexei Lozovsky <me@ilammy.net>
---
fs/proc/stat.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/proc/stat.c b/fs/proc/stat.c
index 3741d671ab0a..4c6122453946 100644
--- a/fs/proc/stat.c
+++ b/fs/proc/stat.c
@@ -111,8 +111,8 @@ static int show_stat(struct seq_file *p, void *v)
u64 user, nice, system, idle, iowait, irq, softirq, steal;
u64 guest, guest_nice;
unsigned long sum = 0;
- u64 sum_softirq = 0;
- unsigned int per_softirq_sums[NR_SOFTIRQS] = {0};
+ unsigned long sum_softirq = 0;
+ unsigned long per_softirq_sums[NR_SOFTIRQS] = {0};
struct timespec64 boottime;

user = nice = system = idle = iowait =
@@ -208,7 +208,7 @@ static int show_stat(struct seq_file *p, void *v)
nr_running(),
nr_iowait());

- seq_put_decimal_ull(p, "softirq ", (unsigned long long)sum_softirq);
+ seq_put_decimal_ull(p, "softirq ", sum_softirq);

for (i = 0; i < NR_SOFTIRQS; i++)
seq_put_decimal_ull(p, " ", per_softirq_sums[i]);
--
2.25.1