@@ -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]);
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(-)