]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - init/Kconfig
scsi: lpfc: Resolve irq-unsafe lockdep heirarchy warning in lpfc_io_free
[linux.git] / init / Kconfig
index 513fa544a134c9264438029161dfebc3314d1fc7..4592bf7997c000dc7a5537ca4c28b308713b9d65 100644 (file)
@@ -13,7 +13,7 @@ config CC_IS_GCC
 
 config GCC_VERSION
        int
-       default $(shell,$(srctree)/scripts/gcc-version.sh -p $(CC) | sed 's/^0*//') if CC_IS_GCC
+       default $(shell,$(srctree)/scripts/gcc-version.sh $(CC)) if CC_IS_GCC
        default 0
 
 config CC_IS_CLANG
@@ -26,6 +26,22 @@ config CLANG_VERSION
 config CC_HAS_ASM_GOTO
        def_bool $(success,$(srctree)/scripts/gcc-goto.sh $(CC))
 
+config CC_HAS_WARN_MAYBE_UNINITIALIZED
+       def_bool $(cc-option,-Wmaybe-uninitialized)
+       help
+         GCC >= 4.7 supports this option.
+
+config CC_DISABLE_WARN_MAYBE_UNINITIALIZED
+       bool
+       depends on CC_HAS_WARN_MAYBE_UNINITIALIZED
+       default CC_IS_GCC && GCC_VERSION < 40900  # unreliable for GCC < 4.9
+       help
+         GCC's -Wmaybe-uninitialized is not reliable by definition.
+         Lots of false positive warnings are produced in some cases.
+
+         If this option is enabled, -Wno-maybe-uninitialzed is passed
+         to the compiler to suppress maybe-uninitialized warnings.
+
 config CONSTRUCTORS
        bool
        depends on !UML
@@ -382,6 +398,7 @@ config VIRT_CPU_ACCOUNTING_GEN
        bool "Full dynticks CPU time accounting"
        depends on HAVE_CONTEXT_TRACKING
        depends on HAVE_VIRT_CPU_ACCOUNTING_GEN
+       depends on GENERIC_CLOCKEVENTS
        select VIRT_CPU_ACCOUNTING
        select CONTEXT_TRACKING
        help
@@ -512,6 +529,17 @@ config PSI_DEFAULT_DISABLED
          per default but can be enabled through passing psi=1 on the
          kernel commandline during boot.
 
+         This feature adds some code to the task wakeup and sleep
+         paths of the scheduler. The overhead is too low to affect
+         common scheduling-intense workloads in practice (such as
+         webservers, memcache), but it does show up in artificial
+         scheduler stress tests, such as hackbench.
+
+         If you are paranoid and not sure what the kernel will be
+         used for, say Y.
+
+         Say N if unsure.
+
 endmenu # "CPU/Task time and stats accounting"
 
 config CPU_ISOLATION
@@ -825,7 +853,7 @@ config CGROUP_PIDS
          PIDs controller is designed to stop this from happening.
 
          It should be noted that organisational operations (such as attaching
-         to a cgroup hierarchy will *not* be blocked by the PIDs controller),
+         to a cgroup hierarchy) will *not* be blocked by the PIDs controller,
          since the PIDs limit only affects a process's ability to fork, not to
          attach to a cgroup.
 
@@ -1102,6 +1130,7 @@ config CC_OPTIMIZE_FOR_PERFORMANCE
 
 config CC_OPTIMIZE_FOR_SIZE
        bool "Optimize for size"
+       imply CC_DISABLE_WARN_MAYBE_UNINITIALIZED  # avoid false positives
        help
          Enabling this option will pass "-Os" instead of "-O2" to
          your compiler resulting in a smaller kernel.
@@ -1403,6 +1432,15 @@ config AIO
          by some high performance threaded applications. Disabling
          this option saves about 7k.
 
+config IO_URING
+       bool "Enable IO uring support" if EXPERT
+       select ANON_INODES
+       default y
+       help
+         This option enables support for the io_uring interface, enabling
+         applications to submit and complete IO through submission and
+         completion rings that are shared between the kernel and application.
+
 config ADVISE_SYSCALLS
        bool "Enable madvise/fadvise syscalls" if EXPERT
        default y