I sent this out long ago already, but it's still not in:
These days irq_exit does all softirq processing, so there's no need to
call do_softirq again in cris.
Also is there any chance you could switch cris to use the new
CONFIG_GENERIC_HARDIRQS code in 2.6.10-rc that would replace most of
arch/cris/kernel/irq.c with generic code from kernel/irq/* ?
--- 1.17/arch/cris/kernel/irq.c 2004-10-20 10:37:14 +02:00
+++ edited/arch/cris/kernel/irq.c 2004-11-14 11:39:14 +01:00
@@ -158,11 +158,6 @@ asmlinkage void do_IRQ(int irq, struct p
local_irq_disable();
}
irq_exit();
-
- if (softirq_pending(cpu))
- do_softirq();
-
- /* unmasking and bottom half handling is done magically for us. */
}
/* this function links in a handler into the chain of handlers for the
On Sun, Nov 14, 2004 at 11:43:28AM +0100, Christoph Hellwig wrote:
> I sent this out long ago already, but it's still not in:
>
> These days irq_exit does all softirq processing, so there's no need to
> call do_softirq again in cris.
>
> Also is there any chance you could switch cris to use the new
> CONFIG_GENERIC_HARDIRQS code in 2.6.10-rc that would replace most of
> arch/cris/kernel/irq.c with generic code from kernel/irq/* ?
ping? the broken code this patch removes really gets in the way of the
softirq_pending() removal I plan to submit soon..
--- 1.17/arch/cris/kernel/irq.c 2004-10-20 10:37:14 +02:00
+++ edited/arch/cris/kernel/irq.c 2004-11-14 11:39:14 +01:00
@@ -158,11 +158,6 @@ asmlinkage void do_IRQ(int irq, struct p
local_irq_disable();
}
irq_exit();
-
- if (softirq_pending(cpu))
- do_softirq();
-
- /* unmasking and bottom half handling is done magically for us. */
}
/* this function links in a handler into the chain of handlers for the
Go ahead and submit it. This was removed locally quite a while ago and I'm
rewriting the IRQ handling to use the new consolidate IRQ stuff in 2.6.10 as
I write this. So don't bother that your patch breaks CRIS in the current 2.6
tree.
/Mikael
-----Original Message-----
From: Christoph Hellwig [mailto:[email protected]]
Sent: Monday, January 03, 2005 2:28 PM
To: Mikael Starvik; [email protected]
Cc: [email protected]
Subject: Re: [PATCH] remove bogus double softirq processing in cris
On Sun, Nov 14, 2004 at 11:43:28AM +0100, Christoph Hellwig wrote:
> I sent this out long ago already, but it's still not in:
>
> These days irq_exit does all softirq processing, so there's no need to
> call do_softirq again in cris.
>
> Also is there any chance you could switch cris to use the new
> CONFIG_GENERIC_HARDIRQS code in 2.6.10-rc that would replace most of
> arch/cris/kernel/irq.c with generic code from kernel/irq/* ?
ping? the broken code this patch removes really gets in the way of the
softirq_pending() removal I plan to submit soon..
--- 1.17/arch/cris/kernel/irq.c 2004-10-20 10:37:14 +02:00
+++ edited/arch/cris/kernel/irq.c 2004-11-14 11:39:14 +01:00
@@ -158,11 +158,6 @@ asmlinkage void do_IRQ(int irq, struct p
local_irq_disable();
}
irq_exit();
-
- if (softirq_pending(cpu))
- do_softirq();
-
- /* unmasking and bottom half handling is done magically for us. */
}
/* this function links in a handler into the chain of handlers for the