]> nv-tegra.nvidia Code Review - linux-3.10.git/blobdiff - arch/Kconfig
s390/mm: add page table dumper
[linux-3.10.git] / arch / Kconfig
index 25e69f727a2ee9c284d550882320c590b2c9e69a..550cce4dd64840a2f0be048ffb046b6d4a2dafae 100644 (file)
@@ -3,7 +3,7 @@
 #
 
 config OPROFILE
-       tristate "OProfile system profiling (EXPERIMENTAL)"
+       tristate "OProfile system profiling"
        depends on PROFILING
        depends on HAVE_OPROFILE
        select RING_BUFFER
@@ -15,20 +15,6 @@ config OPROFILE
 
          If unsure, say N.
 
-config OPROFILE_IBS
-       bool "OProfile AMD IBS support (EXPERIMENTAL)"
-       default n
-       depends on OPROFILE && SMP && X86
-       help
-          Instruction-Based Sampling (IBS) is a new profiling
-          technique that provides rich, precise program performance
-          information. IBS is introduced by AMD Family10h processors
-          (AMD Opteron Quad-Core processor "Barcelona") to overcome
-          the limitations of conventional performance counter
-          sampling.
-
-         If unsure, say N.
-
 config OPROFILE_EVENT_MULTIPLEX
        bool "OProfile multiplexing support (EXPERIMENTAL)"
        default n
@@ -44,10 +30,15 @@ config OPROFILE_EVENT_MULTIPLEX
 config HAVE_OPROFILE
        bool
 
+config OPROFILE_NMI_TIMER
+       def_bool y
+       depends on PERF_EVENTS && HAVE_PERF_EVENTS_NMI
+
 config KPROBES
        bool "Kprobes"
-       depends on KALLSYMS && MODULES
+       depends on MODULES
        depends on HAVE_KPROBES
+       select KALLSYMS
        help
          Kprobes allows you to trap at almost any kernel address and
          execute a callback function.  register_kprobe() establishes
@@ -55,6 +46,53 @@ config KPROBES
          for kernel debugging, non-intrusive instrumentation and testing.
          If in doubt, say "N".
 
+config JUMP_LABEL
+       bool "Optimize very unlikely/likely branches"
+       depends on HAVE_ARCH_JUMP_LABEL
+       help
+         This option enables a transparent branch optimization that
+        makes certain almost-always-true or almost-always-false branch
+        conditions even cheaper to execute within the kernel.
+
+        Certain performance-sensitive kernel code, such as trace points,
+        scheduler functionality, networking code and KVM have such
+        branches and include support for this optimization technique.
+
+         If it is detected that the compiler has support for "asm goto",
+        the kernel will compile such branches with just a nop
+        instruction. When the condition flag is toggled to true, the
+        nop will be converted to a jump instruction to execute the
+        conditional block of instructions.
+
+        This technique lowers overhead and stress on the branch prediction
+        of the processor and generally makes the kernel faster. The update
+        of the condition is slower, but those are always very rare.
+
+        ( On 32-bit x86, the necessary options added to the compiler
+          flags may increase the size of the kernel slightly. )
+
+config OPTPROBES
+       def_bool y
+       depends on KPROBES && HAVE_OPTPROBES
+       depends on !PREEMPT
+
+config UPROBES
+       bool "Transparent user-space probes (EXPERIMENTAL)"
+       depends on UPROBE_EVENT && PERF_EVENTS
+       default n
+       help
+         Uprobes is the user-space counterpart to kprobes: they
+         enable instrumentation applications (such as 'perf probe')
+         to establish unintrusive probes in user-space binaries and
+         libraries, by executing handler functions when the probes
+         are hit by user-space applications.
+
+         ( These probes come in the form of single-byte breakpoints,
+           managed by the kernel and kept transparent to the probed
+           application. )
+
+         If in doubt, say "N".
+
 config HAVE_EFFICIENT_UNALIGNED_ACCESS
        bool
        help
@@ -97,6 +135,11 @@ config HAVE_KPROBES
 config HAVE_KRETPROBES
        bool
 
+config HAVE_OPTPROBES
+       bool
+
+config HAVE_NMI_WATCHDOG
+       bool
 #
 # An arch should select this if it provides all these things:
 #
@@ -116,9 +159,35 @@ config HAVE_ARCH_TRACEHOOK
 config HAVE_DMA_ATTRS
        bool
 
+config HAVE_DMA_CONTIGUOUS
+       bool
+
 config USE_GENERIC_SMP_HELPERS
        bool
 
