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-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html