[PATCH 1/2] rt/threadirqs: don't need to save irqs in do_hardirq()

From: Frederic Weisbecker
Date: Thu Feb 12 2009 - 18:17:56 EST


do_hardirq() has only one caller do_irqd() in a path where irq are already
disabled. So we don't need to save irqs while holding desc->lock

Replace spin_lock_irqsave by spin_lock.

Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
---
kernel/irq/manage.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index ed7c5e3..6e9baf8 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -905,7 +905,7 @@ static void do_hardirq(struct irq_desc *desc)
{
unsigned long flags;

- spin_lock_irqsave(&desc->lock, flags);
+ spin_lock(&desc->lock);

if (!(desc->status & IRQ_INPROGRESS))
goto out;
@@ -921,7 +921,7 @@ static void do_hardirq(struct irq_desc *desc)
else
thread_do_irq(desc);
out:
- spin_unlock_irqrestore(&desc->lock, flags);
+ spin_unlock(&desc->lock);

if (waitqueue_active(&desc->wait_for_handler))
wake_up(&desc->wait_for_handler);
--
1.6.1


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/