aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/softirq.c
diff options
context:
space:
mode:
authorliguang <lig.fnst@cn.fujitsu.com>2013-04-30 18:27:26 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-04-30 20:04:03 -0400
commit3440a1ca99707f093e9568ba9762764d3162dd8f (patch)
treeaf5508d1bd5ff76eb22830a1abea77f0a76639a5 /kernel/softirq.c
parent1def1dc91715acdb6dddfaed1a44149d42d8063c (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.c6
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;