-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
parisc: more irq statistics in /proc/interrupts
Add framework and initial values for more fine grained statistics in /proc/interrupts. Signed-off-by: Helge Deller <deller@gmx.de>
- Loading branch information
Helge Deller
committed
May 7, 2013
1 parent
200c880
commit cd85d55
Showing
5 changed files
with
86 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,45 @@ | ||
/* hardirq.h: PA-RISC hard IRQ support. | ||
* | ||
* Copyright (C) 2001 Matthew Wilcox <matthew@wil.cx> | ||
* Copyright (C) 2013 Helge Deller <deller@gmx.de> | ||
*/ | ||
|
||
#ifndef _PARISC_HARDIRQ_H | ||
#define _PARISC_HARDIRQ_H | ||
|
||
#include <asm-generic/hardirq.h> | ||
#include <linux/cache.h> | ||
#include <linux/threads.h> | ||
#include <linux/irq.h> | ||
|
||
typedef struct { | ||
unsigned int __softirq_pending; | ||
#ifdef CONFIG_DEBUG_STACKOVERFLOW | ||
unsigned int kernel_stack_usage; | ||
#endif | ||
#ifdef CONFIG_SMP | ||
unsigned int irq_resched_count; | ||
unsigned int irq_call_count; | ||
/* | ||
* irq_tlb_count is double-counted in irq_call_count, so it must be | ||
* subtracted from irq_call_count when displaying irq_call_count | ||
*/ | ||
unsigned int irq_tlb_count; | ||
#endif | ||
} ____cacheline_aligned irq_cpustat_t; | ||
|
||
DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat); | ||
|
||
#define __ARCH_IRQ_STAT | ||
#define __IRQ_STAT(cpu, member) (irq_stat[cpu].member) | ||
#define inc_irq_stat(member) this_cpu_inc(irq_stat.member) | ||
#define local_softirq_pending() this_cpu_read(irq_stat.__softirq_pending) | ||
|
||
#define __ARCH_SET_SOFTIRQ_PENDING | ||
|
||
#define set_softirq_pending(x) \ | ||
this_cpu_write(irq_stat.__softirq_pending, (x)) | ||
#define or_softirq_pending(x) this_cpu_or(irq_stat.__softirq_pending, (x)) | ||
|
||
#define ack_bad_irq(irq) WARN(1, "unexpected IRQ trap at vector %02x\n", irq) | ||
|
||
#endif /* _PARISC_HARDIRQ_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters