trace: profiling branches
Subsystems (4)
Steven Rostedt
maintainercover trace: profiling branches
Ingo,
The following patches clean up the unlikely/likely tracer. Namely it consolidates it into a single file called "profile_annotated_branch".
It also adds a new profiler. A true branch profiler that profiles all if() statements where the conditional is not a constant. It puts a bit of overhead on the system, but the results seem pretty interesting. The results are placed in "profile_branch".
Anyway, enjoy ;-)
The following patches are in:
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git
branch: tip/devel
Steven Rostedt (4):
trace: remove extra assign in branch check
trace: consolidate unlikely and likely profiler
trace: branch profiling should not print percent without data
trace: profile all if conditionals
----
include/asm-generic/vmlinux.lds.h | 20 +++++++---- include/linux/compiler.h | 64 +++++++++++++++++++++------------ kernel/trace/Kconfig | 19 +++++++++- kernel/trace/trace_branch.c | 72 +++++++++++++++++++++++------------- 4 files changed, 117 insertions(+), 58 deletions(-)
Steven Rostedt
maintainerPATCH 1/4 trace: remove extra assign in branch check
From: Steven Rostedt <[email protected]>
Impact: clean up of branch check
The unlikely/likely profiler does an extra assign of the f.line. This is not needed since it is already calculated at compile time.
--- include/linux/compiler.h | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-)
include/linux/compiler.h +0 -2
@@ -87,7 +87,6 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); .file = __FILE__, \ .line = __LINE__, \ }; \ - ______f.line = __LINE__; \ ______r =likely_notrace (x); \ftrace_likely_update (&______f, ______r,1 ); \ ______r; \
@@ -102,7 +101,6 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); .file = __FILE__, \ .line = __LINE__, \ }; \ - ______f.line = __LINE__; \ ______r =unlikely_notrace (x); \ftrace_likely_update (&______f, ______r,0 ); \ ______r; \
Signature · 3 lines
1.5.6.5 --
Steven Rostedt
maintainerPATCH 2/4 trace: consolidate unlikely and likely profiler
In reply to Steven RostedtFrom: Steven Rostedt <[email protected]>
Impact: clean up to make one profiler of like and unlikely tracer
The likely and unlikely profiler prints out the file and line numbers of the annotated branches that it is profiling. It shows the number of times it was correct or incorrect in its guess. Having two different files or sections for that matter to tell us if it was a likely or unlikely is pretty pointless. We really only care if it was correct or not.
--- include/asm-generic/vmlinux.lds.h | 9 ++----- include/linux/compiler.h | 24 ++++------------------ kernel/trace/Kconfig | 3 +- kernel/trace/trace_branch.c | 39 ++++++++++++------------------------ 4 files changed, 22 insertions(+), 53 deletions(-)
include/asm-generic/vmlinux.lds.h +3 -6
@@ -46,12 +46,9 @@#endif #ifdef CONFIG_TRACE_BRANCH_PROFILING -#define LIKELY_PROFILE () VMLINUX_SYMBOL(__start_likely_profile) = .; \ - *(_ftrace_likely) \ - VMLINUX_SYMBOL(__stop_likely_profile) = .; \ - VMLINUX_SYMBOL(__start_unlikely_profile) = .; \ - *(_ftrace_unlikely) \ - VMLINUX_SYMBOL(__stop_unlikely_profile) = .; +#define LIKELY_PROFILE () VMLINUX_SYMBOL(__start_annotated_branch_profile) = .; \ + *(_ftrace_annotated_branch) \ + VMLINUX_SYMBOL(__stop_annotated_branch_profile) = .;#else #define LIKELY_PROFILE ()#endif
include/linux/compiler.h +5 -19
@@ -77,32 +77,18 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);#define likely_notrace (x) __builtin_expect(!!(x), 1)#define unlikely_notrace (x) __builtin_expect(!!(x), 0) -#define likely_check (x) ({ \ +#define __branch_check__ (x, expect) ({ \ int ______r; \ static struct ftrace_branch_data \ __attribute__((__aligned__(4))) \ - __attribute__((section("_ftrace_likely"))) \ + __attribute__((section("_ftrace_annotated_branch"))) \ ______f = { \ .func = __func__, \ .file = __FILE__, \ .line = __LINE__, \ }; \ ______r = likely_notrace(x); \ - ftrace_likely_update(&______f, ______r, 1); \ - ______r; \ - }) -#define unlikely_check (x) ({ \ - int ______r; \ - static struct ftrace_branch_data \ - __attribute__((__aligned__(4))) \ - __attribute__((section("_ftrace_unlikely"))) \ - ______f = { \ - .func = __func__, \ - .file = __FILE__, \ - .line = __LINE__, \ - }; \ - ______r = unlikely_notrace(x); \ - ftrace_likely_update(&______f, ______r, 0); \ + ftrace_likely_update(&______f, ______r, expect); \ ______r; \ })
@@ -112,10 +98,10 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);* written by Daniel Walker. */ # ifndef likely -# define likely (x) (__builtin_constant_p(x) ? !!(x) : likely_check(x)) +# define likely (x) (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 1))# endif # ifndef unlikely -# define unlikely (x) (__builtin_constant_p(x) ? !!(x) : unlikely_check(x)) +# define unlikely (x) (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 0))# endif #else # define likely (x) __builtin_expect(!!(x), 1)
kernel/trace/Kconfig +1 -2
@@ -166,8 +166,7 @@ config TRACE_BRANCH_PROFILING This tracer profiles all the the likely and unlikely macros in the kernel. It will display the results in: - /debugfs/tracing/profile_likely - /debugfs/tracing/profile_unlikely + /debugfs/tracing/profile_annotated_branch Note: this will add a significant overhead, only turn this on if you need to profile the system's use of these macros.
kernel/trace/trace_branch.c +13 -26
@@ -261,7 +261,7 @@ static struct seq_operations tracing_likely_seq_ops = { .show = t_show, }; -static int tracing_likely_open (struct inode *inode,struct file *file) +static int tracing_branch_open (struct inode *inode,struct file *file) {int ret;
@@ -274,25 +274,18 @@ static int tracing_likely_open(struct inode *inode, struct file *file)return ret; } -static struct file_operations tracing_likely_fops = { - .open = tracing_likely_open, +static const struct file_operations tracing_branch_fops = { + .open = tracing_branch_open, .read = seq_read, .llseek = seq_lseek, }; -extern unsigned long __start_likely_profile[]; -extern unsigned long __stop_likely_profile[]; -extern unsigned long __start_unlikely_profile[]; -extern unsigned long __stop_unlikely_profile[]; +extern unsigned long __start_annotated_branch_profile[]; +extern unsigned long __stop_annotated_branch_profile[]; -static struct ftrace_pointer ftrace_likely_pos = { - .start = __start_likely_profile, - .stop = __stop_likely_profile, -}; - -static struct ftrace_pointer ftrace_unlikely_pos = { - .start = __start_unlikely_profile, - .stop = __stop_unlikely_profile, +static const struct ftrace_pointer ftrace_annotated_branch_pos = { + .start = __start_annotated_branch_profile, + .stop = __stop_annotated_branch_profile, };static __init int ftrace_branch_init (void )
@@ -302,18 +295,12 @@ static __init int ftrace_branch_init(void) d_tracer =tracing_init_dentry (); - entry =debugfs_create_file ("profile_likely" ,0444 , d_tracer, - &ftrace_likely_pos, - &tracing_likely_fops); -if (!entry) -pr_warning ("Could not create debugfs 'profile_likely' entry\n" ); - - entry =debugfs_create_file ("profile_unlikely" ,0444 , d_tracer, - &ftrace_unlikely_pos, - &tracing_likely_fops); + entry =debugfs_create_file ("profile_annotated_branch" ,0444 , d_tracer, + &ftrace_annotated_branch_pos, + &tracing_branch_fops);if (!entry) -pr_warning ("Could not create debugfs" -" 'profile_unlikely' entry\n" ); +pr_warning ("Could not create debugfs " +"'profile_annotatet_branch' entry\n" );return 0 ; }
Signature · 3 lines
1.5.6.5 --
Steven Rostedt
maintainerPATCH 3/4 trace: branch profiling should not print percent without data
In reply to Steven RostedtFrom: Steven Rostedt <[email protected]>
Impact: cleanup on output of branch profiler
When a branch has not been taken, it does not make sense to show a percentage incorrect or hit. This patch changes the behaviour to print out a 'X' when the branch has not been executed yet.
For example:
correct incorrect % Function File Line
------- --------- - -------- ---- ----
2096 0 0 do_arch_prctl process_64.c 832
0 0 X do_arch_prctl process_64.c 804
2604 0 0 IS_ERR err.h 34
130228 5765 4 __switch_to process_64.c 673
0 0 X enable_TSC process_64.c 448
0 0 X disable_TSC process_64.c 431--- kernel/trace/trace_branch.c | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-)
kernel/trace/trace_branch.c +7 -3
@@ -225,7 +225,7 @@ static int t_show(struct seq_file *m, void *v) {struct ftrace_branch_data *p = v;const char *f; -unsigned long percent; +long percent;if (v == (void *)1 ) { seq_printf(m, " correct incorrect %% "
@@ -247,9 +247,13 @@ static int t_show(struct seq_file *m, void *v) percent = p->incorrect *100 ; percent /= p->correct + p->incorrect; }else - percent = p->incorrect ?100 :0 ; + percent = p->incorrect ?100 :-1 ; -seq_printf (m,"%8lu %8lu %3lu " , p->correct, p->incorrect, percent); +seq_printf (m,"%8lu %8lu " , p->correct, p->incorrect); +if (percent <0 ) +seq_printf (m," X " ); +else +seq_printf (m,"%3ld " , percent);seq_printf (m,"%-30.30s %-20.20s %d\n" , p->func, f, p->line);return 0 ; }
Signature · 3 lines
1.5.6.5 --
Steven Rostedt
maintainerPATCH 4/4 trace: profile all if conditionals
In reply to Steven RostedtFrom: Steven Rostedt <[email protected]>
Impact: feature to profile if statements
This patch adds a branch profiler for all if () statements. The results will be found in:
/debugfs/tracing/profile_branch
For example:
miss hit % Function File Line
------- --------- - -------- ---- ----
0 1 100 x86_64_start_reservations head64.c 127
0 1 100 copy_bootdata head64.c 69
1 0 0 x86_64_start_kernel head64.c 111
32 0 0 set_intr_gate desc.h 319
1 0 0 reserve_ebda_region head.c 51
1 0 0 reserve_ebda_region head.c 47
0 1 100 reserve_ebda_region head.c 42
0 0 X maxcpus main.c 165Miss means the branch was not taken. Hit means the branch was taken. The percent is the percentage the branch was taken.
This adds a significant amount of overhead and should only be used by those analyzing their system.
--- include/asm-generic/vmlinux.lds.h | 11 +++++++++- include/linux/compiler.h | 38 +++++++++++++++++++++++++++++++++++- kernel/trace/Kconfig | 16 +++++++++++++++ kernel/trace/trace_branch.c | 33 ++++++++++++++++++++++++++++++- 4 files changed, 93 insertions(+), 5 deletions(-)
include/asm-generic/vmlinux.lds.h +10 -1
@@ -53,6 +53,14 @@#define LIKELY_PROFILE ()#endif +#ifdef CONFIG_PROFILE_ALL_BRANCHES +#define BRANCH_PROFILE () VMLINUX_SYMBOL(__start_branch_profile) = .; \ + *(_ftrace_branch) \ + VMLINUX_SYMBOL(__stop_branch_profile) = .; +#else +#define BRANCH_PROFILE () +#endif +/* .data section */ #define DATA_DATA \ *(.data) \
@@ -72,7 +80,8 @@ VMLINUX_SYMBOL(__start___tracepoints) = .; \ *(__tracepoints) \ VMLINUX_SYMBOL(__stop___tracepoints) = .; \ - LIKELY_PROFILE() + LIKELY_PROFILE() \ + BRANCH_PROFILE()#define RO_DATA (align) \ . = ALIGN((align)); \
include/linux/compiler.h +36 -2
@@ -63,8 +63,16 @@ struct ftrace_branch_data {const char *func;const char *file;unsigned line; -unsigned long correct; -unsigned long incorrect; +union { +struct { +unsigned long correct; +unsigned long incorrect; + }; +struct { +unsigned long miss; +unsigned long hit; + }; + }; };/*
@@ -103,6 +111,32 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);# ifndef unlikely# define unlikely (x) (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 0))# endif + +#ifdef CONFIG_PROFILE_ALL_BRANCHES +/* +* "Define 'is'", Bill Clinton +* "Define 'if'", Steven Rostedt +*/ +#define if(cond) if (__builtin_constant_p((cond)) ? !!(cond) : \ + ({ \ + int ______r; \ + static struct ftrace_branch_data \ + __attribute__((__aligned__(4))) \ + __attribute__((section("_ftrace_branch"))) \ + ______f = { \ + .func = __func__, \ + .file = __FILE__, \ + .line = __LINE__, \ + }; \ + ______r = !!(cond); \ + if (______r) \ + ______f.hit++; \ + else \ + ______f.miss++; \ + ______r; \ + })) +#endif /* CONFIG_PROFILE_ALL_BRANCHES */ +#else # define likely (x) __builtin_expect(!!(x), 1)# define unlikely (x) __builtin_expect(!!(x), 0)
kernel/trace/Kconfig +16 -0
@@ -173,6 +173,22 @@ config TRACE_BRANCH_PROFILING Say N if unsure. +config PROFILE_ALL_BRANCHES + bool "Profile all if conditionals" + depends on TRACE_BRANCH_PROFILING + help + This tracer profiles all branch conditions. Every if () + taken in the kernel is recorded whether it hit or miss. + The results will be displayed in: + + /debugfs/tracing/profile_branch + + This configuration, when enabled, will impose a great overhead + on the system. This should only be enabled when the system + is to be analyzed + + Say N if unsure. + config TRACING_BRANCHES bool help
kernel/trace/trace_branch.c +31 -2
@@ -185,6 +185,7 @@ EXPORT_SYMBOL(ftrace_likely_update);struct ftrace_pointer {void *start;void *stop; +int hit; }; static void *
@@ -223,13 +224,17 @@ static void t_stop(struct seq_file *m, void *p)static int t_show (struct seq_file *m,void *v) { +struct ftrace_pointer *fp = m->private;struct ftrace_branch_data *p = v;const char *f;long percent;if (v == (void *)1 ) { -seq_printf (m," correct incorrect %% " -" Function " +if (fp->hit) +seq_printf (m," miss hit %% " ); +else +seq_printf (m," correct incorrect %% " ); +seq_printf (m," Function " " File Line\n" " ------- --------- - " " -------- "
@@ -243,6 +248,9 @@ static int t_show(struct seq_file *m, void *v) f--; f++; +/* +* The miss is overlayed on correct, and hit on incorrect. +*/ if (p->correct) { percent = p->incorrect *100 ; percent /= p->correct + p->incorrect;
@@ -284,6 +292,18 @@ static const struct file_operations tracing_branch_fops = { .llseek = seq_lseek, }; +#ifdef CONFIG_PROFILE_ALL_BRANCHES +extern unsigned long __start_branch_profile[]; +extern unsigned long __stop_branch_profile[]; + +static struct ftrace_pointer ftrace_branch_pos = { + .start = __start_branch_profile, + .stop = __stop_branch_profile, + .hit =1 , +}; + +#endif /* CONFIG_PROFILE_ALL_BRANCHES */ +extern unsigned long __start_annotated_branch_profile[];extern unsigned long __stop_annotated_branch_profile[];
@@ -306,6 +326,15 @@ static __init int ftrace_branch_init(void)pr_warning ("Could not create debugfs " "'profile_annotatet_branch' entry\n" ); +#ifdef CONFIG_PROFILE_ALL_BRANCHES + entry =debugfs_create_file ("profile_branch" ,0444 , d_tracer, + &ftrace_branch_pos, + &tracing_branch_fops); +if (!entry) +pr_warning ("Could not create debugfs" +" 'profile_branch' entry\n" ); +#endif +return 0 ; }
Signature · 3 lines
1.5.6.5 --
Re: [PATCH 4/4] trace: profile all if conditionals
include/linux/compiler.h
Quoted 6 lines · On Fri, 21 Nov 2008 02:12:17 -0500 Steven Rostedt <[email protected]> wrote:
include/linux/compiler.h +1
-0+#define if(cond) if (__builtin_constant_p((cond)) ? !!(cond) : \
wheee...
Now how are you going to profile ?:, while, for(;expr;), etc? ;)
Steven Rostedt
maintainerRe: [PATCH 4/4] trace: profile all if conditionals
Quoted 6 lines · Andrew Morton
Quoted 2 lines
+#define if(cond) if (__builtin_constant_p((cond)) ? !!(cond) : \
wheee...
Now how are you going to profile ?:, while, for(;expr;), etc? ;)
I don't know. Give me a few months, I'll figure out a way ;-)
This is just a way to see if we should add or remove more if annotations.
(i.e. likely() and unlikey() )
-- Steve
Re: [PATCH 4/4] trace: profile all if conditionals
Quoted 8 lines · Steven Rostedt
Quoted 6 lines · Andrew Morton
Quoted 2 lines
+#define if(cond) if (__builtin_constant_p((cond)) ? !!(cond) : \
wheee...
Now how are you going to profile ?:, while, for(;expr;), etc? ;)
btw., there's hardware driven branch tracing and profiling in the works too, which captures all conditionals - including loops. Stay tuned :)
Quoted 1 line
I don't know. Give me a few months, I'll figure out a way ;-)
also loops generally have a more static (hence less interesting) prediction pattern - while for branches we frequently have a "should this branch be made likely/unlikely in the fastpath" question.
Ingo
Re: [PATCH 4/4] trace: profile all if conditionals
In reply to Steven RostedtQuoted 11 lines · Steven Rostedt
From: Steven Rostedt <[email protected]>
Impact: feature to profile if statements
This patch adds a branch profiler for all if () statements. The results will be found in:
/debugfs/tracing/profile_branch
For example:
Quoted 10 lines
miss hit % Function File Line
------- --------- - -------- ---- ----
0 1 100 x86_64_start_reservations head64.c 127
0 1 100 copy_bootdata head64.c 69
1 0 0 x86_64_start_kernel head64.c 111
32 0 0 set_intr_gate desc.h 319
1 0 0 reserve_ebda_region head.c 51
1 0 0 reserve_ebda_region head.c 47
0 1 100 reserve_ebda_region head.c 42
0 0 X maxcpus main.c 165-tip testing found this build failure:
net/wireless/reg.c:348:29: error: macro "if" passed 2 arguments, but takes just 1
with the attached config. Seems the macro confused some aspect of WARN() ?
Ingo
#
# Automatically generated make config: don't edit # Linux kernel version: 2.6.28-rc6
# Sun Nov 23 19:45:30 2008
#
# CONFIG_64BIT is not setCONFIG_X86_32=y
# CONFIG_X86_64 is not setCONFIG_X86=y CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" CONFIG_GENERIC_TIME=yCONFIG_GENERIC_CMOS_UPDATE=y CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_FAST_CMPXCHG_LOCAL=yCONFIG_MMU=yCONFIG_ZONE_DMA=yCONFIG_GENERIC_ISA_DMA=yCONFIG_GENERIC_IOMAP=yCONFIG_GENERIC_BUG=yCONFIG_GENERIC_HWEIGHT=yCONFIG_GENERIC_GPIO=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y CONFIG_GENERIC_CALIBRATE_DELAY=y
# CONFIG_GENERIC_TIME_VSYSCALL is not set CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_DEFAULT_IDLE=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y
# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_ZONE_DMA32 is not set CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_AUDIT_ARCH is not set CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_GENERIC_HARDIRQS=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_PENDING_IRQ=yCONFIG_X86_SMP=yCONFIG_USE_GENERIC_SMP_HELPERS=y CONFIG_X86_32_SMP=yCONFIG_X86_HT=yCONFIG_X86_BIOS_REBOOT=yCONFIG_X86_TRAMPOLINE=yCONFIG_KTIME_SCALAR=y
# CONFIG_BOOTPARAM_SUPPORT is not set CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
#
# General setup
#CONFIG_EXPERIMENTAL=y
# CONFIG_BROKEN_BOOT_ALLOWED4 is not set
# CONFIG_BROKEN_BOOT_EUROPE is not set
# CONFIG_BROKEN_BOOT_TITAN is not setCONFIG_LOCK_KERNEL=yCONFIG_INIT_ENV_ARG_LIMIT=32CONFIG_LOCALVERSION=""CONFIG_LOCALVERSION_AUTO=y
# CONFIG_SWAP is not setCONFIG_SYSVIPC=yCONFIG_SYSVIPC_SYSCTL=yCONFIG_POSIX_MQUEUE=yCONFIG_BSD_PROCESS_ACCT=yCONFIG_BSD_PROCESS_ACCT_V3=y
# CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not setCONFIG_IKCONFIG=yCONFIG_IKCONFIG_PROC=yCONFIG_LOG_BUF_SHIFT=20
# CONFIG_CGROUPS is not setCONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
# CONFIG_GROUP_SCHED is not setCONFIG_SYSFS_DEPRECATED=yCONFIG_SYSFS_DEPRECATED_V2=yCONFIG_RELAY=y
# CONFIG_NAMESPACES is not set
# CONFIG_BLK_DEV_INITRD is not setCONFIG_CC_OPTIMIZE_FOR_SIZE=yCONFIG_SYSCTL=yCONFIG_EMBEDDED=yCONFIG_UID16=yCONFIG_SYSCTL_SYSCALL=yCONFIG_KALLSYMS=yCONFIG_KALLSYMS_ALL=yCONFIG_KALLSYMS_EXTRA_PASS=yCONFIG_HOTPLUG=yCONFIG_PRINTK=yCONFIG_BUG=y
# CONFIG_ELF_CORE is not set
# CONFIG_PCSPKR_PLATFORM is not setCONFIG_COMPAT_BRK=y
# CONFIG_BASE_FULL is not setCONFIG_FUTEX=yCONFIG_ANON_INODES=yCONFIG_EPOLL=yCONFIG_SIGNALFD=y
# CONFIG_TIMERFD is not setCONFIG_EVENTFD=yCONFIG_SHMEM=y
# CONFIG_AIO is not setCONFIG_VM_EVENT_COUNTERS=yCONFIG_PCI_QUIRKS=yCONFIG_SLUB_DEBUG=y
# CONFIG_SLAB is not setCONFIG_SLUB=y
# CONFIG_SLOB is not setCONFIG_PROFILING=yCONFIG_TRACEPOINTS=yCONFIG_MARKERS=y
# CONFIG_OPROFILE is not setCONFIG_HAVE_OPROFILE=yCONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=yCONFIG_HAVE_IOREMAP_PROT=yCONFIG_HAVE_KPROBES=yCONFIG_HAVE_KRETPROBES=yCONFIG_HAVE_ARCH_TRACEHOOK=yCONFIG_HAVE_GENERIC_DMA_COHERENT=yCONFIG_SLABINFO=yCONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not setCONFIG_BASE_SMALL=1
# CONFIG_MODULES is not setCONFIG_BLOCK=yCONFIG_LBD=y
# CONFIG_BLK_DEV_IO_TRACE is not setCONFIG_LSF=y
# CONFIG_BLK_DEV_BSG is not setCONFIG_BLK_DEV_INTEGRITY=y
#
# IO Schedulers
#CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_AS is not setCONFIG_IOSCHED_DEADLINE=yCONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not setCONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not setCONFIG_DEFAULT_IOSCHED="cfq"CONFIG_PREEMPT_NOTIFIERS=yCONFIG_CLASSIC_RCU=y
# CONFIG_FREEZER is not set
#
# Processor type and features
#CONFIG_TICK_ONESHOT=y
# CONFIG_NO_HZ is not set CONFIG_HIGH_RES_TIMERS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_SMP_SUPPORT=y CONFIG_X86_FIND_SMP_CONFIG=y CONFIG_X86_MPPARSE=yCONFIG_UP_WANTED_1=yCONFIG_UP_WANTED_2=y
# CONFIG_UP_WANTED is not setCONFIG_SMP=yCONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_VSMP is not set CONFIG_X86_RDC321X=y CONFIG_SCHED_OMIT_FRAME_POINTER=y CONFIG_PARAVIRT_GUEST=yCONFIG_VMI=y
# CONFIG_KVM_CLOCK is not setCONFIG_KVM_GUEST=yCONFIG_LGUEST_GUEST=yCONFIG_PARAVIRT=y
# CONFIG_PARAVIRT_CLOCK is not set CONFIG_PARAVIRT_DEBUG=y
# CONFIG_MEMTEST is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not setCONFIG_M686=y
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_GENERIC_CPU is not set CONFIG_X86_GENERIC=yCONFIG_X86_CPU=yCONFIG_X86_CMPXCHG=yCONFIG_X86_L1_CACHE_SHIFT=7CONFIG_X86_XADD=yCONFIG_X86_PPRO_FENCE=yCONFIG_X86_WP_WORKS_OK=yCONFIG_X86_INVLPG=yCONFIG_X86_BSWAP=yCONFIG_X86_POPAD_OK=y CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_USE_PPRO_CHECKSUM=yCONFIG_X86_TSC=yCONFIG_X86_CMOV=y CONFIG_X86_MINIMUM_CPU_FAMILY=4 CONFIG_X86_DEBUGCTLMSR=y CONFIG_PROCESSOR_SELECT=yCONFIG_CPU_SUP_INTEL=yCONFIG_CPU_SUP_CYRIX_32=yCONFIG_CPU_SUP_AMD=yCONFIG_CPU_SUP_CENTAUR_32=y CONFIG_CPU_SUP_TRANSMETA_32=y CONFIG_CPU_SUP_UMC_32=yCONFIG_X86_DS=yCONFIG_X86_PTRACE_BTS=yCONFIG_HPET_TIMER=yCONFIG_DMI=y
# CONFIG_IOMMU_HELPER is not set CONFIG_NR_CPUS=8
# CONFIG_SCHED_SMT is not setCONFIG_SCHED_MC=yCONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set CONFIG_X86_LOCAL_APIC=yCONFIG_X86_IO_APIC=y
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set # CONFIG_X86_MCE is not set
# CONFIG_VM86 is not set
# CONFIG_TOSHIBA is not setCONFIG_I8K=yCONFIG_X86_REBOOTFIXUPS=yCONFIG_MICROCODE=y
# CONFIG_MICROCODE_INTEL is not set
# CONFIG_MICROCODE_AMD is not set CONFIG_MICROCODE_OLD_INTERFACE=y CONFIG_X86_MSR=yCONFIG_X86_CPUID=y
# CONFIG_NOHIGHMEM is not setCONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_3G_OPT is not set
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_2G_OPT is not set
# CONFIG_VMSPLIT_1G is not set CONFIG_PAGE_OFFSET=0xC0000000CONFIG_HIGHMEM=y
# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set CONFIG_ARCH_FLATMEM_ENABLE=y CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_ILLEGAL_POINTER_VALUE=0 CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set CONFIG_FLATMEM=yCONFIG_FLAT_NODE_MEM_MAP=y CONFIG_SPARSEMEM_STATIC=y CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_RESOURCES_64BIT=y
# CONFIG_PHYS_ADDR_T_64BIT is not set CONFIG_ZONE_DMA_FLAG=1CONFIG_BOUNCE=yCONFIG_VIRT_TO_BUS=y
# CONFIG_UNEVICTABLE_LRU is not set CONFIG_MMU_NOTIFIER=y
# CONFIG_HIGHPTE is not set CONFIG_X86_CHECK_BIOS_CORRUPTION=y
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set # CONFIG_X86_RESERVE_LOW_64K is not set
# CONFIG_MATH_EMULATION is not setCONFIG_MTRR=yCONFIG_MTRR_SANITIZER=y CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 CONFIG_X86_PAT=yCONFIG_EFI=yCONFIG_SECCOMP=y
# CONFIG_HZ_100 is not setCONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not setCONFIG_HZ=250CONFIG_SCHED_HRTICK=yCONFIG_KEXEC=yCONFIG_CRASH_DUMP=y CONFIG_PHYSICAL_START=0x100000 CONFIG_RELOCATABLE=y CONFIG_PHYSICAL_ALIGN=0x100000
# CONFIG_HOTPLUG_CPU is not set
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
#
# Power management and ACPI options
#CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
# CONFIG_SUSPEND is not setCONFIG_ACPI=yCONFIG_ACPI_PROCFS=yCONFIG_ACPI_PROCFS_POWER=yCONFIG_ACPI_SYSFS_POWER=yCONFIG_ACPI_PROC_EVENT=yCONFIG_ACPI_AC=yCONFIG_ACPI_BATTERY=yCONFIG_ACPI_BUTTON=yCONFIG_ACPI_VIDEO=yCONFIG_ACPI_FAN=yCONFIG_ACPI_DOCK=yCONFIG_ACPI_PROCESSOR=y
# CONFIG_ACPI_THERMAL is not setCONFIG_ACPI_WMI=yCONFIG_ACPI_ASUS=yCONFIG_ACPI_TOSHIBA=y
# CONFIG_ACPI_CUSTOM_DSDT is not setCONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not setCONFIG_ACPI_PCI_SLOT=yCONFIG_ACPI_SYSTEM=y
# CONFIG_X86_PM_TIMER is not setCONFIG_ACPI_CONTAINER=yCONFIG_ACPI_SBS=y
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
# CONFIG_CPU_IDLE is not set
#
# Bus options (PCI etc.)
#CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
# CONFIG_PCI_GOOLPC is not setCONFIG_PCI_GOANY=yCONFIG_PCI_BIOS=yCONFIG_PCI_DIRECT=yCONFIG_PCI_MMCONFIG=yCONFIG_PCI_OLPC=yCONFIG_PCI_DOMAINS=yCONFIG_PCIEPORTBUS=y
# CONFIG_HOTPLUG_PCI_PCIE is not set
# CONFIG_PCIEAER is not setCONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not setCONFIG_ARCH_SUPPORTS_MSI=yCONFIG_PCI_MSI=yCONFIG_PCI_LEGACY=yCONFIG_PCI_DEBUG=y
# CONFIG_HT_IRQ is not setCONFIG_ISA_DMA_API=yCONFIG_ISA=yCONFIG_EISA=y
# CONFIG_EISA_VLB_PRIMING is not set
# CONFIG_EISA_PCI_EISA is not setCONFIG_EISA_VIRTUAL_ROOT=yCONFIG_EISA_NAMES=yCONFIG_MCA=yCONFIG_MCA_LEGACY=y
# CONFIG_MCA_PROC_FS is not set
# CONFIG_SCx200 is not setCONFIG_OLPC=yCONFIG_K8_NB=yCONFIG_PCCARD=yCONFIG_PCMCIA_DEBUG=y
# CONFIG_PCMCIA is not setCONFIG_CARDBUS=y
#
# PC-card bridges
#
# CONFIG_YENTA is not setCONFIG_PCMCIA_PROBE=yCONFIG_HOTPLUG_PCI=y
# CONFIG_HOTPLUG_PCI_FAKE is not setCONFIG_HOTPLUG_PCI_COMPAQ=y
# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not setCONFIG_HOTPLUG_PCI_IBM=y
# CONFIG_HOTPLUG_PCI_ACPI is not set
# CONFIG_HOTPLUG_PCI_CPCI is not setCONFIG_HOTPLUG_PCI_SHPC=y
#
# Executable file formats / Emulations
#CONFIG_BINFMT_ELF=yCONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=yCONFIG_HAVE_AOUT=y
# CONFIG_BINFMT_AOUT is not setCONFIG_BINFMT_MISC=yCONFIG_HAVE_ATOMIC_IOMAP=yCONFIG_NET=y
#
# Networking options
#CONFIG_PACKET=yCONFIG_PACKET_MMAP=yCONFIG_UNIX=yCONFIG_XFRM=yCONFIG_XFRM_USER=yCONFIG_XFRM_SUB_POLICY=yCONFIG_XFRM_MIGRATE=yCONFIG_XFRM_STATISTICS=yCONFIG_XFRM_IPCOMP=y
# CONFIG_NET_KEY is not setCONFIG_INET=y
# CONFIG_IP_MULTICAST is not setCONFIG_IP_ADVANCED_ROUTER=yCONFIG_ASK_IP_FIB_HASH=y
# CONFIG_IP_FIB_TRIE is not setCONFIG_IP_FIB_HASH=yCONFIG_IP_MULTIPLE_TABLES=yCONFIG_IP_ROUTE_MULTIPATH=yCONFIG_IP_ROUTE_VERBOSE=yCONFIG_IP_PNP=yCONFIG_IP_PNP_DHCP=y
# CONFIG_IP_PNP_BOOTP is not set
# CONFIG_IP_PNP_RARP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not setCONFIG_ARPD=yCONFIG_SYN_COOKIES=yCONFIG_INET_AH=y
# CONFIG_INET_ESP is not setCONFIG_INET_IPCOMP=yCONFIG_INET_XFRM_TUNNEL=yCONFIG_INET_TUNNEL=yCONFIG_INET_XFRM_MODE_TRANSPORT=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not setCONFIG_INET_XFRM_MODE_BEET=yCONFIG_INET_LRO=yCONFIG_INET_DIAG=yCONFIG_INET_TCP_DIAG=yCONFIG_TCP_CONG_ADVANCED=y
# CONFIG_TCP_CONG_BIC is not setCONFIG_TCP_CONG_CUBIC=yCONFIG_TCP_CONG_WESTWOOD=y
# CONFIG_TCP_CONG_HTCP is not set
# CONFIG_TCP_CONG_HSTCP is not setCONFIG_TCP_CONG_HYBLA=yCONFIG_TCP_CONG_VEGAS=yCONFIG_TCP_CONG_SCALABLE=yCONFIG_TCP_CONG_LP=yCONFIG_TCP_CONG_VENO=yCONFIG_TCP_CONG_YEAH=yCONFIG_TCP_CONG_ILLINOIS=y
# CONFIG_DEFAULT_BIC is not setCONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_HTCP is not set
# CONFIG_DEFAULT_VEGAS is not set
# CONFIG_DEFAULT_WESTWOOD is not set
# CONFIG_DEFAULT_RENO is not setCONFIG_DEFAULT_TCP_CONG="cubic"CONFIG_TCP_MD5SIG=yCONFIG_IPV6=yCONFIG_IPV6_PRIVACY=yCONFIG_IPV6_ROUTER_PREF=yCONFIG_IPV6_ROUTE_INFO=y
# CONFIG_IPV6_OPTIMISTIC_DAD is not setCONFIG_INET6_AH=yCONFIG_INET6_ESP=yCONFIG_INET6_IPCOMP=yCONFIG_IPV6_MIP6=yCONFIG_INET6_XFRM_TUNNEL=yCONFIG_INET6_TUNNEL=yCONFIG_INET6_XFRM_MODE_TRANSPORT=yCONFIG_INET6_XFRM_MODE_TUNNEL=yCONFIG_INET6_XFRM_MODE_BEET=yCONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=yCONFIG_IPV6_SIT=yCONFIG_IPV6_NDISC_NODETYPE=yCONFIG_IPV6_TUNNEL=yCONFIG_IPV6_MULTIPLE_TABLES=y
# CONFIG_IPV6_SUBTREES is not setCONFIG_IPV6_MROUTE=yCONFIG_IPV6_PIMSM_V2=yCONFIG_NETLABEL=y
# CONFIG_NETWORK_SECMARK is not set
# CONFIG_NETFILTER is not setCONFIG_IP_DCCP=yCONFIG_INET_DCCP_DIAG=yCONFIG_IP_DCCP_ACKVEC=y
#
# DCCP CCIDs Configuration (EXPERIMENTAL)
#CONFIG_IP_DCCP_CCID2=yCONFIG_IP_DCCP_CCID2_DEBUG=yCONFIG_IP_DCCP_CCID3=yCONFIG_IP_DCCP_CCID3_DEBUG=yCONFIG_IP_DCCP_CCID3_RTO=100CONFIG_IP_DCCP_TFRC_LIB=yCONFIG_IP_DCCP_TFRC_DEBUG=y
#
# DCCP Kernel Hacking
#CONFIG_IP_DCCP_DEBUG=yCONFIG_IP_SCTP=yCONFIG_SCTP_DBG_MSG=yCONFIG_SCTP_DBG_OBJCNT=y
# CONFIG_SCTP_HMAC_NONE is not set
# CONFIG_SCTP_HMAC_SHA1 is not setCONFIG_SCTP_HMAC_MD5=yCONFIG_TIPC=yCONFIG_TIPC_ADVANCED=yCONFIG_TIPC_ZONES=3CONFIG_TIPC_CLUSTERS=1CONFIG_TIPC_NODES=255CONFIG_TIPC_SLAVE_NODES=0CONFIG_TIPC_PORTS=8191CONFIG_TIPC_LOG=0
# CONFIG_TIPC_DEBUG is not setCONFIG_ATM=yCONFIG_ATM_CLIP=yCONFIG_ATM_CLIP_NO_ICMP=y
# CONFIG_ATM_LANE is not setCONFIG_ATM_BR2684=y
# CONFIG_ATM_BR2684_IPFILTER is not setCONFIG_STP=yCONFIG_BRIDGE=y
# CONFIG_NET_DSA is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not setCONFIG_LLC=yCONFIG_LLC2=yCONFIG_IPX=yCONFIG_IPX_INTERN=yCONFIG_ATALK=yCONFIG_DEV_APPLETALK=y
# CONFIG_LTPC is not set
# CONFIG_IPDDP is not setCONFIG_X25=yCONFIG_LAPB=yCONFIG_ECONET=y
# CONFIG_ECONET_AUNUDP is not setCONFIG_ECONET_NATIVE=y
# CONFIG_WAN_ROUTER is not setCONFIG_NET_SCHED=y
#
# Queueing/Scheduling
#
# CONFIG_NET_SCH_CBQ is not setCONFIG_NET_SCH_HTB=yCONFIG_NET_SCH_HFSC=yCONFIG_NET_SCH_ATM=y
# CONFIG_NET_SCH_PRIO is not set
# CONFIG_NET_SCH_MULTIQ is not set
# CONFIG_NET_SCH_RED is not setCONFIG_NET_SCH_SFQ=yCONFIG_NET_SCH_TEQL=y
# CONFIG_NET_SCH_TBF is not set
# CONFIG_NET_SCH_GRED is not set
# CONFIG_NET_SCH_DSMARK is not setCONFIG_NET_SCH_NETEM=y
#
# Classification
#CONFIG_NET_CLS=yCONFIG_NET_CLS_BASIC=yCONFIG_NET_CLS_TCINDEX=yCONFIG_NET_CLS_ROUTE4=yCONFIG_NET_CLS_ROUTE=yCONFIG_NET_CLS_FW=yCONFIG_NET_CLS_U32=yCONFIG_CLS_U32_PERF=yCONFIG_CLS_U32_MARK=yCONFIG_NET_CLS_RSVP=yCONFIG_NET_CLS_RSVP6=y
# CONFIG_NET_CLS_FLOW is not setCONFIG_NET_EMATCH=yCONFIG_NET_EMATCH_STACK=32
# CONFIG_NET_EMATCH_CMP is not set
# CONFIG_NET_EMATCH_NBYTE is not setCONFIG_NET_EMATCH_U32=y
# CONFIG_NET_EMATCH_META is not setCONFIG_NET_EMATCH_TEXT=y
# CONFIG_NET_CLS_ACT is not setCONFIG_NET_CLS_IND=yCONFIG_NET_SCH_FIFO=y
#
# Network testing
#
# CONFIG_NET_PKTGEN is not setCONFIG_HAMRADIO=y
#
# Packet Radio protocols
#CONFIG_AX25=yCONFIG_AX25_DAMA_SLAVE=yCONFIG_NETROM=yCONFIG_ROSE=y
#
# AX.25 network device drivers
#
# CONFIG_MKISS is not set
# CONFIG_6PACK is not set
# CONFIG_BPQETHER is not set
# CONFIG_SCC is not setCONFIG_BAYCOM_SER_FDX=yCONFIG_BAYCOM_SER_HDX=yCONFIG_BAYCOM_PAR=yCONFIG_BAYCOM_EPP=y
# CONFIG_YAM is not set
# CONFIG_CAN is not setCONFIG_IRDA=y
#
# IrDA protocols
#
# CONFIG_IRLAN is not setCONFIG_IRNET=yCONFIG_IRCOMM=yCONFIG_IRDA_ULTRA=y
#
# IrDA options
#CONFIG_IRDA_CACHE_LAST_LSAP=y
# CONFIG_IRDA_FAST_RR is not setCONFIG_IRDA_DEBUG=y
#
# Infrared-port device drivers
#
#
# SIR device drivers
#CONFIG_IRTTY_SIR=y
#
# Dongle support
#CONFIG_DONGLE=yCONFIG_ESI_DONGLE=yCONFIG_ACTISYS_DONGLE=y
# CONFIG_TEKRAM_DONGLE is not setCONFIG_TOIM3232_DONGLE=y
# CONFIG_LITELINK_DONGLE is not set
# CONFIG_MA600_DONGLE is not set
# CONFIG_GIRBIL_DONGLE is not set
# CONFIG_MCP2120_DONGLE is not setCONFIG_OLD_BELKIN_DONGLE=yCONFIG_ACT200L_DONGLE=y
# CONFIG_KINGSUN_DONGLE is not setCONFIG_KSDAZZLE_DONGLE=yCONFIG_KS959_DONGLE=y
#
# FIR device drivers
#CONFIG_USB_IRDA=yCONFIG_SIGMATEL_FIR=yCONFIG_NSC_FIR=yCONFIG_WINBOND_FIR=yCONFIG_TOSHIBA_FIR=y
# CONFIG_SMC_IRCC_FIR is not set
# CONFIG_ALI_FIR is not setCONFIG_VLSI_FIR=y
# CONFIG_VIA_FIR is not setCONFIG_MCS_FIR=y
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
# CONFIG_PHONET is not setCONFIG_FIB_RULES=yCONFIG_WIRELESS=yCONFIG_CFG80211=yCONFIG_NL80211=yCONFIG_WIRELESS_OLD_REGULATORY=yCONFIG_WIRELESS_EXT=yCONFIG_WIRELESS_EXT_SYSFS=yCONFIG_MAC80211=y
#
# Rate control algorithm selection
#CONFIG_MAC80211_RC_PID=y CONFIG_MAC80211_RC_MINSTREL=y CONFIG_MAC80211_RC_DEFAULT_PID=y
# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set CONFIG_MAC80211_RC_DEFAULT="pid" CONFIG_MAC80211_MESH=yCONFIG_MAC80211_LEDS=y CONFIG_MAC80211_DEBUGFS=y CONFIG_MAC80211_DEBUG_MENU=y CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT=y CONFIG_MAC80211_NOINLINE=y CONFIG_MAC80211_VERBOSE_DEBUG=y CONFIG_MAC80211_HT_DEBUG=y CONFIG_MAC80211_TKIP_DEBUG=y
# CONFIG_MAC80211_IBSS_DEBUG is not set CONFIG_MAC80211_VERBOSE_PS_DEBUG=y CONFIG_MAC80211_VERBOSE_MPL_DEBUG=y CONFIG_MAC80211_DEBUG_COUNTERS=y
# CONFIG_MAC80211_VERBOSE_SPECT_MGMT_DEBUG is not set CONFIG_IEEE80211=yCONFIG_IEEE80211_DEBUG=y
# CONFIG_IEEE80211_CRYPT_WEP is not set CONFIG_IEEE80211_CRYPT_CCMP=y CONFIG_IEEE80211_CRYPT_TKIP=yCONFIG_RFKILL=yCONFIG_RFKILL_INPUT=yCONFIG_RFKILL_LEDS=y
#
# Device Drivers
#
#
# Generic Driver Options
#CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"CONFIG_STANDALONE=yCONFIG_PREVENT_FIRMWARE_BUILD=yCONFIG_FW_LOADER=yCONFIG_FIRMWARE_IN_KERNEL=yCONFIG_EXTRA_FIRMWARE=""CONFIG_DEBUG_DRIVER=y
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not setCONFIG_CONNECTOR=yCONFIG_PROC_EVENTS=yCONFIG_PARPORT=yCONFIG_PARPORT_PC=y
# CONFIG_PARPORT_SERIAL is not setCONFIG_PARPORT_PC_FIFO=y
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_GSC is not set
# CONFIG_PARPORT_AX88796 is not setCONFIG_PARPORT_1284=yCONFIG_PARPORT_NOT_PC=yCONFIG_PNP=y
# CONFIG_PNP_DEBUG_MESSAGES is not set
#
# Protocols
#
# CONFIG_ISAPNP is not set
# CONFIG_PNPBIOS is not setCONFIG_PNPACPI=yCONFIG_BLK_DEV=yCONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_XD is not setCONFIG_BLK_CPQ_DA=yCONFIG_BLK_CPQ_CISS_DA=y
# CONFIG_CISS_SCSI_TAPE is not setCONFIG_BLK_DEV_DAC960=yCONFIG_BLK_DEV_UMEM=y
# CONFIG_BLK_DEV_COW_COMMON is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
# CONFIG_BLK_DEV_RAM is not setCONFIG_CDROM_PKTCDVD=yCONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not setCONFIG_ATA_OVER_ETH=y
# CONFIG_VIRTIO_BLK is not setCONFIG_BLK_DEV_HD=y
# CONFIG_MISC_DEVICES is not setCONFIG_EEPROM_93CX6=yCONFIG_TIFM_CORE=yCONFIG_HAVE_IDE=y
#
# SCSI device support
#CONFIG_RAID_ATTRS=yCONFIG_SCSI=yCONFIG_SCSI_DMA=y
# CONFIG_SCSI_TGT is not setCONFIG_SCSI_NETLINK=yCONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#CONFIG_BLK_DEV_SD=yCONFIG_CHR_DEV_ST=yCONFIG_CHR_DEV_OSST=yCONFIG_BLK_DEV_SR=yCONFIG_BLK_DEV_SR_VENDOR=yCONFIG_CHR_DEV_SG=yCONFIG_CHR_DEV_SCH=y
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs #
# CONFIG_SCSI_MULTI_LUN is not set CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set CONFIG_SCSI_SCAN_ASYNC=y
#
# SCSI Transports
#CONFIG_SCSI_SPI_ATTRS=yCONFIG_SCSI_FC_ATTRS=yCONFIG_SCSI_ISCSI_ATTRS=yCONFIG_SCSI_SRP_ATTRS=yCONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not setCONFIG_BLK_DEV_3W_XXXX_RAID=yCONFIG_SCSI_3W_9XXX=yCONFIG_SCSI_7000FASST=yCONFIG_SCSI_ACARD=y
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AHA1740 is not set
# CONFIG_SCSI_AACRAID is not setCONFIG_SCSI_AIC7XXX=yCONFIG_AIC7XXX_CMDS_PER_DEVICE=32CONFIG_AIC7XXX_RESET_DELAY_MS=5000CONFIG_AIC7XXX_DEBUG_ENABLE=yCONFIG_AIC7XXX_DEBUG_MASK=0
# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_AIC7XXX_OLD is not setCONFIG_SCSI_AIC79XX=yCONFIG_AIC79XX_CMDS_PER_DEVICE=32CONFIG_AIC79XX_RESET_DELAY_MS=5000CONFIG_AIC79XX_DEBUG_ENABLE=yCONFIG_AIC79XX_DEBUG_MASK=0CONFIG_AIC79XX_REG_PRETTY_PRINT=yCONFIG_SCSI_DPT_I2O=y
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_ARCMSR is not setCONFIG_MEGARAID_NEWGEN=yCONFIG_MEGARAID_MM=yCONFIG_MEGARAID_MAILBOX=yCONFIG_MEGARAID_LEGACY=y
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_HPTIOP is not setCONFIG_SCSI_BUSLOGIC=y
# CONFIG_SCSI_FLASHPOINT is not set
# CONFIG_SCSI_DMX3191D is not setCONFIG_SCSI_DTC3280=yCONFIG_SCSI_EATA=y
# CONFIG_SCSI_EATA_TAGGED_QUEUE is not setCONFIG_SCSI_EATA_LINKED_COMMANDS=yCONFIG_SCSI_EATA_MAX_TAGS=16
# CONFIG_SCSI_FUTURE_DOMAIN is not setCONFIG_SCSI_FD_MCS=yCONFIG_SCSI_GDTH=yCONFIG_SCSI_GENERIC_NCR5380=yCONFIG_SCSI_GENERIC_NCR5380_MMIO=y
# CONFIG_SCSI_GENERIC_NCR53C400 is not set
# CONFIG_SCSI_IBMMCA is not setCONFIG_SCSI_IPS=yCONFIG_SCSI_INITIO=y
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not setCONFIG_SCSI_IMM=yCONFIG_SCSI_IZIP_EPP16=yCONFIG_SCSI_IZIP_SLOW_CTR=yCONFIG_SCSI_NCR53C406A=y
# CONFIG_SCSI_NCR_D700 is not setCONFIG_SCSI_STEX=y
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_NCR_Q720 is not setCONFIG_SCSI_PAS16=y
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not setCONFIG_SCSI_QLA_ISCSI=yCONFIG_SCSI_LPFC=yCONFIG_SCSI_SIM710=yCONFIG_SCSI_SYM53C416=y
CONFIG_SCSI_DC395x=y
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_ULTRASTOR is not setCONFIG_SCSI_NSP32=y
# CONFIG_SCSI_SRP is not set
# CONFIG_SCSI_DH is not setCONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
# CONFIG_ATA_ACPI is not set
# CONFIG_SATA_PMP is not setCONFIG_SATA_AHCI=yCONFIG_SATA_SIL24=yCONFIG_ATA_SFF=y
# CONFIG_SATA_SVW is not setCONFIG_ATA_PIIX=yCONFIG_SATA_MV=yCONFIG_SATA_NV=y
# CONFIG_PDC_ADMA is not setCONFIG_SATA_QSTOR=yCONFIG_SATA_PROMISE=y
# CONFIG_SATA_SX4 is not set
# CONFIG_SATA_SIL is not setCONFIG_SATA_SIS=yCONFIG_SATA_ULI=y
# CONFIG_SATA_VIA is not setCONFIG_SATA_VITESSE=yCONFIG_SATA_INIC162X=y
# CONFIG_PATA_ALI is not setCONFIG_PATA_AMD=yCONFIG_PATA_ARTOP=yCONFIG_PATA_ATIIXP=yCONFIG_PATA_CMD640_PCI=yCONFIG_PATA_CMD64X=y
# CONFIG_PATA_CS5520 is not setCONFIG_PATA_CS5530=yCONFIG_PATA_CS5535=y
# CONFIG_PATA_CS5536 is not setCONFIG_PATA_CYPRESS=yCONFIG_PATA_EFAR=yCONFIG_ATA_GENERIC=yCONFIG_PATA_HPT366=yCONFIG_PATA_HPT37X=y
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT821X is not setCONFIG_PATA_IT8213=yCONFIG_PATA_JMICRON=y
# CONFIG_PATA_LEGACY is not setCONFIG_PATA_TRIFLEX=yCONFIG_PATA_MARVELL=yCONFIG_PATA_MPIIX=yCONFIG_PATA_OLDPIIX=yCONFIG_PATA_NETCELL=yCONFIG_PATA_NINJA32=y
# CONFIG_PATA_NS87410 is not setCONFIG_PATA_NS87415=y
# CONFIG_PATA_OPTI is not setCONFIG_PATA_OPTIDMA=yCONFIG_PATA_PDC_OLD=y
# CONFIG_PATA_QDI is not setCONFIG_PATA_RADISYS=y
# CONFIG_PATA_RZ1000 is not setCONFIG_PATA_SC1200=y
# CONFIG_PATA_SERVERWORKS is not setCONFIG_PATA_PDC2027X=yCONFIG_PATA_SIL680=yCONFIG_PATA_SIS=y
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not setCONFIG_PATA_WINBOND_VLB=yCONFIG_PATA_PLATFORM=yCONFIG_PATA_SCH=y
# CONFIG_MD is not set
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
#
# Enable only one of the two stacks, unless you know what you are doing #CONFIG_FIREWIRE=yCONFIG_FIREWIRE_OHCI=yCONFIG_FIREWIRE_OHCI_DEBUG=y
# CONFIG_FIREWIRE_SBP2 is not set
# CONFIG_IEEE1394 is not set
# CONFIG_I2O is not setCONFIG_MACINTOSH_DRIVERS=yCONFIG_MAC_EMUMOUSEBTN=yCONFIG_NETDEVICES=yCONFIG_DUMMY=y
# CONFIG_BONDING is not setCONFIG_MACVLAN=y
# CONFIG_EQUALIZER is not setCONFIG_TUN=y
# CONFIG_VETH is not setCONFIG_NET_SB1000=y
# CONFIG_ARCNET is not setCONFIG_PHYLIB=y
#
# MII PHY device drivers
#CONFIG_MARVELL_PHY=y
# CONFIG_DAVICOM_PHY is not set
# CONFIG_QSEMI_PHY is not set CONFIG_LXT_PHY=y
# CONFIG_CICADA_PHY is not set
# CONFIG_VITESSE_PHY is not set CONFIG_SMSC_PHY=yCONFIG_BROADCOM_PHY=yCONFIG_ICPLUS_PHY=y
# CONFIG_REALTEK_PHY is not set CONFIG_FIXED_PHY=yCONFIG_MDIO_BITBANG=y CONFIG_NET_ETHERNET=yCONFIG_MII=yCONFIG_HAPPYMEAL=yCONFIG_SUNGEM=yCONFIG_CASSINI=yCONFIG_NET_VENDOR_3COM=y
# CONFIG_EL1 is not setCONFIG_EL2=yCONFIG_ELPLUS=y
# CONFIG_EL16 is not setCONFIG_EL3=yCONFIG_3C515=yCONFIG_ELMC=y
# CONFIG_ELMC_II is not set CONFIG_VORTEX=yCONFIG_TYPHOON=yCONFIG_LANCE=yCONFIG_NET_VENDOR_SMC=yCONFIG_ULTRAMCA=y
# CONFIG_ULTRA is not set
# CONFIG_ULTRA32 is not set
# CONFIG_SMC9194 is not set
# CONFIG_ENC28J60 is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_NET_TULIP is not set CONFIG_AT1700=yCONFIG_DEPCA=yCONFIG_HP100=yCONFIG_NET_ISA=yCONFIG_E2100=yCONFIG_EWRK3=yCONFIG_EEXPRESS=yCONFIG_EEXPRESS_PRO=y
# CONFIG_HPLAN is not setCONFIG_LP486E=yCONFIG_ETH16I=y
# CONFIG_NE2000 is not set
# CONFIG_ZNET is not set
# CONFIG_SEEQ8005 is not set
# CONFIG_NE2_MCA is not set
# CONFIG_IBMLANA is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set CONFIG_NET_PCI=yCONFIG_PCNET32=y
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set CONFIG_AC3200=yCONFIG_APRICOT=yCONFIG_B44=yCONFIG_B44_PCI_AUTOSELECT=y CONFIG_B44_PCICORE_AUTOSELECT=y CONFIG_B44_PCI=yCONFIG_FORCEDETH=y
# CONFIG_FORCEDETH_NAPI is not set CONFIG_CS89x0=y
# CONFIG_EEPRO100 is not setCONFIG_E100=yCONFIG_LNE390=yCONFIG_FEALNX=yCONFIG_NATSEMI=y
# CONFIG_NE2K_PCI is not set
# CONFIG_NE3210 is not setCONFIG_ES3210=y
# CONFIG_8139CP is not set CONFIG_8139TOO=yCONFIG_8139TOO_PIO=y CONFIG_8139TOO_TUNE_TWISTER=y CONFIG_8139TOO_8129=y CONFIG_8139_OLD_RX_RESET=yCONFIG_R6040=yCONFIG_SIS900=yCONFIG_EPIC100=yCONFIG_SUNDANCE=yCONFIG_SUNDANCE_MMIO=yCONFIG_TLAN=yCONFIG_VIA_RHINE=yCONFIG_VIA_RHINE_MMIO=y
# CONFIG_SC92031 is not set CONFIG_NET_POCKET=y
# CONFIG_ATP is not setCONFIG_DE600=yCONFIG_DE620=yCONFIG_ATL2=yCONFIG_NETDEV_1000=yCONFIG_ACENIC=y CONFIG_ACENIC_OMIT_TIGON_I=y
# CONFIG_DL2K is not setCONFIG_E1000=yCONFIG_E1000E=yCONFIG_IP1000=yCONFIG_IGB=yCONFIG_IGB_LRO=yCONFIG_NS83820=y
# CONFIG_HAMACHI is not set CONFIG_YELLOWFIN=yCONFIG_R8169=y
# CONFIG_SIS190 is not setCONFIG_SKGE=yCONFIG_SKGE_DEBUG=yCONFIG_SKY2=y
# CONFIG_SKY2_DEBUG is not set CONFIG_VIA_VELOCITY=yCONFIG_TIGON3=yCONFIG_BNX2=y
# CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set
# CONFIG_ATL1E is not setCONFIG_JME=y
# CONFIG_NETDEV_10000 is not set CONFIG_TR=y
# CONFIG_IBMTR is not setCONFIG_IBMOL=y
# CONFIG_IBMLS is not setCONFIG_3C359=yCONFIG_TMS380TR=yCONFIG_TMSPCI=yCONFIG_SKISA=y
# CONFIG_PROTEON is not setCONFIG_ABYSS=yCONFIG_MADGEMC=yCONFIG_SMCTR=y
#
# Wireless LAN
#CONFIG_WLAN_PRE80211=y
# CONFIG_STRIP is not setCONFIG_ARLAN=yCONFIG_WAVELAN=yCONFIG_WLAN_80211=yCONFIG_IPW2100=yCONFIG_IPW2100_MONITOR=yCONFIG_IPW2100_DEBUG=yCONFIG_IPW2200=yCONFIG_IPW2200_MONITOR=y
# CONFIG_IPW2200_RADIOTAP is not set
# CONFIG_IPW2200_PROMISCUOUS is not set
# CONFIG_IPW2200_QOS is not set
# CONFIG_IPW2200_DEBUG is not setCONFIG_LIBERTAS=y
# CONFIG_LIBERTAS_USB is not set
# CONFIG_LIBERTAS_SDIO is not setCONFIG_LIBERTAS_DEBUG=yCONFIG_LIBERTAS_THINFIRM=yCONFIG_LIBERTAS_THINFIRM_USB=y
# CONFIG_AIRO is not setCONFIG_HERMES=yCONFIG_PLX_HERMES=yCONFIG_TMD_HERMES=y
# CONFIG_NORTEL_HERMES is not setCONFIG_PCI_HERMES=yCONFIG_ATMEL=y
# CONFIG_PCI_ATMEL is not setCONFIG_PRISM54=yCONFIG_USB_ZD1201=yCONFIG_USB_NET_RNDIS_WLAN=yCONFIG_RTL8180=yCONFIG_RTL8187=y
# CONFIG_ADM8211 is not set
# CONFIG_MAC80211_HWSIM is not setCONFIG_P54_COMMON=yCONFIG_P54_USB=y
# CONFIG_P54_PCI is not set
# CONFIG_ATH5K is not set
# CONFIG_ATH9K is not setCONFIG_IWLWIFI=yCONFIG_IWLCORE=yCONFIG_IWLWIFI_LEDS=yCONFIG_IWLWIFI_RFKILL=yCONFIG_IWLWIFI_DEBUG=y
# CONFIG_IWLWIFI_DEBUGFS is not setCONFIG_IWLAGN=yCONFIG_IWLAGN_SPECTRUM_MEASUREMENT=yCONFIG_IWLAGN_LEDS=yCONFIG_IWL4965=yCONFIG_IWL5000=yCONFIG_IWL3945=yCONFIG_IWL3945_RFKILL=yCONFIG_IWL3945_SPECTRUM_MEASUREMENT=y
# CONFIG_IWL3945_LEDS is not setCONFIG_IWL3945_DEBUG=y
# CONFIG_HOSTAP is not set
# CONFIG_B43 is not setCONFIG_B43LEGACY=yCONFIG_B43LEGACY_PCI_AUTOSELECT=yCONFIG_B43LEGACY_PCICORE_AUTOSELECT=yCONFIG_B43LEGACY_LEDS=yCONFIG_B43LEGACY_RFKILL=y
# CONFIG_B43LEGACY_DEBUG is not setCONFIG_B43LEGACY_DMA=yCONFIG_B43LEGACY_PIO=yCONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
# CONFIG_B43LEGACY_DMA_MODE is not set
# CONFIG_B43LEGACY_PIO_MODE is not setCONFIG_ZD1211RW=y
# CONFIG_ZD1211RW_DEBUG is not set
#
# USB Network Adapters
#CONFIG_USB_CATC=yCONFIG_USB_KAWETH=yCONFIG_USB_PEGASUS=yCONFIG_USB_RTL8150=yCONFIG_USB_USBNET=y
# CONFIG_USB_NET_AX8817X is not setCONFIG_USB_NET_CDCETHER=yCONFIG_USB_NET_DM9601=yCONFIG_USB_NET_SMSC95XX=yCONFIG_USB_NET_GL620A=y
# CONFIG_USB_NET_NET1080 is not setCONFIG_USB_NET_PLUSB=yCONFIG_USB_NET_MCS7830=yCONFIG_USB_NET_RNDIS_HOST=yCONFIG_USB_NET_CDC_SUBSET=yCONFIG_USB_ALI_M5632=yCONFIG_USB_AN2720=yCONFIG_USB_BELKIN=yCONFIG_USB_ARMLINUX=yCONFIG_USB_EPSON2888=yCONFIG_USB_KC2190=y
# CONFIG_USB_NET_ZAURUS is not setCONFIG_USB_HSO=yCONFIG_WAN=y
# CONFIG_HDLC is not setCONFIG_DLCI=yCONFIG_DLCI_MAX=8CONFIG_SDLA=y
# CONFIG_LAPBETHER is not setCONFIG_X25_ASY=yCONFIG_SBNI=y
# CONFIG_SBNI_MULTILINE is not setCONFIG_ATM_DRIVERS=yCONFIG_ATM_DUMMY=y
# CONFIG_ATM_TCP is not setCONFIG_ATM_LANAI=yCONFIG_ATM_ENI=y
# CONFIG_ATM_ENI_DEBUG is not setCONFIG_ATM_ENI_TUNE_BURST=yCONFIG_ATM_ENI_BURST_TX_16W=y
# CONFIG_ATM_ENI_BURST_TX_8W is not setCONFIG_ATM_ENI_BURST_TX_4W=yCONFIG_ATM_ENI_BURST_TX_2W=yCONFIG_ATM_ENI_BURST_RX_16W=y
# CONFIG_ATM_ENI_BURST_RX_8W is not set
# CONFIG_ATM_ENI_BURST_RX_4W is not setCONFIG_ATM_ENI_BURST_RX_2W=yCONFIG_ATM_FIRESTREAM=yCONFIG_ATM_ZATM=y
# CONFIG_ATM_ZATM_DEBUG is not setCONFIG_ATM_NICSTAR=yCONFIG_ATM_NICSTAR_USE_SUNI=yCONFIG_ATM_NICSTAR_USE_IDT77105=yCONFIG_ATM_IDT77252=y
# CONFIG_ATM_IDT77252_DEBUG is not setCONFIG_ATM_IDT77252_RCV_ALL=yCONFIG_ATM_IDT77252_USE_SUNI=yCONFIG_ATM_AMBASSADOR=yCONFIG_ATM_AMBASSADOR_DEBUG=y
# CONFIG_ATM_HORIZON is not set
# CONFIG_ATM_IA is not set
# CONFIG_ATM_FORE200E is not set
# CONFIG_ATM_HE is not setCONFIG_FDDI=yCONFIG_DEFXX=yCONFIG_DEFXX_MMIO=yCONFIG_SKFP=yCONFIG_HIPPI=yCONFIG_ROADRUNNER=yCONFIG_ROADRUNNER_LARGE_RINGS=y
# CONFIG_PLIP is not setCONFIG_PPP=yCONFIG_PPP_MULTILINK=y
# CONFIG_PPP_FILTER is not setCONFIG_PPP_ASYNC=y
# CONFIG_PPP_SYNC_TTY is not setCONFIG_PPP_DEFLATE=y
# CONFIG_PPP_BSDCOMP is not set
# CONFIG_PPP_MPPE is not set
# CONFIG_PPPOE is not set
# CONFIG_PPPOATM is not set
# CONFIG_PPPOL2TP is not setCONFIG_SLIP=y
# CONFIG_SLIP_COMPRESSED is not setCONFIG_SLHC=y
# CONFIG_SLIP_SMART is not setCONFIG_SLIP_MODE_SLIP6=y
# CONFIG_NET_FC is not setCONFIG_NETCONSOLE=yCONFIG_NETCONSOLE_DYNAMIC=yCONFIG_NETPOLL=y
# CONFIG_NETPOLL_TRAP is not setCONFIG_NET_POLL_CONTROLLER=yCONFIG_VIRTIO_NET=yCONFIG_ISDN=yCONFIG_ISDN_I4L=yCONFIG_ISDN_PPP=yCONFIG_ISDN_PPP_VJ=y
# CONFIG_ISDN_MPP is not set
# CONFIG_IPPP_FILTER is not setCONFIG_ISDN_PPP_BSDCOMP=yCONFIG_ISDN_AUDIO=yCONFIG_ISDN_TTY_FAX=yCONFIG_ISDN_X25=y
#
# ISDN feature submodules
#CONFIG_ISDN_DIVERSION=y
#
# ISDN4Linux hardware drivers
#
#
# Passive cards
#CONFIG_ISDN_DRV_HISAX=y
#
# D-channel protocol features
#
# CONFIG_HISAX_EURO is not setCONFIG_HISAX_1TR6=yCONFIG_HISAX_NI1=yCONFIG_HISAX_MAX_CARDS=8
#
# HiSax supported cards
#CONFIG_HISAX_16_0=yCONFIG_HISAX_16_3=yCONFIG_HISAX_TELESPCI=yCONFIG_HISAX_S0BOX=y
# CONFIG_HISAX_AVM_A1 is not setCONFIG_HISAX_FRITZPCI=y
# CONFIG_HISAX_AVM_A1_PCMCIA is not set
# CONFIG_HISAX_ELSA is not setCONFIG_HISAX_IX1MICROR2=yCONFIG_HISAX_DIEHLDIVA=y
# CONFIG_HISAX_ASUSCOM is not setCONFIG_HISAX_TELEINT=yCONFIG_HISAX_HFCS=yCONFIG_HISAX_SEDLBAUER=yCONFIG_HISAX_SPORTSTER=yCONFIG_HISAX_MIC=y
# CONFIG_HISAX_NETJET is not set
# CONFIG_HISAX_NETJET_U is not setCONFIG_HISAX_NICCY=y
# CONFIG_HISAX_ISURF is not set
# CONFIG_HISAX_HSTSAPHIR is not set
# CONFIG_HISAX_BKM_A4T is not setCONFIG_HISAX_SCT_QUADRO=yCONFIG_HISAX_GAZEL=y
# CONFIG_HISAX_HFC_PCI is not setCONFIG_HISAX_W6692=y
# CONFIG_HISAX_HFC_SX is not setCONFIG_HISAX_DEBUG=y
#
# HiSax PCMCIA card service modules
#
#
# HiSax sub driver modules
#
# CONFIG_HISAX_ST5481 is not set
# CONFIG_HISAX_HFCUSB is not set
# CONFIG_HISAX_HFC4S8S is not set
# CONFIG_HISAX_FRITZ_PCIPNP is not set
#
# Active cards
#CONFIG_ISDN_DRV_PCBIT=yCONFIG_ISDN_DRV_SC=y
# CONFIG_ISDN_DRV_ACT2000 is not set
# CONFIG_ISDN_DRV_GIGASET is not setCONFIG_ISDN_CAPI=yCONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=yCONFIG_CAPI_TRACE=yCONFIG_ISDN_CAPI_MIDDLEWARE=yCONFIG_ISDN_CAPI_CAPI20=y
# CONFIG_ISDN_CAPI_CAPIFS_BOOL is not setCONFIG_ISDN_CAPI_CAPIDRV=y
#
# CAPI hardware drivers
#CONFIG_CAPI_AVM=y
# CONFIG_ISDN_DRV_AVMB1_B1ISA is not setCONFIG_ISDN_DRV_AVMB1_B1PCI=y
# CONFIG_ISDN_DRV_AVMB1_B1PCIV4 is not setCONFIG_ISDN_DRV_AVMB1_T1ISA=y
# CONFIG_ISDN_DRV_AVMB1_B1PCMCIA is not setCONFIG_ISDN_DRV_AVMB1_T1PCI=yCONFIG_ISDN_DRV_AVMB1_C4=yCONFIG_CAPI_EICON=y
# CONFIG_ISDN_DIVAS is not setCONFIG_PHONE=y
#
# Input device support
#CONFIG_INPUT=yCONFIG_INPUT_FF_MEMLESS=yCONFIG_INPUT_POLLDEV=y
#
# Userland interfaces
#CONFIG_INPUT_MOUSEDEV=yCONFIG_INPUT_MOUSEDEV_PSAUX=yCONFIG_INPUT_MOUSEDEV_SCREEN_X=1024CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not setCONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#CONFIG_INPUT_KEYBOARD=yCONFIG_KEYBOARD_ATKBD=yCONFIG_KEYBOARD_SUNKBD=y
# CONFIG_KEYBOARD_LKKBD is not setCONFIG_KEYBOARD_XTKBD=yCONFIG_KEYBOARD_NEWTON=y
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_GPIO is not setCONFIG_INPUT_MOUSE=yCONFIG_MOUSE_PS2=yCONFIG_MOUSE_PS2_ALPS=y
# CONFIG_MOUSE_PS2_LOGIPS2PP is not setCONFIG_MOUSE_PS2_SYNAPTICS=yCONFIG_MOUSE_PS2_LIFEBOOK=y
# CONFIG_MOUSE_PS2_TRACKPOINT is not setCONFIG_MOUSE_PS2_ELANTECH=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not setCONFIG_MOUSE_PS2_OLPC=yCONFIG_MOUSE_SERIAL=yCONFIG_MOUSE_APPLETOUCH=y
# CONFIG_MOUSE_BCM5974 is not set
# CONFIG_MOUSE_INPORT is not set
# CONFIG_MOUSE_LOGIBM is not setCONFIG_MOUSE_PC110PAD=y
# CONFIG_MOUSE_VSXXXAA is not setCONFIG_MOUSE_GPIO=y
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not setCONFIG_INPUT_TOUCHSCREEN=yCONFIG_TOUCHSCREEN_ADS7846=y
# CONFIG_TOUCHSCREEN_FUJITSU is not setCONFIG_TOUCHSCREEN_GUNZE=yCONFIG_TOUCHSCREEN_ELO=yCONFIG_TOUCHSCREEN_MTOUCH=yCONFIG_TOUCHSCREEN_INEXIO=yCONFIG_TOUCHSCREEN_MK712=yCONFIG_TOUCHSCREEN_HTCPEN=y
# CONFIG_TOUCHSCREEN_PENMOUNT is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not setCONFIG_TOUCHSCREEN_TOUCHWIN=yCONFIG_TOUCHSCREEN_USB_COMPOSITE=y
# CONFIG_TOUCHSCREEN_USB_EGALAX is not set
# CONFIG_TOUCHSCREEN_USB_PANJIT is not set
# CONFIG_TOUCHSCREEN_USB_3M is not setCONFIG_TOUCHSCREEN_USB_ITM=yCONFIG_TOUCHSCREEN_USB_ETURBO=y
# CONFIG_TOUCHSCREEN_USB_GUNZE is not setCONFIG_TOUCHSCREEN_USB_DMC_TSC10=yCONFIG_TOUCHSCREEN_USB_IRTOUCH=yCONFIG_TOUCHSCREEN_USB_IDEALTEK=yCONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=yCONFIG_TOUCHSCREEN_USB_GOTOP=y
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
# CONFIG_INPUT_MISC is not set
#
# Hardware I/O ports
#CONFIG_SERIO=yCONFIG_SERIO_I8042=yCONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not setCONFIG_SERIO_PARKBD=yCONFIG_SERIO_PCIPS2=yCONFIG_SERIO_LIBPS2=yCONFIG_SERIO_RAW=y
# CONFIG_GAMEPORT is not set
#
# Character devices
#CONFIG_VT=y
# CONFIG_CONSOLE_TRANSLATIONS is not setCONFIG_VT_CONSOLE=yCONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not setCONFIG_DEVKMEM=yCONFIG_SERIAL_NONSTANDARD=yCONFIG_COMPUTONE=y
# CONFIG_ROCKETPORT is not setCONFIG_CYCLADES=yCONFIG_CYZ_INTR=yCONFIG_DIGIEPCA=yCONFIG_ESPSERIAL=yCONFIG_MOXA_INTELLIO=yCONFIG_MOXA_SMARTIO=yCONFIG_ISI=y
# CONFIG_SYNCLINK is not set
# CONFIG_SYNCLINKMP is not setCONFIG_SYNCLINK_GT=y
# CONFIG_N_HDLC is not set
# CONFIG_RISCOM8 is not setCONFIG_SPECIALIX=y
# CONFIG_SX is not setCONFIG_RIO=y
# CONFIG_RIO_OLDPCI is not setCONFIG_STALDRV=yCONFIG_STALLION=yCONFIG_ISTALLION=yCONFIG_NOZOMI=y
#
# Serial drivers
#CONFIG_SERIAL_8250=yCONFIG_SERIAL_8250_CONSOLE=yCONFIG_FIX_EARLYCON_MEM=yCONFIG_SERIAL_8250_PCI=yCONFIG_SERIAL_8250_PNP=yCONFIG_SERIAL_8250_NR_UARTS=4CONFIG_SERIAL_8250_RUNTIME_UARTS=4CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_MANY_PORTS is not setCONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not setCONFIG_SERIAL_8250_RSA=yCONFIG_SERIAL_8250_MCA=y
#
# Non-8250 serial port support
#CONFIG_SERIAL_CORE=yCONFIG_SERIAL_CORE_CONSOLE=yCONFIG_SERIAL_JSM=yCONFIG_UNIX98_PTYS=yCONFIG_LEGACY_PTYS=yCONFIG_LEGACY_PTY_COUNT=256
# CONFIG_PRINTER is not setCONFIG_PPDEV=yCONFIG_HVC_DRIVER=yCONFIG_VIRTIO_CONSOLE=yCONFIG_IPMI_HANDLER=yCONFIG_IPMI_PANIC_EVENT=yCONFIG_IPMI_PANIC_STRING=yCONFIG_IPMI_DEVICE_INTERFACE=yCONFIG_IPMI_SI=yCONFIG_IPMI_WATCHDOG=yCONFIG_IPMI_POWEROFF=yCONFIG_HW_RANDOM=yCONFIG_HW_RANDOM_INTEL=yCONFIG_HW_RANDOM_AMD=yCONFIG_HW_RANDOM_GEODE=yCONFIG_HW_RANDOM_VIA=yCONFIG_HW_RANDOM_VIRTIO=yCONFIG_NVRAM=y
# CONFIG_RTC is not set
# CONFIG_GEN_RTC is not setCONFIG_DTLK=yCONFIG_R3964=yCONFIG_APPLICOM=y
# CONFIG_SONYPI is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not setCONFIG_NSC_GPIO=yCONFIG_CS5535_GPIO=y
# CONFIG_RAW_DRIVER is not set
# CONFIG_HPET is not setCONFIG_HANGCHECK_TIMER=yCONFIG_TCG_TPM=y
# CONFIG_TCG_TIS is not setCONFIG_TCG_NSC=yCONFIG_TCG_ATMEL=yCONFIG_TCG_INFINEON=yCONFIG_TELCLOCK=yCONFIG_DEVPORT=yCONFIG_I2C=yCONFIG_I2C_BOARDINFO=yCONFIG_I2C_CHARDEV=yCONFIG_I2C_HELPER_AUTO=yCONFIG_I2C_ALGOBIT=yCONFIG_I2C_ALGOPCA=y
#
# I2C Hardware Bus support
#
#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not setCONFIG_I2C_ALI1563=y
# CONFIG_I2C_ALI15X3 is not setCONFIG_I2C_AMD756=y
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not setCONFIG_I2C_ISCH=yCONFIG_I2C_PIIX4=yCONFIG_I2C_NFORCE2=y
# CONFIG_I2C_SIS5595 is not setCONFIG_I2C_SIS630=yCONFIG_I2C_SIS96X=yCONFIG_I2C_VIA=yCONFIG_I2C_VIAPRO=y
#
# I2C system bus drivers (mostly embedded / system-on-chip) #CONFIG_I2C_GPIO=yCONFIG_I2C_OCORES=yCONFIG_I2C_SIMTEC=y
#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_PARPORT is not setCONFIG_I2C_PARPORT_LIGHT=yCONFIG_I2C_TAOS_EVM=yCONFIG_I2C_TINY_USB=y
#
# Graphics adapter I2C/DDC channel drivers
#CONFIG_I2C_VOODOO3=y
#
# Other I2C/SMBus bus drivers
#CONFIG_I2C_PCA_PLATFORM=y
CONFIG_SCx200_ACB=y
#
# Miscellaneous I2C Chip support
#
# CONFIG_DS1682 is not setCONFIG_AT24=yCONFIG_SENSORS_EEPROM=yCONFIG_SENSORS_PCA9539=yCONFIG_SENSORS_PCF8591=y
# CONFIG_TPS65010 is not setCONFIG_SENSORS_MAX6875=yCONFIG_SENSORS_TSL2550=yCONFIG_I2C_DEBUG_CORE=yCONFIG_I2C_DEBUG_ALGO=y
# CONFIG_I2C_DEBUG_BUS is not setCONFIG_I2C_DEBUG_CHIP=yCONFIG_SPI=yCONFIG_SPI_DEBUG=yCONFIG_SPI_MASTER=y
#
# SPI Master Controller Drivers
#CONFIG_SPI_BITBANG=y
# CONFIG_SPI_BUTTERFLY is not set
# CONFIG_SPI_LM70_LLP is not set
#
# SPI Protocol Masters
#CONFIG_SPI_AT25=yCONFIG_SPI_SPIDEV=yCONFIG_SPI_TLE62X0=yCONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=yCONFIG_GPIOLIB=yCONFIG_DEBUG_GPIO=yCONFIG_GPIO_SYSFS=y
#
# Memory mapped GPIO expanders:
#
#
# I2C GPIO expanders:
#
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not setCONFIG_GPIO_PCF857X=y
#
# PCI GPIO expanders:
#
# CONFIG_GPIO_BT8XX is not set
#
# SPI GPIO expanders:
#CONFIG_GPIO_MAX7301=yCONFIG_GPIO_MCP23S08=yCONFIG_W1=y
# CONFIG_W1_CON is not set
#
# 1-wire Bus Masters
#CONFIG_W1_MASTER_MATROX=y
# CONFIG_W1_MASTER_DS2490 is not set
# CONFIG_W1_MASTER_DS2482 is not setCONFIG_W1_MASTER_GPIO=y
#
# 1-wire Slaves
#CONFIG_W1_SLAVE_THERM=yCONFIG_W1_SLAVE_SMEM=yCONFIG_W1_SLAVE_DS2433=yCONFIG_W1_SLAVE_DS2433_CRC=yCONFIG_W1_SLAVE_DS2760=yCONFIG_W1_SLAVE_BQ27000=yCONFIG_POWER_SUPPLY=yCONFIG_POWER_SUPPLY_DEBUG=yCONFIG_PDA_POWER=yCONFIG_BATTERY_DS2760=yCONFIG_BATTERY_OLPC=y
# CONFIG_BATTERY_BQ27x00 is not setCONFIG_HWMON=yCONFIG_HWMON_VID=y
# CONFIG_SENSORS_ABITUGURU is not setCONFIG_SENSORS_ABITUGURU3=yCONFIG_SENSORS_AD7414=y
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADCXX is not setCONFIG_SENSORS_ADM1021=y
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not setCONFIG_SENSORS_ADM1029=y
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not setCONFIG_SENSORS_ADT7462=yCONFIG_SENSORS_ADT7470=yCONFIG_SENSORS_ADT7473=yCONFIG_SENSORS_K8TEMP=yCONFIG_SENSORS_ASB100=y
# CONFIG_SENSORS_ATXP1 is not setCONFIG_SENSORS_DS1621=y
# CONFIG_SENSORS_I5K_AMB is not setCONFIG_SENSORS_F71805F=y
# CONFIG_SENSORS_F71882FG is not setCONFIG_SENSORS_F75375S=yCONFIG_SENSORS_FSCHER=yCONFIG_SENSORS_FSCPOS=y
# CONFIG_SENSORS_FSCHMD is not setCONFIG_SENSORS_GL518SM=yCONFIG_SENSORS_GL520SM=yCONFIG_SENSORS_CORETEMP=yCONFIG_SENSORS_IBMAEM=yCONFIG_SENSORS_IBMPEX=y
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM63 is not setCONFIG_SENSORS_LM70=yCONFIG_SENSORS_LM75=y
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not setCONFIG_SENSORS_LM80=yCONFIG_SENSORS_LM83=yCONFIG_SENSORS_LM85=y
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not setCONFIG_SENSORS_LM92=y
# CONFIG_SENSORS_LM93 is not setCONFIG_SENSORS_MAX1111=yCONFIG_SENSORS_MAX1619=y
# CONFIG_SENSORS_MAX6650 is not setCONFIG_SENSORS_PC87360=yCONFIG_SENSORS_PC87427=yCONFIG_SENSORS_SIS5595=yCONFIG_SENSORS_DME1737=yCONFIG_SENSORS_SMSC47M1=yCONFIG_SENSORS_SMSC47M192=yCONFIG_SENSORS_SMSC47B397=y
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_THMC50 is not setCONFIG_SENSORS_VIA686A=yCONFIG_SENSORS_VT1211=y
# CONFIG_SENSORS_VT8231 is not setCONFIG_SENSORS_W83781D=yCONFIG_SENSORS_W83791D=y
# CONFIG_SENSORS_W83792D is not setCONFIG_SENSORS_W83793=yCONFIG_SENSORS_W83L785TS=y
# CONFIG_SENSORS_W83L786NG is not setCONFIG_SENSORS_W83627HF=y
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_SENSORS_LIS3LV02D is not setCONFIG_SENSORS_APPLESMC=yCONFIG_HWMON_DEBUG_CHIP=yCONFIG_THERMAL=yCONFIG_THERMAL_HWMON=yCONFIG_WATCHDOG=yCONFIG_WATCHDOG_NOWAYOUT=y
#
# Watchdog Device Drivers
#CONFIG_SOFT_WATCHDOG=yCONFIG_ACQUIRE_WDT=yCONFIG_ADVANTECH_WDT=y
# CONFIG_ALIM1535_WDT is not setCONFIG_ALIM7101_WDT=yCONFIG_SC520_WDT=y
# CONFIG_IB700_WDT is not setCONFIG_IBMASR=yCONFIG_WAFER_WDT=yCONFIG_I6300ESB_WDT=yCONFIG_ITCO_WDT=yCONFIG_ITCO_VENDOR_SUPPORT=yCONFIG_IT8712F_WDT=yCONFIG_IT87_WDT=y
# CONFIG_HP_WATCHDOG is not setCONFIG_SC1200_WDT=yCONFIG_PC87413_WDT=yCONFIG_RDC321X_WDT=yCONFIG_60XX_WDT=yCONFIG_SBC8360_WDT=y
# CONFIG_SBC7240_WDT is not setCONFIG_CPU5_WDT=yCONFIG_SMSC37B787_WDT=yCONFIG_W83627HF_WDT=y
# CONFIG_W83697HF_WDT is not set
# CONFIG_W83697UG_WDT is not setCONFIG_W83877F_WDT=yCONFIG_W83977F_WDT=yCONFIG_MACHZ_WDT=yCONFIG_SBC_EPX_C3_WATCHDOG=y
#
# ISA-based Watchdog Cards
#
# CONFIG_PCWATCHDOG is not setCONFIG_MIXCOMWD=y
#
# PCI-based Watchdog Cards
#CONFIG_PCIPCWATCHDOG=yCONFIG_WDTPCI=yCONFIG_WDT_501_PCI=y
#
# USB-based Watchdog Cards
#CONFIG_USBPCWATCHDOG=yCONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#CONFIG_SSB=yCONFIG_SSB_SPROM=yCONFIG_SSB_PCIHOST_POSSIBLE=yCONFIG_SSB_PCIHOST=yCONFIG_SSB_B43_PCI_BRIDGE=y
# CONFIG_SSB_SILENT is not setCONFIG_SSB_DEBUG=yCONFIG_SSB_DRIVER_PCICORE_POSSIBLE=yCONFIG_SSB_DRIVER_PCICORE=y
#
# Multifunction device drivers
#
# CONFIG_MFD_CORE is not setCONFIG_MFD_SM501=yCONFIG_MFD_SM501_GPIO=y
# CONFIG_HTC_PASIC3 is not set
# CONFIG_MFD_TMIO is not setCONFIG_PMIC_DA903X=y
# CONFIG_MFD_WM8400 is not set
# CONFIG_REGULATOR is not set
#
# Multimedia devices
#
#
# Multimedia core support
#CONFIG_VIDEO_DEV=yCONFIG_VIDEO_V4L2_COMMON=yCONFIG_VIDEO_ALLOW_V4L1=yCONFIG_VIDEO_V4L1_COMPAT=yCONFIG_DVB_CORE=yCONFIG_VIDEO_MEDIA=y
#
# Multimedia drivers
#CONFIG_VIDEO_SAA7146=yCONFIG_VIDEO_SAA7146_VV=yCONFIG_MEDIA_TUNER=y
# CONFIG_MEDIA_TUNER_CUSTOMIZE is not setCONFIG_MEDIA_TUNER_SIMPLE=yCONFIG_MEDIA_TUNER_TDA8290=yCONFIG_MEDIA_TUNER_TDA18271=yCONFIG_MEDIA_TUNER_TDA9887=yCONFIG_MEDIA_TUNER_TEA5761=yCONFIG_MEDIA_TUNER_TEA5767=yCONFIG_MEDIA_TUNER_MT20XX=yCONFIG_MEDIA_TUNER_XC2028=yCONFIG_MEDIA_TUNER_XC5000=yCONFIG_MEDIA_TUNER_MXL5007T=yCONFIG_VIDEO_V4L2=yCONFIG_VIDEO_V4L1=yCONFIG_VIDEOBUF_GEN=yCONFIG_VIDEOBUF_DMA_SG=yCONFIG_VIDEOBUF_VMALLOC=yCONFIG_VIDEOBUF_DVB=yCONFIG_VIDEO_BTCX=yCONFIG_VIDEO_IR=yCONFIG_VIDEO_TVEEPROM=yCONFIG_VIDEO_TUNER=yCONFIG_VIDEO_CAPTURE_DRIVERS=yCONFIG_VIDEO_ADV_DEBUG=yCONFIG_VIDEO_FIXED_MINOR_RANGES=y
# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not setCONFIG_VIDEO_IR_I2C=y
#
# Encoders/decoders and other helper chips
#
#
# Audio decoders
#
# CONFIG_VIDEO_TVAUDIO is not setCONFIG_VIDEO_TDA7432=y
# CONFIG_VIDEO_TDA9840 is not set
# CONFIG_VIDEO_TDA9875 is not setCONFIG_VIDEO_TEA6415C=yCONFIG_VIDEO_TEA6420=yCONFIG_VIDEO_MSP3400=yCONFIG_VIDEO_CS5345=yCONFIG_VIDEO_CS53L32A=yCONFIG_VIDEO_M52790=yCONFIG_VIDEO_TLV320AIC23B=yCONFIG_VIDEO_WM8775=y
# CONFIG_VIDEO_WM8739 is not setCONFIG_VIDEO_VP27SMPX=y
#
# Video decoders
#
# CONFIG_VIDEO_BT819 is not setCONFIG_VIDEO_BT856=yCONFIG_VIDEO_BT866=yCONFIG_VIDEO_KS0127=y
# CONFIG_VIDEO_OV7670 is not set
# CONFIG_VIDEO_TCM825X is not set
# CONFIG_VIDEO_SAA7110 is not setCONFIG_VIDEO_SAA7111=y
# CONFIG_VIDEO_SAA7114 is not setCONFIG_VIDEO_SAA711X=y
# CONFIG_VIDEO_SAA717X is not setCONFIG_VIDEO_SAA7191=yCONFIG_VIDEO_TVP5150=y
# CONFIG_VIDEO_VPX3220 is not set
#
# Video and audio decoders
#CONFIG_VIDEO_CX25840=y
#
# MPEG video encoders
#CONFIG_VIDEO_CX2341X=y
#
# Video encoders
#CONFIG_VIDEO_SAA7127=yCONFIG_VIDEO_SAA7185=yCONFIG_VIDEO_ADV7170=y
# CONFIG_VIDEO_ADV7175 is not set
#
# Video improvement chips
#
# CONFIG_VIDEO_UPD64031A is not setCONFIG_VIDEO_UPD64083=yCONFIG_VIDEO_VIVI=y
# CONFIG_VIDEO_BT848 is not set
# CONFIG_VIDEO_BWQCAM is not setCONFIG_VIDEO_CQCAM=yCONFIG_VIDEO_W9966=y
# CONFIG_VIDEO_CPIA is not set
# CONFIG_VIDEO_CPIA2 is not setCONFIG_VIDEO_SAA5246A=y
# CONFIG_VIDEO_SAA5249 is not set
# CONFIG_VIDEO_STRADIS is not setCONFIG_VIDEO_ZORAN=y
# CONFIG_VIDEO_ZORAN_DC30 is not setCONFIG_VIDEO_ZORAN_ZR36060=yCONFIG_VIDEO_ZORAN_BUZ=y
# CONFIG_VIDEO_ZORAN_DC10 is not set
# CONFIG_VIDEO_ZORAN_LML33 is not setCONFIG_VIDEO_ZORAN_LML33R10=y
# CONFIG_VIDEO_ZORAN_AVS6EYES is not set
# CONFIG_VIDEO_SAA7134 is not setCONFIG_VIDEO_MXB=yCONFIG_VIDEO_HEXIUM_ORION=yCONFIG_VIDEO_HEXIUM_GEMINI=yCONFIG_VIDEO_CX23885=yCONFIG_VIDEO_AU0828=y
# CONFIG_VIDEO_IVTV is not setCONFIG_VIDEO_CX18=y
# CONFIG_VIDEO_CAFE_CCIC is not set
# CONFIG_SOC_CAMERA is not setCONFIG_V4L_USB_DRIVERS=y
# CONFIG_USB_VIDEO_CLASS is not setCONFIG_USB_GSPCA=yCONFIG_USB_M5602=y
# CONFIG_USB_GSPCA_CONEX is not set
# CONFIG_USB_GSPCA_ETOMS is not setCONFIG_USB_GSPCA_FINEPIX=y
# CONFIG_USB_GSPCA_MARS is not set
# CONFIG_USB_GSPCA_OV519 is not set
# CONFIG_USB_GSPCA_PAC207 is not set
# CONFIG_USB_GSPCA_PAC7311 is not setCONFIG_USB_GSPCA_SONIXB=y
# CONFIG_USB_GSPCA_SONIXJ is not setCONFIG_USB_GSPCA_SPCA500=yCONFIG_USB_GSPCA_SPCA501=yCONFIG_USB_GSPCA_SPCA505=y
# CONFIG_USB_GSPCA_SPCA506 is not setCONFIG_USB_GSPCA_SPCA508=yCONFIG_USB_GSPCA_SPCA561=y
# CONFIG_USB_GSPCA_STK014 is not set
# CONFIG_USB_GSPCA_SUNPLUS is not setCONFIG_USB_GSPCA_T613=y
# CONFIG_USB_GSPCA_TV8532 is not set
# CONFIG_USB_GSPCA_VC032X is not set
# CONFIG_USB_GSPCA_ZC3XX is not setCONFIG_VIDEO_PVRUSB2=yCONFIG_VIDEO_PVRUSB2_SYSFS=yCONFIG_VIDEO_PVRUSB2_DVB=yCONFIG_VIDEO_PVRUSB2_DEBUGIFC=yCONFIG_VIDEO_EM28XX=y
# CONFIG_VIDEO_EM28XX_DVB is not set
# CONFIG_VIDEO_USBVISION is not setCONFIG_VIDEO_USBVIDEO=yCONFIG_USB_VICAM=y
# CONFIG_USB_IBMCAM is not setCONFIG_USB_KONICAWC=yCONFIG_USB_QUICKCAM_MESSENGER=yCONFIG_USB_ET61X251=yCONFIG_VIDEO_OVCAMCHIP=yCONFIG_USB_W9968CF=yCONFIG_USB_OV511=yCONFIG_USB_SE401=y
# CONFIG_USB_SN9C102 is not setCONFIG_USB_STV680=yCONFIG_USB_ZC0301=yCONFIG_USB_PWC=yCONFIG_USB_PWC_DEBUG=yCONFIG_USB_ZR364XX=yCONFIG_USB_STKWEBCAM=yCONFIG_USB_S2255=yCONFIG_RADIO_ADAPTERS=y
# CONFIG_RADIO_CADET is not set
# CONFIG_RADIO_RTRACK is not set
# CONFIG_RADIO_RTRACK2 is not set
# CONFIG_RADIO_AZTECH is not setCONFIG_RADIO_GEMTEK=yCONFIG_RADIO_GEMTEK_PORT=34c
# CONFIG_RADIO_GEMTEK_PROBE is not set
# CONFIG_RADIO_GEMTEK_PCI is not set
# CONFIG_RADIO_MAXIRADIO is not set
# CONFIG_RADIO_MAESTRO is not setCONFIG_RADIO_SF16FMI=yCONFIG_RADIO_SF16FMR2=y
# CONFIG_RADIO_TERRATEC is not setCONFIG_RADIO_TRUST=yCONFIG_RADIO_TRUST_PORT=350CONFIG_RADIO_TYPHOON=yCONFIG_RADIO_TYPHOON_PROC_FS=yCONFIG_RADIO_TYPHOON_PORT=316CONFIG_RADIO_TYPHOON_MUTEFREQ=87500
# CONFIG_RADIO_ZOLTRIX is not setCONFIG_USB_DSBR=yCONFIG_USB_SI470X=yCONFIG_USB_MR800=yCONFIG_DVB_CAPTURE_DRIVERS=y
#
# Supported SAA7146 based PCI Adapters
#CONFIG_TTPCI_EEPROM=y
# CONFIG_DVB_AV7110 is not setCONFIG_DVB_BUDGET_CORE=yCONFIG_DVB_BUDGET=yCONFIG_DVB_BUDGET_CI=yCONFIG_DVB_BUDGET_AV=y
#
# Supported USB Adapters
#CONFIG_DVB_TTUSB_BUDGET=y
# CONFIG_DVB_TTUSB_DEC is not setCONFIG_DVB_SIANO_SMS1XXX=y
# CONFIG_DVB_SIANO_SMS1XXX_SMS_IDS is not set
#
# Supported FlexCopII (B2C2) Adapters
#CONFIG_DVB_B2C2_FLEXCOP=yCONFIG_DVB_B2C2_FLEXCOP_PCI=yCONFIG_DVB_B2C2_FLEXCOP_USB=y
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
#
# Supported BT878 Adapters
#
#
# Supported Pluto2 Adapters
#CONFIG_DVB_PLUTO2=y
#
# Supported SDMC DM1105 Adapters
#
#
# Supported DVB Frontends
#
#
# Customise DVB Frontends
#CONFIG_DVB_FE_CUSTOMISE=y
#
# DVB-S (satellite) frontends
#CONFIG_DVB_CX24110=y
# CONFIG_DVB_CX24123 is not set
# CONFIG_DVB_MT312 is not setCONFIG_DVB_S5H1420=yCONFIG_DVB_STV0288=yCONFIG_DVB_STB6000=yCONFIG_DVB_STV0299=yCONFIG_DVB_TDA8083=yCONFIG_DVB_TDA10086=y
# CONFIG_DVB_VES1X93 is not setCONFIG_DVB_TUNER_ITD1000=yCONFIG_DVB_TDA826X=y
# CONFIG_DVB_TUA6100 is not setCONFIG_DVB_CX24116=yCONFIG_DVB_SI21XX=y
#
# DVB-T (terrestrial) frontends
#CONFIG_DVB_SP8870=yCONFIG_DVB_SP887X=y
# CONFIG_DVB_CX22700 is not setCONFIG_DVB_CX22702=yCONFIG_DVB_DRX397XD=yCONFIG_DVB_L64781=yCONFIG_DVB_TDA1004X=y
# CONFIG_DVB_NXT6000 is not setCONFIG_DVB_MT352=y
# CONFIG_DVB_ZL10353 is not setCONFIG_DVB_DIB3000MB=yCONFIG_DVB_DIB3000MC=yCONFIG_DVB_DIB7000M=yCONFIG_DVB_DIB7000P=yCONFIG_DVB_TDA10048=y
#
# DVB-C (cable) frontends
#CONFIG_DVB_VES1820=yCONFIG_DVB_TDA10021=y
# CONFIG_DVB_TDA10023 is not setCONFIG_DVB_STV0297=y
#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends #
# CONFIG_DVB_NXT200X is not set
# CONFIG_DVB_OR51211 is not setCONFIG_DVB_OR51132=yCONFIG_DVB_BCM3510=yCONFIG_DVB_LGDT330X=yCONFIG_DVB_S5H1409=yCONFIG_DVB_AU8522=y
# CONFIG_DVB_S5H1411 is not set
#
# Digital terrestrial only tuners/PLL
#CONFIG_DVB_PLL=yCONFIG_DVB_TUNER_DIB0070=y
#
# SEC control devices for DVB-S
#CONFIG_DVB_LNBP21=yCONFIG_DVB_ISL6405=yCONFIG_DVB_ISL6421=yCONFIG_DVB_LGS8GL5=y
#
# Tools to develop new frontends
#CONFIG_DVB_DUMMY_FE=yCONFIG_DVB_AF9013=yCONFIG_DAB=y
# CONFIG_USB_DABUSB is not set
#
# Graphics support
#CONFIG_AGP=yCONFIG_AGP_ALI=yCONFIG_AGP_ATI=y
# CONFIG_AGP_AMD is not setCONFIG_AGP_AMD64=yCONFIG_AGP_INTEL=y
# CONFIG_AGP_NVIDIA is not setCONFIG_AGP_SIS=yCONFIG_AGP_SWORKS=yCONFIG_AGP_VIA=yCONFIG_AGP_EFFICEON=yCONFIG_DRM=yCONFIG_DRM_TDFX=yCONFIG_DRM_R128=yCONFIG_DRM_RADEON=yCONFIG_DRM_I810=y
# CONFIG_DRM_I830 is not set
# CONFIG_DRM_I915 is not setCONFIG_DRM_MGA=yCONFIG_DRM_SIS=yCONFIG_DRM_VIA=yCONFIG_DRM_SAVAGE=y
# CONFIG_VGASTATE is not setCONFIG_VIDEO_OUTPUT_CONTROL=y
# CONFIG_FB is not setCONFIG_BACKLIGHT_LCD_SUPPORT=y
# CONFIG_LCD_CLASS_DEVICE is not setCONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_CORGI is not set
# CONFIG_BACKLIGHT_PROGEAR is not setCONFIG_BACKLIGHT_DA903X=yCONFIG_BACKLIGHT_MBP_NVIDIA=y
# CONFIG_BACKLIGHT_SAHARA is not set
#
# Display device support
#CONFIG_DISPLAY_SUPPORT=y
#
# Display hardware drivers
#
#
# Console display driver support
#CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not setCONFIG_DUMMY_CONSOLE=y
# CONFIG_SOUND is not setCONFIG_HID_SUPPORT=yCONFIG_HID=yCONFIG_HID_DEBUG=yCONFIG_HIDRAW=y
#
# USB Input Devices
#CONFIG_USB_HID=yCONFIG_HID_PID=y
# CONFIG_USB_HIDDEV is not setCONFIG_USB_MOUSE=y
#
# Special HID drivers
#CONFIG_HID_COMPAT=yCONFIG_HID_A4TECH=yCONFIG_HID_APPLE=yCONFIG_HID_BELKIN=yCONFIG_HID_BRIGHT=yCONFIG_HID_CHERRY=yCONFIG_HID_CHICONY=y
# CONFIG_HID_CYPRESS is not setCONFIG_HID_DELL=y
# CONFIG_HID_EZKEY is not setCONFIG_HID_GYRATION=yCONFIG_HID_LOGITECH=y
# CONFIG_LOGITECH_FF is not set
# CONFIG_LOGIRUMBLEPAD2_FF is not setCONFIG_HID_MICROSOFT=y
# CONFIG_HID_MONTEREY is not setCONFIG_HID_PANTHERLORD=y
# CONFIG_PANTHERLORD_FF is not setCONFIG_HID_PETALYNX=y
# CONFIG_HID_SAMSUNG is not setCONFIG_HID_SONY=yCONFIG_HID_SUNPLUS=yCONFIG_THRUSTMASTER_FF=y
# CONFIG_ZEROPLUS_FF is not setCONFIG_USB_SUPPORT=yCONFIG_USB_ARCH_HAS_HCD=yCONFIG_USB_ARCH_HAS_OHCI=yCONFIG_USB_ARCH_HAS_EHCI=yCONFIG_USB=y
# CONFIG_USB_DEBUG is not set
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
#
# Miscellaneous USB options
#
# CONFIG_USB_DEVICEFS is not setCONFIG_USB_DEVICE_CLASS=y
# CONFIG_USB_DYNAMIC_MINORS is not setCONFIG_USB_SUSPEND=y
# CONFIG_USB_OTG is not setCONFIG_USB_OTG_WHITELIST=yCONFIG_USB_OTG_BLACKLIST_HUB=y
# CONFIG_USB_MON is not setCONFIG_USB_WUSB=yCONFIG_USB_WUSB_CBAF=yCONFIG_USB_WUSB_CBAF_DEBUG=y
#
# USB Host Controller Drivers
#CONFIG_USB_C67X00_HCD=yCONFIG_USB_EHCI_HCD=yCONFIG_USB_EHCI_ROOT_HUB_TT=yCONFIG_USB_EHCI_TT_NEWSCHED=yCONFIG_USB_ISP116X_HCD=yCONFIG_USB_ISP1760_HCD=yCONFIG_USB_OHCI_HCD=yCONFIG_USB_OHCI_HCD_SSB=y
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not setCONFIG_USB_OHCI_LITTLE_ENDIAN=yCONFIG_USB_UHCI_HCD=y
# CONFIG_USB_SL811_HCD is not setCONFIG_USB_R8A66597_HCD=y
# CONFIG_USB_HWA_HCD is not set
#
# USB Device Class drivers
#CONFIG_USB_ACM=y
# CONFIG_USB_PRINTER is not setCONFIG_USB_WDM=y
# CONFIG_USB_TMC is not set
#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; #
#
# see USB_STORAGE Help for more information # # CONFIG_USB_STORAGE is not set # CONFIG_USB_LIBUSUAL is not set
#
# USB Imaging devices
#CONFIG_USB_MDC800=yCONFIG_USB_MICROTEK=y
#
# USB port drivers
#CONFIG_USB_USS720=yCONFIG_USB_SERIAL=yCONFIG_USB_SERIAL_CONSOLE=yCONFIG_USB_EZUSB=yCONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_AIRCABLE is not setCONFIG_USB_SERIAL_ARK3116=y
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_CH341 is not setCONFIG_USB_SERIAL_WHITEHEAT=yCONFIG_USB_SERIAL_DIGI_ACCELEPORT=y
# CONFIG_USB_SERIAL_CP2101 is not set
# CONFIG_USB_SERIAL_CYPRESS_M8 is not setCONFIG_USB_SERIAL_EMPEG=yCONFIG_USB_SERIAL_FTDI_SIO=yCONFIG_USB_SERIAL_FUNSOFT=yCONFIG_USB_SERIAL_VISOR=yCONFIG_USB_SERIAL_IPAQ=yCONFIG_USB_SERIAL_IR=yCONFIG_USB_SERIAL_EDGEPORT=yCONFIG_USB_SERIAL_EDGEPORT_TI=yCONFIG_USB_SERIAL_GARMIN=yCONFIG_USB_SERIAL_IPW=yCONFIG_USB_SERIAL_IUU=yCONFIG_USB_SERIAL_KEYSPAN_PDA=y
# CONFIG_USB_SERIAL_KEYSPAN is not setCONFIG_USB_SERIAL_KLSI=yCONFIG_USB_SERIAL_KOBIL_SCT=y
# CONFIG_USB_SERIAL_MCT_U232 is not setCONFIG_USB_SERIAL_MOS7720=yCONFIG_USB_SERIAL_MOS7840=yCONFIG_USB_SERIAL_MOTOROLA=y
# CONFIG_USB_SERIAL_NAVMAN is not setCONFIG_USB_SERIAL_PL2303=y
# CONFIG_USB_SERIAL_OTI6858 is not setCONFIG_USB_SERIAL_SPCP8X5=yCONFIG_USB_SERIAL_HP4X=y
# CONFIG_USB_SERIAL_SAFE is not setCONFIG_USB_SERIAL_SIERRAWIRELESS=yCONFIG_USB_SERIAL_TI=yCONFIG_USB_SERIAL_CYBERJACK=y
# CONFIG_USB_SERIAL_XIRCOM is not setCONFIG_USB_SERIAL_OPTION=yCONFIG_USB_SERIAL_OMNINET=yCONFIG_USB_SERIAL_DEBUG=y
#
# USB Miscellaneous drivers
#CONFIG_USB_EMI62=yCONFIG_USB_EMI26=yCONFIG_USB_ADUTUX=yCONFIG_USB_SEVSEG=yCONFIG_USB_RIO500=yCONFIG_USB_LEGOTOWER=yCONFIG_USB_LCD=yCONFIG_USB_BERRY_CHARGE=yCONFIG_USB_LED=yCONFIG_USB_CYPRESS_CY7C63=yCONFIG_USB_CYTHERM=yCONFIG_USB_PHIDGET=y
# CONFIG_USB_PHIDGETKIT is not setCONFIG_USB_PHIDGETMOTORCONTROL=yCONFIG_USB_PHIDGETSERVO=yCONFIG_USB_IDMOUSE=y
# CONFIG_USB_FTDI_ELAN is not setCONFIG_USB_APPLEDISPLAY=y
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not setCONFIG_USB_IOWARRIOR=yCONFIG_USB_ISIGHTFW=yCONFIG_USB_VST=yCONFIG_USB_ATM=y
# CONFIG_USB_SPEEDTOUCH is not setCONFIG_USB_CXACRU=yCONFIG_USB_UEAGLEATM=yCONFIG_USB_XUSBATM=yCONFIG_UWB=y
# CONFIG_UWB_HWA is not setCONFIG_UWB_WHCI=yCONFIG_UWB_WLP=yCONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_UNSAFE_RESUME is not set
#
# MMC/SD/SDIO Card Drivers
#CONFIG_MMC_BLOCK=yCONFIG_MMC_BLOCK_BOUNCE=yCONFIG_SDIO_UART=yCONFIG_MMC_TEST=y
#
# MMC/SD/SDIO Host Controller Drivers
#CONFIG_MMC_SDHCI=yCONFIG_MMC_SDHCI_PCI=y
# CONFIG_MMC_RICOH_MMC is not setCONFIG_MMC_WBSD=yCONFIG_MMC_TIFM_SD=y
# CONFIG_MEMSTICK is not setCONFIG_NEW_LEDS=yCONFIG_LEDS_CLASS=y
#
# LED drivers
#CONFIG_LEDS_PCA9532=yCONFIG_LEDS_GPIO=yCONFIG_LEDS_HP_DISK=y
# CONFIG_LEDS_CLEVO_MAIL is not setCONFIG_LEDS_PCA955X=y
# CONFIG_LEDS_DA903X is not set
#
# LED Triggers
#CONFIG_LEDS_TRIGGERS=yCONFIG_LEDS_TRIGGER_TIMER=yCONFIG_LEDS_TRIGGER_HEARTBEAT=yCONFIG_LEDS_TRIGGER_BACKLIGHT=yCONFIG_LEDS_TRIGGER_DEFAULT_ON=yCONFIG_ACCESSIBILITY=yCONFIG_A11Y_BRAILLE_CONSOLE=y
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
# CONFIG_RTC_CLASS is not set
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not setCONFIG_STAGING_EXCLUDE_BUILD=y
#
# Firmware Drivers
#CONFIG_EDD=yCONFIG_EDD_OFF=yCONFIG_FIRMWARE_MEMMAP=yCONFIG_EFI_VARS=yCONFIG_DELL_RBU=yCONFIG_DCDBAS=y
# CONFIG_DMIID is not setCONFIG_ISCSI_IBFT_FIND=yCONFIG_ISCSI_IBFT=y
#
# File systems
#CONFIG_EXT2_FS=yCONFIG_EXT2_FS_XATTR=yCONFIG_EXT2_FS_POSIX_ACL=yCONFIG_EXT2_FS_SECURITY=yCONFIG_EXT2_FS_XIP=yCONFIG_EXT3_FS=yCONFIG_EXT3_FS_XATTR=yCONFIG_EXT3_FS_POSIX_ACL=yCONFIG_EXT3_FS_SECURITY=yCONFIG_EXT4_FS=yCONFIG_EXT4DEV_COMPAT=yCONFIG_EXT4_FS_XATTR=y
# CONFIG_EXT4_FS_POSIX_ACL is not setCONFIG_EXT4_FS_SECURITY=yCONFIG_FS_XIP=yCONFIG_JBD=yCONFIG_JBD_DEBUG=yCONFIG_JBD2=yCONFIG_JBD2_DEBUG=yCONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not setCONFIG_JFS_FS=yCONFIG_JFS_POSIX_ACL=yCONFIG_JFS_SECURITY=yCONFIG_JFS_DEBUG=yCONFIG_JFS_STATISTICS=yCONFIG_FS_POSIX_ACL=yCONFIG_FILE_LOCKING=yCONFIG_XFS_FS=yCONFIG_XFS_QUOTA=yCONFIG_XFS_POSIX_ACL=y
# CONFIG_XFS_RT is not set
# CONFIG_XFS_DEBUG is not setCONFIG_GFS2_FS=yCONFIG_GFS2_FS_LOCKING_DLM=y
# CONFIG_OCFS2_FS is not setCONFIG_DNOTIFY=y
# CONFIG_INOTIFY is not setCONFIG_QUOTA=y
# CONFIG_QUOTA_NETLINK_INTERFACE is not setCONFIG_PRINT_QUOTA_WARNING=yCONFIG_QFMT_V1=y
# CONFIG_QFMT_V2 is not setCONFIG_QUOTACTL=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not setCONFIG_FUSE_FS=y
#
# CD-ROM/DVD Filesystems
#CONFIG_ISO9660_FS=yCONFIG_JOLIET=yCONFIG_ZISOFS=yCONFIG_UDF_FS=yCONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#CONFIG_FAT_FS=yCONFIG_MSDOS_FS=y
# CONFIG_VFAT_FS is not setCONFIG_FAT_DEFAULT_CODEPAGE=437
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#CONFIG_PROC_FS=y
# CONFIG_PROC_KCORE is not set
# CONFIG_PROC_VMCORE is not set
# CONFIG_PROC_SYSCTL is not set
# CONFIG_PROC_PAGE_MONITOR is not setCONFIG_SYSFS=y
# CONFIG_TMPFS is not setCONFIG_HUGETLBFS=yCONFIG_HUGETLB_PAGE=yCONFIG_CONFIGFS_FS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not setCONFIG_AFFS_FS=yCONFIG_HFS_FS=y
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not setCONFIG_BFS_FS=y
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not setCONFIG_MINIX_FS=y
# CONFIG_OMFS_FS is not setCONFIG_HPFS_FS=yCONFIG_QNX4FS_FS=y
# CONFIG_ROMFS_FS is not setCONFIG_SYSV_FS=y
# CONFIG_UFS_FS is not setCONFIG_NETWORK_FILESYSTEMS=yCONFIG_NFS_FS=yCONFIG_NFS_V3=yCONFIG_NFS_V3_ACL=yCONFIG_NFS_V4=yCONFIG_NFSD=yCONFIG_NFSD_V2_ACL=yCONFIG_NFSD_V3=yCONFIG_NFSD_V3_ACL=yCONFIG_NFSD_V4=yCONFIG_LOCKD=yCONFIG_LOCKD_V4=yCONFIG_EXPORTFS=yCONFIG_NFS_ACL_SUPPORT=yCONFIG_NFS_COMMON=yCONFIG_SUNRPC=yCONFIG_SUNRPC_GSS=yCONFIG_SUNRPC_REGISTER_V4=yCONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_SPKM3 is not set
# CONFIG_SMB_FS is not setCONFIG_CIFS=yCONFIG_CIFS_STATS=yCONFIG_CIFS_STATS2=y
# CONFIG_CIFS_WEAK_PW_HASH is not setCONFIG_CIFS_UPCALL=yCONFIG_CIFS_XATTR=yCONFIG_CIFS_POSIX=yCONFIG_CIFS_DEBUG2=yCONFIG_CIFS_EXPERIMENTAL=yCONFIG_CIFS_DFS_UPCALL=yCONFIG_NCP_FS=y
# CONFIG_NCPFS_PACKET_SIGNING is not set
# CONFIG_NCPFS_IOCTL_LOCKING is not set
# CONFIG_NCPFS_STRONG is not setCONFIG_NCPFS_NFS_NS=y
# CONFIG_NCPFS_OS2_NS is not setCONFIG_NCPFS_SMALLDOS=y
# CONFIG_NCPFS_NLS is not set
# CONFIG_NCPFS_EXTRAS is not setCONFIG_CODA_FS=y
# CONFIG_AFS_FS is not set
#
# Partition Types
#CONFIG_PARTITION_ADVANCED=yCONFIG_ACORN_PARTITION=y
# CONFIG_ACORN_PARTITION_CUMANA is not set
# CONFIG_ACORN_PARTITION_EESOX is not setCONFIG_ACORN_PARTITION_ICS=yCONFIG_ACORN_PARTITION_ADFS=yCONFIG_ACORN_PARTITION_POWERTEC=yCONFIG_ACORN_PARTITION_RISCIX=y
# CONFIG_OSF_PARTITION is not setCONFIG_AMIGA_PARTITION=yCONFIG_ATARI_PARTITION=yCONFIG_MAC_PARTITION=yCONFIG_MSDOS_PARTITION=yCONFIG_BSD_DISKLABEL=yCONFIG_MINIX_SUBPARTITION=y
# CONFIG_SOLARIS_X86_PARTITION is not setCONFIG_UNIXWARE_DISKLABEL=y
# CONFIG_LDM_PARTITION is not setCONFIG_SGI_PARTITION=yCONFIG_ULTRIX_PARTITION=yCONFIG_SUN_PARTITION=yCONFIG_KARMA_PARTITION=yCONFIG_EFI_PARTITION=yCONFIG_SYSV68_PARTITION=yCONFIG_NLS=yCONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not setCONFIG_NLS_CODEPAGE_737=y
# CONFIG_NLS_CODEPAGE_775 is not setCONFIG_NLS_CODEPAGE_850=yCONFIG_NLS_CODEPAGE_852=yCONFIG_NLS_CODEPAGE_855=yCONFIG_NLS_CODEPAGE_857=yCONFIG_NLS_CODEPAGE_860=y
# CONFIG_NLS_CODEPAGE_861 is not setCONFIG_NLS_CODEPAGE_862=y
# CONFIG_NLS_CODEPAGE_863 is not setCONFIG_NLS_CODEPAGE_864=y
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not setCONFIG_NLS_CODEPAGE_869=yCONFIG_NLS_CODEPAGE_936=y
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not setCONFIG_NLS_CODEPAGE_949=yCONFIG_NLS_CODEPAGE_874=yCONFIG_NLS_ISO8859_8=yCONFIG_NLS_CODEPAGE_1250=yCONFIG_NLS_CODEPAGE_1251=yCONFIG_NLS_ASCII=yCONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not setCONFIG_NLS_ISO8859_3=yCONFIG_NLS_ISO8859_4=y
# CONFIG_NLS_ISO8859_5 is not setCONFIG_NLS_ISO8859_6=yCONFIG_NLS_ISO8859_7=yCONFIG_NLS_ISO8859_9=yCONFIG_NLS_ISO8859_13=yCONFIG_NLS_ISO8859_14=yCONFIG_NLS_ISO8859_15=y
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not setCONFIG_DLM=y
# CONFIG_DLM_DEBUG is not set
#
# Kernel hacking
#CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_PRINTK_TIME is not set CONFIG_ALLOW_WARNINGS=y CONFIG_ENABLE_WARN_DEPRECATED=y
# CONFIG_ENABLE_MUST_CHECK is not set CONFIG_FRAME_WARN=1024CONFIG_MAGIC_SYSRQ=y
# CONFIG_UNUSED_SYMBOLS is not set CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set CONFIG_DETECT_SOFTLOCKUP=y CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1
# CONFIG_SCHED_DEBUG is not set
# CONFIG_SCHEDSTATS is not set
# CONFIG_TIMER_STATS is not set CONFIG_DEBUG_OBJECTS=y CONFIG_DEBUG_OBJECTS_SELFTEST=y CONFIG_DEBUG_OBJECTS_FREE=y
# CONFIG_DEBUG_OBJECTS_TIMERS is not set
# CONFIG_SLUB_DEBUG_ON is not set CONFIG_SLUB_STATS=yCONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_PI_LIST=y CONFIG_RT_MUTEX_TESTER=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_MUTEXES=y CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=yCONFIG_LOCKDEP=yCONFIG_LOCK_STAT=yCONFIG_DEBUG_LOCKDEP=y CONFIG_TRACE_IRQFLAGS=y CONFIG_DEBUG_SPINLOCK_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set CONFIG_STACKTRACE=yCONFIG_DEBUG_HIGHMEM=y CONFIG_DEBUG_BUGVERBOSE=yCONFIG_DEBUG_VM=yCONFIG_DEBUG_VIRTUAL=y CONFIG_DEBUG_WRITECOUNT=y CONFIG_DEBUG_MEMORY_INIT=y CONFIG_DEBUG_LIST=yCONFIG_DEBUG_SG=yCONFIG_DEBUG_NOTIFIERS=y CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set CONFIG_RCU_CPU_STALL_DETECTOR=y
# CONFIG_BACKTRACE_SELF_TEST is not set CONFIG_FAULT_INJECTION=yCONFIG_FAILSLAB=yCONFIG_FAIL_PAGE_ALLOC=y CONFIG_FAIL_MAKE_REQUEST=y
# CONFIG_FAIL_IO_TIMEOUT is not set CONFIG_FAULT_INJECTION_DEBUG_FS=y
# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set # CONFIG_LATENCYTOP is not set CONFIG_SYSCTL_SYSCALL_CHECK=y CONFIG_USER_STACKTRACE_SUPPORT=y CONFIG_NOP_TRACER=y CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_RET_TRACER=y CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_TRACER_MAX_TRACE=y CONFIG_RING_BUFFER=yCONFIG_TRACING=y
#
# Tracers
#
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not setCONFIG_SYSPROF_TRACER=yCONFIG_SCHED_TRACER=yCONFIG_CONTEXT_SWITCH_TRACER=yCONFIG_BOOT_TRACER=yCONFIG_TRACE_BRANCH_PROFILING=yCONFIG_PROFILE_ALL_BRANCHES=yCONFIG_TRACING_BRANCHES=yCONFIG_BRANCH_TRACER=y
# CONFIG_STACK_TRACER is not setCONFIG_PROVIDE_OHCI1394_DMA_INIT=yCONFIG_FIREWIRE_OHCI_REMOTE_DMA=yCONFIG_DYNAMIC_PRINTK_DEBUG=y
# CONFIG_SAMPLES is not setCONFIG_HAVE_ARCH_KGDB=yCONFIG_KGDB=y
# CONFIG_KGDB_SERIAL_CONSOLE is not set
# CONFIG_KGDB_TESTS is not setCONFIG_STRICT_DEVMEM=yCONFIG_X86_VERBOSE_BOOTUP=yCONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
# CONFIG_DEBUG_STACKOVERFLOW is not setCONFIG_DEBUG_STACK_USAGE=yCONFIG_DEBUG_PAGEALLOC=yCONFIG_DEBUG_PER_CPU_MAPS=yCONFIG_X86_PTDUMP=yCONFIG_DEBUG_RODATA=yCONFIG_DEBUG_RODATA_TEST=yCONFIG_4KSTACKS=y
# CONFIG_DOUBLEFAULT is not set
# CONFIG_MMIOTRACE is not setCONFIG_IO_DELAY_TYPE_0X80=0CONFIG_IO_DELAY_TYPE_0XED=1CONFIG_IO_DELAY_TYPE_UDELAY=2CONFIG_IO_DELAY_TYPE_NONE=3CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not setCONFIG_DEFAULT_IO_DELAY_TYPE=0
# CONFIG_DEBUG_BOOT_PARAMS is not set
# CONFIG_CPA_DEBUG is not set
# CONFIG_OPTIMIZE_INLINING is not set
#
# Security options
#CONFIG_KEYS=y
# CONFIG_KEYS_DEBUG_PROC_KEYS is not setCONFIG_SECURITY=yCONFIG_SECURITYFS=y
# CONFIG_SECURITY_NETWORK is not setCONFIG_SECURITY_FILE_CAPABILITIES=yCONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0CONFIG_CRYPTO=y
#
# Crypto core or helper
#CONFIG_CRYPTO_FIPS=yCONFIG_CRYPTO_ALGAPI=yCONFIG_CRYPTO_AEAD=yCONFIG_CRYPTO_BLKCIPHER=yCONFIG_CRYPTO_HASH=yCONFIG_CRYPTO_RNG=yCONFIG_CRYPTO_MANAGER=yCONFIG_CRYPTO_GF128MUL=yCONFIG_CRYPTO_NULL=yCONFIG_CRYPTO_CRYPTD=yCONFIG_CRYPTO_AUTHENC=y
#
# Authenticated Encryption with Associated Data
#CONFIG_CRYPTO_CCM=y
# CONFIG_CRYPTO_GCM is not setCONFIG_CRYPTO_SEQIV=y
#
# Block modes
#CONFIG_CRYPTO_CBC=yCONFIG_CRYPTO_CTR=yCONFIG_CRYPTO_CTS=yCONFIG_CRYPTO_ECB=y
# CONFIG_CRYPTO_LRW is not setCONFIG_CRYPTO_PCBC=yCONFIG_CRYPTO_XTS=y
#
# Hash modes
#CONFIG_CRYPTO_HMAC=yCONFIG_CRYPTO_XCBC=y
#
# Digest
#CONFIG_CRYPTO_CRC32C=yCONFIG_CRYPTO_CRC32C_INTEL=yCONFIG_CRYPTO_MD4=yCONFIG_CRYPTO_MD5=yCONFIG_CRYPTO_MICHAEL_MIC=yCONFIG_CRYPTO_RMD128=y
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not setCONFIG_CRYPTO_SHA1=yCONFIG_CRYPTO_SHA256=yCONFIG_CRYPTO_SHA512=yCONFIG_CRYPTO_TGR192=y
# CONFIG_CRYPTO_WP512 is not set
#
# Ciphers
#CONFIG_CRYPTO_AES=yCONFIG_CRYPTO_AES_586=yCONFIG_CRYPTO_ANUBIS=yCONFIG_CRYPTO_ARC4=y
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not setCONFIG_CRYPTO_CAST5=yCONFIG_CRYPTO_CAST6=yCONFIG_CRYPTO_DES=yCONFIG_CRYPTO_FCRYPT=yCONFIG_CRYPTO_KHAZAD=yCONFIG_CRYPTO_SALSA20=yCONFIG_CRYPTO_SALSA20_586=yCONFIG_CRYPTO_SEED=yCONFIG_CRYPTO_SERPENT=y
# CONFIG_CRYPTO_TEA is not setCONFIG_CRYPTO_TWOFISH=yCONFIG_CRYPTO_TWOFISH_COMMON=yCONFIG_CRYPTO_TWOFISH_586=y
#
# Compression
#CONFIG_CRYPTO_DEFLATE=yCONFIG_CRYPTO_LZO=y
#
# Random Number Generation
#CONFIG_CRYPTO_ANSI_CPRNG=y
# CONFIG_CRYPTO_HW is not setCONFIG_HAVE_KVM=yCONFIG_VIRTUALIZATION=yCONFIG_KVM=yCONFIG_KVM_INTEL=yCONFIG_KVM_AMD=y
# CONFIG_KVM_TRACE is not setCONFIG_LGUEST=yCONFIG_VIRTIO=yCONFIG_VIRTIO_RING=y
# CONFIG_VIRTIO_PCI is not setCONFIG_VIRTIO_BALLOON=y
#
# Library routines
#CONFIG_BITREVERSE=yCONFIG_GENERIC_FIND_FIRST_BIT=yCONFIG_GENERIC_FIND_NEXT_BIT=yCONFIG_CRC_CCITT=yCONFIG_CRC16=yCONFIG_CRC_T10DIF=yCONFIG_CRC_ITU_T=yCONFIG_CRC32=yCONFIG_CRC7=yCONFIG_LIBCRC32C=yCONFIG_ZLIB_INFLATE=yCONFIG_ZLIB_DEFLATE=yCONFIG_LZO_COMPRESS=yCONFIG_LZO_DECOMPRESS=yCONFIG_TEXTSEARCH=yCONFIG_TEXTSEARCH_KMP=yCONFIG_TEXTSEARCH_BM=yCONFIG_TEXTSEARCH_FSM=yCONFIG_PLIST=yCONFIG_HAS_IOMEM=yCONFIG_HAS_IOPORT=yCONFIG_HAS_DMA=yCONFIG_CHECK_SIGNATURE=yCONFIG_FORCE_SUCCESSFUL_BUILD=yCONFIG_FORCE_MINIMAL_CONFIG=yCONFIG_FORCE_MINIMAL_CONFIG_PHYS=yCONFIG_X86_32_ALWAYS_ON=y
PATCH 1/1 net/wireless/reg.c: fix
Quoted 5 lines · Ingo Molnar
-tip testing found this build failure:
net/wireless/reg.c:348:29: error: macro "if" passed 2 arguments, but takes just 1with the attached config. Seems the macro confused some aspect of
WARN()
looks like a genuine bug in net/wireless/reg.c.
accidentally gcc was too willing to build this nonsense:
if (WARN_ON(!is_alpha2_set(alpha2) || !is_an_alpha2(alpha2)),
"Invalid Country IE regulatory hint passed " "to the wireless core\n")
the fix is to use WARN(), which the intention was most likely.
Ingo
------------------->
Quoted 1 line
From
de734ba59d249ee785a1ead600e5a6ea1dd62639Mon Sep 17 00:00:00 2001
From: Ingo Molnar <[email protected]>
Date: Sun, 23 Nov 2008 20:09:54 +0100
Subject: [PATCH] net/wireless/reg.c: fix
fix:
net/wireless/reg.c:348:29: error: macro "if" passed 2 arguments, but takes just 1
triggered by the branch-tracer.
# Please enter the commit message for your changes. Lines starting
--- net/wireless/reg.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
net/wireless/reg.c +2 -2
@@ -343,9 +343,9 @@ static int ignore_request(struct wiphy *wiphy, enum reg_set_by set_by,return 0 ;return -EALREADY ; } -if (WARN_ON (!is_alpha2_set (alpha2) || !is_an_alpha2 (alpha2)), +if (WARN (!is_alpha2_set (alpha2) || !is_an_alpha2 (alpha2),"Invalid Country IE regulatory hint passed " -"to the wireless core\n" ) +"to the wireless core\n" ))return -EINVAL ;/* We ignore Country IE hints for now, as we haven't yet * added the dot11MultiDomainCapabilityEnabled flag
Re: [PATCH 4/4] trace: profile all if conditionals
In reply to Steven RostedtQuoted 3 lines · Steven Rostedt
Miss means the branch was not taken. Hit means the branch was taken. The percent is the percentage the branch was taken.
I'm not sure the results are very useful? What would you do with it?
It seems like a very special case of gcov, but I think I would rather have the full thing (patches in -mm I think)
Quoted 2 lines
This adds a significant amount of overhead and should only be used by those analyzing their system.
Often this can be also done using CPU performance counters. Might be a cheaper option.
-Andi
Signature · 1 line
[email protected]
Steven Rostedt
maintainerRe: [PATCH 4/4] trace: profile all if conditionals
Quoted 7 lines · Andi Kleen
Quoted 2 lines · Steven Rostedt
This adds a significant amount of overhead and should only be used by those analyzing their system.
Often this can be also done using CPU performance counters. Might be a cheaper option.
I'd love to add an option that could hook into any arch with HW support for this. We could dump out the same information, but just a different way to gather it. But I'm still ignorant to the use of CPU performance counters and how to find which branch matches which if.
-- Steve
Re: [PATCH 4/4] trace: profile all if conditionals
On Sun, Nov 23, 2008 at 02:56:42PM -0500, Steven Rostedt wrote:
You snipped my earlier suggestion? Can't you just use kernel gcov for this? Frankly it's output is infinitely more useful than the one from your patch. It also addresses Andrew's suggestion of profiling other control flow constructs.
I know it's not ftrace, but not everything is bad just because it's not seen through the ftrace spectacles @)
Quoted 6 lines · Andi Kleen
Quoted 5 lines
Quoted 2 lines · Steven Rostedt
This adds a significant amount of overhead and should only be used by those analyzing their system.
Quoted 7 lines
Quoted 2 lines
Often this can be also done using CPU performance counters. Might be a cheaper option.
I'd love to add an option that could hook into any arch with HW support for this. We could dump out the same information, but just a different way to gather it. But I'm still ignorant to the use of CPU performance counters and how to find which branch matches which if.
The theory is quite simple. Typically there are events for "taken branches" and others for "non taken". So you set up two counters using the existing oprofile support and collect the samples. Then combine these two sample streams.
[Sometimes you have to also synthesize these events because CPUs like to count predicted and mispredicted (in the CPU sense) differently, but that's also quite simple (on x86/core these can be all specified in the unit mask for the same event)]
The sampling will be statistical (not every branch counted), but that's ok because only branches that are executed a significant time are interesting anyways.
The only problem is you have to map back to source code lines, which can be done in user space based on the oprofile output and some addr2line or similar hacks. oprofile can also do this, although it gives this information only indirectly so a custom tool might be easier.
Note it doesn't even need new kernel code, assuming
the architecture already has a working full oprofile implementation.
The main advantage over gcov would be lower runtime overhead, although gcov is giving the better output (and is already working too)
-Andi
Quoted 3 lines
-- Steve
Signature · 1 line
[email protected]
Steven Rostedt
maintainerRe: [PATCH 4/4] trace: profile all if conditionals
Quoted 6 lines · Andi Kleen
On Sun, Nov 23, 2008 at 02:56:42PM -0500, Steven Rostedt wrote:
You snipped my earlier suggestion? Can't you just use kernel gcov for this? Frankly it's output is infinitely more useful than the one from your patch. It also addresses Andrew's suggestion of profiling other control flow constructs.
I'll have to read up more on gcov.
Quoted 3 lines
I know it's not ftrace, but not everything is bad just because it's not seen through the ftrace spectacles @)
Actually, the only thing the full branch profiler shares with ftrace, is the directory. It really does not use any of the function tracing or ring buffer facilities. The "ftrace" name is just a catch all for any type of tracing or profiling that I do ;-)
Notice, the subject is "trace:" not "ftrace:". This is because it did not belong to the true ftrace facility. It really should have been "profiling:" but I was tired when I wrote it.
Quoted 30 lines
Quoted 7 lines · Andi Kleen
Quoted 5 lines
Quoted 2 lines · Steven Rostedt
This adds a significant amount of overhead and should only be used by those analyzing their system.
Quoted 7 lines
Quoted 2 lines
Often this can be also done using CPU performance counters. Might be a cheaper option.
I'd love to add an option that could hook into any arch with HW support for this. We could dump out the same information, but just a different way to gather it. But I'm still ignorant to the use of CPU performance counters and how to find which branch matches which if.
The theory is quite simple. Typically there are events for "taken branches" and others for "non taken". So you set up two counters using the existing oprofile support and collect the samples. Then combine these two sample streams.
[Sometimes you have to also synthesize these events because CPUs like to count predicted and mispredicted (in the CPU sense) differently, but that's also quite simple (on x86/core these can be all specified in the unit mask for the same event)]
The sampling will be statistical (not every branch counted), but that's ok because only branches that are executed a significant time are interesting anyways.
Quoted 5 lines
The only problem is you have to map back to source code lines, which can be done in user space based on the oprofile output and some addr2line or similar hacks. oprofile can also do this, although it gives this information only indirectly so a custom tool might be easier.
My work evolves around not adding any userspace tool that is not already supported by busybox. I'm not against anyone else doing this work. It's just that I'm not interested in such. In otherwords, I rather have someone else do that work.
Quoted 7 lines
Note it doesn't even need new kernel code, assuming
the architecture already has a working full oprofile implementation.The main advantage over gcov would be lower runtime overhead, although gcov is giving the better output (and is already working too)
This all sounds great, and perhaps someone might decide to do this. The full branch tracer I added, I did in a few hours and tested on both x86 and PPC. That was because I was waiting on output from a test running on another box that was taking a couple of hours, and I got bored.
I'm not against any of the suggestions you make. I'm just waiting for someone else to do it ;-)
-- Steve
Re: [PATCH 4/4] trace: profile all if conditionals
Quoted 2 lines
My work evolves around not adding any userspace tool that is not already supported by busybox. I'm not against anyone else doing this work. It's
That seems very limiting and arbitary, like tieing your hands behind your back. Why is it ok to add code to the kernel and ok not adding code
to userland?
Quoted 7 lines
This all sounds great, and perhaps someone might decide to do this. The full branch tracer I added, I did in a few hours and tested on both x86 and PPC. That was because I was waiting on output from a test running on another box that was taking a couple of hours, and I got bored.
I'm not against any of the suggestions you make. I'm just waiting for someone else to do it ;-)
I just suggested the perfctr method for completeness. It actually doesn't need much work, you can probably quite easily do it with the existing oprofile infrastructure to get the data, although the output is not very nice with opreport.
But gcov is already done and existing for some time. And for most usages unless you require minimal runtime overhead it is likely the better option. We also used it successfully for some testing here. It also has hit l-k some time ago. I don't know the latest merge status, but I think it hit -mm at least at some point.
-Andi
Re: [PATCH 4/4] trace: profile all if conditionals
In reply to Steven RostedtQuoted 6 lines · Steven Rostedt
Quoted 5 lines · Andi Kleen
Quoted 2 lines · Steven Rostedt
This adds a significant amount of overhead and should only be used by those analyzing their system.
Quoted 8 lines
Quoted 2 lines
Often this can be also done using CPU performance counters. Might be a cheaper option.
I'd love to add an option that could hook into any arch with HW support for this. We could dump out the same information, but just a different way to gather it. But I'm still ignorant to the use of CPU performance counters and how to find which branch matches which if.
there's already new ftrace code for this and the patches are done - stay tuned.
but it wont be a replacement for the soft method (which is more flexible - the hw can only do 'all or nothing' type of branch tracing), so it's complementary.
Ingo
Quoted 10 lines · Steven Rostedt
Ingo,
The following patches clean up the unlikely/likely tracer. Namely it consolidates it into a single file called "
profile_annotated_branch".It also adds a new profiler. A true branch profiler that profiles all
if()statements where the conditional is not a constant. It puts a bit of overhead on the system, but the results seem pretty interesting. The results are placed in "profile_branch".
I looked at the full version of this, and it looks really slow.. As I recall the biggest problem with the -mm version was it's cacheline bouncing (pointed out by Ingo), and yours doesn't _seem_ to fix that. In fact your version looks a lot worse..
So really between the two if we want mainline likely profiling the -mm version is a better choice.. The reason that version never went into mainline is cause neither me or Andrew felt strongly that this was useful in more than just -mm ..
If you look at the output from the profiling long enough it becomes clear that it's frequently misleading .. In the short term a certain branch might be likely, and in the long term it isn't.. So you can't really blindly start converting the annotation..
I should also mention that I didn't write the -mm version alone, it was an effort between three people me, Andrew, and Hua Zhong (CC added)..
Daniel
Steven Rostedt
maintainerQuoted 12 lines · Daniel Walker
Quoted 10 lines · Steven Rostedt
Ingo,
The following patches clean up the unlikely/likely tracer. Namely it consolidates it into a single file called "
profile_annotated_branch".It also adds a new profiler. A true branch profiler that profiles all
if()statements where the conditional is not a constant. It puts a bit of overhead on the system, but the results seem pretty interesting. The results are placed in "profile_branch".
Quoted 4 lines
I looked at the full version of this, and it looks really slow.. As I recall the biggest problem with the -mm version was it's cacheline bouncing (pointed out by Ingo), and yours doesn't _seem_ to fix that. In fact your version looks a lot worse..
I could probably do more to fix the cache line bouncing, but that is not the number one concern rigth now. It is already a big overhead, both memory and performance. That will be something I may address later.
Quoted 5 lines
So really between the two if we want mainline likely profiling the -mm version is a better choice.. The reason that version never went into mainline is cause neither me or Andrew felt strongly that this was useful in more than just -mm ..
This once is also packaged with ftrace, so it makes it nice and tidy ;-)
I'm sure more people will be interested in such a thing outside of -mm. I doubt that it will ever be turned on in a production kernel.
Quoted 5 lines
If you look at the output from the profiling long enough it becomes clear that it's frequently misleading .. In the short term a certain branch might be likely, and in the long term it isn't.. So you can't really blindly start converting the annotation..
I'd go with both. If it should not be likely in both the short and long term than it should not be likely (same goes with unlikely). I think this will serve more in the case of removing unlikely's than to add them.
Quoted 3 lines
I should also mention that I didn't write the -mm version alone, it was an effort between three people me, Andrew, and Hua Zhong (CC added)..
OK, that is good to know. There was just a couple of things that I took from your patch set and I stated them. I wrote the first version without even knowing about you patch, and it was Andrew that pointed it out to me.
The two things that I took was the use of the builtin_constant_p and to use __FILE__ instead of IP.
Thanks,
-- Steve