On Thu, 16 Aug 2001, Andrea Arcangeli wrote: > On Thu, Aug 16, 2001 at 07:44:04PM +0100, Mark Hemment wrote: > > KM_BOUNCE_WRITE may waste virtual address-space, but it saves on > > expensive shootdowns. > > I believe the slowdown is more a sign that kmap is not fast enoguh, not > that you really need the BOUNCE_WRITE. I did knock up a patch where the shooter didn't need to busy-wait. It worked, but it assumed an IPI would be delivered as soon as a processor re-enabled interrupts. After posting the patch, I was also made unsure that it would cover all conditions after seeing a comment in arch/i386/kernel/smp.c; /* * This was a BUG() but until someone can quote me the * line from the intel manual that guarantees an IPI to * multiple CPUs is retried _only_ on the erroring CPUs * its staying as a return */ Can't remember now why I thought this might cause my patch problems ...but I sure it does. Any, I've attached my posting to lse and the patch I sent. I think Andi Kleen replied saying you had played with using the NMI for shootdowns? I do believe that improving the shootdown code won't remove the need for BOUNCE_WRITE. Only a local, temporary, mapping is need and the lighter mapping is, the better. Mark