Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[firefly-linux-kernel-4.4.55.git] / init / Kconfig
index 6cfd71d064637a0335677e7e2f7d73d941c50fe4..81816b82860b51a7cb0a064d939d4702c4daaaed 100644 (file)
@@ -27,6 +27,9 @@ config IRQ_WORK
        bool
        depends on HAVE_IRQ_WORK
 
+config BUILDTIME_EXTABLE_SORT
+       bool
+
 menu "General setup"
 
 config EXPERIMENTAL
@@ -387,6 +390,7 @@ config AUDIT_LOGINUID_IMMUTABLE
          but may not be backwards compatible with older init systems.
 
 source "kernel/irq/Kconfig"
+source "kernel/time/Kconfig"
 
 menu "RCU Subsystem"
 
@@ -458,6 +462,33 @@ config RCU_FANOUT
          Select a specific number if testing RCU itself.
          Take the default if unsure.
 
+config RCU_FANOUT_LEAF
+       int "Tree-based hierarchical RCU leaf-level fanout value"
+       range 2 RCU_FANOUT if 64BIT
+       range 2 RCU_FANOUT if !64BIT
+       depends on TREE_RCU || TREE_PREEMPT_RCU
+       default 16
+       help
+         This option controls the leaf-level fanout of hierarchical
+         implementations of RCU, and allows trading off cache misses
+         against lock contention.  Systems that synchronize their
+         scheduling-clock interrupts for energy-efficiency reasons will
+         want the default because the smaller leaf-level fanout keeps
+         lock contention levels acceptably low.  Very large systems
+         (hundreds or thousands of CPUs) will instead want to set this
+         value to the maximum value possible in order to reduce the
+         number of cache misses incurred during RCU's grace-period
+         initialization.  These systems tend to run CPU-bound, and thus
+         are not helped by synchronized interrupts, and thus tend to
+         skew them, which reduces lock contention enough that large
+         leaf-level fanouts work well.
+
+         Select a specific number if testing RCU itself.
+
+         Select the maximum permissible value for large systems.
+
+         Take the default if unsure.
+
 config RCU_FANOUT_EXACT
        bool "Disable tree-based hierarchical RCU auto-balancing"
        depends on TREE_RCU || TREE_PREEMPT_RCU
@@ -515,10 +546,25 @@ config RCU_BOOST_PRIO
        depends on RCU_BOOST
        default 1
        help
-         This option specifies the real-time priority to which preempted
-         RCU readers are to be boosted.  If you are working with CPU-bound
-         real-time applications, you should specify a priority higher then
-         the highest-priority CPU-bound application.
+         This option specifies the real-time priority to which long-term
+         preempted RCU readers are to be boosted.  If you are working
+         with a real-time application that has one or more CPU-bound
+         threads running at a real-time priority level, you should set
+         RCU_BOOST_PRIO to a priority higher then the highest-priority
+         real-time CPU-bound thread.  The default RCU_BOOST_PRIO value
+         of 1 is appropriate in the common case, which is real-time
+         applications that do not have any CPU-bound threads.
+
+         Some real-time applications might not have a single real-time
+         thread that saturates a given CPU, but instead might have
+         multiple real-time threads that, taken together, fully utilize
+         that CPU.  In this case, you should set RCU_BOOST_PRIO to
+         a priority higher than the lowest-priority thread that is
+         conspiring to prevent the CPU from running any non-real-time
+         tasks.  For example, if one thread at priority 10 and another
+         thread at priority 5 are between themselves fully consuming
+         the CPU time on a given CPU, then RCU_BOOST_PRIO should be
+         set to priority 6 or higher.
 
          Specify the real-time priority, or take the default if unsure.
 
@@ -828,7 +874,10 @@ config IPC_NS
 config USER_NS
        bool "User namespace (EXPERIMENTAL)"
        depends on EXPERIMENTAL
-       default y
+       depends on UIDGID_CONVERTED
+       select UIDGID_STRICT_TYPE_CHECKS
+
+       default n
        help
          This allows containers, i.e. vservers, to use user namespaces
          to provide different user info for different servers.
@@ -852,6 +901,131 @@ config NET_NS
 
 endif # NAMESPACES
 
