+CC Sam for Kconfig wisdom

On 11/14/2013 02:08 PM, Christian Ruppert wrote:
> Some ARC users say they can boot faster with without kernel compression.
> This probably depends on things like the FLASH chip they use etc.
> 
> Until now, kernel compression can only be disabled by removing "select
> HAVE_<compression>" lines from the architecture Kconfig.  So add the
> Kconfig logic to permit disabling of kernel compression.
> 
> Signed-off-by: Christian Ruppert <christian.rupp...@abilis.com>
> ---
>  arch/arc/Kconfig |  2 ++
>  init/Kconfig     | 12 +++++++++++-
>  2 files changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
> index 91dbb27..3991f03 100644
> --- a/arch/arc/Kconfig
> +++ b/arch/arc/Kconfig
> @@ -21,6 +21,8 @@ config ARC
>       select HAVE_ARCH_KGDB
>       select HAVE_ARCH_TRACEHOOK
>       select HAVE_IOREMAP_PROT
> +     select HAVE_KERNEL_UNCOMPRESSED
> +     select HAVE_KERNEL_GZIP

Fine.

>       select HAVE_KPROBES
>       select HAVE_KRETPROBES
>       select HAVE_MEMBLOCK
> diff --git a/init/Kconfig b/init/Kconfig
> index 3ecd8a1..b1a6f92 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -97,6 +97,9 @@ config LOCALVERSION_AUTO
>  
>         which is done within the script "scripts/setlocalversion".)
>  
> +config HAVE_KERNEL_UNCOMPRESSED
> +        bool
> +

This is good to avoid perturbing other arches.

>  config HAVE_KERNEL_GZIP
>       bool
>  
> @@ -118,7 +121,6 @@ config HAVE_KERNEL_LZ4
>  choice
>       prompt "Kernel compression mode"
>       default KERNEL_GZIP
> -     depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA || 
> HAVE_KERNEL_XZ || HAVE_KERNEL_LZO || HAVE_KERNEL_LZ4
>       help
>         The linux kernel is a kind of self-extracting executable.
>         Several compression algorithms are available, which differ
> @@ -137,6 +139,14 @@ choice
>  
>         If in doubt, select 'gzip'
>  
> +config KERNEL_UNCOMPRESSED
> +     bool "No compression"
> +     depends on HAVE_KERNEL_UNCOMPRESSED || ! ( HAVE_KERNEL_GZIP || 
> HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA || HAVE_KERNEL_XZ || HAVE_KERNEL_LZO || 
> HAVE_KERNEL_LZ4 )
> +     help
> +       No compression at all. The kernel is huge but the compression and
> +       decompression times are zero.
> +       This is usually not what you want.
> +
>  config KERNEL_GZIP
>       bool "Gzip"
>       depends on HAVE_KERNEL_GZIP
> 

How about doing this part slightly differently (simpler IMO).
We add uncompressed as just another category rather than being a special case.

Indicative diff against current mainline code

 choice
        prompt "Kernel compression mode"
        default KERNEL_GZIP
-       depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA ||
HAVE_KERNEL_XZ || HAVE_KERNEL_LZO || HAVE_KERNEL_LZ4
+       depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA ||
HAVE_KERNEL_XZ || HAVE_KERNEL_LZO || HAVE_KERNEL_LZ4 || HAVE_KERNEL_UNCOMPRESSED


+config KERNEL_UNCOMPRESSED
+       bool "No compression"
+       depends on HAVE_KERNEL_UNCOMPRESSED
+

-Vineet

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to