diff options
author | liguang <lig.fnst@cn.fujitsu.com> | 2013-04-30 18:27:26 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-30 20:04:03 -0400 |
commit | 3440a1ca99707f093e9568ba9762764d3162dd8f (patch) | |
tree | af5508d1bd5ff76eb22830a1abea77f0a76639a5 /kernel/softirq.c | |
parent | 1def1dc91715acdb6dddfaed1a44149d42d8063c (diff) |
kernel/smp.c: remove 'priv' of call_single_data
The 'priv' field is redundant; we can pass data via 'info'.
Signed-off-by: liguang <lig.fnst@cn.fujitsu.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/softirq.c')
-rw-r--r-- | kernel/softirq.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/kernel/softirq.c b/kernel/softirq.c index 14d7758074aa..aa82723c7202 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c | |||
@@ -620,8 +620,7 @@ static void remote_softirq_receive(void *data) | |||
620 | unsigned long flags; | 620 | unsigned long flags; |
621 | int softirq; | 621 | int softirq; |
622 | 622 | ||
623 | softirq = cp->priv; | 623 | softirq = *(int *)cp->info; |
624 | |||
625 | local_irq_save(flags); | 624 | local_irq_save(flags); |
626 | __local_trigger(cp, softirq); | 625 | __local_trigger(cp, softirq); |
627 | local_irq_restore(flags); | 626 | local_irq_restore(flags); |
@@ -631,9 +630,8 @@ static int __try_remote_softirq(struct call_single_data *cp, int cpu, int softir | |||
631 | { | 630 | { |
632 | if (cpu_online(cpu)) { | 631 | if (cpu_online(cpu)) { |
633 | cp->func = remote_softirq_receive; | 632 | cp->func = remote_softirq_receive; |
634 | cp->info = cp; | 633 | cp->info = &softirq; |
635 | cp->flags = 0; | 634 | cp->flags = 0; |
636 | cp->priv = softirq; | ||
637 | 635 | ||
638 | __smp_call_function_single(cpu, cp, 0); | 636 | __smp_call_function_single(cpu, cp, 0); |
639 | return 0; | 637 | return 0; |