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

From: Dmitry Adamushko
Date: Wed Apr 22 2009 - 06:33:23 EST


2009/4/22 Ingo Molnar <mingo@xxxxxxx>:
>
> * 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()?

It should be definitely possible. Will send an updated version.

p.s. grrr... this idea should have come into my mind in the first place :-/


>
> Ingo
>

--
Best regards,
Dmitry Adamushko
--
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/