Skip to content

Commit

Permalink
[PATCH] make noirqdebug/irqfixup __read_mostly, add (un)likely()
Browse files Browse the repository at this point in the history
Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Andreas Mohr authored and Linus Torvalds committed Jun 23, 2006
1 parent e602260 commit 83d4e6e
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
4 changes: 2 additions & 2 deletions arch/arm/kernel/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
*/
#define MAX_IRQ_CNT 100000

static int noirqdebug;
static int noirqdebug __read_mostly;
static volatile unsigned long irq_err_count;
static DEFINE_SPINLOCK(irq_controller_lock);
static LIST_HEAD(irq_pending);
Expand Down Expand Up @@ -81,7 +81,7 @@ irqreturn_t no_action(int irq, void *dev_id, struct pt_regs *regs)

void do_bad_IRQ(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs)
{
irq_err_count += 1;
irq_err_count++;
printk(KERN_ERR "IRQ: spurious interrupt %d\n", irq);
}

Expand Down
12 changes: 6 additions & 6 deletions kernel/irq/spurious.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include <linux/kallsyms.h>
#include <linux/interrupt.h>

static int irqfixup;
static int irqfixup __read_mostly;

/*
* Recovery handler for misrouted interrupts.
Expand Down Expand Up @@ -136,9 +136,9 @@ static void report_bad_irq(unsigned int irq, irq_desc_t *desc, irqreturn_t actio
void note_interrupt(unsigned int irq, irq_desc_t *desc, irqreturn_t action_ret,
struct pt_regs *regs)
{
if (action_ret != IRQ_HANDLED) {
if (unlikely(action_ret != IRQ_HANDLED)) {
desc->irqs_unhandled++;
if (action_ret != IRQ_NONE)
if (unlikely(action_ret != IRQ_NONE))
report_bad_irq(irq, desc, action_ret);
}

Expand All @@ -152,11 +152,11 @@ void note_interrupt(unsigned int irq, irq_desc_t *desc, irqreturn_t action_ret,
}

desc->irq_count++;
if (desc->irq_count < 100000)
if (likely(desc->irq_count < 100000))
return;

desc->irq_count = 0;
if (desc->irqs_unhandled > 99900) {
if (unlikely(desc->irqs_unhandled > 99900)) {
/*
* The interrupt is stuck
*/
Expand All @@ -171,7 +171,7 @@ void note_interrupt(unsigned int irq, irq_desc_t *desc, irqreturn_t action_ret,
desc->irqs_unhandled = 0;
}

int noirqdebug;
int noirqdebug __read_mostly;

int __init noirqdebug_setup(char *str)
{
Expand Down

0 comments on commit 83d4e6e

Please sign in to comment.