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>