On Thu, 29 May 2008 11:00:59 +0200
Jens Axboe <jens.axboe@oracle.com> wrote:
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.
This used to turn up now and then - particularly on 440BX boards.
Alan
Gnome #331: Early SMP Implementation Archive Office
--