ARM pmap cache flushed after PT modification.
Olivier Houchard
mlfbsd at ci0.org
Sat Jan 26 16:04:02 PST 2008
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
More information about the freebsd-arm
mailing list