Re: [PATCH] x86 microcode: work_on_cpu and cleanup of thesynchronization logic

From: Ingo Molnar
Date: Wed Apr 22 2009 - 06:18:56 EST



* Dmitry Adamushko <dmitry.adamushko@xxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/