https://unix.stackexchange.com/questions/118700/what-is-config-base-small-0
CONFIG_BASE_SMALL=0
CONFIG_BASE_FULL=y
config BASE_FULL, 默认是y;布尔值;属于专家设置,“Enable full-sized data structures for core” if EXPERT
解释:关闭这个选项的话,可以减小内核各个数据结构的大小。这样就可以节省内存空间,但是可能降低性能。
config BASE_SMALL,类型是int;取决于BASE_FULL;
default 0 if BASE_FULL
default 1 if !BASE_FULL
从下面的实例可以看到,大大减小了futex的个数。
static int __init futex_init(void)
{
#if CONFIG_BASE_SMALL
futex_hashsize = 16;
#else
futex_hashsize = roundup_pow_of_two(256 * num_possible_cpus());
#endif