+config UIDGID_CONVERTED
+       # True if all of the selected software conmponents are known
+       # to have uid_t and gid_t converted to kuid_t and kgid_t
+       # where appropriate and are otherwise safe to use with
+       # the user namespace.
+       bool
+       default y
+
+       # List of kernel pieces that need user namespace work
+       # Features
+       depends on SYSVIPC = n
+       depends on IMA = n
+       depends on EVM = n
+       depends on KEYS = n
+       depends on AUDIT = n
+       depends on AUDITSYSCALL = n
+       depends on TASKSTATS = n
+       depends on TRACING = n
+       depends on FS_POSIX_ACL = n
+       depends on QUOTA = n
+       depends on QUOTACTL = n
+       depends on DEBUG_CREDENTIALS = n
+       depends on BSD_PROCESS_ACCT = n
+       depends on DRM = n
+       depends on PROC_EVENTS = n
+
+       # Networking
+       depends on NET = n
+       depends on NET_9P = n
+       depends on IPX = n
+       depends on PHONET = n
+       depends on NET_CLS_FLOW = n
+       depends on NETFILTER_XT_MATCH_OWNER = n
+       depends on NETFILTER_XT_MATCH_RECENT = n
+       depends on NETFILTER_XT_TARGET_LOG = n
+       depends on NETFILTER_NETLINK_LOG = n
+       depends on INET = n
+       depends on IPV6 = n
+       depends on IP_SCTP = n
+       depends on AF_RXRPC = n
+       depends on LLC2 = n
+       depends on NET_KEY = n
+       depends on INET_DIAG = n
+       depends on DNS_RESOLVER = n
+       depends on AX25 = n
+       depends on ATALK = n
+
+       # Filesystems
+       depends on USB_DEVICEFS = n
+       depends on USB_GADGETFS = n
+       depends on USB_FUNCTIONFS = n
+       depends on DEVTMPFS = n
+       depends on XENFS = n
+
+       depends on 9P_FS = n
+       depends on ADFS_FS = n
+       depends on AFFS_FS = n
+       depends on AFS_FS = n
+       depends on AUTOFS4_FS = n
+       depends on BEFS_FS = n
+       depends on BFS_FS = n
+       depends on BTRFS_FS = n
+       depends on CEPH_FS = n
+       depends on CIFS = n
+       depends on CODA_FS = n
+       depends on CONFIGFS_FS = n
+       depends on CRAMFS = n
+       depends on DEBUG_FS = n
+       depends on ECRYPT_FS = n
+       depends on EFS_FS = n
+       depends on EXOFS_FS = n
+       depends on FAT_FS = n
+       depends on FUSE_FS = n
+       depends on GFS2_FS = n
+       depends on HFS_FS = n
+       depends on HFSPLUS_FS = n
+       depends on HPFS_FS = n
+       depends on HUGETLBFS = n
+       depends on ISO9660_FS = n
+       depends on JFFS2_FS = n
+       depends on JFS_FS = n
+       depends on LOGFS = n
+       depends on MINIX_FS = n
+       depends on NCP_FS = n
+       depends on NFSD = n
+       depends on NFS_FS = n
+       depends on NILFS2_FS = n
+       depends on NTFS_FS = n
+       depends on OCFS2_FS = n
+       depends on OMFS_FS = n
+       depends on QNX4FS_FS = n
+       depends on QNX6FS_FS = n
+       depends on REISERFS_FS = n
+       depends on SQUASHFS = n
+       depends on SYSV_FS = n
+       depends on UBIFS_FS = n
+       depends on UDF_FS = n
+       depends on UFS_FS = n
+       depends on VXFS_FS = n
+       depends on XFS_FS = n
+
+       depends on !UML || HOSTFS = n
+
+       # The rare drivers that won't build
+       depends on AIRO = n
+       depends on AIRO_CS = n
+       depends on TUN = n
+       depends on INFINIBAND_QIB = n
+       depends on BLK_DEV_LOOP = n
+       depends on ANDROID_BINDER_IPC = n
+
+       # Security modules
+       depends on SECURITY_TOMOYO = n
+       depends on SECURITY_APPARMOR = n
+
+config UIDGID_STRICT_TYPE_CHECKS
+       bool "Require conversions between uid/gids and their internal representation"
+       depends on UIDGID_CONVERTED
+       default n
+       help
+        While the nececessary conversions are being added to all subsystems this option allows
+        the code to continue to build for unconverted subsystems.
+
+        Say Y here if you want the strict type checking enabled
+
 config SCHED_AUTOGROUP
        bool "Automatic process group scheduling"
        select EVENTFD
@@ -1156,7 +1330,7 @@ menu "Kernel Performance Events And Counters"
 
 config PERF_EVENTS
        bool "Kernel performance events and counters"
-       default y if (PROFILING || PERF_COUNTERS)
+       default y if PROFILING
        depends on HAVE_PERF_EVENTS
        select ANON_INODES
        select IRQ_WORK
@@ -1183,18 +1357,6 @@ config PERF_EVENTS
 
          Say Y if unsure.
 
-config PERF_COUNTERS
-       bool "Kernel performance counters (old config option)"
-       depends on HAVE_PERF_EVENTS
-       help
-         This config has been obsoleted by the PERF_EVENTS
-         config option - please see that one for details.
-
-         It has no effect on the kernel whether you enable
-         it or not, it is a compatibility placeholder.
-
-         Say N if unsure.
-
 config DEBUG_PERF_USE_VMALLOC
        default n
        bool "Debug: use vmalloc to back perf mmap() buffers"