2004-11-14 10:43:37

by Christoph Hellwig

[permalink] [raw]
Subject: [PATCH] remove bogus double softirq processing in cris

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


2005-01-03 13:28:11

by Christoph Hellwig

[permalink] [raw]
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

2005-01-03 13:34:46

by Mikael Starvik

[permalink] [raw]
Subject: RE: [PATCH] remove bogus double softirq processing in cris

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