oprofile: select RING_BUFFER
[linux-2.6.git] / arch / Kconfig
1 #
2 # General architecture dependent options
3 #
4
5 config OPROFILE
6         tristate "OProfile system profiling (EXPERIMENTAL)"
7         depends on PROFILING
8         depends on HAVE_OPROFILE
9         select TRACING
10         select RING_BUFFER
11         help
12           OProfile is a profiling system capable of profiling the
13           whole system, include the kernel, kernel modules, libraries,
14           and applications.
15
16           If unsure, say N.
17
18 config OPROFILE_IBS
19         bool "OProfile AMD IBS support (EXPERIMENTAL)"
20         default n
21         depends on OPROFILE && SMP && X86
22         help
23           Instruction-Based Sampling (IBS) is a new profiling
24           technique that provides rich, precise program performance
25           information. IBS is introduced by AMD Family10h processors
26           (AMD Opteron Quad-Core processor "Barcelona") to overcome
27           the limitations of conventional performance counter
28           sampling.
29
30           If unsure, say N.
31
32 config HAVE_OPROFILE
33         bool
34
35 config KPROBES
36         bool "Kprobes"
37         depends on KALLSYMS && MODULES
38         depends on HAVE_KPROBES
39         help
40           Kprobes allows you to trap at almost any kernel address and
41           execute a callback function.  register_kprobe() establishes
42           a probepoint and specifies the callback.  Kprobes is useful
43           for kernel debugging, non-intrusive instrumentation and testing.
44           If in doubt, say "N".
45
46 config HAVE_EFFICIENT_UNALIGNED_ACCESS
47         bool
48         help
49           Some architectures are unable to perform unaligned accesses
50           without the use of get_unaligned/put_unaligned. Others are
51           unable to perform such accesses efficiently (e.g. trap on
52           unaligned access and require fixing it up in the exception
53           handler.)
54
55           This symbol should be selected by an architecture if it can
56           perform unaligned accesses efficiently to allow different
57           code paths to be selected for these cases. Some network
58           drivers, for example, could opt to not fix up alignment
59           problems with received packets if doing so would not help
60           much.
61
62           See Documentation/unaligned-memory-access.txt for more
63           information on the topic of unaligned memory accesses.
64
65 config KRETPROBES
66         def_bool y
67         depends on KPROBES && HAVE_KRETPROBES
68
69 config HAVE_IOREMAP_PROT
70         bool
71
72 config HAVE_KPROBES
73         bool
74
75 config HAVE_KRETPROBES
76         bool
77
78 #
79 # An arch should select this if it provides all these things:
80 #
81 #       task_pt_regs()          in asm/processor.h or asm/ptrace.h
82 #       arch_has_single_step()  if there is hardware single-step support
83 #       arch_has_block_step()   if there is hardware block-step support
84 #       asm/syscall.h           supplying asm-generic/syscall.h interface
85 #       linux/regset.h          user_regset interfaces
86 #       CORE_DUMP_USE_REGSET    #define'd in linux/elf.h
87 #       TIF_SYSCALL_TRACE       calls tracehook_report_syscall_{entry,exit}
88 #       TIF_NOTIFY_RESUME       calls tracehook_notify_resume()
89 #       signal delivery         calls tracehook_signal_handler()
90 #
91 config HAVE_ARCH_TRACEHOOK
92         bool
93
94 config HAVE_DMA_ATTRS
95         bool
96
97 config USE_GENERIC_SMP_HELPERS
98         bool
99
100 config HAVE_CLK
101         bool
102         help
103           The <linux/clk.h> calls support software clock gating and
104           thus are a key power management tool on many systems.
105