path: root/include/linux/interrupt.h
diff options
authorCarlos R. Mafra <>2008-05-15 11:15:37 -0300
committerThomas Gleixner <>2008-05-25 07:43:15 +0200
commit962cf36c5bf6d2840b8d66ee9a606fae2f540bbd (patch)
tree263ead6b5224453e8c2a92f1ad9cd2091e003b68 /include/linux/interrupt.h
parent75d3bce2fc0a80f435fe12f2c9ed2632c8ac29e4 (diff)
Remove argument from open_softirq which is always NULL
As git-grep shows, open_softirq() is always called with the last argument being NULL block/blk-core.c: open_softirq(BLOCK_SOFTIRQ, blk_done_softirq, NULL); kernel/hrtimer.c: open_softirq(HRTIMER_SOFTIRQ, run_hrtimer_softirq, NULL); kernel/rcuclassic.c: open_softirq(RCU_SOFTIRQ, rcu_process_callbacks, NULL); kernel/rcupreempt.c: open_softirq(RCU_SOFTIRQ, rcu_process_callbacks, NULL); kernel/sched.c: open_softirq(SCHED_SOFTIRQ, run_rebalance_domains, NULL); kernel/softirq.c: open_softirq(TASKLET_SOFTIRQ, tasklet_action, NULL); kernel/softirq.c: open_softirq(HI_SOFTIRQ, tasklet_hi_action, NULL); kernel/timer.c: open_softirq(TIMER_SOFTIRQ, run_timer_softirq, NULL); net/core/dev.c: open_softirq(NET_TX_SOFTIRQ, net_tx_action, NULL); net/core/dev.c: open_softirq(NET_RX_SOFTIRQ, net_rx_action, NULL); This observation has already been made by Matthew Wilcox in June 2002 ( "I notice that none of the current softirq routines use the data element passed to them." and the situation hasn't changed since them. So it appears we can safely remove that extra argument to save 128 (54) bytes of kernel data (text). Signed-off-by: Carlos R. Mafra <> Signed-off-by: Ingo Molnar <> Signed-off-by: Thomas Gleixner <>
Diffstat (limited to 'include/linux/interrupt.h')
1 files changed, 1 insertions, 2 deletions
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index f1fc7470d26..a86186dd047 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -285,12 +285,11 @@ enum
struct softirq_action
void (*action)(struct softirq_action *);
- void *data;
asmlinkage void do_softirq(void);
asmlinkage void __do_softirq(void);
-extern void open_softirq(int nr, void (*action)(struct softirq_action*), void *data);
+extern void open_softirq(int nr, void (*action)(struct softirq_action *));
extern void softirq_init(void);
#define __raise_softirq_irqoff(nr) do { or_softirq_pending(1UL << (nr)); } while (0)
extern void raise_softirq_irqoff(unsigned int nr);