diff options
Diffstat (limited to 'fs/proc')
-rw-r--r-- | fs/proc/stat.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/fs/proc/stat.c b/fs/proc/stat.c index 81904f07679d..3bb1cf1e7425 100644 --- a/fs/proc/stat.c +++ b/fs/proc/stat.c | |||
@@ -44,10 +44,13 @@ static int show_stat(struct seq_file *p, void *v) | |||
44 | softirq = cputime64_add(softirq, kstat_cpu(i).cpustat.softirq); | 44 | softirq = cputime64_add(softirq, kstat_cpu(i).cpustat.softirq); |
45 | steal = cputime64_add(steal, kstat_cpu(i).cpustat.steal); | 45 | steal = cputime64_add(steal, kstat_cpu(i).cpustat.steal); |
46 | guest = cputime64_add(guest, kstat_cpu(i).cpustat.guest); | 46 | guest = cputime64_add(guest, kstat_cpu(i).cpustat.guest); |
47 | 47 | for_each_irq_nr(j) { | |
48 | for_each_irq_nr(j) | 48 | #ifdef CONFIG_SPARSE_IRQ |
49 | if (!irq_to_desc(j)) | ||
50 | continue; | ||
51 | #endif | ||
49 | sum += kstat_irqs_cpu(j, i); | 52 | sum += kstat_irqs_cpu(j, i); |
50 | 53 | } | |
51 | sum += arch_irq_stat_cpu(i); | 54 | sum += arch_irq_stat_cpu(i); |
52 | } | 55 | } |
53 | sum += arch_irq_stat(); | 56 | sum += arch_irq_stat(); |
@@ -92,7 +95,12 @@ static int show_stat(struct seq_file *p, void *v) | |||
92 | /* sum again ? it could be updated? */ | 95 | /* sum again ? it could be updated? */ |
93 | for_each_irq_nr(j) { | 96 | for_each_irq_nr(j) { |
94 | per_irq_sum = 0; | 97 | per_irq_sum = 0; |
95 | 98 | #ifdef CONFIG_SPARSE_IRQ | |
99 | if (!irq_to_desc(j)) { | ||
100 | seq_printf(p, " %u", per_irq_sum); | ||
101 | continue; | ||
102 | } | ||
103 | #endif | ||
96 | for_each_possible_cpu(i) | 104 | for_each_possible_cpu(i) |
97 | per_irq_sum += kstat_irqs_cpu(j, i); | 105 | per_irq_sum += kstat_irqs_cpu(j, i); |
98 | 106 | ||