Re: [patch] Let smp_call_function_single return -EBUSY.

From: Andi Kleen
Date: Mon May 14 2007 - 19:27:24 EST


On Monday 14 May 2007 21:11, Andrew Morton wrote:
> On Mon, 14 May 2007 11:23:17 +0200
>
> Heiko Carstens <heiko.carstens@xxxxxxxxxx> wrote:
> > From: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
> >
> > All architectures that have an implementation of smp_call_function_single
> > let it return -EBUSY if it is asked to execute func on the current cpu.
> > Therefore the UP version must always return -EBUSY.
>
> smp_call_function_single() is a mess.
>
> - it's unclear to me why smp_call_function_single(cpu, ...) doesn't just
> call the darn function if cpu==smp_processor_id().

I always wondered that too.

Also I think we really need a cpu notifier that does smp_call_single
automatically; i find myself reimplementing that multiple times.

> - it's unclear to me why smp_call_function_single(cpu, ...) doesn't just
> call the darn function if CONFIG_SMP=n.

Yes.

>
> - it's unclear to me why smp_call_function_single(cpu, ...) isn't called
> smp_call_function_on(cpu, ...)
>
> - the x86_64 version doesn't return -EBUSY: it returns zero. Despite its
> claim "Retrurns 0 on success, else a negative status code.".

Will fix.

-Andi
-
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/