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>