ARM pmap.c redundant vac_me_harder
Olivier Houchard
mlfbsd at ci0.org
Tue Dec 11 12:38:33 PST 2007
On Tue, Dec 11, 2007 at 02:10:02PM -0600, Mark Tinguely wrote:
>
> 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.
>
True, I just removed it. Thanks !
> --- 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.
>
Hmm your probably right. Honestly I've never bothered optimizing those, because
the number of mappings for a page is typically so low it wasn't worth the
pain. But patches would be welcome ;)
> Okay, I promise to quit digging through the ARM pmap code.
Please don't, this is really appreciated :)
Regards,
Olivier
More information about the freebsd-arm
mailing list