diff options
Diffstat (limited to 'kernel/softirq.c')
| -rw-r--r-- | kernel/softirq.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/kernel/softirq.c b/kernel/softirq.c index 3d6833f125d3..be3d3514c325 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c | |||
| @@ -127,8 +127,7 @@ static inline void __local_bh_disable(unsigned long ip, unsigned int cnt) | |||
| 127 | 127 | ||
| 128 | void local_bh_disable(void) | 128 | void local_bh_disable(void) |
| 129 | { | 129 | { |
| 130 | __local_bh_disable((unsigned long)__builtin_return_address(0), | 130 | __local_bh_disable(_RET_IP_, SOFTIRQ_DISABLE_OFFSET); |
| 131 | SOFTIRQ_DISABLE_OFFSET); | ||
| 132 | } | 131 | } |
| 133 | 132 | ||
| 134 | EXPORT_SYMBOL(local_bh_disable); | 133 | EXPORT_SYMBOL(local_bh_disable); |
| @@ -139,7 +138,7 @@ static void __local_bh_enable(unsigned int cnt) | |||
| 139 | WARN_ON_ONCE(!irqs_disabled()); | 138 | WARN_ON_ONCE(!irqs_disabled()); |
| 140 | 139 | ||
| 141 | if (softirq_count() == cnt) | 140 | if (softirq_count() == cnt) |
| 142 | trace_softirqs_on((unsigned long)__builtin_return_address(0)); | 141 | trace_softirqs_on(_RET_IP_); |
| 143 | sub_preempt_count(cnt); | 142 | sub_preempt_count(cnt); |
| 144 | } | 143 | } |
| 145 | 144 | ||
| @@ -184,7 +183,7 @@ static inline void _local_bh_enable_ip(unsigned long ip) | |||
| 184 | 183 | ||
| 185 | void local_bh_enable(void) | 184 | void local_bh_enable(void) |
| 186 | { | 185 | { |
| 187 | _local_bh_enable_ip((unsigned long)__builtin_return_address(0)); | 186 | _local_bh_enable_ip(_RET_IP_); |
| 188 | } | 187 | } |
| 189 | EXPORT_SYMBOL(local_bh_enable); | 188 | EXPORT_SYMBOL(local_bh_enable); |
| 190 | 189 | ||
| @@ -229,8 +228,7 @@ asmlinkage void __do_softirq(void) | |||
| 229 | pending = local_softirq_pending(); | 228 | pending = local_softirq_pending(); |
| 230 | account_irq_enter_time(current); | 229 | account_irq_enter_time(current); |
| 231 | 230 | ||
| 232 | __local_bh_disable((unsigned long)__builtin_return_address(0), | 231 | __local_bh_disable(_RET_IP_, SOFTIRQ_OFFSET); |
| 233 | SOFTIRQ_OFFSET); | ||
| 234 | lockdep_softirq_enter(); | 232 | lockdep_softirq_enter(); |
| 235 | 233 | ||
| 236 | cpu = smp_processor_id(); | 234 | cpu = smp_processor_id(); |
| @@ -701,7 +699,7 @@ void send_remote_softirq(struct call_single_data *cp, int cpu, int softirq) | |||
| 701 | } | 699 | } |
| 702 | EXPORT_SYMBOL(send_remote_softirq); | 700 | EXPORT_SYMBOL(send_remote_softirq); |
| 703 | 701 | ||
| 704 | static int __cpuinit remote_softirq_cpu_notify(struct notifier_block *self, | 702 | static int remote_softirq_cpu_notify(struct notifier_block *self, |
| 705 | unsigned long action, void *hcpu) | 703 | unsigned long action, void *hcpu) |
| 706 | { | 704 | { |
| 707 | /* | 705 | /* |
| @@ -730,7 +728,7 @@ static int __cpuinit remote_softirq_cpu_notify(struct notifier_block *self, | |||
| 730 | return NOTIFY_OK; | 728 | return NOTIFY_OK; |
| 731 | } | 729 | } |
| 732 | 730 | ||
| 733 | static struct notifier_block __cpuinitdata remote_softirq_cpu_notifier = { | 731 | static struct notifier_block remote_softirq_cpu_notifier = { |
| 734 | .notifier_call = remote_softirq_cpu_notify, | 732 | .notifier_call = remote_softirq_cpu_notify, |
| 735 | }; | 733 | }; |
| 736 | 734 | ||
| @@ -832,7 +830,7 @@ static void takeover_tasklets(unsigned int cpu) | |||
| 832 | } | 830 | } |
| 833 | #endif /* CONFIG_HOTPLUG_CPU */ | 831 | #endif /* CONFIG_HOTPLUG_CPU */ |
| 834 | 832 | ||
| 835 | static int __cpuinit cpu_callback(struct notifier_block *nfb, | 833 | static int cpu_callback(struct notifier_block *nfb, |
| 836 | unsigned long action, | 834 | unsigned long action, |
| 837 | void *hcpu) | 835 | void *hcpu) |
| 838 | { | 836 | { |
| @@ -847,7 +845,7 @@ static int __cpuinit cpu_callback(struct notifier_block *nfb, | |||
| 847 | return NOTIFY_OK; | 845 | return NOTIFY_OK; |
| 848 | } | 846 | } |
| 849 | 847 | ||
| 850 | static struct notifier_block __cpuinitdata cpu_nfb = { | 848 | static struct notifier_block cpu_nfb = { |
| 851 | .notifier_call = cpu_callback | 849 | .notifier_call = cpu_callback |
| 852 | }; | 850 | }; |
| 853 | 851 | ||
