Subject: Re: time to fold GENERIC.MP into GENERIC?
To: None <port-sparc@NetBSD.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: port-sparc
Date: 04/29/2004 04:36:26
>> in the GENERIC kernel,
(or any other configured for certain combinations of
SUN4/SUN4C/SUN4M/SUN4D)
>> all MMU accesses are slower because of an additional function
>> pointer indirection and other tests.
> Could you point me to the configuration option(s) causing this?
SUN4, SUN4C, SUN4M, SUN4D. See the SPARC pmap.h:
#if !(defined(SUN4M) || defined(SUN4D)) && (defined(SUN4) || defined(SUN4C))
#define pmap_clear_modify pmap_clear_modify4_4c
[...]
#elif (defined(SUN4M) || defined(SUN4D)) && !(defined(SUN4) || defined(SUN4C))
#define pmap_clear_modify pmap_clear_modify4m
[...]
#else /* must use function pointers */
extern boolean_t(*pmap_clear_modify_p)(struct vm_page *);
[...]
#define pmap_clear_modify (*pmap_clear_modify_p)
[...]
#endif
For the "other tests", look up the definition and uses of the
CPU_ISSUN4, CPU_ISSUN4M, CPU_ISSUN4C, CPU_ISSUN4D macros.
/~\ The ASCII der Mouse
\ / Ribbon Campaign
X Against HTML mouse@rodents.montreal.qc.ca
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B