linux-bk/include/linux/kernel_stat.h
<<
>>
Prefs
   1#ifndef _LINUX_KERNEL_STAT_H
   2#define _LINUX_KERNEL_STAT_H
   3
   4#include <linux/config.h>
   5#include <asm/irq.h>
   6#include <linux/smp.h>
   7#include <linux/threads.h>
   8#include <linux/percpu.h>
   9
  10/*
  11 * 'kernel_stat.h' contains the definitions needed for doing
  12 * some kernel statistics (CPU usage, context switches ...),
  13 * used by rstatd/perfmeter
  14 */
  15
  16struct cpu_usage_stat {
  17        u64 user;
  18        u64 nice;
  19        u64 system;
  20        u64 softirq;
  21        u64 irq;
  22        u64 idle;
  23        u64 iowait;
  24};
  25
  26struct kernel_stat {
  27        struct cpu_usage_stat   cpustat;
  28        unsigned int irqs[NR_IRQS];
  29};
  30
  31DECLARE_PER_CPU(struct kernel_stat, kstat);
  32
  33#define kstat_cpu(cpu)  per_cpu(kstat, cpu)
  34/* Must have preemption disabled for this to be meaningful. */
  35#define kstat_this_cpu  __get_cpu_var(kstat)
  36
  37extern unsigned long long nr_context_switches(void);
  38
  39/*
  40 * Number of interrupts per specific IRQ source, since bootup
  41 */
  42static inline int kstat_irqs(int irq)
  43{
  44        int i, sum=0;
  45
  46        for (i = 0; i < NR_CPUS; i++)
  47                if (cpu_possible(i))
  48                        sum += kstat_cpu(i).irqs[irq];
  49
  50        return sum;
  51}
  52
  53#endif /* _LINUX_KERNEL_STAT_H */
  54
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.