Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Dec 2007 14:10:02 -0600 (CST)
From:      Mark Tinguely <tinguely@casselton.net>
To:        mlfbsd@ci0.org
Cc:        freebsd-arm@freebsd.org
Subject:   ARM pmap.c redundant vac_me_harder
Message-ID:  <200712112010.lBBKA2qJ016942@casselton.net>
In-Reply-To: <20071206230417.GA7366@ci0.org>

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

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.



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