Re: [PATCH 0/2] Kill unused parameter to smp_call_function and friends

From: Pavel Machek
Date: Sun Jun 01 2008 - 10:46:55 EST


Hi!

> > It bothers me how the smp call functions accept a 'nonatomic' or 'retry'
> > parameter (depending on who you ask), but don't do anything with it.
> > So kill that silly thing.
> >
> > Two patches here, one for smp_call_function*() and one for on_each_cpu().
> > This patchset applies on top of the generic-ipi patchset just sent out.
>
> Which leads to notice that we seem to have acquired a bug somewhere on
> the way. smp_call_function on x86 is it seems to me implemented as
> "smp_call_function and occasionally run it multiple times"
>
> One of the joys of the older x86 APIC setups is the APIC messaging bus.
> This can get checksum errors in which case the message is retransmitted:
>
> In the specific case a message is retransmitted and there are at least
> three parties on the bus (2 CPU APICs and an IOAPIC is enough) you can
> get a situation where one receiver gets the message the second receiver
> errors it and the retransmit causes the IPI to be repeated which causes
> the IPI to be redelivered.

Does that mean smp_call_function on i386 should have a bitmap of cpus
the message was already delivered to, and drop the duplicates?

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
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/