hardirq.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * Copyright 2010 Tilera Corporation. All Rights Reserved.
  3. *
  4. * This program is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU General Public License
  6. * as published by the Free Software Foundation, version 2.
  7. *
  8. * This program is distributed in the hope that it will be useful, but
  9. * WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
  11. * NON INFRINGEMENT. See the GNU General Public License for
  12. * more details.
  13. */
  14. #ifndef _ASM_TILE_HARDIRQ_H
  15. #define _ASM_TILE_HARDIRQ_H
  16. #include <linux/threads.h>
  17. #include <linux/cache.h>
  18. #include <asm/irq.h>
  19. typedef struct {
  20. unsigned int __softirq_pending;
  21. long idle_timestamp;
  22. /* Hard interrupt statistics. */
  23. unsigned int irq_timer_count;
  24. unsigned int irq_syscall_count;
  25. unsigned int irq_resched_count;
  26. unsigned int irq_hv_flush_count;
  27. unsigned int irq_call_count;
  28. unsigned int irq_hv_msg_count;
  29. unsigned int irq_dev_intr_count;
  30. } ____cacheline_aligned irq_cpustat_t;
  31. DECLARE_PER_CPU(irq_cpustat_t, irq_stat);
  32. #define __ARCH_IRQ_STAT
  33. #define __IRQ_STAT(cpu, member) (per_cpu(irq_stat, cpu).member)
  34. #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
  35. #endif /* _ASM_TILE_HARDIRQ_H */