Subject: Re: pmap_unwire: wiring for pmap 0xfoo va 0xbar didn't change!
To: Manuel Bouyer <bouyer@antioche.eu.org>
From: Chuck Silvers <chuq@chuq.com>
List: current-users
Date: 08/29/2005 09:33:49
On Mon, Aug 29, 2005 at 04:37:21PM +0200, Manuel Bouyer wrote:
> On Sun, Aug 28, 2005 at 08:11:13AM -0700, Chuck Silvers wrote:
> > hi,
> > 
> > the attached patch fixes this problem, by removing an optimization that would
> > incorrectly skip TLB flushes in some cases where a pmap mapping is replaced
> > with another mapping of the same page, but with different permissions.
> > skipping the TLB flush is incorrect if the new entry is supposed to be wired,
> > since a stale read-only entry that's supposed to be writable might cause
> > a fault which would replace the wired entry with a non-wired entry
> > (which is what causes the warning messages).  increasing the permissions
> > an entry is not a common occurance, so it doesn't seem worthwhile to
> > complicate the code with the optimization, thus the proposal to just
> > remove it rather than fix it.
> > 
> > any objections?
> 
> A similar change would be needed for xen/i386/pmap.c, isn't it ?

yup.  I'll take care of that too.

-Chuck