RFC: make UMTX hash table size configurable
Konstantin Belousov
kostikbel at gmail.com
Wed May 20 16:57:44 UTC 2015
On Wed, May 20, 2015 at 12:36:07PM -0400, Eric van Gyzen wrote:
> Adrian,
>
> Good idea. Looks good to me.
>
> Eric
>
> On 05/20/2015 12:28, Adrian Chadd wrote:
> > Hi,
> >
> > This patch makes the umtx hash table size configurable. It saves ~40k
> > of footprint from embedded images.
> >
> > (I can't seem to get phabricator to create a diff based on a set of
> > files, rather than the whole tree. Sigh.)
> >
> > adrian at lucy-11i386:~/work/freebsd/head-embedded/src % svn diff
> > sys/kern/ sys/conf/options
> > Index: sys/kern/kern_umtx.c
> > ===================================================================
> > --- sys/kern/kern_umtx.c (revision 282934)
> > +++ sys/kern/kern_umtx.c (working copy)
> > @@ -29,7 +29,7 @@
> > __FBSDID("$FreeBSD$");
> >
> > #include "opt_compat.h"
> > -#include "opt_umtx_profiling.h"
> > +#include "opt_umtx.h"
> >
> > #include <sys/param.h>
> > #include <sys/kernel.h>
> > @@ -184,7 +184,11 @@
> > PRI_MAX_TIMESHARE : (td)->td_user_pri)
> >
> > #define GOLDEN_RATIO_PRIME 2654404609U
> > +#ifdef UMTX_NUM_CHAINS
> > +#define UMTX_CHAINS UMTX_NUM_CHAINS
> > +#else
> > #define UMTX_CHAINS 512
> > +#endif /* UMTX_NUM_CHAINS */
> > #define UMTX_SHIFTS (__WORD_BIT - 9)
> >
> > #define GET_SHARE(flags) \
> > Index: sys/conf/options
> > ===================================================================
> > --- sys/conf/options (revision 282934)
> > +++ sys/conf/options (working copy)
> > @@ -209,7 +209,8 @@
> > SYSVSHM opt_sysvipc.h
> > SW_WATCHDOG opt_watchdog.h
> > TURNSTILE_PROFILING
> > -UMTX_PROFILING
> > +UMTX_PROFILING opt_umtx.h
> > +UMTX_NUM_CHAINS opt_umtx.h
> > VFS_AIO
> > VERBOSE_SYSINIT
> > WLCACHE opt_wavelan.h
It makes more sense to make the hash size a tunable. The hash mask
would also need to be a variable.
More information about the freebsd-embedded
mailing list