aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlos R. Mafra <crmafra2@gmail.com>2008-05-15 10:15:37 -0400
committerThomas Gleixner <tglx@linutronix.de>2008-05-25 01:43:15 -0400
commit962cf36c5bf6d2840b8d66ee9a606fae2f540bbd (patch)
tree263ead6b5224453e8c2a92f1ad9cd2091e003b68
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 (http://www.cs.helsinki.fi/linux/linux-kernel/2002-25/0687.html) "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 <crmafra@ift.unesp.br> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--block/blk-core.c2
-rw-r--r--include/linux/interrupt.h3
-rw-r--r--kernel/hrtimer.c2
-rw-r--r--kernel/rcuclassic.c2
-rw-r--r--kernel/rcupreempt.c2
-rw-r--r--kernel/sched.c2
-rw-r--r--kernel/softirq.c7
-rw-r--r--kernel/timer.c2
-rw-r--r--net/core/dev.c4
9 files changed, 12 insertions, 14 deletions
diff --git a/block/blk-core.c b/block/blk-core.c
index 6a9cc0d22a61..75fdc65136e8 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -2048,7 +2048,7 @@ int __init blk_dev_init(void)
2048 for_each_possible_cpu(i) 2048 for_each_possible_cpu(i)
2049 INIT_LIST_HEAD(&per_cpu(blk_cpu_done, i)); 2049 INIT_LIST_HEAD(&per_cpu(blk_cpu_done, i));
2050 2050
2051 open_softirq(BLOCK_SOFTIRQ, blk_done_softirq, NULL); 2051 open_softirq(BLOCK_SOFTIRQ, blk_done_softirq);
2052 register_hotcpu_notifier(&blk_cpu_notifier); 2052 register_hotcpu_notifier(&blk_cpu_notifier);
2053 2053
2054 return 0; 2054 return 0;
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index f1fc7470d26c..a86186dd0474 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -285,12 +285,11 @@ enum
285struct softirq_action 285struct softirq_action
286{ 286{
287 void (*action)(struct softirq_action *); 287 void (*action)(struct softirq_action *);
288 void *data;
289}; 288};
290 289
291asmlinkage void do_softirq(void); 290asmlinkage void do_softirq(void);
292asmlinkage void __do_softirq(void); 291asmlinkage void __do_softirq(void);
293extern void open_softirq(int nr, void (*action)(struct softirq_action*), void *data); 292extern void open_softirq(int nr, void (*action)(struct softirq_action *));
294extern void softirq_init(void); 293extern void softirq_init(void);
295#define __raise_softirq_irqoff(nr) do { or_softirq_pending(1UL << (nr)); } while (0) 294#define __raise_softirq_irqoff(nr) do { or_softirq_pending(1UL << (nr)); } while (0)
296extern void raise_softirq_irqoff(unsigned int nr); 295extern void raise_softirq_irqoff(unsigned int nr);
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c
index 421be5fe5cc7..861b4088092a 100644
--- a/kernel/hrtimer.c
+++ b/kernel/hrtimer.c
@@ -1669,7 +1669,7 @@ void __init hrtimers_init(void)
1669 (void *)(long)smp_processor_id()); 1669 (void *)(long)smp_processor_id());
1670 register_cpu_notifier(&hrtimers_nb); 1670 register_cpu_notifier(&hrtimers_nb);
1671#ifdef CONFIG_HIGH_RES_TIMERS 1671#ifdef CONFIG_HIGH_RES_TIMERS
1672 open_softirq(HRTIMER_SOFTIRQ, run_hrtimer_softirq, NULL); 1672 open_softirq(HRTIMER_SOFTIRQ, run_hrtimer_softirq);
1673#endif 1673#endif
1674} 1674}
1675 1675
diff --git a/kernel/rcuclassic.c b/kernel/rcuclassic.c
index f4ffbd0f306f..f6e01f3ae9c6 100644
--- a/kernel/rcuclassic.c
+++ b/kernel/rcuclassic.c
@@ -529,7 +529,7 @@ static void __cpuinit rcu_online_cpu(int cpu)
529 529
530 rcu_init_percpu_data(cpu, &rcu_ctrlblk, rdp); 530 rcu_init_percpu_data(cpu, &rcu_ctrlblk, rdp);
531 rcu_init_percpu_data(cpu, &rcu_bh_ctrlblk, bh_rdp); 531 rcu_init_percpu_data(cpu, &rcu_bh_ctrlblk, bh_rdp);
532 open_softirq(RCU_SOFTIRQ, rcu_process_callbacks, NULL); 532 open_softirq(RCU_SOFTIRQ, rcu_process_callbacks);
533} 533}
534 534
535static int __cpuinit rcu_cpu_notify(struct notifier_block *self, 535static int __cpuinit rcu_cpu_notify(struct notifier_block *self,
diff --git a/kernel/rcupreempt.c b/kernel/rcupreempt.c
index e1cdf196a515..9dd827db359f 100644
--- a/kernel/rcupreempt.c
+++ b/kernel/rcupreempt.c
@@ -1125,7 +1125,7 @@ void __init __rcu_init(void)
1125 for_each_online_cpu(cpu) 1125 for_each_online_cpu(cpu)
1126 rcu_cpu_notify(&rcu_nb, CPU_UP_PREPARE, (void *)(long) cpu); 1126 rcu_cpu_notify(&rcu_nb, CPU_UP_PREPARE, (void *)(long) cpu);
1127 1127
1128 open_softirq(RCU_SOFTIRQ, rcu_process_callbacks, NULL); 1128 open_softirq(RCU_SOFTIRQ, rcu_process_callbacks);
1129} 1129}
1130 1130
1131/* 1131/*
diff --git a/kernel/sched.c b/kernel/sched.c
index cfa222a91539..56ea3a203a5a 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -8154,7 +8154,7 @@ void __init sched_init(void)
8154#endif 8154#endif
8155 8155
8156#ifdef CONFIG_SMP 8156#ifdef CONFIG_SMP
8157 open_softirq(SCHED_SOFTIRQ, run_rebalance_domains, NULL); 8157 open_softirq(SCHED_SOFTIRQ, run_rebalance_domains);
8158#endif 8158#endif
8159 8159
8160#ifdef CONFIG_RT_MUTEXES 8160#ifdef CONFIG_RT_MUTEXES
diff --git a/kernel/softirq.c b/kernel/softirq.c
index 36e061740047..059256874e9b 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -347,9 +347,8 @@ void raise_softirq(unsigned int nr)
347 local_irq_restore(flags); 347 local_irq_restore(flags);
348} 348}
349 349
350void open_softirq(int nr, void (*action)(struct softirq_action*), void *data) 350void open_softirq(int nr, void (*action)(struct softirq_action *))
351{ 351{
352 softirq_vec[nr].data = data;
353 softirq_vec[nr].action = action; 352 softirq_vec[nr].action = action;
354} 353}
355 354
@@ -503,8 +502,8 @@ void __init softirq_init(void)
503 &per_cpu(tasklet_hi_vec, cpu).head; 502 &per_cpu(tasklet_hi_vec, cpu).head;
504 } 503 }
505 504
506 open_softirq(TASKLET_SOFTIRQ, tasklet_action, NULL); 505 open_softirq(TASKLET_SOFTIRQ, tasklet_action);
507 open_softirq(HI_SOFTIRQ, tasklet_hi_action, NULL); 506 open_softirq(HI_SOFTIRQ, tasklet_hi_action);
508} 507}
509 508
510static int ksoftirqd(void * __bind_cpu) 509static int ksoftirqd(void * __bind_cpu)
diff --git a/kernel/timer.c b/kernel/timer.c
index ceacc6626572..b4da888497fa 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -1502,7 +1502,7 @@ void __init init_timers(void)
1502 1502
1503 BUG_ON(err == NOTIFY_BAD); 1503 BUG_ON(err == NOTIFY_BAD);
1504 register_cpu_notifier(&timers_nb); 1504 register_cpu_notifier(&timers_nb);
1505 open_softirq(TIMER_SOFTIRQ, run_timer_softirq, NULL); 1505 open_softirq(TIMER_SOFTIRQ, run_timer_softirq);
1506} 1506}
1507 1507
1508/** 1508/**
diff --git a/net/core/dev.c b/net/core/dev.c
index 582963077877..cf0e16731dc7 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4563,8 +4563,8 @@ static int __init net_dev_init(void)
4563 4563
4564 dev_boot_phase = 0; 4564 dev_boot_phase = 0;
4565 4565
4566 open_softirq(NET_TX_SOFTIRQ, net_tx_action, NULL); 4566 open_softirq(NET_TX_SOFTIRQ, net_tx_action);
4567 open_softirq(NET_RX_SOFTIRQ, net_rx_action, NULL); 4567 open_softirq(NET_RX_SOFTIRQ, net_rx_action);
4568 4568
4569 hotcpu_notifier(dev_cpu_callback, 0); 4569 hotcpu_notifier(dev_cpu_callback, 0);
4570 dst_init(); 4570 dst_init();