Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Jan 2008 02:14:17 +0100
From:      Olivier Houchard <mlfbsd@ci0.org>
To:        Mark Tinguely <tinguely@casselton.net>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: ARM pmap cache flushed after PT modification.
Message-ID:  <20080127011417.GA19569@ci0.org>
In-Reply-To: <200801171548.m0HFmsFH003605@casselton.net>
References:  <20080117001757.GA63358@ci0.org> <200801171548.m0HFmsFH003605@casselton.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Mark,

Sorry for the very very late reply.
I like your work, and am about to commit it, however, just a small point :

On Thu, Jan 17, 2008 at 09:48:54AM -0600, Mark Tinguely wrote:
> In pmap_nuke_pv(), the vm_page_flag_clear(pg, PG_WRITEABLE) has been moved
> to the pmap_fix_cache(). 
> 

	if ((pve->pv_flags & PVF_NC) && ((pm == pmap_kernel()) ||
	     (pve->pv_flags & PVF_WRITE) || !(pve->pv_flags & PVF_MWC)))
		pmap_fix_cache(pg, pm, 0);

You only call pmap_fix_cache() if the PVF_NC bit is set, so 
vm_page_flag_clear(pg, PG_WRITEABLE) won't be called, and PVF_MOD won't be
removed, if we're removing the only writeable entry for a cacheable page, or
did I miss something ?

There were a few compile and styles nits, so I put the updated file here :
http://people.FreeBSD.org/~cognet/armpmap_fixcache.c

Thanks a lot !

Olivier



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080127011417.GA19569>