+config GENERIC_SMP_IDLE_THREAD
+       bool
+
+# Select if arch init_task initializer is different to init/init_task.c
+config ARCH_INIT_TASK
+       bool
+
+# Select if arch has its private alloc_task_struct() function
+config ARCH_TASK_STRUCT_ALLOCATOR
+       bool
+
+# Select if arch has its private alloc_thread_info() function
+config ARCH_THREAD_INFO_ALLOCATOR
+       bool
+
+config HAVE_REGS_AND_STACK_ACCESS_API
+       bool
+       help
+         This symbol should be selected by an architecure if it supports
+         the API needed to access registers and stack entries from pt_regs,
+         declared in asm/ptrace.h
+         For example the kprobes-based event tracer needs this API.
+
 config HAVE_CLK
        bool
        help
@@ -128,14 +197,123 @@ config HAVE_CLK
 config HAVE_DMA_API_DEBUG
        bool
 
-config HAVE_DEFAULT_NO_SPIN_MUTEXES
-       bool
-
 config HAVE_HW_BREAKPOINT
        bool
        depends on PERF_EVENTS
 
+config HAVE_MIXED_BREAKPOINTS_REGS
+       bool
+       depends on HAVE_HW_BREAKPOINT
+       help
+         Depending on the arch implementation of hardware breakpoints,
+         some of them have separate registers for data and instruction
+         breakpoints addresses, others have mixed registers to store
+         them but define the access type in a control register.
+         Select this option if your arch implements breakpoints under the
+         latter fashion.
+
 config HAVE_USER_RETURN_NOTIFIER
        bool
 
+config HAVE_PERF_EVENTS_NMI
+       bool
+       help
+         System hardware can generate an NMI using the perf event
+         subsystem.  Also has support for calculating CPU cycle events
+         to determine how many clock cycles in a given period.
+
+config HAVE_PERF_REGS
+       bool
+       help
+         Support selective register dumps for perf events. This includes
+         bit-mapping of each registers and a unique architecture id.
+
+config HAVE_PERF_USER_STACK_DUMP
+       bool
+       help
+         Support user stack dumps for perf event samples. This needs
+         access to the user stack pointer which is not unified across
+         architectures.
+
+config HAVE_ARCH_JUMP_LABEL
+       bool
+
+config HAVE_ARCH_MUTEX_CPU_RELAX
+       bool
+
+config HAVE_RCU_TABLE_FREE
+       bool
+
+config ARCH_HAVE_NMI_SAFE_CMPXCHG
+       bool
+
+config HAVE_ALIGNED_STRUCT_PAGE
+       bool
+       help
+         This makes sure that struct pages are double word aligned and that
+         e.g. the SLUB allocator can perform double word atomic operations
+         on a struct page for better performance. However selecting this
+         might increase the size of a struct page by a word.
+
+config HAVE_CMPXCHG_LOCAL
+       bool
+
+config HAVE_CMPXCHG_DOUBLE
+       bool
+
+config ARCH_WANT_IPC_PARSE_VERSION
+       bool
+
+config ARCH_WANT_COMPAT_IPC_PARSE_VERSION
+       bool
+
+config ARCH_WANT_OLD_COMPAT_IPC
+       select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
+       bool
+
+config HAVE_ARCH_SECCOMP_FILTER
+       bool
+       help
+         An arch should select this symbol if it provides all of these things:
+         - syscall_get_arch()
+         - syscall_get_arguments()
+         - syscall_rollback()
+         - syscall_set_return_value()
+         - SIGSYS siginfo_t support
+         - secure_computing is called from a ptrace_event()-safe context
+         - secure_computing return value is checked and a return value of -1
+           results in the system call being skipped immediately.
+
+config SECCOMP_FILTER
+       def_bool y
+       depends on HAVE_ARCH_SECCOMP_FILTER && SECCOMP && NET
+       help
+         Enable tasks to build secure computing environments defined
+         in terms of Berkeley Packet Filter programs which implement
+         task-defined system call filtering polices.
+
+         See Documentation/prctl/seccomp_filter.txt for details.
+
+config HAVE_RCU_USER_QS
+       bool
+       help
+         Provide kernel entry/exit hooks necessary for userspace
+         RCU extended quiescent state. Syscalls need to be wrapped inside
+         rcu_user_exit()-rcu_user_enter() through the slow path using
+         TIF_NOHZ flag. Exceptions handlers must be wrapped as well. Irqs
+         are already protected inside rcu_irq_enter/rcu_irq_exit() but
+         preemption or signal handling on irq exit still need to be protected.
+
+config HAVE_VIRT_CPU_ACCOUNTING
+       bool
+
+config HAVE_IRQ_TIME_ACCOUNTING
+       bool
+       help
+         Archs need to ensure they use a high enough resolution clock to
+         support irq time accounting and then call enable_sched_clock_irqtime().
+
+config HAVE_ARCH_TRANSPARENT_HUGEPAGE
+       bool
+
 source "kernel/gcov/Kconfig"