* [PATCH 2/2] rt/threadirqs: remove pointless irq disabling on irq thread handlers
@ 2009-02-12 22:33 Frederic Weisbecker
0 siblings, 0 replies; only message in thread
From: Frederic Weisbecker @ 2009-02-12 22:33 UTC (permalink / raw)
To: Steven Rostedt; +Cc: linux-kernel
The handlers called by the irq thread lock the desc->lock by
using spin_lock_irq.
But at this stage, the irqs are already disabled at the end
of both handle_IRQ_event() processing and cond_resched_hardirq_context().
A single spin_lock is sufficient.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
---
kernel/irq/manage.c | 8 +++-----
1 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 6e9baf8..8e963a9 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -802,7 +802,7 @@ static void thread_simple_irq(irq_desc_t *desc)
spin_unlock(&desc->lock);
action_ret = handle_IRQ_event(irq, action);
cond_resched_hardirq_context();
- spin_lock_irq(&desc->lock);
+ spin_lock(&desc->lock);
if (!noirqdebug)
note_interrupt(irq, desc, action_ret);
} while (desc->status & IRQ_PENDING);
@@ -863,7 +863,7 @@ static void thread_edge_irq(irq_desc_t *desc)
spin_unlock(&desc->lock);
action_ret = handle_IRQ_event(irq, action);
cond_resched_hardirq_context();
- spin_lock_irq(&desc->lock);
+ spin_lock(&desc->lock);
if (!noirqdebug)
note_interrupt(irq, desc, action_ret);
} while ((desc->status & IRQ_PENDING) && !desc->depth);
@@ -892,7 +892,7 @@ static void thread_do_irq(irq_desc_t *desc)
spin_unlock(&desc->lock);
action_ret = handle_IRQ_event(irq, action);
cond_resched_hardirq_context();
- spin_lock_irq(&desc->lock);
+ spin_lock(&desc->lock);
if (!noirqdebug)
note_interrupt(irq, desc, action_ret);
} while ((desc->status & IRQ_PENDING) && !desc->depth);
@@ -903,8 +903,6 @@ static void thread_do_irq(irq_desc_t *desc)
static void do_hardirq(struct irq_desc *desc)
{
- unsigned long flags;
-
spin_lock(&desc->lock);
if (!(desc->status & IRQ_INPROGRESS))
--
1.6.1
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2009-02-12 23:18 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-12 22:33 [PATCH 2/2] rt/threadirqs: remove pointless irq disabling on irq thread handlers Frederic Weisbecker
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.