Subject: Re: sun4c slowness again
To: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
From: Jason Thorpe <thorpej@shagadelic.org>
List: port-sparc
Date: 10/12/2006 10:37:35
On Oct 11, 2006, at 4:18 PM, Izumi Tsutsui wrote:
> As you can see in systat output, there is no paging so it isn't
> memory shortage, but shortage of "Page Map Entry Group" in MMU.
>
> http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sparc/sparc/machdep.c#rev1.230
Perhaps a better change to keep UBC from consuming the PMEGs would be
to disable lazy-unmapping of the UBC windows. E.g. ARM does this
because of its VIVT cache arrangement, but it might be worth doing on
e.g. small SUN4C machines because of the limited number of PMEGs.
Hm, well, at least the ARM *USED* to do this -- it looks like
ubc_release() has since changed to allow the caller to specify "unmap
or not". Ah, I see, it's now done only for VTEXT vnodes via the
UBC_WANT_UNMAP() macro. Hm.
I'm not exactly sure I like exposing PMAP_CACHE_VIVT to file systems
like that. Instead, I think I'd rather have UBC_WANT_UNMAP() become a
function (or, at the very least, consult a global variable that MD
code can set). That way the SUN4C could also indicate that it wants
windows to be unmapped as well.
Chuq?
-- thorpej