lkml.org 
[lkml]   [2003]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 4/4] Remove softirq_pending cpu arg.
Date
Every user of softirq_pending(cpu) could be using
local_softirq_pending, since it only really makes sense to ask about
your own softirq state (and that's what every user does). This also
makes the future per-cpu-ification of the irq_cpustat_t more efficient.

Name: Remove softirq_pending.
Author: Rusty Russell
Status: Tested on 2.5.74
Depends: Percpu/softirq_local.patch.gz

D: Every user of softirq_pending(cpu) could be using
D: local_softirq_pending, since it only really makes sense to ask
D: about your own softirq state (and that's what every user does).
D: This also makes the future per-cpu-ification of the irq_cpustat_t
D: more efficient.

diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/arch/cris/kernel/irq.c .15631-linux-2.5.74.updated/arch/cris/kernel/irq.c
--- .15631-linux-2.5.74/arch/cris/kernel/irq.c 2003-03-18 12:21:30.000000000 +1100
+++ .15631-linux-2.5.74.updated/arch/cris/kernel/irq.c 2003-07-03 16:24:21.000000000 +1000
@@ -284,7 +284,7 @@ asmlinkage void do_IRQ(int irq, struct p
}
irq_exit(cpu);

- if (softirq_pending(cpu))
+ if (local_softirq_pending())
do_softirq();

/* unmasking and bottom half handling is done magically for us. */
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/arch/mips/au1000/common/time.c .15631-linux-2.5.74.updated/arch/mips/au1000/common/time.c
--- .15631-linux-2.5.74/arch/mips/au1000/common/time.c 2003-07-03 09:43:41.000000000 +1000
+++ .15631-linux-2.5.74.updated/arch/mips/au1000/common/time.c 2003-07-03 16:24:21.000000000 +1000
@@ -102,7 +102,7 @@ void mips_timer_interrupt(struct pt_regs

irq_exit();

- if (softirq_pending(cpu))
+ if (local_softirq_pending())
do_softirq();
return;

diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/arch/mips/kernel/time.c .15631-linux-2.5.74.updated/arch/mips/kernel/time.c
--- .15631-linux-2.5.74/arch/mips/kernel/time.c 2003-07-03 09:43:42.000000000 +1000
+++ .15631-linux-2.5.74.updated/arch/mips/kernel/time.c 2003-07-03 16:24:21.000000000 +1000
@@ -441,7 +441,7 @@ asmlinkage void ll_timer_interrupt(int i

irq_exit();

- if (softirq_pending(cpu))
+ if (local_softirq_pending())
do_softirq();
}

@@ -457,7 +457,7 @@ asmlinkage void ll_local_timer_interrupt

irq_exit();

- if (softirq_pending(cpu))
+ if (local_softirq_pending())
do_softirq();
}

diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/arch/mips/mips-boards/sead/sead_time.c .15631-linux-2.5.74.updated/arch/mips/mips-boards/sead/sead_time.c
--- .15631-linux-2.5.74/arch/mips/mips-boards/sead/sead_time.c 2003-07-03 09:43:43.000000000 +1000
+++ .15631-linux-2.5.74.updated/arch/mips/mips-boards/sead/sead_time.c 2003-07-03 16:24:21.000000000 +1000
@@ -84,7 +84,7 @@ void mips_timer_interrupt(struct pt_regs
- r4k_cur) < 0x7fffffff);

irq_exit();
- if (softirq_pending(cpu))
+ if (local_softirq_pending())
do_softirq();
}

diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/arch/mips/sgi-ip22/ip22-time.c .15631-linux-2.5.74.updated/arch/mips/sgi-ip22/ip22-time.c
--- .15631-linux-2.5.74/arch/mips/sgi-ip22/ip22-time.c 2003-07-03 09:43:43.000000000 +1000
+++ .15631-linux-2.5.74.updated/arch/mips/sgi-ip22/ip22-time.c 2003-07-03 16:24:21.000000000 +1000
@@ -193,7 +193,7 @@ void indy_r4k_timer_interrupt(struct pt_
timer_interrupt(irq, NULL, regs);
irq_exit();

- if (softirq_pending(cpu))
+ if (local_softirq_pending())
do_softirq();
}

diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/arch/mips/sgi-ip27/ip27-timer.c .15631-linux-2.5.74.updated/arch/mips/sgi-ip27/ip27-timer.c
--- .15631-linux-2.5.74/arch/mips/sgi-ip27/ip27-timer.c 2003-07-03 09:43:43.000000000 +1000
+++ .15631-linux-2.5.74.updated/arch/mips/sgi-ip27/ip27-timer.c 2003-07-03 16:24:21.000000000 +1000
@@ -136,7 +136,7 @@ again:
write_sequnlock(&xtime_lock);
irq_exit();

- if (softirq_pending(cpu))
+ if (local_softirq_pending())
do_softirq();
}

diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/arch/mips64/kernel/time.c .15631-linux-2.5.74.updated/arch/mips64/kernel/time.c
--- .15631-linux-2.5.74/arch/mips64/kernel/time.c 2003-07-03 09:43:44.000000000 +1000
+++ .15631-linux-2.5.74.updated/arch/mips64/kernel/time.c 2003-07-03 16:24:21.000000000 +1000
@@ -441,7 +441,7 @@ asmlinkage void ll_timer_interrupt(int i

irq_exit();

- if (softirq_pending(cpu))
+ if (local_softirq_pending())
do_softirq();
}

@@ -457,7 +457,7 @@ asmlinkage void ll_local_timer_interrupt

irq_exit();

- if (softirq_pending(cpu))
+ if (local_softirq_pending())
do_softirq();
}

diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-alpha/hardirq.h .15631-linux-2.5.74.updated/include/asm-alpha/hardirq.h
--- .15631-linux-2.5.74/include/asm-alpha/hardirq.h 2003-05-27 15:02:19.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-alpha/hardirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -90,7 +90,7 @@ typedef struct {
do { \
preempt_count() -= IRQ_EXIT_OFFSET; \
if (!in_interrupt() && \
- softirq_pending(smp_processor_id())) \
+ local_softirq_pending()) \
do_softirq(); \
preempt_enable_no_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-arm/hardirq.h .15631-linux-2.5.74.updated/include/asm-arm/hardirq.h
--- .15631-linux-2.5.74/include/asm-arm/hardirq.h 2003-05-05 12:37:11.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-arm/hardirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -83,7 +83,7 @@ typedef struct {
#define irq_exit() \
do { \
preempt_count() -= IRQ_EXIT_OFFSET; \
- if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+ if (!in_interrupt() && local_softirq_pending()) \
__asm__("bl __do_softirq": : : "lr", "cc");/* out of line */\
preempt_enable_no_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-arm/mach/irq.h .15631-linux-2.5.74.updated/include/asm-arm/mach/irq.h
--- .15631-linux-2.5.74/include/asm-arm/mach/irq.h 2003-02-18 11:18:56.000000000 +1100
+++ .15631-linux-2.5.74.updated/include/asm-arm/mach/irq.h 2003-07-03 16:24:22.000000000 +1000
@@ -104,7 +104,7 @@ static inline void call_irq(struct pt_re
desc->handle(irq, desc, regs);
spin_unlock(&irq_controller_lock);

- if (softirq_pending(smp_processor_id()))
+ if (local_softirq_pending()
do_softirq();
}
#endif
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-arm26/hardirq.h .15631-linux-2.5.74.updated/include/asm-arm26/hardirq.h
--- .15631-linux-2.5.74/include/asm-arm26/hardirq.h 2003-06-15 11:30:06.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-arm26/hardirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -80,7 +80,7 @@ typedef struct {
#define irq_exit() \
do { \
preempt_count() -= HARDIRQ_OFFSET; \
- if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+ if (!in_interrupt() && local_softirq_pending()) \
__asm__("bl%? __do_softirq": : : "lr");/* out of line */\
preempt_enable_no_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-arm26/irqchip.h .15631-linux-2.5.74.updated/include/asm-arm26/irqchip.h
--- .15631-linux-2.5.74/include/asm-arm26/irqchip.h 2003-06-15 11:30:06.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-arm26/irqchip.h 2003-07-03 16:24:22.000000000 +1000
@@ -97,7 +97,7 @@ static inline void call_irq(struct pt_re
desc->handle(irq, desc, regs);
spin_unlock(&irq_controller_lock);

- if (softirq_pending(smp_processor_id()))
+ if (local_softirq_pending())
do_softirq();
}
#endif
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-arm26/softirq.h .15631-linux-2.5.74.updated/include/asm-arm26/softirq.h
--- .15631-linux-2.5.74/include/asm-arm26/softirq.h 2003-06-15 11:30:06.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-arm26/softirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -12,7 +12,7 @@
#define local_bh_enable() \
do { \
__local_bh_enable(); \
- if (unlikely(!in_interrupt() && softirq_pending(smp_processor_id()))) \
+ if (unlikely(!in_interrupt() && local_softirq_pending()) \
__asm__("bl%? __do_softirq": : : "lr");/* out of line */\
preempt_check_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-h8300/hardirq.h .15631-linux-2.5.74.updated/include/asm-h8300/hardirq.h
--- .15631-linux-2.5.74/include/asm-h8300/hardirq.h 2003-05-27 15:02:19.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-h8300/hardirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -91,7 +91,7 @@ typedef struct {
#define irq_exit() \
do { \
preempt_count() -= IRQ_EXIT_OFFSET; \
- if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+ if (!in_interrupt() && local_softirq_pending()) \
do_softirq(); \
preempt_enable_no_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-h8300/softirq.h .15631-linux-2.5.74.updated/include/asm-h8300/softirq.h
--- .15631-linux-2.5.74/include/asm-h8300/softirq.h 2003-04-20 18:05:12.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-h8300/softirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -12,7 +12,7 @@
#define local_bh_enable() \
do { \
__local_bh_enable(); \
- if (unlikely(!in_interrupt() && softirq_pending(smp_processor_id()))) \
+ if (unlikely(!in_interrupt() && local_softirq_pending())) \
do_softirq(); \
preempt_check_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-i386/hardirq.h .15631-linux-2.5.74.updated/include/asm-i386/hardirq.h
--- .15631-linux-2.5.74/include/asm-i386/hardirq.h 2003-07-03 16:24:19.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-i386/hardirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -86,7 +86,7 @@ typedef struct {
#define irq_exit() \
do { \
preempt_count() -= IRQ_EXIT_OFFSET; \
- if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+ if (!in_interrupt() && local_softirq_pending()) \
do_softirq(); \
preempt_enable_no_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-ia64/hardirq.h .15631-linux-2.5.74.updated/include/asm-ia64/hardirq.h
--- .15631-linux-2.5.74/include/asm-ia64/hardirq.h 2003-06-15 11:30:07.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-ia64/hardirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -19,7 +19,6 @@

#define __ARCH_IRQ_STAT 1

-#define softirq_pending(cpu) (cpu_data(cpu)->softirq_pending)
#define syscall_count(cpu) /* unused on IA-64 */
#define ksoftirqd_task(cpu) (cpu_data(cpu)->ksoftirqd)
#define nmi_count(cpu) 0
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-m68k/hardirq.h .15631-linux-2.5.74.updated/include/asm-m68k/hardirq.h
--- .15631-linux-2.5.74/include/asm-m68k/hardirq.h 2003-05-27 15:02:20.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-m68k/hardirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -83,7 +83,7 @@ typedef struct {
#define irq_exit() \
do { \
preempt_count() -= IRQ_EXIT_OFFSET; \
- if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+ if (!in_interrupt() && local_softirq_pending()) \
do_softirq(); \
preempt_enable_no_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-m68knommu/hardirq.h .15631-linux-2.5.74.updated/include/asm-m68knommu/hardirq.h
--- .15631-linux-2.5.74/include/asm-m68knommu/hardirq.h 2003-05-27 15:02:20.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-m68knommu/hardirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -89,7 +89,7 @@ typedef struct {
#define irq_exit() \
do { \
preempt_count() -= IRQ_EXIT_OFFSET; \
- if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+ if (!in_interrupt() && local_softirq_pending()) \
do_softirq(); \
preempt_enable_no_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-mips/hardirq.h .15631-linux-2.5.74.updated/include/asm-mips/hardirq.h
--- .15631-linux-2.5.74/include/asm-mips/hardirq.h 2003-07-03 09:43:56.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-mips/hardirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -91,7 +91,7 @@ typedef struct {
#define irq_exit() \
do { \
preempt_count() -= IRQ_EXIT_OFFSET; \
- if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+ if (!in_interrupt() && local_softirq_pending()) \
do_softirq(); \
preempt_enable_no_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-mips/softirq.h .15631-linux-2.5.74.updated/include/asm-mips/softirq.h
--- .15631-linux-2.5.74/include/asm-mips/softirq.h 2003-07-03 09:43:57.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-mips/softirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -12,7 +12,7 @@
#define local_bh_enable() \
do { \
__local_bh_enable(); \
- if (unlikely(!in_interrupt() && softirq_pending(smp_processor_id()))) \
+ if (unlikely(!in_interrupt() && local_softirq_pending())) \
do_softirq(); \
preempt_check_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-mips64/hardirq.h .15631-linux-2.5.74.updated/include/asm-mips64/hardirq.h
--- .15631-linux-2.5.74/include/asm-mips64/hardirq.h 2003-07-03 09:43:58.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-mips64/hardirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -91,7 +91,7 @@ typedef struct {
#define irq_exit() \
do { \
preempt_count() -= IRQ_EXIT_OFFSET; \
- if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+ if (!in_interrupt() && local_softirq_pending()) \
do_softirq(); \
preempt_enable_no_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-mips64/softirq.h .15631-linux-2.5.74.updated/include/asm-mips64/softirq.h
--- .15631-linux-2.5.74/include/asm-mips64/softirq.h 2003-07-03 09:43:58.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-mips64/softirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -12,7 +12,7 @@
#define local_bh_enable() \
do { \
__local_bh_enable(); \
- if (unlikely(!in_interrupt() && softirq_pending(smp_processor_id()))) \
+ if (unlikely(!in_interrupt() && local_softirq_pending())) \
do_softirq(); \
preempt_check_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-parisc/hardirq.h .15631-linux-2.5.74.updated/include/asm-parisc/hardirq.h
--- .15631-linux-2.5.74/include/asm-parisc/hardirq.h 2003-05-27 15:02:20.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-parisc/hardirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -99,7 +99,7 @@ typedef struct {
#define irq_exit() \
do { \
preempt_count() -= IRQ_EXIT_OFFSET; \
- if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+ if (!in_interrupt() && local_softirq_pending())) \
do_softirq(); \
preempt_enable_no_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-ppc/hardirq.h .15631-linux-2.5.74.updated/include/asm-ppc/hardirq.h
--- .15631-linux-2.5.74/include/asm-ppc/hardirq.h 2003-07-03 09:43:58.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-ppc/hardirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -93,7 +93,7 @@ typedef struct {
#define irq_exit() \
do { \
preempt_count() -= IRQ_EXIT_OFFSET; \
- if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+ if (!in_interrupt() && local_softirq_pending()) \
do_softirq(); \
preempt_enable_no_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-ppc64/hardirq.h .15631-linux-2.5.74.updated/include/asm-ppc64/hardirq.h
--- .15631-linux-2.5.74/include/asm-ppc64/hardirq.h 2003-02-25 10:11:06.000000000 +1100
+++ .15631-linux-2.5.74.updated/include/asm-ppc64/hardirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -92,7 +92,7 @@ typedef struct {
#define irq_exit() \
do { \
preempt_count() -= IRQ_EXIT_OFFSET; \
- if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+ if (!in_interrupt() && local_softirq_pending()) \
do_softirq(); \
preempt_enable_no_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-s390/hardirq.h .15631-linux-2.5.74.updated/include/asm-s390/hardirq.h
--- .15631-linux-2.5.74/include/asm-s390/hardirq.h 2003-07-03 09:43:58.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-s390/hardirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -93,7 +93,7 @@ extern void do_call_softirq(void);
#define irq_exit() \
do { \
preempt_count() -= IRQ_EXIT_OFFSET; \
- if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+ if (!in_interrupt() && local_softirq_pending()) \
/* Use the async. stack for softirq */ \
do_call_softirq(); \
preempt_enable_no_resched(); \
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-sparc/hardirq.h .15631-linux-2.5.74.updated/include/asm-sparc/hardirq.h
--- .15631-linux-2.5.74/include/asm-sparc/hardirq.h 2003-05-27 15:02:20.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-sparc/hardirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -99,7 +99,7 @@ typedef struct {
#define irq_exit() \
do { \
preempt_count() -= IRQ_EXIT_OFFSET; \
- if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+ if (!in_interrupt() && local_softirq_pending()) \
do_softirq(); \
preempt_enable_no_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-sparc64/hardirq.h .15631-linux-2.5.74.updated/include/asm-sparc64/hardirq.h
--- .15631-linux-2.5.74/include/asm-sparc64/hardirq.h 2003-05-27 15:02:20.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-sparc64/hardirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -94,7 +94,7 @@ typedef struct {
#define irq_exit() \
do { \
preempt_count() -= IRQ_EXIT_OFFSET; \
- if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+ if (!in_interrupt() && local_softirq_pending()) \
do_softirq(); \
preempt_enable_no_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-v850/hardirq.h .15631-linux-2.5.74.updated/include/asm-v850/hardirq.h
--- .15631-linux-2.5.74/include/asm-v850/hardirq.h 2003-06-23 10:52:57.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-v850/hardirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -83,7 +83,7 @@ typedef struct {
#define irq_exit() \
do { \
preempt_count() -= IRQ_EXIT_OFFSET; \
- if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+ if (!in_interrupt() && local_softirq_pending()) \
do_softirq(); \
preempt_enable_no_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/asm-x86_64/hardirq.h .15631-linux-2.5.74.updated/include/asm-x86_64/hardirq.h
--- .15631-linux-2.5.74/include/asm-x86_64/hardirq.h 2003-06-15 11:30:08.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/asm-x86_64/hardirq.h 2003-07-03 16:24:22.000000000 +1000
@@ -87,7 +87,7 @@
#define irq_exit() \
do { \
preempt_count() -= IRQ_EXIT_OFFSET; \
- if (!in_interrupt() && softirq_pending(smp_processor_id())) \
+ if (!in_interrupt() && local_softirq_pending()) \
do_softirq(); \
preempt_enable_no_resched(); \
} while (0)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/linux/irq_cpustat.h .15631-linux-2.5.74.updated/include/linux/irq_cpustat.h
--- .15631-linux-2.5.74/include/linux/irq_cpustat.h 2003-07-03 16:24:19.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/linux/irq_cpustat.h 2003-07-03 16:24:22.000000000 +1000
@@ -18,7 +19,6 @@
#endif

/* arch independent irq_stat fields */
-#define softirq_pending(cpu) __IRQ_STAT((cpu), __softirq_pending)
-#define local_softirq_pending() softirq_pending(smp_processor_id())
+#define local_softirq_pending() __IRQ_STAT(smp_processor_id(), __softirq_pending)

/* arch dependent irq_stat fields */
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .15631-linux-2.5.74/include/linux/netdevice.h .15631-linux-2.5.74.updated/include/linux/netdevice.h
--- .15631-linux-2.5.74/include/linux/netdevice.h 2003-07-03 16:24:19.000000000 +1000
+++ .15631-linux-2.5.74.updated/include/linux/netdevice.h 2003-07-03 16:24:22.000000000 +1000
@@ -648,7 +648,7 @@ extern int netdev_nit;
static inline int netif_rx_ni(struct sk_buff *skb)
{
int err = netif_rx(skb);
- if (softirq_pending(smp_processor_id()))
+ if (local_softirq_pending())
do_softirq();
return err;
}
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 13:46    [W:0.061 / U:0.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site