Subject: Re: Getting "TLB IPI rendezvous failed..."
To: Frank van der Linden <fvdl@netbsd.org>
From: Stephan Uphoff <ups@tree.com>
List: tech-kern
Date: 01/11/2005 23:44:33
On Tue, 2005-01-11 at 22:59, Frank van der Linden wrote:
> On Tue, Jan 11, 2005 at 03:37:56PM -0500, Stephan Uphoff wrote:
> > I think that sending IPIs needs to be protected with splclock() since
> > some interrupts may send IPIs.
> > x86_broadcast_ipi should also call x86_ipi to benefit from
> > i82489_icr_wait.
> 
> Good point. splclock should stop IPIs from the clock interrupt as well
> as those from interrupt handlers that cause TLB shootdown IPIs by doing
> VM operations.

Yes

> I assume you mean something like.. this (diff obfuscated a little because
> I deleted the unused x86_self_ipi function):
< -- SNIP --->

This should work.
You can also just add the  splclock()/splx in x86_ipi as there is no
need to protect the atomic bitmaps.

Stephan