Messages in this thread | | | Date | Wed, 22 Apr 2009 12:18:11 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH] x86 microcode: work_on_cpu and cleanup of the synchronization logic |
| |
* Dmitry Adamushko <dmitry.adamushko@gmail.com> wrote:
> +static long collect_cpu_info_local(void *arg) > +{ > + struct collect_for_cpu *cfc = arg; > + > + BUG_ON(cfc->cpu != raw_smp_processor_id()); > + > + return microcode_ops->collect_cpu_info(cfc->cpu, cfc->cpu_sig); > +} > + > +static int collect_cpu_info_on_target(int cpu, struct cpu_signature *cpu_sig) > +{ > + struct collect_for_cpu cfc = { .cpu_sig = cpu_sig, .cpu = cpu }; > + > + return work_on_cpu(cpu, collect_cpu_info_local, &cfc); > +}
Couldnt this be done without work_on_cpu(), by using smp_call_function()?
Ingo
| |