Merge branch 'akpm' (fixes from Andrew Morton)
[firefly-linux-kernel-4.4.55.git] / init / Kconfig
index e84c6423a2e5a2dbe80157b13f8b16d17c3e2d06..d2355812ba48a7e1f52855ad9c431878ee32f175 100644 (file)
@@ -811,6 +811,7 @@ config LOG_BUF_SHIFT
        int "Kernel log buffer size (16 => 64KB, 17 => 128KB)"
        range 12 21
        default 17
        int "Kernel log buffer size (16 => 64KB, 17 => 128KB)"
        range 12 21
        default 17
+       depends on PRINTK
        help
          Select the minimal kernel log buffer size as a power of 2.
          The final size is affected by LOG_CPU_MAX_BUF_SHIFT config
        help
          Select the minimal kernel log buffer size as a power of 2.
          The final size is affected by LOG_CPU_MAX_BUF_SHIFT config
@@ -830,6 +831,7 @@ config LOG_CPU_MAX_BUF_SHIFT
        range 0 21
        default 12 if !BASE_SMALL
        default 0 if BASE_SMALL
        range 0 21
        default 12 if !BASE_SMALL
        default 0 if BASE_SMALL
+       depends on PRINTK
        help
          This option allows to increase the default ring buffer size
          according to the number of CPUs. The value defines the contribution
        help
          This option allows to increase the default ring buffer size
          according to the number of CPUs. The value defines the contribution
@@ -887,17 +889,6 @@ config ARCH_SUPPORTS_INT128
 config ARCH_WANT_NUMA_VARIABLE_LOCALITY
        bool
 
 config ARCH_WANT_NUMA_VARIABLE_LOCALITY
        bool
 
-#
-# For architectures that are willing to define _PAGE_NUMA as _PAGE_PROTNONE
-config ARCH_WANTS_PROT_NUMA_PROT_NONE
-       bool
-
-config ARCH_USES_NUMA_PROT_NONE
-       bool
-       default y
-       depends on ARCH_WANTS_PROT_NUMA_PROT_NONE
-       depends on NUMA_BALANCING
-
 config NUMA_BALANCING_DEFAULT_ENABLED
        bool "Automatically enable NUMA aware memory/task placement"
        default y
 config NUMA_BALANCING_DEFAULT_ENABLED
        bool "Automatically enable NUMA aware memory/task placement"
        default y
@@ -1475,6 +1466,7 @@ config FUTEX
 
 config HAVE_FUTEX_CMPXCHG
        bool
 
 config HAVE_FUTEX_CMPXCHG
        bool
+       depends on FUTEX
        help
          Architectures should select this if futex_atomic_cmpxchg_inatomic()
          is implemented and always working. This removes a couple of runtime
        help
          Architectures should select this if futex_atomic_cmpxchg_inatomic()
          is implemented and always working. This removes a couple of runtime
@@ -1537,6 +1529,16 @@ config AIO
          by some high performance threaded applications. Disabling
          this option saves about 7k.
 
          by some high performance threaded applications. Disabling
          this option saves about 7k.
 
+config ADVISE_SYSCALLS
+       bool "Enable madvise/fadvise syscalls" if EXPERT
+       default y
+       help
+         This option enables the madvise and fadvise syscalls, used by
+         applications to advise the kernel about their future memory or file
+         usage, improving performance. If building an embedded system where no
+         applications use these syscalls, you can disable this option to save
+         space.
+
 config PCI_QUIRKS
        default y
        bool "Enable PCI quirk workarounds" if EXPERT
 config PCI_QUIRKS
        default y
        bool "Enable PCI quirk workarounds" if EXPERT
@@ -1906,6 +1908,49 @@ config MODULE_SIG_HASH
        default "sha384" if MODULE_SIG_SHA384
        default "sha512" if MODULE_SIG_SHA512
 
        default "sha384" if MODULE_SIG_SHA384
        default "sha512" if MODULE_SIG_SHA512
 
+config MODULE_COMPRESS
+       bool "Compress modules on installation"
+       depends on MODULES
+       help
+         This option compresses the kernel modules when 'make
+         modules_install' is run.
+
+         The modules will be compressed either using gzip or xz depend on the
+         choice made in "Compression algorithm".
+
+         module-init-tools has support for gzip format while kmod handle gzip
+         and xz compressed modules.
+
+         When a kernel module is installed from outside of the main kernel
+         source and uses the Kbuild system for installing modules then that
+         kernel module will also be compressed when it is installed.
+
+         This option provides little benefit when the modules are to be used inside
+         an initrd or initramfs, it generally is more efficient to compress the whole
+         initrd or initramfs instead.
+
+         This is fully compatible with signed modules while the signed module is
+         compressed. module-init-tools or kmod handles decompression and provide to
+         other layer the uncompressed but signed payload.
+
+choice
+       prompt "Compression algorithm"
+       depends on MODULE_COMPRESS
+       default MODULE_COMPRESS_GZIP
+       help
+         This determines which sort of compression will be used during
+         'make modules_install'.
+
+         GZIP (default) and XZ are supported.
+
+config MODULE_COMPRESS_GZIP
+       bool "GZIP"
+
+config MODULE_COMPRESS_XZ
+       bool "XZ"
+
+endchoice
+
 endif # MODULES
 
 config INIT_ALL_POSSIBLE
 endif # MODULES
 
 config INIT_ALL_POSSIBLE