On Thu, Jan 10, 2019 at 07:24:01PM +0800, Tan Hu wrote: > @@ -12,13 +12,13 @@ static int show_softirqs(struct seq_file *p, void *v) > int i, j; > > seq_puts(p, " "); > - for_each_possible_cpu(i) > + for_each_online_cpu(i) > seq_printf(p, "CPU%-8d", i); > seq_putc(p, '\n'); > > for (i = 0; i < NR_SOFTIRQS; i++) { > seq_printf(p, "%12s:", softirq_to_name[i]); > - for_each_possible_cpu(j) > + for_each_online_cpu(j) > seq_printf(p, " %10u", kstat_softirqs_cpu(i, j)); > seq_putc(p, '\n'); > } This should break userspace: https://sources.debian.org/src/netsniff-ng/0.6.5-1/ifpps.c/#L330 This code gets the number of "possible" CPUs from sysconf(3) and doesn't parse header to find out which CPUs are online.