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
This archive was generated by hypermail 2b29 : Thu Aug 23 2001 - 21:00:17 EST