ARM pmap.c redundant vac_me_harder
Mark Tinguely
tinguely at casselton.net
Tue Dec 11 12:10:06 PST 2007
IMO, there is a redundant vac_me_harder() call in pmap_protect().
The vac_me_harder() is already performed as the last step in pmap_modify_pv()
when the PVF_WRITE flag is changed.
--- on a related topic ---
vac_me_kpmap() can cause (2 * n ^ 2) loops of the pv_list. From my rough
pen and paper logic and even rougher coding, I think the vac_me_XXXX routines
can be combined together and the user scan can be kept at (2 * n) loops
and the kernel cache fixup can be done in (3 * n) loops at the cost of
adding a couple variables to the pmap structure. Since the variables are
in the pmap, only one scan can be done at a time - which would not be a
problem on uniprocessors.
Okay, I promise to quit digging through the ARM pmap code.
--Mark Tinguely.
More information about the freebsd-arm
mailing list