Blame view
fs/proc/softirqs.c
993 Bytes
d3d64df21 proc: export stat... |
1 2 3 4 5 6 7 8 9 10 11 |
#include <linux/init.h> #include <linux/kernel_stat.h> #include <linux/proc_fs.h> #include <linux/seq_file.h> /* * /proc/softirqs ... display the number of softirqs */ static int show_softirqs(struct seq_file *p, void *v) { int i, j; |
9d6de12f7 proc: use seq_put... |
12 |
seq_puts(p, " "); |
d3d64df21 proc: export stat... |
13 14 |
for_each_possible_cpu(i) seq_printf(p, "CPU%-8d", i); |
9d6de12f7 proc: use seq_put... |
15 16 |
seq_putc(p, ' '); |
d3d64df21 proc: export stat... |
17 18 |
for (i = 0; i < NR_SOFTIRQS; i++) { |
19cd56c48 procfs: fix /proc... |
19 |
seq_printf(p, "%12s:", softirq_to_name[i]); |
d3d64df21 proc: export stat... |
20 21 |
for_each_possible_cpu(j) seq_printf(p, " %10u", kstat_softirqs_cpu(i, j)); |
9d6de12f7 proc: use seq_put... |
22 23 |
seq_putc(p, ' '); |
d3d64df21 proc: export stat... |
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
} return 0; } static int softirqs_open(struct inode *inode, struct file *file) { return single_open(file, show_softirqs, NULL); } static const struct file_operations proc_softirqs_operations = { .open = softirqs_open, .read = seq_read, .llseek = seq_lseek, .release = single_release, }; static int __init proc_softirqs_init(void) { proc_create("softirqs", 0, NULL, &proc_softirqs_operations); return 0; } module_init(proc_softirqs_init); |