LCOV - code coverage report
Current view: top level - fs/proc - softirqs.c (source / functions) Hit Total Coverage
Test: coverage.info Lines: 11 15 73.3 %
Date: 2014-02-18 Functions: 2 3 66.7 %
Branches: 6 6 100.0 %

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

Generated by: LCOV version 1.9