[LEDE-DEV] [PATCH] config: add option to select kernel compile optimization type

Arjen de Korte arjen+lede at de-korte.org
Sun Jan 21 04:46:54 PST 2018


Citeren Jonas Gorski <jonas.gorski at gmail.com>:

> Hi,
>
> On 18 January 2018 at 10:50, Koen Vandeputte
> <koen.vandeputte at ncentric.com> wrote:
>> A lot of targets have more than sufficient space to allow
>> building the kernel for speed iso size.
>>
>> Export this performance option to the main config:
>>
>> - Making it easy accessable for users
>> - Discarding the need to adjust it in the kernel config each time
>> when building from scratch and only using "make oldconfig"
>>
>> Compiling for size is still the default.
>
> This would be a "regression" for layerscape, as this target sets
> CC_OPTIMIZE_FOR_PERFORMANCE to y.
>
>>
>> Purely informational:
>>
>> On my cns3xxx board, kernel size increases by ~100kB
>> but boot time decreased by ~8%.
>>
>> Signed-off-by: Koen Vandeputte <koen.vandeputte at ncentric.com>
>> ---
>>  config/Config-kernel.in | 16 ++++++++++++++++
>>  1 file changed, 16 insertions(+)
>>
>> diff --git a/config/Config-kernel.in b/config/Config-kernel.in
>> index fa06b5044219..b98c5dd04591 100644
>> --- a/config/Config-kernel.in
>> +++ b/config/Config-kernel.in
>> @@ -194,6 +194,22 @@ config KERNEL_DEBUG_GPIO
>>         bool "Compile the kernel with gpio debugging"
>>         select KERNEL_DEBUG_KERNEL
>>
>> +config KERNEL_CC_OPTIMIZE_FOR_PERFORMANCE
>> +        bool
>> +        default y if COMPILE_KERNEL_FOR_SPEED
>> +        default n
>> +
>> +config KERNEL_CC_OPTIMIZE_FOR_SIZE
>> +        bool
>> +        default n if COMPILE_KERNEL_FOR_SPEED
>> +        default y
>> +
>> +config COMPILE_KERNEL_FOR_SPEED
>> +        bool "Optimize the kernel for speed instead of size"
>> +        default n
>> +        help
>> +          This will compile your kernel for maximum speed (-O2)  
>> instead of smaller size (-Os)
>
> The kernel uses a choice here, so I think it would be better to just
> copy that. One less config option as well.
>
> Also the options should be removed from the kernel configs then.

One thing that wonders me, couldn't the option CONFIG_TARGET_OPTIONS=y  
and CONFIG_TARGET_OPTIMIZATION that is already available be used for  
this as well? So far I have used this to set the optimization used,  
which seems to do the job just fine (for the whole target, not just  
the kernel).




More information about the Lede-dev mailing list