2010-08-04 08:38:14

by Ryan Wang

[permalink] [raw]
Subject: question about CONFIG_BASE_SMALL

Hi all,

I noticed CONFIG_BASE_SMALL in different parts
of the kernel code, with ifdef/ifndef.
I wonder what does CONFIG_BASE_SMALL mean?
And how can I configure it, e.g. through make menuconfig?

thanks,


2010-08-04 09:00:49

by Yong Zhang

[permalink] [raw]
Subject: Re: question about CONFIG_BASE_SMALL

On Wed, Aug 04, 2010 at 04:38:12PM +0800, Ryan Wang wrote:
> Hi all,
>
> I noticed CONFIG_BASE_SMALL in different parts
> of the kernel code, with ifdef/ifndef.
> I wonder what does CONFIG_BASE_SMALL mean?
> And how can I configure it, e.g. through make menuconfig?

Yeah, here:

init/Kconfig:
...
config BASE_SMALL
int
default 0 if BASE_FULL
default 1 if !BASE_FULL
...
config BASE_FULL
default y
bool "Enable full-sized data structures for core" if EMBEDDED
help
Disabling this option reduces the size of miscellaneous core
kernel data structures. This saves memory on small machines,

>
> thanks,
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

2010-08-04 09:14:43

by Mulyadi Santosa

[permalink] [raw]
Subject: Re: question about CONFIG_BASE_SMALL

Hi...

On Wed, Aug 4, 2010 at 15:38, Ryan Wang <[email protected]> wrote:
> Hi all,
>
> ? ? ?I noticed CONFIG_BASE_SMALL in different parts
> of the kernel code, with ifdef/ifndef.
> ? ? ?I wonder what does CONFIG_BASE_SMALL mean?
> And how can I configure it, e.g. through make menuconfig?

Reply on top of my head: IIRC it means to disable certain things...or
possibly enabling things that might reduce memory footprints.

The goal....to make Linux kernel running more suitable for embedded
system and low level specification machine...

--
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com

2010-08-05 01:10:26

by Pei Lin

[permalink] [raw]
Subject: Re: question about CONFIG_BASE_SMALL

2010/8/4 Mulyadi Santosa <[email protected]>:
> Hi...
>
> On Wed, Aug 4, 2010 at 15:38, Ryan Wang <[email protected]> wrote:
>> Hi all,
>>
>> ? ? ?I noticed CONFIG_BASE_SMALL in different parts
>> of the kernel code, with ifdef/ifndef.
>> ? ? ?I wonder what does CONFIG_BASE_SMALL mean?
>> And how can I configure it, e.g. through make menuconfig?
>
> Reply on top of my head: IIRC it means to disable certain things...or
> possibly enabling things that might reduce memory footprints.
>
> The goal....to make Linux kernel running more suitable for embedded
> system and low level specification machine...
>
FYI.

Date: Mon, 31 Jan 2005 01:25:51 -0600
To: Andrew Morton <[email protected]>

This patch series introduced a new pair of CONFIG_EMBEDDED options call
CONFIG_BASE_FULL/CONFIG_BASE_SMALL. Disabling CONFIG_BASE_FULL sets
the boolean CONFIG_BASE_SMALL to 1 and it is used to shrink a number
of core data structures. The space savings for the current batch is
around 14k.
-

For example , look at the file "Linux/include/linux/udp.h"
http://lxr.free-electrons.com/source/include/linux/udp.h

#define UDP_HTABLE_SIZE_MIN (CONFIG_BASE_SMALL ? 128 : 256)


> --
> regards,
>
> Mulyadi Santosa
> Freelance Linux trainer and consultant
>
> blog: the-hydra.blogspot.com
> training: mulyaditraining.blogspot.com
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at ?http://www.tux.org/lkml/
>



--
Best Regards
Lin