linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* RCU idle CPU detection is broken in linux-next
@ 2012-09-12 17:56 Sasha Levin
  2012-09-19 15:39 ` Paul E. McKenney
  0 siblings, 1 reply; 41+ messages in thread
From: Sasha Levin @ 2012-09-12 17:56 UTC (permalink / raw)
  To: paulmck; +Cc: Dave Jones, linux-kernel

Hi Paul,

While fuzzing using trinity inside a KVM tools guest, I've managed to trigger
"RCU used illegally from idle CPU!" warnings several times.

There are a bunch of traces which seem to pop exactly at the same time and from
different places around the kernel. Here are several of them:

(1):

[   29.006532] ===============================
[   29.007033] [ INFO: suspicious RCU usage. ]
[   29.007033] 3.6.0-rc5-next-20120912-sasha-00001-gb0c9916-dirty #331 Tainted:
G        W
[   29.007033] -------------------------------
[   29.007033] include/linux/rcupdate.h:737 rcu_read_lock() used illegally while
idle!
[   29.007033]
[   29.007033] other info that might help us debug this:
[   29.007033]
[   29.007033]
[   29.007033] RCU used illegally from idle CPU!
[   29.007033] rcu_scheduler_active = 1, debug_locks = 1
[   29.007033] RCU used illegally from extended quiescent state!
[   29.007033] 2 locks held by rcu_preempt/11:
[   29.007033]  #0:  (&rq->lock){-.-.-.}, at: [<ffffffff83742f50>]
__schedule+0x180/0x8f0
[   29.007033]  #1:  (rcu_read_lock){.+.+..}, at: [<ffffffff8114ff1e>]
cpuacct_charge+0xe/0x200
[   29.007033]
[   29.007033] stack backtrace:
[   29.007033] Pid: 11, comm: rcu_preempt Tainted: G        W
3.6.0-rc5-next-20120912-sasha-00001-gb0c9916-dirty #331
[   29.007033] Call Trace:
[   29.007033]  [<ffffffff8117eaeb>] lockdep_rcu_suspicious+0x10b/0x120
[   29.007033]  [<ffffffff8114ffa0>] cpuacct_charge+0x90/0x200
[   29.007033]  [<ffffffff8114ff1e>] ? cpuacct_charge+0xe/0x200
[   29.007033]  [<ffffffff811548a3>] update_curr+0x1a3/0x270
[   29.007033]  [<ffffffff8115527a>] dequeue_entity+0x2a/0x210
[   29.007033]  [<ffffffff811556b5>] dequeue_task_fair+0x45/0x130
[   29.007033]  [<ffffffff81148149>] dequeue_task+0x89/0xa0
[   29.007033]  [<ffffffff81148ebe>] deactivate_task+0x1e/0x20
[   29.007033]  [<ffffffff83743649>] __schedule+0x879/0x8f0
[   29.007033]  [<ffffffff8117a60d>] ? trace_hardirqs_on+0xd/0x10
[   29.007033]  [<ffffffff83743715>] schedule+0x55/0x60
[   29.007033]  [<ffffffff811c672d>] rcu_gp_kthread+0xdd/0xed0
[   29.007033]  [<ffffffff83744ebb>] ? _raw_spin_unlock_irq+0x2b/0x80
[   29.007033]  [<ffffffff81137210>] ? abort_exclusive_wait+0xb0/0xb0
[   29.007033]  [<ffffffff811c6650>] ? rcu_gp_fqs+0x80/0x80
[   29.007033]  [<ffffffff81135e43>] kthread+0xe3/0xf0
[   29.007033]  [<ffffffff83747a84>] kernel_thread_helper+0x4/0x10
[   29.007033]  [<ffffffff83745df4>] ? retint_restore_args+0x13/0x13
[   29.007033]  [<ffffffff81135d60>] ? insert_kthread_work+0x90/0x90
[   29.007033]  [<ffffffff83747a80>] ? gs_change+0x13/0x13

(2):

[   28.876466] ===============================
[   28.876466] [ INFO: suspicious RCU usage. ]
[   28.876466] 3.6.0-rc5-next-20120912-sasha-00001-gb0c9916-dirty #331 Tainted:
G        W
[   28.876466] -------------------------------
[   28.876466] include/linux/rcupdate.h:758 rcu_read_unlock() used illegally
while idle!
[   28.876466]
[   28.876466] other info that might help us debug this:
[   28.876466]
[   28.876466]
[   28.876466] RCU used illegally from idle CPU!
[   28.876466] rcu_scheduler_active = 1, debug_locks = 1
[   28.876466] RCU used illegally from extended quiescent state!
[   28.876466] 2 locks held by trinity-child58/5966:
[   28.876466]  #0:  (&(&sighand->siglock)->rlock){-.-...}, at:
[<ffffffff8111f548>] force_sig_info+0x38/0x100
[   28.876466]  #1:  (rcu_read_lock){.+.+..}, at: [<ffffffff8111d410>]
__sigqueue_alloc+0x0/0x230
[   28.876466]
[   28.876466] stack backtrace:
[   28.876466] Pid: 5966, comm: trinity-child58 Tainted: G        W
3.6.0-rc5-next-20120912-sasha-00001-gb0c9916-dirty #331
[   28.876466] Call Trace:
[   28.876466]  [<ffffffff8117eaeb>] lockdep_rcu_suspicious+0x10b/0x120
[   28.876466]  [<ffffffff8111d558>] __sigqueue_alloc+0x148/0x230
[   28.876466]  [<ffffffff8111d410>] ? check_kill_permission+0x220/0x220
[   28.876466]  [<ffffffff8111e91a>] __send_signal+0x51a/0x580
[   28.876466]  [<ffffffff8111f500>] ? do_signal_stop+0x2c0/0x2d0
[   28.876466]  [<ffffffff8111e9c0>] send_signal+0x40/0x80
[   28.876466]  [<ffffffff8111f548>] ? force_sig_info+0x38/0x100
[   28.876466]  [<ffffffff811c38ad>] ? rcu_user_enter+0xed/0x110
[   28.876466]  [<ffffffff8111f5d3>] force_sig_info+0xc3/0x100
[   28.876466]  [<ffffffff811203a1>] force_sig+0x11/0x20
[   28.876466]  [<ffffffff8106da1d>] do_general_protection+0xfd/0x170
[   28.876466]  [<ffffffff83746075>] general_protection+0x25/0x30

(3):

[   28.876466] ===============================
[   28.876466] [ INFO: suspicious RCU usage. ]
[   28.876466] 3.6.0-rc5-next-20120912-sasha-00001-gb0c9916-dirty #331 Tainted:
G        W
[   28.876466] -------------------------------
[   28.876466] kernel/signal.c:366 suspicious rcu_dereference_check() usage!
[   28.876466]
[   28.876466] other info that might help us debug this:
[   28.876466]
[   28.876466]
[   28.876466] RCU used illegally from idle CPU!
[   28.876466] rcu_scheduler_active = 1, debug_locks = 1
[   28.876466] RCU used illegally from extended quiescent state!
[   28.876466] 2 locks held by trinity-child58/5966:
[   28.876466]  #0:  (&(&sighand->siglock)->rlock){-.-...}, at:
[<ffffffff8111f548>] force_sig_info+0x38/0x100
[   28.876466]  #1:  (rcu_read_lock){.+.+..}, at: [<ffffffff8111d410>]
__sigqueue_alloc+0x0/0x230
[   28.876466]
[   28.876466] stack backtrace:
[   28.876466] Pid: 5966, comm: trinity-child58 Tainted: G        W
3.6.0-rc5-next-20120912-sasha-00001-gb0c9916-dirty #331
[   28.876466] Call Trace:
[   28.876466]  [<ffffffff8117eaeb>] lockdep_rcu_suspicious+0x10b/0x120
[   28.876466]  [<ffffffff8111d50f>] __sigqueue_alloc+0xff/0x230
[   28.876466]  [<ffffffff8111d410>] ? check_kill_permission+0x220/0x220
[   28.876466]  [<ffffffff8111e91a>] __send_signal+0x51a/0x580
[   28.876466]  [<ffffffff8111f500>] ? do_signal_stop+0x2c0/0x2d0
[   28.876466]  [<ffffffff8111e9c0>] send_signal+0x40/0x80
[   28.876466]  [<ffffffff8111f548>] ? force_sig_info+0x38/0x100
[   28.876466]  [<ffffffff811c38ad>] ? rcu_user_enter+0xed/0x110
[   28.876466]  [<ffffffff8111f5d3>] force_sig_info+0xc3/0x100
[   28.876466]  [<ffffffff811203a1>] force_sig+0x11/0x20
[   28.876466]  [<ffffffff8106da1d>] do_general_protection+0xfd/0x170
[   28.876466]  [<ffffffff83746075>] general_protection+0x25/0x30

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-12 17:56 RCU idle CPU detection is broken in linux-next Sasha Levin
@ 2012-09-19 15:39 ` Paul E. McKenney
  2012-09-19 16:35   ` Sasha Levin
  0 siblings, 1 reply; 41+ messages in thread
From: Paul E. McKenney @ 2012-09-19 15:39 UTC (permalink / raw)
  To: Sasha Levin; +Cc: Dave Jones, linux-kernel

On Wed, Sep 12, 2012 at 07:56:48PM +0200, Sasha Levin wrote:
> Hi Paul,
> 
> While fuzzing using trinity inside a KVM tools guest, I've managed to trigger
> "RCU used illegally from idle CPU!" warnings several times.
> 
> There are a bunch of traces which seem to pop exactly at the same time and from
> different places around the kernel. Here are several of them:

Hello, Sasha,

OK, interesting.  Could you please try reproducing with the diagnostic
patch shown below?

							Thanx, Paul

> (1):
> 
> [   29.006532] ===============================
> [   29.007033] [ INFO: suspicious RCU usage. ]
> [   29.007033] 3.6.0-rc5-next-20120912-sasha-00001-gb0c9916-dirty #331 Tainted:
> G        W
> [   29.007033] -------------------------------
> [   29.007033] include/linux/rcupdate.h:737 rcu_read_lock() used illegally while
> idle!
> [   29.007033]
> [   29.007033] other info that might help us debug this:
> [   29.007033]
> [   29.007033]
> [   29.007033] RCU used illegally from idle CPU!
> [   29.007033] rcu_scheduler_active = 1, debug_locks = 1
> [   29.007033] RCU used illegally from extended quiescent state!
> [   29.007033] 2 locks held by rcu_preempt/11:
> [   29.007033]  #0:  (&rq->lock){-.-.-.}, at: [<ffffffff83742f50>]
> __schedule+0x180/0x8f0
> [   29.007033]  #1:  (rcu_read_lock){.+.+..}, at: [<ffffffff8114ff1e>]
> cpuacct_charge+0xe/0x200
> [   29.007033]
> [   29.007033] stack backtrace:
> [   29.007033] Pid: 11, comm: rcu_preempt Tainted: G        W
> 3.6.0-rc5-next-20120912-sasha-00001-gb0c9916-dirty #331
> [   29.007033] Call Trace:
> [   29.007033]  [<ffffffff8117eaeb>] lockdep_rcu_suspicious+0x10b/0x120
> [   29.007033]  [<ffffffff8114ffa0>] cpuacct_charge+0x90/0x200
> [   29.007033]  [<ffffffff8114ff1e>] ? cpuacct_charge+0xe/0x200
> [   29.007033]  [<ffffffff811548a3>] update_curr+0x1a3/0x270
> [   29.007033]  [<ffffffff8115527a>] dequeue_entity+0x2a/0x210
> [   29.007033]  [<ffffffff811556b5>] dequeue_task_fair+0x45/0x130
> [   29.007033]  [<ffffffff81148149>] dequeue_task+0x89/0xa0
> [   29.007033]  [<ffffffff81148ebe>] deactivate_task+0x1e/0x20
> [   29.007033]  [<ffffffff83743649>] __schedule+0x879/0x8f0
> [   29.007033]  [<ffffffff8117a60d>] ? trace_hardirqs_on+0xd/0x10
> [   29.007033]  [<ffffffff83743715>] schedule+0x55/0x60
> [   29.007033]  [<ffffffff811c672d>] rcu_gp_kthread+0xdd/0xed0
> [   29.007033]  [<ffffffff83744ebb>] ? _raw_spin_unlock_irq+0x2b/0x80
> [   29.007033]  [<ffffffff81137210>] ? abort_exclusive_wait+0xb0/0xb0
> [   29.007033]  [<ffffffff811c6650>] ? rcu_gp_fqs+0x80/0x80
> [   29.007033]  [<ffffffff81135e43>] kthread+0xe3/0xf0
> [   29.007033]  [<ffffffff83747a84>] kernel_thread_helper+0x4/0x10
> [   29.007033]  [<ffffffff83745df4>] ? retint_restore_args+0x13/0x13
> [   29.007033]  [<ffffffff81135d60>] ? insert_kthread_work+0x90/0x90
> [   29.007033]  [<ffffffff83747a80>] ? gs_change+0x13/0x13
> 
> (2):
> 
> [   28.876466] ===============================
> [   28.876466] [ INFO: suspicious RCU usage. ]
> [   28.876466] 3.6.0-rc5-next-20120912-sasha-00001-gb0c9916-dirty #331 Tainted:
> G        W
> [   28.876466] -------------------------------
> [   28.876466] include/linux/rcupdate.h:758 rcu_read_unlock() used illegally
> while idle!
> [   28.876466]
> [   28.876466] other info that might help us debug this:
> [   28.876466]
> [   28.876466]
> [   28.876466] RCU used illegally from idle CPU!
> [   28.876466] rcu_scheduler_active = 1, debug_locks = 1
> [   28.876466] RCU used illegally from extended quiescent state!
> [   28.876466] 2 locks held by trinity-child58/5966:
> [   28.876466]  #0:  (&(&sighand->siglock)->rlock){-.-...}, at:
> [<ffffffff8111f548>] force_sig_info+0x38/0x100
> [   28.876466]  #1:  (rcu_read_lock){.+.+..}, at: [<ffffffff8111d410>]
> __sigqueue_alloc+0x0/0x230
> [   28.876466]
> [   28.876466] stack backtrace:
> [   28.876466] Pid: 5966, comm: trinity-child58 Tainted: G        W
> 3.6.0-rc5-next-20120912-sasha-00001-gb0c9916-dirty #331
> [   28.876466] Call Trace:
> [   28.876466]  [<ffffffff8117eaeb>] lockdep_rcu_suspicious+0x10b/0x120
> [   28.876466]  [<ffffffff8111d558>] __sigqueue_alloc+0x148/0x230
> [   28.876466]  [<ffffffff8111d410>] ? check_kill_permission+0x220/0x220
> [   28.876466]  [<ffffffff8111e91a>] __send_signal+0x51a/0x580
> [   28.876466]  [<ffffffff8111f500>] ? do_signal_stop+0x2c0/0x2d0
> [   28.876466]  [<ffffffff8111e9c0>] send_signal+0x40/0x80
> [   28.876466]  [<ffffffff8111f548>] ? force_sig_info+0x38/0x100
> [   28.876466]  [<ffffffff811c38ad>] ? rcu_user_enter+0xed/0x110
> [   28.876466]  [<ffffffff8111f5d3>] force_sig_info+0xc3/0x100
> [   28.876466]  [<ffffffff811203a1>] force_sig+0x11/0x20
> [   28.876466]  [<ffffffff8106da1d>] do_general_protection+0xfd/0x170
> [   28.876466]  [<ffffffff83746075>] general_protection+0x25/0x30
> 
> (3):
> 
> [   28.876466] ===============================
> [   28.876466] [ INFO: suspicious RCU usage. ]
> [   28.876466] 3.6.0-rc5-next-20120912-sasha-00001-gb0c9916-dirty #331 Tainted:
> G        W
> [   28.876466] -------------------------------
> [   28.876466] kernel/signal.c:366 suspicious rcu_dereference_check() usage!
> [   28.876466]
> [   28.876466] other info that might help us debug this:
> [   28.876466]
> [   28.876466]
> [   28.876466] RCU used illegally from idle CPU!
> [   28.876466] rcu_scheduler_active = 1, debug_locks = 1
> [   28.876466] RCU used illegally from extended quiescent state!
> [   28.876466] 2 locks held by trinity-child58/5966:
> [   28.876466]  #0:  (&(&sighand->siglock)->rlock){-.-...}, at:
> [<ffffffff8111f548>] force_sig_info+0x38/0x100
> [   28.876466]  #1:  (rcu_read_lock){.+.+..}, at: [<ffffffff8111d410>]
> __sigqueue_alloc+0x0/0x230
> [   28.876466]
> [   28.876466] stack backtrace:
> [   28.876466] Pid: 5966, comm: trinity-child58 Tainted: G        W
> 3.6.0-rc5-next-20120912-sasha-00001-gb0c9916-dirty #331
> [   28.876466] Call Trace:
> [   28.876466]  [<ffffffff8117eaeb>] lockdep_rcu_suspicious+0x10b/0x120
> [   28.876466]  [<ffffffff8111d50f>] __sigqueue_alloc+0xff/0x230
> [   28.876466]  [<ffffffff8111d410>] ? check_kill_permission+0x220/0x220
> [   28.876466]  [<ffffffff8111e91a>] __send_signal+0x51a/0x580
> [   28.876466]  [<ffffffff8111f500>] ? do_signal_stop+0x2c0/0x2d0
> [   28.876466]  [<ffffffff8111e9c0>] send_signal+0x40/0x80
> [   28.876466]  [<ffffffff8111f548>] ? force_sig_info+0x38/0x100
> [   28.876466]  [<ffffffff811c38ad>] ? rcu_user_enter+0xed/0x110
> [   28.876466]  [<ffffffff8111f5d3>] force_sig_info+0xc3/0x100
> [   28.876466]  [<ffffffff811203a1>] force_sig+0x11/0x20
> [   28.876466]  [<ffffffff8106da1d>] do_general_protection+0xfd/0x170
> [   28.876466]  [<ffffffff83746075>] general_protection+0x25/0x30

rcu: Track RCU idle periods using lockdep

There have been several bugs involving illegal use of RCU read-side
critical sections from the idle loop.  Most of these have been easy to
track down, but any number of bugs involving unbalanced idle entry/exit
calls could be difficult to locate.  This commit therefore adds lockdep
support for tracking RCU idle entry and exit in order to provide more
information for locating unbalanced idle entry/exit calls.

Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index 7c968e4..b5b7863 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -297,6 +297,7 @@ static inline void rcu_lock_release(struct lockdep_map *map)
 extern struct lockdep_map rcu_lock_map;
 extern struct lockdep_map rcu_bh_lock_map;
 extern struct lockdep_map rcu_sched_lock_map;
+extern struct lockdep_map rcu_idle_map;
 extern int debug_lockdep_rcu_enabled(void);
 
 /**
diff --git a/kernel/rcu.h b/kernel/rcu.h
index 8ba99cd..3aa1e59 100644
--- a/kernel/rcu.h
+++ b/kernel/rcu.h
@@ -55,6 +55,22 @@
 #define DYNTICK_TASK_EXIT_IDLE	   (DYNTICK_TASK_NEST_VALUE + \
 				    DYNTICK_TASK_FLAG)
 
+
+/* Lockdep tracking for extended quiescent state idle entry and exit. */
+static inline void rcu_eqs_enter_lockdep(void)
+{
+#ifdef CONFIG_PROVE_RCU
+	rcu_lock_acquire(&rcu_idle_map);
+#endif /* #ifdef CONFIG_PROVE_RCU */
+}
+static inline void rcu_eqs_exit_lockdep(void)
+{
+#ifdef CONFIG_PROVE_RCU
+	rcu_lock_release(&rcu_idle_map);
+#endif /* #ifdef CONFIG_PROVE_RCU */
+}
+
+
 /*
  * debug_rcu_head_queue()/debug_rcu_head_unqueue() are used internally
  * by call_rcu() and rcu callback execution, and are therefore not part of the
diff --git a/kernel/rcupdate.c b/kernel/rcupdate.c
index 29ca1c6..ce129f3 100644
--- a/kernel/rcupdate.c
+++ b/kernel/rcupdate.c
@@ -142,6 +142,11 @@ static struct lock_class_key rcu_sched_lock_key;
 struct lockdep_map rcu_sched_lock_map =
 	STATIC_LOCKDEP_MAP_INIT("rcu_read_lock_sched", &rcu_sched_lock_key);
 EXPORT_SYMBOL_GPL(rcu_sched_lock_map);
+
+static struct lock_class_key rcu_idle_key;
+struct lockdep_map rcu_idle_map =
+	STATIC_LOCKDEP_MAP_INIT("rcu_idle", &rcu_idle_key);
+EXPORT_SYMBOL_GPL(rcu_idle_map);
 #endif
 
 #ifdef CONFIG_DEBUG_LOCK_ALLOC
diff --git a/kernel/rcutiny.c b/kernel/rcutiny.c
index 2e073a2..c620f16 100644
--- a/kernel/rcutiny.c
+++ b/kernel/rcutiny.c
@@ -75,6 +75,7 @@ static void rcu_idle_enter_common(long long newval)
 			  current->pid, current->comm,
 			  idle->pid, idle->comm); /* must be idle task! */
 	}
+	rcu_eqs_enter_lockdep();
 	barrier();
 	rcu_dynticks_nesting = newval;
 	rcu_sched_qs(0); /* implies rcu_bh_qsctr_inc(0) */
@@ -126,6 +127,7 @@ static void rcu_idle_exit_common(long long oldval)
 		return;
 	}
 	RCU_TRACE(trace_rcu_dyntick("End", oldval, rcu_dynticks_nesting));
+	rcu_eqs_exit_lockdep();
 	if (!is_idle_task(current)) {
 		struct task_struct *idle = idle_task(smp_processor_id());
 
diff --git a/kernel/rcutree.c b/kernel/rcutree.c
index 6eff63d..fc9c8a0 100644
--- a/kernel/rcutree.c
+++ b/kernel/rcutree.c
@@ -343,6 +343,7 @@ static void rcu_eqs_enter_common(struct rcu_dynticks *rdtp, long long oldval,
 			  current->pid, current->comm,
 			  idle->pid, idle->comm); /* must be idle task! */
 	}
+	rcu_eqs_enter_lockdep();
 	rcu_prepare_for_idle(smp_processor_id());
 	/* CPUs seeing atomic_inc() must see prior RCU read-side crit sects */
 	smp_mb__before_atomic_inc();  /* See above. */
@@ -500,6 +501,7 @@ static void rcu_eqs_exit_common(struct rcu_dynticks *rdtp, long long oldval,
 	/* CPUs seeing atomic_inc() must see later RCU read-side crit sects */
 	smp_mb__after_atomic_inc();  /* See above. */
 	WARN_ON_ONCE(!(atomic_read(&rdtp->dynticks) & 0x1));
+	rcu_eqs_exit_lockdep();
 	rcu_cleanup_after_idle(smp_processor_id());
 	trace_rcu_dyntick("End", oldval, rdtp->dynticks_nesting);
 	if (!user && !is_idle_task(current)) {


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-19 15:39 ` Paul E. McKenney
@ 2012-09-19 16:35   ` Sasha Levin
  2012-09-19 17:06     ` Paul E. McKenney
  0 siblings, 1 reply; 41+ messages in thread
From: Sasha Levin @ 2012-09-19 16:35 UTC (permalink / raw)
  To: paulmck; +Cc: Dave Jones, linux-kernel

On 09/19/2012 05:39 PM, Paul E. McKenney wrote:
> On Wed, Sep 12, 2012 at 07:56:48PM +0200, Sasha Levin wrote:
>> > Hi Paul,
>> > 
>> > While fuzzing using trinity inside a KVM tools guest, I've managed to trigger
>> > "RCU used illegally from idle CPU!" warnings several times.
>> > 
>> > There are a bunch of traces which seem to pop exactly at the same time and from
>> > different places around the kernel. Here are several of them:
> Hello, Sasha,
> 
> OK, interesting.  Could you please try reproducing with the diagnostic
> patch shown below?

Sure - here are the results (btw, it reproduces very easily):

[ 13.525119] ================================================
[ 13.527165] [ BUG: lock held when returning to user space! ]
[ 13.528752] 3.6.0-rc6-next-20120918-sasha-00002-g190c311-dirty #362 Tainted: GW
[ 13.531314] ------------------------------------------------
[ 13.532918] init/1 is leaving the kernel with locks still held!
[ 13.534574] 1 lock held by init/1:
[ 13.535533] #0: (rcu_idle){.+.+..}, at: [<ffffffff811c36d0>]
rcu_eqs_enter_common+0x1a0/0x9a0

I'm basically seeing lots of the above, so I can't even get to the point where I
get the previous lockdep warnings.

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-19 16:35   ` Sasha Levin
@ 2012-09-19 17:06     ` Paul E. McKenney
  2012-09-19 22:27       ` Sasha Levin
  2012-09-20  7:33       ` Michael Wang
  0 siblings, 2 replies; 41+ messages in thread
From: Paul E. McKenney @ 2012-09-19 17:06 UTC (permalink / raw)
  To: Sasha Levin; +Cc: Dave Jones, linux-kernel

On Wed, Sep 19, 2012 at 06:35:36PM +0200, Sasha Levin wrote:
> On 09/19/2012 05:39 PM, Paul E. McKenney wrote:
> > On Wed, Sep 12, 2012 at 07:56:48PM +0200, Sasha Levin wrote:
> >> > Hi Paul,
> >> > 
> >> > While fuzzing using trinity inside a KVM tools guest, I've managed to trigger
> >> > "RCU used illegally from idle CPU!" warnings several times.
> >> > 
> >> > There are a bunch of traces which seem to pop exactly at the same time and from
> >> > different places around the kernel. Here are several of them:
> > Hello, Sasha,
> > 
> > OK, interesting.  Could you please try reproducing with the diagnostic
> > patch shown below?
> 
> Sure - here are the results (btw, it reproduces very easily):
> 
> [ 13.525119] ================================================
> [ 13.527165] [ BUG: lock held when returning to user space! ]
> [ 13.528752] 3.6.0-rc6-next-20120918-sasha-00002-g190c311-dirty #362 Tainted: GW
> [ 13.531314] ------------------------------------------------
> [ 13.532918] init/1 is leaving the kernel with locks still held!
> [ 13.534574] 1 lock held by init/1:
> [ 13.535533] #0: (rcu_idle){.+.+..}, at: [<ffffffff811c36d0>]
> rcu_eqs_enter_common+0x1a0/0x9a0
> 
> I'm basically seeing lots of the above, so I can't even get to the point where I
> get the previous lockdep warnings.

OK, that diagnostic patch was unhelpful.  Back to the drawing board...

							Thanx, Paul


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-19 17:06     ` Paul E. McKenney
@ 2012-09-19 22:27       ` Sasha Levin
  2012-09-20  7:33       ` Michael Wang
  1 sibling, 0 replies; 41+ messages in thread
From: Sasha Levin @ 2012-09-19 22:27 UTC (permalink / raw)
  To: paulmck; +Cc: Dave Jones, linux-kernel

On 09/19/2012 07:06 PM, Paul E. McKenney wrote:
> On Wed, Sep 19, 2012 at 06:35:36PM +0200, Sasha Levin wrote:
>> On 09/19/2012 05:39 PM, Paul E. McKenney wrote:
>>> On Wed, Sep 12, 2012 at 07:56:48PM +0200, Sasha Levin wrote:
>>>>> Hi Paul,
>>>>>
>>>>> While fuzzing using trinity inside a KVM tools guest, I've managed to trigger
>>>>> "RCU used illegally from idle CPU!" warnings several times.
>>>>>
>>>>> There are a bunch of traces which seem to pop exactly at the same time and from
>>>>> different places around the kernel. Here are several of them:
>>> Hello, Sasha,
>>>
>>> OK, interesting.  Could you please try reproducing with the diagnostic
>>> patch shown below?
>>
>> Sure - here are the results (btw, it reproduces very easily):
>>
>> [ 13.525119] ================================================
>> [ 13.527165] [ BUG: lock held when returning to user space! ]
>> [ 13.528752] 3.6.0-rc6-next-20120918-sasha-00002-g190c311-dirty #362 Tainted: GW
>> [ 13.531314] ------------------------------------------------
>> [ 13.532918] init/1 is leaving the kernel with locks still held!
>> [ 13.534574] 1 lock held by init/1:
>> [ 13.535533] #0: (rcu_idle){.+.+..}, at: [<ffffffff811c36d0>]
>> rcu_eqs_enter_common+0x1a0/0x9a0
>>
>> I'm basically seeing lots of the above, so I can't even get to the point where I
>> get the previous lockdep warnings.
> 
> OK, that diagnostic patch was unhelpful.  Back to the drawing board...

Not sure if it's related, but I'm seeing this during guest shutdown:

[  602.020174] rcutorture thread rcu_torture_reader parking due to system shutdown
[  602.025010] Disabling non-boot CPUs ...
[  602.027180] rcutorture thread rcu_torture_reader parking due to system shutdown
[  602.780182] rcu-torture: rtc: ffffffff86480c00 ver: 745 tfle: 0 rta: 745
rtaf: 0 rtf: 744 rtmbe: 0 rtbke: 0 rtbre: 0 rtbf: 0 rtb: 0 nt: 5744 onoff:
0/0:0/0 -1,0:-1,0 0:0 (HZ=100) barrier: 0/0:0
[  602.780182] rcu-torture: Reader Pipe:  805299 14 0 0 0 0 0 0 0 0 0
[  602.780182] rcu-torture: Reader Batch:  805307 6 0 0 0 0 0 0 0 0 0
[  602.780182] rcu-torture: Free-Block Circulation:  744 744 744 744 744 744 744
744 744 744 0
[  602.784782] rcutorture thread rcu_torture_stats parking due to system shutdown
[  602.850145] rcutorture thread rcu_torture_stutter parking due to system shutdown
[  602.950402] rcutorture thread rcu_torture_reader parking due to system shutdown
[  602.952262] rcutorture thread rcu_torture_reader parking due to system shutdown
[  602.953628] rcutorture thread rcu_torture_fakewriter parking due to system
shutdown
[  602.955100] rcutorture thread rcu_torture_reader parking due to system shutdown
[  602.956775] rcutorture thread rcu_torture_reader parking due to system shutdown
[  602.958121] rcutorture thread rcu_torture_fakewriter parking due to system
shutdown
[  602.959677] rcutorture thread rcu_torture_fakewriter parking due to system
shutdown
[  602.960213] rcutorture thread rcu_torture_reader parking due to system shutdown
[  602.960222] rcutorture thread rcu_torture_writer parking due to system shutdown
[  602.960263] rcutorture thread rcu_torture_fakewriter parking due to system
shutdown
[  602.960277] rcutorture thread rcu_torture_reader parking due to system shutdown
[  667.060185] INFO: rcu_preempt detected stalls on CPUs/tasks:
[  667.062678] 	(detected by 1, t=6502 jiffies)
[  667.064549] INFO: Stall ended before state dump start
[  722.680332] INFO: task init:1 blocked for more than 120 seconds.
[  722.685077] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[  722.686542] init            D ffff880035600000  3528     1      0 0x00000000
[  722.687638]  ffff88000d5b3a48 0000000000000002 ffff88000d5b3a18 ffffffff810a2d96
[  722.688756]  ffff88000d5b3fd8 ffff88000d5b3fd8 ffff88000d5b3fd8 ffff88000d5b3fd8
[  722.690137]  ffff880035600000 ffff88000d5b8000 ffff88000d5b3a28 ffff88000d5b3be0
[  722.691487] Call Trace:
[  722.691926]  [<ffffffff810a2d96>] ? kvm_clock_read+0x46/0x80
[  722.692877]  [<ffffffff839eace5>] schedule+0x55/0x60
[  722.693716]  [<ffffffff839e8c65>] schedule_timeout+0x45/0x360
[  722.694702]  [<ffffffff8117a1f3>] ? mark_held_locks+0x113/0x130
[  722.695654]  [<ffffffff8117793e>] ? put_lock_stats.isra.16+0xe/0x40
[  722.696757]  [<ffffffff839ec48b>] ? _raw_spin_unlock_irq+0x2b/0x80
[  722.697796]  [<ffffffff839eb458>] wait_for_common+0x138/0x180
[  722.698778]  [<ffffffff8114ca70>] ? try_to_wake_up+0x360/0x360
[  722.699793]  [<ffffffff811c4650>] ? __call_rcu+0x6b0/0x6b0
[  722.700883]  [<ffffffff839eb548>] wait_for_completion+0x18/0x20
[  722.701832]  [<ffffffff81132d4f>] wait_rcu_gp+0x6f/0xa0
[  722.702675]  [<ffffffff811308f0>] ? perf_trace_rcu_utilization+0xe0/0xe0
[  722.703791]  [<ffffffff839eb364>] ? wait_for_common+0x44/0x180
[  722.704693]  [<ffffffff811c9026>] synchronize_rcu+0x86/0x90
[  722.705623]  [<ffffffff811fa3c5>] padata_replace+0x35/0xd0
[  722.706498]  [<ffffffff811fa526>] __padata_remove_cpu+0xc6/0x160
[  722.707486]  [<ffffffff811fa94c>] padata_cpu_callback+0x2bc/0x350
[  722.708534]  [<ffffffff8113de7e>] notifier_call_chain+0xee/0x130
[  722.709524]  [<ffffffff8113e459>] __raw_notifier_call_chain+0x9/0x10
[  722.710925]  [<ffffffff8110a4ab>] __cpu_notify+0x1b/0x40
[  722.711817]  [<ffffffff8383133e>] _cpu_down+0xae/0x350
[  722.712679]  [<ffffffff8398fc88>] ? printk+0x5c/0x5e
[  722.713516]  [<ffffffff8110a8e6>] disable_nonboot_cpus+0x86/0x1c0
[  722.714526]  [<ffffffff811240c6>] kernel_restart+0x16/0x60
[  722.715435]  [<ffffffff81124341>] sys_reboot+0x151/0x2a0
[  722.716316]  [<ffffffff811c5d13>] ? rcu_cleanup_after_idle+0x23/0x170
[  722.717415]  [<ffffffff811c6624>] ? rcu_eqs_exit_common+0x64/0x3a0
[  722.718453]  [<ffffffff811c6d15>] ? rcu_user_exit+0xa5/0xd0
[  722.719372]  [<ffffffff8117a44d>] ? trace_hardirqs_on+0xd/0x10
[  722.720531]  [<ffffffff8107c8f0>] ? syscall_trace_enter+0x20/0x2e0
[  722.721759]  [<ffffffff839edea8>] tracesys+0xe1/0xe6
[  722.722614] 4 locks held by init/1:
[  722.723123]  #0:  (reboot_mutex){+.+.+.}, at: [<ffffffff811242c6>]
sys_reboot+0xd6/0x2a0
[  722.724537]  #1:  (cpu_add_remove_lock){+.+.+.}, at: [<ffffffff8110a582>]
cpu_maps_update_begin+0x12/0x20
[  722.726129]  #2:  (cpu_hotplug.lock){+.+.+.}, at: [<ffffffff8110a53a>]
cpu_hotplug_begin+0x2a/0x60
[  722.727609]  #3:  (&pinst->lock){+.+.+.}, at: [<ffffffff811fa941>]
padata_cpu_callback+0x2b1/0x350
[  722.729133] INFO: task rcu_preempt:11 blocked for more than 120 seconds.
[  722.730370] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[  722.731686] rcu_preempt     D ffff88000d620000  5480    11      2 0x00000000
[  722.732901]  ffff88000d5fbc20 0000000000000002 0000000000000006 ffff88000d600000
[  722.734177]  ffff88000d5fbfd8 ffff88000d5fbfd8 ffff88000d5fbfd8 ffff88000d5fbfd8
[  722.735456]  ffff88000d620000 ffff88000d600000 ffffffff839e9575 ffffffff84c50948
[  722.736707] Call Trace:
[  722.737122]  [<ffffffff839e9575>] ? __mutex_lock_common+0x335/0x5a0
[  722.738165]  [<ffffffff839eace5>] schedule+0x55/0x60
[  722.739001]  [<ffffffff839ead03>] schedule_preempt_disabled+0x13/0x20
[  722.740098]  [<ffffffff839e95ad>] __mutex_lock_common+0x36d/0x5a0
[  722.741410]  [<ffffffff8110a5e7>] ? get_online_cpus+0x37/0x50
[  722.742645]  [<ffffffff81150008>] ? sched_clock_cpu+0xf8/0x110
[  722.743627]  [<ffffffff8110a5e7>] ? get_online_cpus+0x37/0x50
[  722.744599]  [<ffffffff839e981f>] mutex_lock_nested+0x3f/0x50
[  722.745484]  [<ffffffff8110a5e7>] get_online_cpus+0x37/0x50
[  722.746418]  [<ffffffff811c718f>] rcu_gp_kthread+0x28f/0xed0
[  722.747314]  [<ffffffff839ec48b>] ? _raw_spin_unlock_irq+0x2b/0x80
[  722.748350]  [<ffffffff81136fe0>] ? abort_exclusive_wait+0xb0/0xb0
[  722.749303]  [<ffffffff811c6f00>] ? rcu_gp_fqs+0x80/0x80
[  722.750358]  [<ffffffff81135c13>] kthread+0xe3/0xf0
[  722.751124]  [<ffffffff839ef044>] kernel_thread_helper+0x4/0x10
[  722.752048]  [<ffffffff839ed3b4>] ? retint_restore_args+0x13/0x13
[  722.753023]  [<ffffffff81135b30>] ? insert_kthread_work+0x90/0x90
[  722.754006]  [<ffffffff839ef040>] ? gs_change+0x13/0x13
[  722.754905] 1 lock held by rcu_preempt/11:
[  722.755590]  #0:  (cpu_hotplug.lock){+.+.+.}, at: [<ffffffff8110a5e7>]
get_online_cpus+0x37/0x50
[  722.757584] INFO: task rcu_torture_rea:2728 blocked for more than 120 seconds.
[  722.759393] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[  722.761810] rcu_torture_rea D ffff88000d620000  5512  2728      2 0x00000000
[  722.763586]  ffff880034c3bc30 0000000000000002 0000000000000001 0000000010000000
[  722.765069]  ffff880034c3bfd8 ffff880034c3bfd8 ffff880034c3bfd8 ffff880034c3bfd8
[  722.766211]  ffff88000d620000 ffff8800356fb000 0000000000000000 ffffffff845c0398
[  722.767470] Call Trace:
[  722.767891]  [<ffffffff839eace5>] schedule+0x55/0x60
[  722.768707]  [<ffffffff839e8c65>] schedule_timeout+0x45/0x360
[  722.769651]  [<ffffffff8398fc88>] ? printk+0x5c/0x5e
[  722.770441]  [<ffffffff839e8fd9>] schedule_timeout_uninterruptible+0x19/0x20
[  722.771624]  [<ffffffff811bc49f>] rcutorture_shutdown_absorb+0x2f/0x40
[  722.772695]  [<ffffffff811bc7aa>] rcu_stutter_wait+0x4a/0x70
[  722.773627]  [<ffffffff811bf4de>] rcu_torture_reader+0x34e/0x450
[  722.774626]  [<ffffffff81143fea>] ? finish_task_switch+0x3a/0x110
[  722.775649]  [<ffffffff811bf5e0>] ? rcu_torture_reader+0x450/0x450
[  722.776463]  [<ffffffff811bf190>] ? rcutorture_trace_dump+0x40/0x40
[  722.776964]  [<ffffffff81135c13>] kthread+0xe3/0xf0
[  722.777526]  [<ffffffff839ef044>] kernel_thread_helper+0x4/0x10
[  722.778543]  [<ffffffff839ed3b4>] ? retint_restore_args+0x13/0x13
[  722.779564]  [<ffffffff81135b30>] ? insert_kthread_work+0x90/0x90
[  722.780552]  [<ffffffff839ef040>] ? gs_change+0x13/0x13
[  722.781403] no locks held by rcu_torture_rea/2728.
[  722.782221] INFO: task rcu_torture_rea:2733 blocked for more than 120 seconds.
[  722.783478] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[  722.784770] rcu_torture_rea D ffff88000d618000  5512  2733      2 0x00000000
[  722.785969]  ffff880034d09c30 0000000000000002 ffff880034d09be0 ffffffff819e6eb8
[  722.787240]  ffff880034d09fd8 ffff880034d09fd8 ffff880034d09fd8 ffff880034d09fd8
[  722.788486]  ffff88000d618000 ffff880035600000 0000000000000043 ffffffff845c0398
[  722.789640] Call Trace:
[  722.790159]  [<ffffffff819e6eb8>] ? do_raw_spin_unlock+0xc8/0xe0
[  722.791127]  [<ffffffff839eace5>] schedule+0x55/0x60
[  722.791979]  [<ffffffff839e8c65>] schedule_timeout+0x45/0x360
[  722.792939]  [<ffffffff819d3bee>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[  722.794014]  [<ffffffff8398fc88>] ? printk+0x5c/0x5e
[  722.794864]  [<ffffffff839e8fd9>] schedule_timeout_uninterruptible+0x19/0x20
[  722.796050]  [<ffffffff811bc49f>] rcutorture_shutdown_absorb+0x2f/0x40
[  722.797145]  [<ffffffff811bc7aa>] rcu_stutter_wait+0x4a/0x70
[  722.798091]  [<ffffffff811bf4de>] rcu_torture_reader+0x34e/0x450
[  722.799021]  [<ffffffff81143fea>] ? finish_task_switch+0x3a/0x110
[  722.799995]  [<ffffffff811bf5e0>] ? rcu_torture_reader+0x450/0x450
[  722.801154]  [<ffffffff811bf190>] ? rcutorture_trace_dump+0x40/0x40
[  722.802186]  [<ffffffff81135c13>] kthread+0xe3/0xf0
[  722.803007]  [<ffffffff839ef044>] kernel_thread_helper+0x4/0x10
[  722.803995]  [<ffffffff839ed3b4>] ? retint_restore_args+0x13/0x13
[  722.805015]  [<ffffffff81135b30>] ? insert_kthread_work+0x90/0x90
[  722.806048]  [<ffffffff839ef040>] ? gs_change+0x13/0x13
[  722.806931] no locks held by rcu_torture_rea/2733.
[  722.807754] INFO: task kworker/u:2:3994 blocked for more than 120 seconds.
[  722.808895] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[  722.810090] kworker/u:2     D ffff8800356fb000  3144  3994      2 0x00000000
[  722.811344]  ffff880028de9a50 0000000000000002 0000000000000006 ffff88002973b000
[  722.812546]  ffff880028de9fd8 ffff880028de9fd8 ffff880028de9fd8 ffff880028de9fd8
[  722.813759]  ffff8800356fb000 ffff88002973b000 ffffffff839e9575 ffffffff84c50948
[  722.814970] Call Trace:
[  722.815363]  [<ffffffff839e9575>] ? __mutex_lock_common+0x335/0x5a0
[  722.816324]  [<ffffffff839eace5>] schedule+0x55/0x60
[  722.817126]  [<ffffffff839ead03>] schedule_preempt_disabled+0x13/0x20
[  722.818198]  [<ffffffff839e95ad>] __mutex_lock_common+0x36d/0x5a0
[  722.819261]  [<ffffffff8110a5e7>] ? get_online_cpus+0x37/0x50
[  722.820356]  [<ffffffff8110a5e7>] ? get_online_cpus+0x37/0x50
[  722.821328]  [<ffffffff839e981f>] mutex_lock_nested+0x3f/0x50
[  722.822292]  [<ffffffff8110a5e7>] get_online_cpus+0x37/0x50
[  722.823227]  [<ffffffff811c9053>] synchronize_rcu_expedited+0x23/0x250
[  722.824323]  [<ffffffff833698d5>] synchronize_net+0x25/0x40
[  722.825258]  [<ffffffff83369a05>] rollback_registered_many+0x115/0x240
[  722.826359]  [<ffffffff83369c34>] unregister_netdevice_many+0x14/0x60
[  722.827583]  [<ffffffff8355bdf3>] ip6gre_exit_net+0x273/0x290
[  722.828937]  [<ffffffff8355bb80>] ? ip6gre_tunnel_uninit+0x1b0/0x1b0
[  722.830323]  [<ffffffff8335cce5>] ops_exit_list.isra.0+0x45/0x70
[  722.831436]  [<ffffffff8335d6c0>] cleanup_net+0x130/0x1b0
[  722.832564]  [<ffffffff8112a039>] process_one_work+0x3b9/0x770
[  722.833577]  [<ffffffff81129ee8>] ? process_one_work+0x268/0x770
[  722.834683]  [<ffffffff811778b2>] ? get_lock_stats+0x22/0x70
[  722.835601]  [<ffffffff8335d590>] ? net_drop_ns+0x40/0x40
[  722.837311]  [<ffffffff8112a9ba>] worker_thread+0x2ba/0x3f0
[  722.838626]  [<ffffffff8112a700>] ? rescuer_thread+0x2d0/0x2d0
[  722.839750]  [<ffffffff81135c13>] kthread+0xe3/0xf0
[  722.840709]  [<ffffffff839ef044>] kernel_thread_helper+0x4/0x10
[  722.841761]  [<ffffffff839ed3b4>] ? retint_restore_args+0x13/0x13
[  722.842749]  [<ffffffff81135b30>] ? insert_kthread_work+0x90/0x90
[  722.843734]  [<ffffffff839ef040>] ? gs_change+0x13/0x13
[  722.844626] 5 locks held by kworker/u:2/3994:
[  722.845352]  #0:  (netns){.+.+.+}, at: [<ffffffff81129ee8>]
process_one_work+0x268/0x770
[  722.846585]  #1:  (net_cleanup_work){+.+.+.}, at: [<ffffffff81129ee8>]
process_one_work+0x268/0x770
[  722.848008]  #2:  (net_mutex){+.+.+.}, at: [<ffffffff8335d610>]
cleanup_net+0x80/0x1b0
[  722.849300]  #3:  (rtnl_mutex){+.+.+.}, at: [<ffffffff83376fc2>]
rtnl_lock+0x12/0x20
[  722.850678]  #4:  (cpu_hotplug.lock){+.+.+.}, at: [<ffffffff8110a5e7>]
get_online_cpus+0x37/0x50
[  722.852191] INFO: task trinity-child41:8464 blocked for more than 120 seconds.
[  722.853303] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[  722.854599] trinity-child41 D ffff88000d5d0000  4912  8464      1 0x00000006
[  722.855746]  ffff8800306cb9d8 0000000000000002 ffff8800306cb9a8 ffffffff810a2d96
[  722.857062]  ffff8800306cbfd8 ffff8800306cbfd8 ffff8800306cbfd8 ffff8800306cbfd8
[  722.858324]  ffff88000d5d0000 ffff88002e9eb000 ffff8800306cb9b8 ffff8800306cbb70
[  722.859576] Call Trace:
[  722.860060]  [<ffffffff810a2d96>] ? kvm_clock_read+0x46/0x80
[  722.861428]  [<ffffffff839eace5>] schedule+0x55/0x60
[  722.862256]  [<ffffffff839e8c65>] schedule_timeout+0x45/0x360
[  722.863207]  [<ffffffff8117a1f3>] ? mark_held_locks+0x113/0x130
[  722.864197]  [<ffffffff8117793e>] ? put_lock_stats.isra.16+0xe/0x40
[  722.865246]  [<ffffffff839ec48b>] ? _raw_spin_unlock_irq+0x2b/0x80
[  722.866282]  [<ffffffff839eb458>] wait_for_common+0x138/0x180
[  722.867240]  [<ffffffff8114ca70>] ? try_to_wake_up+0x360/0x360
[  722.868213]  [<ffffffff811c4650>] ? __call_rcu+0x6b0/0x6b0
[  722.869165]  [<ffffffff839eb548>] wait_for_completion+0x18/0x20
[  722.870177]  [<ffffffff81132d4f>] wait_rcu_gp+0x6f/0xa0
[  722.871058]  [<ffffffff811308f0>] ? perf_trace_rcu_utilization+0xe0/0xe0
[  722.872176]  [<ffffffff839eb364>] ? wait_for_common+0x44/0x180
[  722.873152]  [<ffffffff811c9026>] synchronize_rcu+0x86/0x90
[  722.874046]  [<ffffffff82c135bd>] input_close_device+0x5d/0x80
[  722.875036]  [<ffffffff82c1a9e7>] evdev_release+0x77/0xa0
[  722.875982]  [<ffffffff81271bc2>] __fput+0x122/0x2d0
[  722.876818]  [<ffffffff81271d79>] ____fput+0x9/0x10
[  722.877748]  [<ffffffff8112ebae>] task_work_run+0xbe/0x100
[  722.878695]  [<ffffffff8110da92>] do_exit+0x322/0xa90
[  722.879556]  [<ffffffff811778b2>] ? get_lock_stats+0x22/0x70
[  722.880554]  [<ffffffff8117793e>] ? put_lock_stats.isra.16+0xe/0x40
[  722.881622]  [<ffffffff839ec48b>] ? _raw_spin_unlock_irq+0x2b/0x80
[  722.882665]  [<ffffffff8110e2c4>] do_group_exit+0x84/0xd0
[  722.883610]  [<ffffffff811215a1>] get_signal_to_deliver+0x801/0x920
[  722.884701]  [<ffffffff819e9d2b>] ? debug_object_assert_init+0xbb/0x110
[  722.885831]  [<ffffffff8118445d>] ? do_futex+0xbd/0xa80
[  722.886736]  [<ffffffff8106cc47>] do_signal+0x27/0x100
[  722.887803]  [<ffffffff811c6624>] ? rcu_eqs_exit_common+0x64/0x3a0
[  722.888867]  [<ffffffff811c6d15>] ? rcu_user_exit+0xa5/0xd0
[  722.889803]  [<ffffffff8117a44d>] ? trace_hardirqs_on+0xd/0x10
[  722.890817]  [<ffffffff8106cd8f>] do_notify_resume+0x4f/0xa0
[  722.891801]  [<ffffffff839edfba>] int_signal+0x12/0x17
[  722.892679] 2 locks held by trinity-child41/8464:
[  722.893494]  #0:  (&evdev->mutex){+.+...}, at: [<ffffffff82c1a9d0>]
evdev_release+0x60/0xa0
[  722.894954]  #1:  (&dev->mutex){+.+...}, at: [<ffffffff82c1358d>]
input_close_device+0x2d/0x80
[  842.890317] INFO: task init:1 blocked for more than 120 seconds.
[  842.894043] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[  842.895451] init            D ffff880035600000  3528     1      0 0x00000000
[  842.896619]  ffff88000d5b3a48 0000000000000002 ffff88000d5b3a18 ffffffff810a2d96
[  842.897942]  ffff88000d5b3fd8 ffff88000d5b3fd8 ffff88000d5b3fd8 ffff88000d5b3fd8
[  842.899168]  ffff880035600000 ffff88000d5b8000 ffff88000d5b3a28 ffff88000d5b3be0
[  842.900468] Call Trace:
[  842.900911]  [<ffffffff810a2d96>] ? kvm_clock_read+0x46/0x80
[  842.901884]  [<ffffffff839eace5>] schedule+0x55/0x60
[  842.902752]  [<ffffffff839e8c65>] schedule_timeout+0x45/0x360
[  842.903751]  [<ffffffff8117a1f3>] ? mark_held_locks+0x113/0x130
[  842.904777]  [<ffffffff8117793e>] ? put_lock_stats.isra.16+0xe/0x40
[  842.905852]  [<ffffffff839ec48b>] ? _raw_spin_unlock_irq+0x2b/0x80
[  842.906923]  [<ffffffff839eb458>] wait_for_common+0x138/0x180
[  842.907930]  [<ffffffff8114ca70>] ? try_to_wake_up+0x360/0x360
[  842.908939]  [<ffffffff811c4650>] ? __call_rcu+0x6b0/0x6b0
[  842.909888]  [<ffffffff839eb548>] wait_for_completion+0x18/0x20
[  842.910849]  [<ffffffff81132d4f>] wait_rcu_gp+0x6f/0xa0
[  842.911764]  [<ffffffff811308f0>] ? perf_trace_rcu_utilization+0xe0/0xe0
[  842.912921]  [<ffffffff839eb364>] ? wait_for_common+0x44/0x180
[  842.913932]  [<ffffffff811c9026>] synchronize_rcu+0x86/0x90
[  842.914899]  [<ffffffff811fa3c5>] padata_replace+0x35/0xd0
[  842.915847]  [<ffffffff811fa526>] __padata_remove_cpu+0xc6/0x160
[  842.916875]  [<ffffffff811fa94c>] padata_cpu_callback+0x2bc/0x350
[  842.917940]  [<ffffffff8113de7e>] notifier_call_chain+0xee/0x130
[  842.918980]  [<ffffffff8113e459>] __raw_notifier_call_chain+0x9/0x10
[  842.920152]  [<ffffffff8110a4ab>] __cpu_notify+0x1b/0x40
[  842.921172]  [<ffffffff8383133e>] _cpu_down+0xae/0x350
[  842.922072]  [<ffffffff8398fc88>] ? printk+0x5c/0x5e
[  842.922942]  [<ffffffff8110a8e6>] disable_nonboot_cpus+0x86/0x1c0
[  842.923860]  [<ffffffff811240c6>] kernel_restart+0x16/0x60
[  842.924842]  [<ffffffff81124341>] sys_reboot+0x151/0x2a0
[  842.925759]  [<ffffffff811c5d13>] ? rcu_cleanup_after_idle+0x23/0x170
[  842.926874]  [<ffffffff811c6624>] ? rcu_eqs_exit_common+0x64/0x3a0
[  842.927948]  [<ffffffff811c6d15>] ? rcu_user_exit+0xa5/0xd0
[  842.928919]  [<ffffffff8117a44d>] ? trace_hardirqs_on+0xd/0x10
[  842.929939]  [<ffffffff8107c8f0>] ? syscall_trace_enter+0x20/0x2e0
[  842.930903]  [<ffffffff839edea8>] tracesys+0xe1/0xe6
[  842.931755] 4 locks held by init/1:
[  842.932364]  #0:  (reboot_mutex){+.+.+.}, at: [<ffffffff811242c6>]
sys_reboot+0xd6/0x2a0
[  842.933713]  #1:  (cpu_add_remove_lock){+.+.+.}, at: [<ffffffff8110a582>]
cpu_maps_update_begin+0x12/0x20
[  842.935390]  #2:  (cpu_hotplug.lock){+.+.+.}, at: [<ffffffff8110a53a>]
cpu_hotplug_begin+0x2a/0x60
[  842.936920]  #3:  (&pinst->lock){+.+.+.}, at: [<ffffffff811fa941>]
padata_cpu_callback+0x2b1/0x350
[  842.938362] INFO: task rcu_preempt:11 blocked for more than 120 seconds.
[  842.939476] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[  842.940786] rcu_preempt     D ffff88000d620000  5480    11      2 0x00000000
[  842.941894]  ffff88000d5fbc20 0000000000000002 0000000000000006 ffff88000d600000
[  842.943104]  ffff88000d5fbfd8 ffff88000d5fbfd8 ffff88000d5fbfd8 ffff88000d5fbfd8
[  842.944349]  ffff88000d620000 ffff88000d600000 ffffffff839e9575 ffffffff84c50948
[  842.945571] Call Trace:
[  842.945994]  [<ffffffff839e9575>] ? __mutex_lock_common+0x335/0x5a0
[  842.947042]  [<ffffffff839eace5>] schedule+0x55/0x60
[  842.947815]  [<ffffffff839ead03>] schedule_preempt_disabled+0x13/0x20
[  842.948895]  [<ffffffff839e95ad>] __mutex_lock_common+0x36d/0x5a0
[  842.949917]  [<ffffffff8110a5e7>] ? get_online_cpus+0x37/0x50
[  842.950826]  [<ffffffff81150008>] ? sched_clock_cpu+0xf8/0x110
[  842.951753]  [<ffffffff8110a5e7>] ? get_online_cpus+0x37/0x50
[  842.952688]  [<ffffffff839e981f>] mutex_lock_nested+0x3f/0x50
[  842.953619]  [<ffffffff8110a5e7>] get_online_cpus+0x37/0x50
[  842.954558]  [<ffffffff811c718f>] rcu_gp_kthread+0x28f/0xed0
[  842.955500]  [<ffffffff839ec48b>] ? _raw_spin_unlock_irq+0x2b/0x80
[  842.956532]  [<ffffffff81136fe0>] ? abort_exclusive_wait+0xb0/0xb0
[  842.957563]  [<ffffffff811c6f00>] ? rcu_gp_fqs+0x80/0x80
[  842.958456]  [<ffffffff81135c13>] kthread+0xe3/0xf0
[  842.959227]  [<ffffffff839ef044>] kernel_thread_helper+0x4/0x10
[  842.960247]  [<ffffffff839ed3b4>] ? retint_restore_args+0x13/0x13
[  842.961260]  [<ffffffff81135b30>] ? insert_kthread_work+0x90/0x90
[  842.962659]  [<ffffffff839ef040>] ? gs_change+0x13/0x13
[  842.963949] 1 lock held by rcu_preempt/11:
[  842.964615]  #0:  (cpu_hotplug.lock){+.+.+.}, at: [<ffffffff8110a5e7>]
get_online_cpus+0x37/0x50
[  842.966102] INFO: task rcu_torture_wri:2723 blocked for more than 120 seconds.
[  842.967302] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[  842.968599] rcu_torture_wri D ffff880035543000  5672  2723      2 0x00000000
[  842.969792]  ffff880034d49ce0 0000000000000002 ffff880034d49c90 ffffffff819e6eb8
[  842.971057]  ffff880034d49fd8 ffff880034d49fd8 ffff880034d49fd8 ffff880034d49fd8
[  842.972245]  ffff880035543000 ffff880034d58000 0000000000000043 ffffffff845c032a
[  842.973504] Call Trace:
[  842.973930]  [<ffffffff819e6eb8>] ? do_raw_spin_unlock+0xc8/0xe0
[  842.974924]  [<ffffffff839eace5>] schedule+0x55/0x60
[  842.975759]  [<ffffffff839e8c65>] schedule_timeout+0x45/0x360
[  842.976727]  [<ffffffff8398fc88>] ? printk+0x5c/0x5e
[  842.977575]  [<ffffffff839e8fd9>] schedule_timeout_uninterruptible+0x19/0x20
[  842.978753]  [<ffffffff811bc49f>] rcutorture_shutdown_absorb+0x2f/0x40
[  842.979850]  [<ffffffff811bc7aa>] rcu_stutter_wait+0x4a/0x70
[  842.980829]  [<ffffffff811be20c>] rcu_torture_writer+0x1cc/0x240
[  842.981841]  [<ffffffff811be040>] ? cpumask_next+0x80/0x80
[  842.982764]  [<ffffffff81135c13>] kthread+0xe3/0xf0
[  842.983585]  [<ffffffff839ef044>] kernel_thread_helper+0x4/0x10
[  842.984592]  [<ffffffff839ed3b4>] ? retint_restore_args+0x13/0x13
[  842.985610]  [<ffffffff81135b30>] ? insert_kthread_work+0x90/0x90
[  842.986633]  [<ffffffff839ef040>] ? gs_change+0x13/0x13
[  842.987511] no locks held by rcu_torture_wri/2723.
[  842.988316] INFO: task rcu_torture_fak:2724 blocked for more than 120 seconds.
[  842.989515] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[  842.990934] rcu_torture_fak D ffff88000d620000  5416  2724      2 0x00000000
[  842.992218]  ffff880034d35ce0 0000000000000002 0000000000000001 0000000010000000
[  842.993508]  ffff880034d35fd8 ffff880034d35fd8 ffff880034d35fd8 ffff880034d35fd8
[  842.994677]  ffff88000d620000 ffff880034cf3000 0000000000000000 ffffffff845c023f
[  842.995848] Call Trace:
[  842.996275]  [<ffffffff811bd2b0>] ? rcu_torture_barrier_cbs+0x210/0x210
[  842.997348]  [<ffffffff839eace5>] schedule+0x55/0x60
[  842.998179]  [<ffffffff839e8c65>] schedule_timeout+0x45/0x360
[  842.999143]  [<ffffffff811c4650>] ? __call_rcu+0x6b0/0x6b0
[  843.000091]  [<ffffffff811bd2b0>] ? rcu_torture_barrier_cbs+0x210/0x210
[  843.001201]  [<ffffffff8398fc88>] ? printk+0x5c/0x5e
[  843.002031]  [<ffffffff811bd2b0>] ? rcu_torture_barrier_cbs+0x210/0x210
[  843.003131]  [<ffffffff839e8fd9>] schedule_timeout_uninterruptible+0x19/0x20
[  843.004316]  [<ffffffff811bc49f>] rcutorture_shutdown_absorb+0x2f/0x40
[  843.005405]  [<ffffffff811bc7aa>] rcu_stutter_wait+0x4a/0x70
[  843.006325]  [<ffffffff811bd39f>] rcu_torture_fakewriter+0xef/0x160
[  843.007370]  [<ffffffff81135c13>] kthread+0xe3/0xf0
[  843.008188]  [<ffffffff839ef044>] kernel_thread_helper+0x4/0x10
[  843.009138]  [<ffffffff839ed3b4>] ? retint_restore_args+0x13/0x13
[  843.010146]  [<ffffffff81135b30>] ? insert_kthread_work+0x90/0x90
[  843.011159]  [<ffffffff839ef040>] ? gs_change+0x13/0x13
[  843.011999] no locks held by rcu_torture_fak/2724.
[  862.110052] INFO: rcu_preempt detected stalls on CPUs/tasks:
[  862.111263] 	(detected by 0, t=26007 jiffies)
[  862.112099] INFO: Stall ended before state dump start

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-19 17:06     ` Paul E. McKenney
  2012-09-19 22:27       ` Sasha Levin
@ 2012-09-20  7:33       ` Michael Wang
  2012-09-20  7:44         ` Sasha Levin
  1 sibling, 1 reply; 41+ messages in thread
From: Michael Wang @ 2012-09-20  7:33 UTC (permalink / raw)
  To: paulmck; +Cc: Sasha Levin, Dave Jones, linux-kernel

On 09/20/2012 01:06 AM, Paul E. McKenney wrote:
> On Wed, Sep 19, 2012 at 06:35:36PM +0200, Sasha Levin wrote:
>> On 09/19/2012 05:39 PM, Paul E. McKenney wrote:
>>> On Wed, Sep 12, 2012 at 07:56:48PM +0200, Sasha Levin wrote:
>>>>> Hi Paul,
>>>>>
>>>>> While fuzzing using trinity inside a KVM tools guest, I've managed to trigger
>>>>> "RCU used illegally from idle CPU!" warnings several times.
>>>>>
>>>>> There are a bunch of traces which seem to pop exactly at the same time and from
>>>>> different places around the kernel. Here are several of them:
>>> Hello, Sasha,
>>>
>>> OK, interesting.  Could you please try reproducing with the diagnostic
>>> patch shown below?
>>
>> Sure - here are the results (btw, it reproduces very easily):
>>
>> [ 13.525119] ================================================
>> [ 13.527165] [ BUG: lock held when returning to user space! ]
>> [ 13.528752] 3.6.0-rc6-next-20120918-sasha-00002-g190c311-dirty #362 Tainted: GW
>> [ 13.531314] ------------------------------------------------
>> [ 13.532918] init/1 is leaving the kernel with locks still held!
>> [ 13.534574] 1 lock held by init/1:
>> [ 13.535533] #0: (rcu_idle){.+.+..}, at: [<ffffffff811c36d0>]
>> rcu_eqs_enter_common+0x1a0/0x9a0
>>
>> I'm basically seeing lots of the above, so I can't even get to the point where I
>> get the previous lockdep warnings.
> 
> OK, that diagnostic patch was unhelpful.  Back to the drawing board...

May be we could first make sure the cpu_idle() behave properly?

Since according to the log, rcu think cpu is idle while current pid
is not 0, that could happen if things broken in cpu_idle() which
is very dependent on platform.

So check it when idle thread was switched out may could be the first
step? some thing like below.

Regards,
Michael Wang

diff --git a/kernel/sched/idle_task.c b/kernel/sched/idle_task.c
index b6baf37..f8c7354 100644
--- a/kernel/sched/idle_task.c
+++ b/kernel/sched/idle_task.c
@@ -43,6 +43,7 @@ dequeue_task_idle(struct rq *rq, struct task_struct *p, int flags)
 
 static void put_prev_task_idle(struct rq *rq, struct task_struct *prev)
 {
+       WARN_ON(rcu_is_cpu_idle());
 }
 
 static void task_tick_idle(struct rq *rq, struct task_struct *curr, int queued)


> 
> 							Thanx, Paul
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-20  7:33       ` Michael Wang
@ 2012-09-20  7:44         ` Sasha Levin
  2012-09-20  8:14           ` Michael Wang
  2012-09-20 15:23           ` Paul E. McKenney
  0 siblings, 2 replies; 41+ messages in thread
From: Sasha Levin @ 2012-09-20  7:44 UTC (permalink / raw)
  To: Michael Wang; +Cc: paulmck, Dave Jones, linux-kernel

On 09/20/2012 09:33 AM, Michael Wang wrote:
> On 09/20/2012 01:06 AM, Paul E. McKenney wrote:
>> On Wed, Sep 19, 2012 at 06:35:36PM +0200, Sasha Levin wrote:
>>> On 09/19/2012 05:39 PM, Paul E. McKenney wrote:
>>>> On Wed, Sep 12, 2012 at 07:56:48PM +0200, Sasha Levin wrote:
>>>>>> Hi Paul,
>>>>>>
>>>>>> While fuzzing using trinity inside a KVM tools guest, I've managed to trigger
>>>>>> "RCU used illegally from idle CPU!" warnings several times.
>>>>>>
>>>>>> There are a bunch of traces which seem to pop exactly at the same time and from
>>>>>> different places around the kernel. Here are several of them:
>>>> Hello, Sasha,
>>>>
>>>> OK, interesting.  Could you please try reproducing with the diagnostic
>>>> patch shown below?
>>>
>>> Sure - here are the results (btw, it reproduces very easily):
>>>
>>> [ 13.525119] ================================================
>>> [ 13.527165] [ BUG: lock held when returning to user space! ]
>>> [ 13.528752] 3.6.0-rc6-next-20120918-sasha-00002-g190c311-dirty #362 Tainted: GW
>>> [ 13.531314] ------------------------------------------------
>>> [ 13.532918] init/1 is leaving the kernel with locks still held!
>>> [ 13.534574] 1 lock held by init/1:
>>> [ 13.535533] #0: (rcu_idle){.+.+..}, at: [<ffffffff811c36d0>]
>>> rcu_eqs_enter_common+0x1a0/0x9a0
>>>
>>> I'm basically seeing lots of the above, so I can't even get to the point where I
>>> get the previous lockdep warnings.
>>
>> OK, that diagnostic patch was unhelpful.  Back to the drawing board...
> 
> May be we could first make sure the cpu_idle() behave properly?
> 
> Since according to the log, rcu think cpu is idle while current pid
> is not 0, that could happen if things broken in cpu_idle() which
> is very dependent on platform.
> 
> So check it when idle thread was switched out may could be the first
> step? some thing like below.
> 
> Regards,
> Michael Wang
> 
> diff --git a/kernel/sched/idle_task.c b/kernel/sched/idle_task.c
> index b6baf37..f8c7354 100644
> --- a/kernel/sched/idle_task.c
> +++ b/kernel/sched/idle_task.c
> @@ -43,6 +43,7 @@ dequeue_task_idle(struct rq *rq, struct task_struct *p, int flags)
>  
>  static void put_prev_task_idle(struct rq *rq, struct task_struct *prev)
>  {
> +       WARN_ON(rcu_is_cpu_idle());
>  }
>  
>  static void task_tick_idle(struct rq *rq, struct task_struct *curr, int queued)

Looks like you're on to something, with the small patch above applied:

[   23.514223] ------------[ cut here ]------------
[   23.515496] WARNING: at kernel/sched/idle_task.c:46
put_prev_task_idle+0x1e/0x30()
[   23.517498] Pid: 0, comm: swapper/0 Tainted: G        W
3.6.0-rc6-next-20120919-sasha-00001-gb54aafe-dirty #366
[   23.520393] Call Trace:
[   23.521882]  [<ffffffff8115167e>] ? put_prev_task_idle+0x1e/0x30
[   23.524220]  [<ffffffff81106736>] warn_slowpath_common+0x86/0xb0
[   23.524220]  [<ffffffff81106825>] warn_slowpath_null+0x15/0x20
[   23.524220]  [<ffffffff8115167e>] put_prev_task_idle+0x1e/0x30
[   23.524220]  [<ffffffff839ea61e>] __schedule+0x25e/0x8f0
[   23.524220]  [<ffffffff81175ebd>] ? tick_nohz_idle_exit+0x18d/0x1c0
[   23.524220]  [<ffffffff839ead05>] schedule+0x55/0x60
[   23.524220]  [<ffffffff81078540>] cpu_idle+0x90/0x160
[   23.524220]  [<ffffffff8383043c>] rest_init+0x130/0x144
[   23.524220]  [<ffffffff8383030c>] ? csum_partial_copy_generic+0x16c/0x16c
[   23.524220]  [<ffffffff858acc18>] start_kernel+0x38d/0x39a
[   23.524220]  [<ffffffff858ac5fe>] ? repair_env_string+0x5e/0x5e
[   23.524220]  [<ffffffff858ac326>] x86_64_start_reservations+0x101/0x105
[   23.524220]  [<ffffffff858ac472>] x86_64_start_kernel+0x148/0x157
[   23.524220] ---[ end trace 2c3061ab727afec2 ]---


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-20  7:44         ` Sasha Levin
@ 2012-09-20  8:14           ` Michael Wang
  2012-09-20 15:23           ` Paul E. McKenney
  1 sibling, 0 replies; 41+ messages in thread
From: Michael Wang @ 2012-09-20  8:14 UTC (permalink / raw)
  To: Sasha Levin; +Cc: paulmck, Dave Jones, linux-kernel

On 09/20/2012 03:44 PM, Sasha Levin wrote:
> On 09/20/2012 09:33 AM, Michael Wang wrote:
>> On 09/20/2012 01:06 AM, Paul E. McKenney wrote:
>>> On Wed, Sep 19, 2012 at 06:35:36PM +0200, Sasha Levin wrote:
>>>> On 09/19/2012 05:39 PM, Paul E. McKenney wrote:
>>>>> On Wed, Sep 12, 2012 at 07:56:48PM +0200, Sasha Levin wrote:
>>>>>>> Hi Paul,
>>>>>>>
>>>>>>> While fuzzing using trinity inside a KVM tools guest, I've managed to trigger
>>>>>>> "RCU used illegally from idle CPU!" warnings several times.
>>>>>>>
>>>>>>> There are a bunch of traces which seem to pop exactly at the same time and from
>>>>>>> different places around the kernel. Here are several of them:
>>>>> Hello, Sasha,
>>>>>
>>>>> OK, interesting.  Could you please try reproducing with the diagnostic
>>>>> patch shown below?
>>>>
>>>> Sure - here are the results (btw, it reproduces very easily):
>>>>
>>>> [ 13.525119] ================================================
>>>> [ 13.527165] [ BUG: lock held when returning to user space! ]
>>>> [ 13.528752] 3.6.0-rc6-next-20120918-sasha-00002-g190c311-dirty #362 Tainted: GW
>>>> [ 13.531314] ------------------------------------------------
>>>> [ 13.532918] init/1 is leaving the kernel with locks still held!
>>>> [ 13.534574] 1 lock held by init/1:
>>>> [ 13.535533] #0: (rcu_idle){.+.+..}, at: [<ffffffff811c36d0>]
>>>> rcu_eqs_enter_common+0x1a0/0x9a0
>>>>
>>>> I'm basically seeing lots of the above, so I can't even get to the point where I
>>>> get the previous lockdep warnings.
>>>
>>> OK, that diagnostic patch was unhelpful.  Back to the drawing board...
>>
>> May be we could first make sure the cpu_idle() behave properly?
>>
>> Since according to the log, rcu think cpu is idle while current pid
>> is not 0, that could happen if things broken in cpu_idle() which
>> is very dependent on platform.
>>
>> So check it when idle thread was switched out may could be the first
>> step? some thing like below.
>>
>> Regards,
>> Michael Wang
>>
>> diff --git a/kernel/sched/idle_task.c b/kernel/sched/idle_task.c
>> index b6baf37..f8c7354 100644
>> --- a/kernel/sched/idle_task.c
>> +++ b/kernel/sched/idle_task.c
>> @@ -43,6 +43,7 @@ dequeue_task_idle(struct rq *rq, struct task_struct *p, int flags)
>>  
>>  static void put_prev_task_idle(struct rq *rq, struct task_struct *prev)
>>  {
>> +       WARN_ON(rcu_is_cpu_idle());
>>  }
>>  
>>  static void task_tick_idle(struct rq *rq, struct task_struct *curr, int queued)
> 
> Looks like you're on to something, with the small patch above applied:

Thanks for the test.

So, looks like some thing 'illegal' happened in cpu_idle().

Could I know what's the platform we are focus on now?

Another possibility is that the dynaticks is wrong before enter
cpu_idle(), I think we could make a formal patch later for diagnosis.

And we need suggestions on that from Paul.

Regards,
Michael Wang

> 
> [   23.514223] ------------[ cut here ]------------
> [   23.515496] WARNING: at kernel/sched/idle_task.c:46
> put_prev_task_idle+0x1e/0x30()
> [   23.517498] Pid: 0, comm: swapper/0 Tainted: G        W
> 3.6.0-rc6-next-20120919-sasha-00001-gb54aafe-dirty #366
> [   23.520393] Call Trace:
> [   23.521882]  [<ffffffff8115167e>] ? put_prev_task_idle+0x1e/0x30
> [   23.524220]  [<ffffffff81106736>] warn_slowpath_common+0x86/0xb0
> [   23.524220]  [<ffffffff81106825>] warn_slowpath_null+0x15/0x20
> [   23.524220]  [<ffffffff8115167e>] put_prev_task_idle+0x1e/0x30
> [   23.524220]  [<ffffffff839ea61e>] __schedule+0x25e/0x8f0
> [   23.524220]  [<ffffffff81175ebd>] ? tick_nohz_idle_exit+0x18d/0x1c0
> [   23.524220]  [<ffffffff839ead05>] schedule+0x55/0x60
> [   23.524220]  [<ffffffff81078540>] cpu_idle+0x90/0x160
> [   23.524220]  [<ffffffff8383043c>] rest_init+0x130/0x144
> [   23.524220]  [<ffffffff8383030c>] ? csum_partial_copy_generic+0x16c/0x16c
> [   23.524220]  [<ffffffff858acc18>] start_kernel+0x38d/0x39a
> [   23.524220]  [<ffffffff858ac5fe>] ? repair_env_string+0x5e/0x5e
> [   23.524220]  [<ffffffff858ac326>] x86_64_start_reservations+0x101/0x105
> [   23.524220]  [<ffffffff858ac472>] x86_64_start_kernel+0x148/0x157
> [   23.524220] ---[ end trace 2c3061ab727afec2 ]---
> 


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-20  7:44         ` Sasha Levin
  2012-09-20  8:14           ` Michael Wang
@ 2012-09-20 15:23           ` Paul E. McKenney
  2012-09-21  9:30             ` Sasha Levin
  1 sibling, 1 reply; 41+ messages in thread
From: Paul E. McKenney @ 2012-09-20 15:23 UTC (permalink / raw)
  To: Sasha Levin; +Cc: Michael Wang, Dave Jones, linux-kernel

On Thu, Sep 20, 2012 at 09:44:57AM +0200, Sasha Levin wrote:
> On 09/20/2012 09:33 AM, Michael Wang wrote:
> > On 09/20/2012 01:06 AM, Paul E. McKenney wrote:
> >> On Wed, Sep 19, 2012 at 06:35:36PM +0200, Sasha Levin wrote:
> >>> On 09/19/2012 05:39 PM, Paul E. McKenney wrote:
> >>>> On Wed, Sep 12, 2012 at 07:56:48PM +0200, Sasha Levin wrote:
> >>>>>> Hi Paul,
> >>>>>>
> >>>>>> While fuzzing using trinity inside a KVM tools guest, I've managed to trigger
> >>>>>> "RCU used illegally from idle CPU!" warnings several times.
> >>>>>>
> >>>>>> There are a bunch of traces which seem to pop exactly at the same time and from
> >>>>>> different places around the kernel. Here are several of them:
> >>>> Hello, Sasha,
> >>>>
> >>>> OK, interesting.  Could you please try reproducing with the diagnostic
> >>>> patch shown below?
> >>>
> >>> Sure - here are the results (btw, it reproduces very easily):
> >>>
> >>> [ 13.525119] ================================================
> >>> [ 13.527165] [ BUG: lock held when returning to user space! ]
> >>> [ 13.528752] 3.6.0-rc6-next-20120918-sasha-00002-g190c311-dirty #362 Tainted: GW
> >>> [ 13.531314] ------------------------------------------------
> >>> [ 13.532918] init/1 is leaving the kernel with locks still held!
> >>> [ 13.534574] 1 lock held by init/1:
> >>> [ 13.535533] #0: (rcu_idle){.+.+..}, at: [<ffffffff811c36d0>]
> >>> rcu_eqs_enter_common+0x1a0/0x9a0
> >>>
> >>> I'm basically seeing lots of the above, so I can't even get to the point where I
> >>> get the previous lockdep warnings.
> >>
> >> OK, that diagnostic patch was unhelpful.  Back to the drawing board...
> > 
> > May be we could first make sure the cpu_idle() behave properly?
> > 
> > Since according to the log, rcu think cpu is idle while current pid
> > is not 0, that could happen if things broken in cpu_idle() which
> > is very dependent on platform.
> > 
> > So check it when idle thread was switched out may could be the first
> > step? some thing like below.
> > 
> > Regards,
> > Michael Wang
> > 
> > diff --git a/kernel/sched/idle_task.c b/kernel/sched/idle_task.c
> > index b6baf37..f8c7354 100644
> > --- a/kernel/sched/idle_task.c
> > +++ b/kernel/sched/idle_task.c
> > @@ -43,6 +43,7 @@ dequeue_task_idle(struct rq *rq, struct task_struct *p, int flags)
> >  
> >  static void put_prev_task_idle(struct rq *rq, struct task_struct *prev)
> >  {
> > +       WARN_ON(rcu_is_cpu_idle());
> >  }
> >  
> >  static void task_tick_idle(struct rq *rq, struct task_struct *curr, int queued)
> 
> Looks like you're on to something, with the small patch above applied:
> 
> [   23.514223] ------------[ cut here ]------------
> [   23.515496] WARNING: at kernel/sched/idle_task.c:46
> put_prev_task_idle+0x1e/0x30()
> [   23.517498] Pid: 0, comm: swapper/0 Tainted: G        W
> 3.6.0-rc6-next-20120919-sasha-00001-gb54aafe-dirty #366
> [   23.520393] Call Trace:
> [   23.521882]  [<ffffffff8115167e>] ? put_prev_task_idle+0x1e/0x30
> [   23.524220]  [<ffffffff81106736>] warn_slowpath_common+0x86/0xb0
> [   23.524220]  [<ffffffff81106825>] warn_slowpath_null+0x15/0x20
> [   23.524220]  [<ffffffff8115167e>] put_prev_task_idle+0x1e/0x30
> [   23.524220]  [<ffffffff839ea61e>] __schedule+0x25e/0x8f0
> [   23.524220]  [<ffffffff81175ebd>] ? tick_nohz_idle_exit+0x18d/0x1c0
> [   23.524220]  [<ffffffff839ead05>] schedule+0x55/0x60
> [   23.524220]  [<ffffffff81078540>] cpu_idle+0x90/0x160
> [   23.524220]  [<ffffffff8383043c>] rest_init+0x130/0x144
> [   23.524220]  [<ffffffff8383030c>] ? csum_partial_copy_generic+0x16c/0x16c
> [   23.524220]  [<ffffffff858acc18>] start_kernel+0x38d/0x39a
> [   23.524220]  [<ffffffff858ac5fe>] ? repair_env_string+0x5e/0x5e
> [   23.524220]  [<ffffffff858ac326>] x86_64_start_reservations+0x101/0x105
> [   23.524220]  [<ffffffff858ac472>] x86_64_start_kernel+0x148/0x157
> [   23.524220] ---[ end trace 2c3061ab727afec2 ]---

It looks like someone is exiting the idle loop without telling RCU
about it.  Architectures are supposed to invoke rcu_idle_exit() before
they leave the idle loop.  This was in fact my guess yesterday, which is
why I tried to enlist lockdep's help, forgetting that lockdep complains
about holding a lock when entering the idle loop.

A couple of possible things to try:

1.	Inspect the idle loop to see if it can invoke schedule() without
	invoking rcu_idle_exit().  This might happen indirectly, for
	example, by calling mutex_lock().

2.	Bisect to see what caused the warning to appear -- perhaps when
	someone put a mutex_lock() or some such into the idle loop
	without protecting it with rcu_idle_exit() or RCU_NONIDLE().

Seem reasonable?

							Thanx, Paul


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-20 15:23           ` Paul E. McKenney
@ 2012-09-21  9:30             ` Sasha Levin
  2012-09-21 12:13               ` Paul E. McKenney
  0 siblings, 1 reply; 41+ messages in thread
From: Sasha Levin @ 2012-09-21  9:30 UTC (permalink / raw)
  To: paulmck; +Cc: Michael Wang, Dave Jones, linux-kernel

On 09/20/2012 05:23 PM, Paul E. McKenney wrote:
> On Thu, Sep 20, 2012 at 09:44:57AM +0200, Sasha Levin wrote:
>> On 09/20/2012 09:33 AM, Michael Wang wrote:
>>> On 09/20/2012 01:06 AM, Paul E. McKenney wrote:
>>>> On Wed, Sep 19, 2012 at 06:35:36PM +0200, Sasha Levin wrote:
>>>>> On 09/19/2012 05:39 PM, Paul E. McKenney wrote:
>>>>>> On Wed, Sep 12, 2012 at 07:56:48PM +0200, Sasha Levin wrote:
>>>>>>>> Hi Paul,
>>>>>>>>
>>>>>>>> While fuzzing using trinity inside a KVM tools guest, I've managed to trigger
>>>>>>>> "RCU used illegally from idle CPU!" warnings several times.
>>>>>>>>
>>>>>>>> There are a bunch of traces which seem to pop exactly at the same time and from
>>>>>>>> different places around the kernel. Here are several of them:
>>>>>> Hello, Sasha,
>>>>>>
>>>>>> OK, interesting.  Could you please try reproducing with the diagnostic
>>>>>> patch shown below?
>>>>>
>>>>> Sure - here are the results (btw, it reproduces very easily):
>>>>>
>>>>> [ 13.525119] ================================================
>>>>> [ 13.527165] [ BUG: lock held when returning to user space! ]
>>>>> [ 13.528752] 3.6.0-rc6-next-20120918-sasha-00002-g190c311-dirty #362 Tainted: GW
>>>>> [ 13.531314] ------------------------------------------------
>>>>> [ 13.532918] init/1 is leaving the kernel with locks still held!
>>>>> [ 13.534574] 1 lock held by init/1:
>>>>> [ 13.535533] #0: (rcu_idle){.+.+..}, at: [<ffffffff811c36d0>]
>>>>> rcu_eqs_enter_common+0x1a0/0x9a0
>>>>>
>>>>> I'm basically seeing lots of the above, so I can't even get to the point where I
>>>>> get the previous lockdep warnings.
>>>>
>>>> OK, that diagnostic patch was unhelpful.  Back to the drawing board...
>>>
>>> May be we could first make sure the cpu_idle() behave properly?
>>>
>>> Since according to the log, rcu think cpu is idle while current pid
>>> is not 0, that could happen if things broken in cpu_idle() which
>>> is very dependent on platform.
>>>
>>> So check it when idle thread was switched out may could be the first
>>> step? some thing like below.
>>>
>>> Regards,
>>> Michael Wang
>>>
>>> diff --git a/kernel/sched/idle_task.c b/kernel/sched/idle_task.c
>>> index b6baf37..f8c7354 100644
>>> --- a/kernel/sched/idle_task.c
>>> +++ b/kernel/sched/idle_task.c
>>> @@ -43,6 +43,7 @@ dequeue_task_idle(struct rq *rq, struct task_struct *p, int flags)
>>>  
>>>  static void put_prev_task_idle(struct rq *rq, struct task_struct *prev)
>>>  {
>>> +       WARN_ON(rcu_is_cpu_idle());
>>>  }
>>>  
>>>  static void task_tick_idle(struct rq *rq, struct task_struct *curr, int queued)
>>
>> Looks like you're on to something, with the small patch above applied:
>>
>> [   23.514223] ------------[ cut here ]------------
>> [   23.515496] WARNING: at kernel/sched/idle_task.c:46
>> put_prev_task_idle+0x1e/0x30()
>> [   23.517498] Pid: 0, comm: swapper/0 Tainted: G        W
>> 3.6.0-rc6-next-20120919-sasha-00001-gb54aafe-dirty #366
>> [   23.520393] Call Trace:
>> [   23.521882]  [<ffffffff8115167e>] ? put_prev_task_idle+0x1e/0x30
>> [   23.524220]  [<ffffffff81106736>] warn_slowpath_common+0x86/0xb0
>> [   23.524220]  [<ffffffff81106825>] warn_slowpath_null+0x15/0x20
>> [   23.524220]  [<ffffffff8115167e>] put_prev_task_idle+0x1e/0x30
>> [   23.524220]  [<ffffffff839ea61e>] __schedule+0x25e/0x8f0
>> [   23.524220]  [<ffffffff81175ebd>] ? tick_nohz_idle_exit+0x18d/0x1c0
>> [   23.524220]  [<ffffffff839ead05>] schedule+0x55/0x60
>> [   23.524220]  [<ffffffff81078540>] cpu_idle+0x90/0x160
>> [   23.524220]  [<ffffffff8383043c>] rest_init+0x130/0x144
>> [   23.524220]  [<ffffffff8383030c>] ? csum_partial_copy_generic+0x16c/0x16c
>> [   23.524220]  [<ffffffff858acc18>] start_kernel+0x38d/0x39a
>> [   23.524220]  [<ffffffff858ac5fe>] ? repair_env_string+0x5e/0x5e
>> [   23.524220]  [<ffffffff858ac326>] x86_64_start_reservations+0x101/0x105
>> [   23.524220]  [<ffffffff858ac472>] x86_64_start_kernel+0x148/0x157
>> [   23.524220] ---[ end trace 2c3061ab727afec2 ]---
> 
> It looks like someone is exiting the idle loop without telling RCU
> about it.  Architectures are supposed to invoke rcu_idle_exit() before
> they leave the idle loop.  This was in fact my guess yesterday, which is
> why I tried to enlist lockdep's help, forgetting that lockdep complains
> about holding a lock when entering the idle loop.
> 
> A couple of possible things to try:
> 
> 1.	Inspect the idle loop to see if it can invoke schedule() without
> 	invoking rcu_idle_exit().  This might happen indirectly, for
> 	example, by calling mutex_lock().
> 
> 2.	Bisect to see what caused the warning to appear -- perhaps when
> 	someone put a mutex_lock() or some such into the idle loop
> 	without protecting it with rcu_idle_exit() or RCU_NONIDLE().
> 
> Seem reasonable?

This might be unrelated, but I got the following dump as well when trinity
decided it's time to reboot my guest:

[ 122.627815] rcutorture thread rcu_torture_stats parking due to system shutdown
[ 168.790150] INFO: rcu_preempt detected stalls on CPUs/tasks:
[ 168.792799] (detected by 2, t=6502 jiffies)
[ 168.793814] INFO: Stall ended before state dump start
[ 242.600309] INFO: task init:1 blocked for more than 120 seconds.
[ 242.602151] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[ 242.603665] init D ffff88000d618000 3232 1 0 0x00000000
[ 242.604824] ffff88000d5b9a48 0000000000000002 ffff88000d5b9a18 ffffffff810a2d96
[ 242.606415] ffff88000d5b9fd8 ffff88000d5b9fd8 ffff88000d5b9fd8 ffff88000d5b9fd8
[ 242.607977] ffff88000d618000 ffff88000d5b0000 ffff88000d5b9a28 ffff88000d5b9be0
[ 242.609311] Call Trace:
[ 242.609767] [<ffffffff810a2d96>] ? kvm_clock_read+0x46/0x80
[ 242.610836] [<ffffffff839edb35>] schedule+0x55/0x60
[ 242.611372] [<ffffffff839ebab5>] schedule_timeout+0x45/0x360
[ 242.612377] [<ffffffff8117a393>] ? mark_held_locks+0x113/0x130
[ 242.613407] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
[ 242.614487] [<ffffffff839ef2db>] ? _raw_spin_unlock_irq+0x2b/0x80
[ 242.615449] [<ffffffff839ee2a8>] wait_for_common+0x138/0x180
[ 242.616440] [<ffffffff8114cc10>] ? try_to_wake_up+0x360/0x360
[ 242.617460] [<ffffffff811c3850>] ? __call_rcu+0x6b0/0x6b0
[ 242.618408] [<ffffffff839ee398>] wait_for_completion+0x18/0x20
[ 242.619389] [<ffffffff81132eef>] wait_rcu_gp+0x6f/0xa0
[ 242.620227] [<ffffffff81130a90>] ? perf_trace_rcu_utilization+0xe0/0xe0
[ 242.621341] [<ffffffff839ee1b4>] ? wait_for_common+0x44/0x180
[ 242.622321] [<ffffffff811c91a6>] synchronize_rcu+0x86/0x90
[ 242.623252] [<ffffffff811fa745>] padata_replace+0x35/0xd0
[ 242.624166] [<ffffffff811fa8a6>] __padata_remove_cpu+0xc6/0x160
[ 242.625171] [<ffffffff811faccc>] padata_cpu_callback+0x2bc/0x350
[ 242.626184] [<ffffffff8113e01e>] notifier_call_chain+0xee/0x130
[ 242.627139] [<ffffffff8113e5f9>] __raw_notifier_call_chain+0x9/0x10
[ 242.628191] [<ffffffff8110a5fb>] __cpu_notify+0x1b/0x40
[ 242.629080] [<ffffffff8383584e>] _cpu_down+0xae/0x350
[ 242.629849] [<ffffffff83992a98>] ? printk+0x5c/0x5e
[ 242.630662] [<ffffffff8110aa36>] disable_nonboot_cpus+0x86/0x1c0
[ 242.631687] [<ffffffff81124206>] kernel_restart+0x16/0x60
[ 242.632605] [<ffffffff81124481>] sys_reboot+0x151/0x2a0
[ 242.633495] [<ffffffff811c2b73>] ? rcu_cleanup_after_idle+0x23/0x170
[ 242.634565] [<ffffffff811c67c4>] ? rcu_eqs_exit_common+0x64/0x3a0
[ 242.635526] [<ffffffff811c6eb5>] ? rcu_user_exit+0xa5/0xd0
[ 242.636454] [<ffffffff8117a5ed>] ? trace_hardirqs_on+0xd/0x10
[ 242.637414] [<ffffffff8107cba0>] ? syscall_trace_enter+0x20/0x2e0
[ 242.638417] [<ffffffff839f0ce8>] tracesys+0xe1/0xe6
[ 242.639278] 4 locks held by init/1:
[ 242.639871] #0: (reboot_mutex){+.+.+.}, at: [<ffffffff81124406>]
sys_reboot+0xd6/0x2a0
[ 242.641265] #1: (cpu_add_remove_lock){+.+.+.}, at: [<ffffffff8110a6d2>]
cpu_maps_update_begin+0x12/0x20
[ 242.642780] #2: (cpu_hotplug.lock){+.+.+.}, at: [<ffffffff8110a68a>]
cpu_hotplug_begin+0x2a/0x60
[ 242.644272] #3: (&pinst->lock){+.+.+.}, at: [<ffffffff811facc1>]
padata_cpu_callback+0x2b1/0x350
[ 242.645805] INFO: task kworker/u:0:6 blocked for more than 120 seconds.
[ 242.646901] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[ 242.648199] kworker/u:0 D ffff88000d620000 4288 6 2 0x00000000
[ 242.649405] ffff88000d5dba38 0000000000000002 ffff88000d5dba08 ffffffff810a2d96
[ 242.650659] ffff88000d5dbfd8 ffff88000d5dbfd8 ffff88000d5dbfd8 ffff88000d5dbfd8
[ 242.651887] ffff88000d620000 ffff88000d5d3000 ffff88000d5dba18 ffff88000d5dbbd0
[ 242.653083] Call Trace:
[ 242.653468] [<ffffffff810a2d96>] ? kvm_clock_read+0x46/0x80
[ 242.654274] [<ffffffff839edb35>] schedule+0x55/0x60
[ 242.655107] [<ffffffff839ebab5>] schedule_timeout+0x45/0x360
[ 242.656037] [<ffffffff8117a393>] ? mark_held_locks+0x113/0x130
[ 242.656970] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
[ 242.658012] [<ffffffff839ef2db>] ? _raw_spin_unlock_irq+0x2b/0x80
[ 242.658977] [<ffffffff839ee2a8>] wait_for_common+0x138/0x180
[ 242.659931] [<ffffffff8114cc10>] ? try_to_wake_up+0x360/0x360
[ 242.660846] [<ffffffff811c3850>] ? __call_rcu+0x6b0/0x6b0
[ 242.661721] [<ffffffff839ee398>] wait_for_completion+0x18/0x20
[ 242.662590] [<ffffffff81132eef>] wait_rcu_gp+0x6f/0xa0
[ 242.663470] [<ffffffff81130a90>] ? perf_trace_rcu_utilization+0xe0/0xe0
[ 242.664553] [<ffffffff839ee1b4>] ? wait_for_common+0x44/0x180
[ 242.665547] [<ffffffff811c91a6>] synchronize_rcu+0x86/0x90
[ 242.666473] [<ffffffff8336d305>] synchronize_net+0x35/0x40
[ 242.667368] [<ffffffff834f97d5>] xfrm_user_net_exit+0x25/0x80
[ 242.668313] [<ffffffff83360625>] ops_exit_list.isra.0+0x65/0x70
[ 242.669285] [<ffffffff83360fe0>] cleanup_net+0x130/0x1b0
[ 242.670166] [<ffffffff8112a7a9>] process_one_work+0x3b9/0x770
[ 242.671094] [<ffffffff8112a658>] ? process_one_work+0x268/0x770
[ 242.672064] [<ffffffff81177a52>] ? get_lock_stats+0x22/0x70
[ 242.672984] [<ffffffff83360eb0>] ? net_drop_ns+0x40/0x40
[ 242.673818] [<ffffffff8112b12a>] worker_thread+0x2ba/0x3f0
[ 242.674711] [<ffffffff8112ae70>] ? rescuer_thread+0x2d0/0x2d0
[ 242.675643] [<ffffffff81135db3>] kthread+0xe3/0xf0
[ 242.676402] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
[ 242.677384] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
[ 242.678333] [<ffffffff839f1e85>] kernel_thread_helper+0x5/0x10
[ 242.679253] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
[ 242.680226] 3 locks held by kworker/u:0/6:
[ 242.680898] #0: (netns){.+.+.+}, at: [<ffffffff8112a658>]
process_one_work+0x268/0x770
[ 242.682206] #1: (net_cleanup_work){+.+.+.}, at: [<ffffffff8112a658>]
process_one_work+0x268/0x770
[ 242.683681] #2: (net_mutex){+.+.+.}, at: [<ffffffff83360f30>]
cleanup_net+0x80/0x1b0
[ 242.684978] INFO: task rcu_preempt:11 blocked for more than 120 seconds.
[ 242.686061] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[ 242.687290] rcu_preempt D ffff88000d618000 5520 11 2 0x00000000
[ 242.688393] ffff88000d5f5c38 0000000000000002 0000000000000006 ffff88000d5f8000
[ 242.689629] ffff88000d5f5fd8 ffff88000d5f5fd8 ffff88000d5f5fd8 ffff88000d5f5fd8
[ 242.690884] ffff88000d618000 ffff88000d5f8000 ffffffff839ec3c5 ffffffff84c50948
[ 242.692184] Call Trace:
[ 242.692598] [<ffffffff839ec3c5>] ? __mutex_lock_common+0x335/0x5a0
[ 242.693652] [<ffffffff839edb35>] schedule+0x55/0x60
[ 242.694485] [<ffffffff839edb53>] schedule_preempt_disabled+0x13/0x20
[ 242.695549] [<ffffffff839ec3fd>] __mutex_lock_common+0x36d/0x5a0
[ 242.696555] [<ffffffff8110a737>] ? get_online_cpus+0x37/0x50
[ 242.697537] [<ffffffff811501a8>] ? sched_clock_cpu+0xf8/0x110
[ 242.698479] [<ffffffff8110a737>] ? get_online_cpus+0x37/0x50
[ 242.699379] [<ffffffff839ec66f>] mutex_lock_nested+0x3f/0x50
[ 242.700254] [<ffffffff8110a737>] get_online_cpus+0x37/0x50
[ 242.701120] [<ffffffff811c731a>] rcu_gp_kthread+0x27a/0xeb0
[ 242.702066] [<ffffffff839eda0d>] ? __schedule+0x81d/0x8f0
[ 242.702945] [<ffffffff81137180>] ? abort_exclusive_wait+0xb0/0xb0
[ 242.703884] [<ffffffff811c70a0>] ? rcu_gp_fqs+0x80/0x80
[ 242.704701] [<ffffffff81135db3>] kthread+0xe3/0xf0
[ 242.705476] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
[ 242.706512] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
[ 242.707512] [<ffffffff839f1e85>] kernel_thread_helper+0x5/0x10
[ 242.708456] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
[ 242.709709] 1 lock held by rcu_preempt/11:
[ 242.710610] #0: (cpu_hotplug.lock){+.+.+.}, at: [<ffffffff8110a737>]
get_online_cpus+0x37/0x50
[ 242.712078] INFO: task rcu_torture_wri:2723 blocked for more than 120 seconds.
[ 242.713270] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[ 242.714533] rcu_torture_wri D ffff88000cdb8000 5696 2723 2 0x00000000
[ 242.715552] ffff88000cf0dce8 0000000000000002 ffff88000cf0dc98 ffffffff819e89d8
[ 242.716769] ffff88000cf0dfd8 ffff88000cf0dfd8 ffff88000cf0dfd8 ffff88000cf0dfd8
[ 242.717983] ffff88000cdb8000 ffff88000cd93000 0000000000000043 ffffffff845bb016
[ 242.719188] Call Trace:
[ 242.719598] [<ffffffff819e89d8>] ? do_raw_spin_unlock+0xc8/0xe0
[ 242.720599] [<ffffffff839edb35>] schedule+0x55/0x60
[ 242.721397] [<ffffffff839ebab5>] schedule_timeout+0x45/0x360
[ 242.722322] [<ffffffff83992a98>] ? printk+0x5c/0x5e
[ 242.723162] [<ffffffff839ebe29>] schedule_timeout_uninterruptible+0x19/0x20
[ 242.724250] [<ffffffff811bc63f>] rcutorture_shutdown_absorb+0x2f/0x40
[ 242.725276] [<ffffffff811bc94a>] rcu_stutter_wait+0x4a/0x70
[ 242.726214] [<ffffffff811be3ac>] rcu_torture_writer+0x1cc/0x240
[ 242.727267] [<ffffffff811be1e0>] ? cpumask_next+0x80/0x80
[ 242.728175] [<ffffffff81135db3>] kthread+0xe3/0xf0
[ 242.728961] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
[ 242.729922] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
[ 242.730949] [<ffffffff839f1e85>] kernel_thread_helper+0x5/0x10
[ 242.731920] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
[ 242.732970] no locks held by rcu_torture_wri/2723.
[ 242.733733] INFO: task rcu_torture_fak:2724 blocked for more than 120 seconds.
[ 242.734912] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[ 242.736208] rcu_torture_fak D ffff88000d61b000 5664 2724 2 0x00000000
[ 242.737342] ffff88000ce19ce8 0000000000000002 0000000010000000 ffffffff839f01f4
[ 242.738551] ffff88000ce19fd8 ffff88000ce19fd8 ffff88000ce19fd8 ffff88000ce19fd8
[ 242.739748] ffff88000d61b000 ffff88000cd90000 ffff88000cd90000 ffffffff845baf2b
[ 242.740974] Call Trace:
[ 242.741359] [<ffffffff839f01f4>] ? retint_restore_args+0x13/0x13
[ 242.742404] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
[ 242.743479] [<ffffffff839edb35>] schedule+0x55/0x60
[ 242.744222] [<ffffffff839ebab5>] schedule_timeout+0x45/0x360
[ 242.745178] [<ffffffff811c3850>] ? __call_rcu+0x6b0/0x6b0
[ 242.746094] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
[ 242.747171] [<ffffffff83992a98>] ? printk+0x5c/0x5e
[ 242.747946] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
[ 242.748985] [<ffffffff839ebe29>] schedule_timeout_uninterruptible+0x19/0x20
[ 242.750141] [<ffffffff811bc63f>] rcutorture_shutdown_absorb+0x2f/0x40
[ 242.751192] [<ffffffff811bc94a>] rcu_stutter_wait+0x4a/0x70
[ 242.752130] [<ffffffff811bd53f>] rcu_torture_fakewriter+0xef/0x160
[ 242.753112] [<ffffffff81135db3>] kthread+0xe3/0xf0
[ 242.753922] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
[ 242.754866] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
[ 242.755675] [<ffffffff839f1e85>] kernel_thread_helper+0x5/0x10
[ 242.756630] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
[ 242.757585] no locks held by rcu_torture_fak/2724.
[ 242.758384] INFO: task rcu_torture_fak:2725 blocked for more than 120 seconds.
[ 242.759566] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[ 242.760850] rcu_torture_fak D ffffffff84c2e420 5664 2725 2 0x00000000
[ 242.761958] ffff88000ce1dce8 0000000000000002 ffff88000ce1dc98 ffffffff819e89d8
[ 242.763130] ffff88000ce1dfd8 ffff88000ce1dfd8 ffff88000ce1dfd8 ffff88000ce1dfd8
[ 242.764332] ffffffff84c2e420 ffff88000cdbb000 0000000000000047 ffffffff845baf2b
[ 242.765544] Call Trace:
[ 242.765968] [<ffffffff819e89d8>] ? do_raw_spin_unlock+0xc8/0xe0
[ 242.766934] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
[ 242.767980] [<ffffffff839edb35>] schedule+0x55/0x60
[ 242.768821] [<ffffffff839ebab5>] schedule_timeout+0x45/0x360
[ 242.769766] [<ffffffff811c3850>] ? __call_rcu+0x6b0/0x6b0
[ 242.770687] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
[ 242.771804] [<ffffffff83992a98>] ? printk+0x5c/0x5e
[ 242.772593] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
[ 242.773693] [<ffffffff839ebe29>] schedule_timeout_uninterruptible+0x19/0x20
[ 242.774831] [<ffffffff811bc63f>] rcutorture_shutdown_absorb+0x2f/0x40
[ 242.775775] [<ffffffff811bc94a>] rcu_stutter_wait+0x4a/0x70
[ 242.776626] [<ffffffff811bd53f>] rcu_torture_fakewriter+0xef/0x160
[ 242.777667] [<ffffffff81135db3>] kthread+0xe3/0xf0
[ 242.778480] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
[ 242.779459] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
[ 242.780477] [<ffffffff839f1e85>] kernel_thread_helper+0x5/0x10
[ 242.781425] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
[ 242.782415] no locks held by rcu_torture_fak/2725.
[ 242.783161] INFO: task rcu_torture_fak:2726 blocked for more than 120 seconds.
[ 242.784285] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[ 242.785547] rcu_torture_fak D ffff88000ce53000 5456 2726 2 0x00000000
[ 242.786678] ffff88000ce1fce8 0000000000000002 ffff88000ce1fc98 ffffffff819e89d8
[ 242.787915] ffff88000ce1ffd8 ffff88000ce1ffd8 ffff88000ce1ffd8 ffff88000ce1ffd8
[ 242.789090] ffff88000ce53000 ffff88000cdb8000 0000000000000047 ffffffff845baf2b
[ 242.790363] Call Trace:
[ 242.790746] [<ffffffff819e89d8>] ? do_raw_spin_unlock+0xc8/0xe0
[ 242.791737] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
[ 242.792741] [<ffffffff839edb35>] schedule+0x55/0x60
[ 242.793554] [<ffffffff839ebab5>] schedule_timeout+0x45/0x360
[ 242.794479] [<ffffffff811c3850>] ? __call_rcu+0x6b0/0x6b0
[ 242.795335] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
[ 242.796348] [<ffffffff83992a98>] ? printk+0x5c/0x5e
[ 242.797184] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
[ 242.798273] [<ffffffff839ebe29>] schedule_timeout_uninterruptible+0x19/0x20
[ 242.799395] [<ffffffff811bc63f>] rcutorture_shutdown_absorb+0x2f/0x40
[ 242.800481] [<ffffffff811bc94a>] rcu_stutter_wait+0x4a/0x70
[ 242.801419] [<ffffffff811bd53f>] rcu_torture_fakewriter+0xef/0x160
[ 242.802428] [<ffffffff81135db3>] kthread+0xe3/0xf0
[ 242.803252] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
[ 242.804223] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
[ 242.805139] [<ffffffff839f1e85>] kernel_thread_helper+0x5/0x10
[ 242.806090] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
[ 242.807048] no locks held by rcu_torture_fak/2726.
[ 242.807751] INFO: task rcu_torture_fak:2727 blocked for more than 120 seconds.
[ 242.808900] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[ 242.810177] rcu_torture_fak D ffff88000ce50000 5664 2727 2 0x00000000
[ 242.811315] ffff88000cc9dce8 0000000000000002 ffff88000cc9dc98 ffffffff819e89d8
[ 242.812595] ffff88000cc9dfd8 ffff88000cc9dfd8 ffff88000cc9dfd8 ffff88000cc9dfd8
[ 242.813887] ffff88000ce50000 ffff88000ce13000 0000000000000047 ffffffff845baf2b
[ 242.815161] Call Trace:
[ 242.815570] [<ffffffff819e89d8>] ? do_raw_spin_unlock+0xc8/0xe0
[ 242.816465] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
[ 242.817562] [<ffffffff839edb35>] schedule+0x55/0x60
[ 242.818330] [<ffffffff839ebab5>] schedule_timeout+0x45/0x360
[ 242.819220] [<ffffffff811c3850>] ? __call_rcu+0x6b0/0x6b0
[ 242.820109] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
[ 242.821110] [<ffffffff83992a98>] ? printk+0x5c/0x5e
[ 242.821902] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
[ 242.822994] [<ffffffff839ebe29>] schedule_timeout_uninterruptible+0x19/0x20
[ 242.824162] [<ffffffff811bc63f>] rcutorture_shutdown_absorb+0x2f/0x40
[ 242.825153] [<ffffffff811bc94a>] rcu_stutter_wait+0x4a/0x70
[ 242.826093] [<ffffffff811bd53f>] rcu_torture_fakewriter+0xef/0x160
[ 242.827131] [<ffffffff81135db3>] kthread+0xe3/0xf0
[ 242.827878] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
[ 242.828894] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
[ 242.829907] [<ffffffff839f1e85>] kernel_thread_helper+0x5/0x10
[ 242.830870] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
[ 242.831850] no locks held by rcu_torture_fak/2727.
[ 242.832651] INFO: task rcu_torture_rea:2728 blocked for more than 120 seconds.
[ 242.833865] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[ 242.835127] rcu_torture_rea D ffff88000d5d3000 5520 2728 2 0x00000000
[ 242.836253] ffff88000cc9fc38 0000000000000002 ffff88000cc9fbe8 ffffffff819e89d8
[ 242.837537] ffff88000cc9ffd8 ffff88000cc9ffd8 ffff88000cc9ffd8 ffff88000cc9ffd8
[ 242.838749] ffff88000d5d3000 ffff88000ce10000 0000000000000043 ffffffff845bb084
[ 242.839942] Call Trace:
[ 242.840382] [<ffffffff819e89d8>] ? do_raw_spin_unlock+0xc8/0xe0
[ 242.841376] [<ffffffff839edb35>] schedule+0x55/0x60
[ 242.842157] [<ffffffff839ebab5>] schedule_timeout+0x45/0x360
[ 242.843051] [<ffffffff83992a98>] ? printk+0x5c/0x5e
[ 242.843842] [<ffffffff839ebe29>] schedule_timeout_uninterruptible+0x19/0x20
[ 242.845005] [<ffffffff811bc63f>] rcutorture_shutdown_absorb+0x2f/0x40
[ 242.846087] [<ffffffff811bc94a>] rcu_stutter_wait+0x4a/0x70
[ 242.847034] [<ffffffff811bf67e>] rcu_torture_reader+0x34e/0x450
[ 242.848038] [<ffffffff8114418a>] ? finish_task_switch+0x3a/0x110
[ 242.849022] [<ffffffff811bf780>] ? rcu_torture_reader+0x450/0x450
[ 242.850058] [<ffffffff811bf330>] ? rcutorture_trace_dump+0x40/0x40
[ 242.851044] [<ffffffff81135db3>] kthread+0xe3/0xf0
[ 242.851859] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
[ 242.852922] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
[ 242.853941] [<ffffffff839f1e85>] kernel_thread_helper+0x5/0x10
[ 242.854928] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
[ 242.855942] no locks held by rcu_torture_rea/2728.
[ 242.856700] INFO: task rcu_torture_rea:2729 blocked for more than 120 seconds.
[ 242.857862] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[ 242.859116] rcu_torture_rea D ffff88001b64b000 5520 2729 2 0x00000000
[ 242.860295] ffff88000ce59c38 0000000000000002 ffff88000ce59be8 ffffffff819e89d8
[ 242.861549] ffff88000ce59fd8 ffff88000ce59fd8 ffff88000ce59fd8 ffff88000ce59fd8
[ 242.862732] ffff88001b64b000 ffff88000ce53000 0000000000000043 ffffffff845bb084
[ 242.863969] Call Trace:
[ 242.864385] [<ffffffff819e89d8>] ? do_raw_spin_unlock+0xc8/0xe0
[ 242.865388] [<ffffffff839edb35>] schedule+0x55/0x60
[ 242.866224] [<ffffffff839ebab5>] schedule_timeout+0x45/0x360
[ 242.867201] [<ffffffff83992a98>] ? printk+0x5c/0x5e
[ 242.868030] [<ffffffff839ebe29>] schedule_timeout_uninterruptible+0x19/0x20
[ 242.869170] [<ffffffff811bc63f>] rcutorture_shutdown_absorb+0x2f/0x40
[ 242.870280] [<ffffffff811bc94a>] rcu_stutter_wait+0x4a/0x70
[ 242.871204] [<ffffffff811bf67e>] rcu_torture_reader+0x34e/0x450
[ 242.872168] [<ffffffff8114418a>] ? finish_task_switch+0x3a/0x110
[ 242.873061] [<ffffffff811bf780>] ? rcu_torture_reader+0x450/0x450
[ 242.874059] [<ffffffff811bf330>] ? rcutorture_trace_dump+0x40/0x40
[ 242.875162] [<ffffffff81135db3>] kthread+0xe3/0xf0
[ 242.876017] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
[ 242.877081] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
[ 242.878076] [<ffffffff839f1e85>] kernel_thread_helper+0x5/0x10
[ 242.879034] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
[ 242.880089] no locks held by rcu_torture_rea/2729.


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-21  9:30             ` Sasha Levin
@ 2012-09-21 12:13               ` Paul E. McKenney
  2012-09-21 13:26                 ` Sasha Levin
  0 siblings, 1 reply; 41+ messages in thread
From: Paul E. McKenney @ 2012-09-21 12:13 UTC (permalink / raw)
  To: Sasha Levin; +Cc: Michael Wang, Dave Jones, linux-kernel

On Fri, Sep 21, 2012 at 11:30:33AM +0200, Sasha Levin wrote:
> On 09/20/2012 05:23 PM, Paul E. McKenney wrote:
> > On Thu, Sep 20, 2012 at 09:44:57AM +0200, Sasha Levin wrote:
> >> On 09/20/2012 09:33 AM, Michael Wang wrote:
> >>> On 09/20/2012 01:06 AM, Paul E. McKenney wrote:
> >>>> On Wed, Sep 19, 2012 at 06:35:36PM +0200, Sasha Levin wrote:
> >>>>> On 09/19/2012 05:39 PM, Paul E. McKenney wrote:
> >>>>>> On Wed, Sep 12, 2012 at 07:56:48PM +0200, Sasha Levin wrote:
> >>>>>>>> Hi Paul,
> >>>>>>>>
> >>>>>>>> While fuzzing using trinity inside a KVM tools guest, I've managed to trigger
> >>>>>>>> "RCU used illegally from idle CPU!" warnings several times.
> >>>>>>>>
> >>>>>>>> There are a bunch of traces which seem to pop exactly at the same time and from
> >>>>>>>> different places around the kernel. Here are several of them:
> >>>>>> Hello, Sasha,
> >>>>>>
> >>>>>> OK, interesting.  Could you please try reproducing with the diagnostic
> >>>>>> patch shown below?
> >>>>>
> >>>>> Sure - here are the results (btw, it reproduces very easily):
> >>>>>
> >>>>> [ 13.525119] ================================================
> >>>>> [ 13.527165] [ BUG: lock held when returning to user space! ]
> >>>>> [ 13.528752] 3.6.0-rc6-next-20120918-sasha-00002-g190c311-dirty #362 Tainted: GW
> >>>>> [ 13.531314] ------------------------------------------------
> >>>>> [ 13.532918] init/1 is leaving the kernel with locks still held!
> >>>>> [ 13.534574] 1 lock held by init/1:
> >>>>> [ 13.535533] #0: (rcu_idle){.+.+..}, at: [<ffffffff811c36d0>]
> >>>>> rcu_eqs_enter_common+0x1a0/0x9a0
> >>>>>
> >>>>> I'm basically seeing lots of the above, so I can't even get to the point where I
> >>>>> get the previous lockdep warnings.
> >>>>
> >>>> OK, that diagnostic patch was unhelpful.  Back to the drawing board...
> >>>
> >>> May be we could first make sure the cpu_idle() behave properly?
> >>>
> >>> Since according to the log, rcu think cpu is idle while current pid
> >>> is not 0, that could happen if things broken in cpu_idle() which
> >>> is very dependent on platform.
> >>>
> >>> So check it when idle thread was switched out may could be the first
> >>> step? some thing like below.
> >>>
> >>> Regards,
> >>> Michael Wang
> >>>
> >>> diff --git a/kernel/sched/idle_task.c b/kernel/sched/idle_task.c
> >>> index b6baf37..f8c7354 100644
> >>> --- a/kernel/sched/idle_task.c
> >>> +++ b/kernel/sched/idle_task.c
> >>> @@ -43,6 +43,7 @@ dequeue_task_idle(struct rq *rq, struct task_struct *p, int flags)
> >>>  
> >>>  static void put_prev_task_idle(struct rq *rq, struct task_struct *prev)
> >>>  {
> >>> +       WARN_ON(rcu_is_cpu_idle());
> >>>  }
> >>>  
> >>>  static void task_tick_idle(struct rq *rq, struct task_struct *curr, int queued)
> >>
> >> Looks like you're on to something, with the small patch above applied:
> >>
> >> [   23.514223] ------------[ cut here ]------------
> >> [   23.515496] WARNING: at kernel/sched/idle_task.c:46
> >> put_prev_task_idle+0x1e/0x30()
> >> [   23.517498] Pid: 0, comm: swapper/0 Tainted: G        W
> >> 3.6.0-rc6-next-20120919-sasha-00001-gb54aafe-dirty #366
> >> [   23.520393] Call Trace:
> >> [   23.521882]  [<ffffffff8115167e>] ? put_prev_task_idle+0x1e/0x30
> >> [   23.524220]  [<ffffffff81106736>] warn_slowpath_common+0x86/0xb0
> >> [   23.524220]  [<ffffffff81106825>] warn_slowpath_null+0x15/0x20
> >> [   23.524220]  [<ffffffff8115167e>] put_prev_task_idle+0x1e/0x30
> >> [   23.524220]  [<ffffffff839ea61e>] __schedule+0x25e/0x8f0
> >> [   23.524220]  [<ffffffff81175ebd>] ? tick_nohz_idle_exit+0x18d/0x1c0
> >> [   23.524220]  [<ffffffff839ead05>] schedule+0x55/0x60
> >> [   23.524220]  [<ffffffff81078540>] cpu_idle+0x90/0x160
> >> [   23.524220]  [<ffffffff8383043c>] rest_init+0x130/0x144
> >> [   23.524220]  [<ffffffff8383030c>] ? csum_partial_copy_generic+0x16c/0x16c
> >> [   23.524220]  [<ffffffff858acc18>] start_kernel+0x38d/0x39a
> >> [   23.524220]  [<ffffffff858ac5fe>] ? repair_env_string+0x5e/0x5e
> >> [   23.524220]  [<ffffffff858ac326>] x86_64_start_reservations+0x101/0x105
> >> [   23.524220]  [<ffffffff858ac472>] x86_64_start_kernel+0x148/0x157
> >> [   23.524220] ---[ end trace 2c3061ab727afec2 ]---
> > 
> > It looks like someone is exiting the idle loop without telling RCU
> > about it.  Architectures are supposed to invoke rcu_idle_exit() before
> > they leave the idle loop.  This was in fact my guess yesterday, which is
> > why I tried to enlist lockdep's help, forgetting that lockdep complains
> > about holding a lock when entering the idle loop.
> > 
> > A couple of possible things to try:
> > 
> > 1.	Inspect the idle loop to see if it can invoke schedule() without
> > 	invoking rcu_idle_exit().  This might happen indirectly, for
> > 	example, by calling mutex_lock().
> > 
> > 2.	Bisect to see what caused the warning to appear -- perhaps when
> > 	someone put a mutex_lock() or some such into the idle loop
> > 	without protecting it with rcu_idle_exit() or RCU_NONIDLE().
> > 
> > Seem reasonable?
> 
> This might be unrelated, but I got the following dump as well when trinity
> decided it's time to reboot my guest:

OK, sounds like we should hold off until you reproduce, then.

							Thanx, Paul

> [ 122.627815] rcutorture thread rcu_torture_stats parking due to system shutdown
> [ 168.790150] INFO: rcu_preempt detected stalls on CPUs/tasks:
> [ 168.792799] (detected by 2, t=6502 jiffies)
> [ 168.793814] INFO: Stall ended before state dump start
> [ 242.600309] INFO: task init:1 blocked for more than 120 seconds.
> [ 242.602151] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
> message.
> [ 242.603665] init D ffff88000d618000 3232 1 0 0x00000000
> [ 242.604824] ffff88000d5b9a48 0000000000000002 ffff88000d5b9a18 ffffffff810a2d96
> [ 242.606415] ffff88000d5b9fd8 ffff88000d5b9fd8 ffff88000d5b9fd8 ffff88000d5b9fd8
> [ 242.607977] ffff88000d618000 ffff88000d5b0000 ffff88000d5b9a28 ffff88000d5b9be0
> [ 242.609311] Call Trace:
> [ 242.609767] [<ffffffff810a2d96>] ? kvm_clock_read+0x46/0x80
> [ 242.610836] [<ffffffff839edb35>] schedule+0x55/0x60
> [ 242.611372] [<ffffffff839ebab5>] schedule_timeout+0x45/0x360
> [ 242.612377] [<ffffffff8117a393>] ? mark_held_locks+0x113/0x130
> [ 242.613407] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
> [ 242.614487] [<ffffffff839ef2db>] ? _raw_spin_unlock_irq+0x2b/0x80
> [ 242.615449] [<ffffffff839ee2a8>] wait_for_common+0x138/0x180
> [ 242.616440] [<ffffffff8114cc10>] ? try_to_wake_up+0x360/0x360
> [ 242.617460] [<ffffffff811c3850>] ? __call_rcu+0x6b0/0x6b0
> [ 242.618408] [<ffffffff839ee398>] wait_for_completion+0x18/0x20
> [ 242.619389] [<ffffffff81132eef>] wait_rcu_gp+0x6f/0xa0
> [ 242.620227] [<ffffffff81130a90>] ? perf_trace_rcu_utilization+0xe0/0xe0
> [ 242.621341] [<ffffffff839ee1b4>] ? wait_for_common+0x44/0x180
> [ 242.622321] [<ffffffff811c91a6>] synchronize_rcu+0x86/0x90
> [ 242.623252] [<ffffffff811fa745>] padata_replace+0x35/0xd0
> [ 242.624166] [<ffffffff811fa8a6>] __padata_remove_cpu+0xc6/0x160
> [ 242.625171] [<ffffffff811faccc>] padata_cpu_callback+0x2bc/0x350
> [ 242.626184] [<ffffffff8113e01e>] notifier_call_chain+0xee/0x130
> [ 242.627139] [<ffffffff8113e5f9>] __raw_notifier_call_chain+0x9/0x10
> [ 242.628191] [<ffffffff8110a5fb>] __cpu_notify+0x1b/0x40
> [ 242.629080] [<ffffffff8383584e>] _cpu_down+0xae/0x350
> [ 242.629849] [<ffffffff83992a98>] ? printk+0x5c/0x5e
> [ 242.630662] [<ffffffff8110aa36>] disable_nonboot_cpus+0x86/0x1c0
> [ 242.631687] [<ffffffff81124206>] kernel_restart+0x16/0x60
> [ 242.632605] [<ffffffff81124481>] sys_reboot+0x151/0x2a0
> [ 242.633495] [<ffffffff811c2b73>] ? rcu_cleanup_after_idle+0x23/0x170
> [ 242.634565] [<ffffffff811c67c4>] ? rcu_eqs_exit_common+0x64/0x3a0
> [ 242.635526] [<ffffffff811c6eb5>] ? rcu_user_exit+0xa5/0xd0
> [ 242.636454] [<ffffffff8117a5ed>] ? trace_hardirqs_on+0xd/0x10
> [ 242.637414] [<ffffffff8107cba0>] ? syscall_trace_enter+0x20/0x2e0
> [ 242.638417] [<ffffffff839f0ce8>] tracesys+0xe1/0xe6
> [ 242.639278] 4 locks held by init/1:
> [ 242.639871] #0: (reboot_mutex){+.+.+.}, at: [<ffffffff81124406>]
> sys_reboot+0xd6/0x2a0
> [ 242.641265] #1: (cpu_add_remove_lock){+.+.+.}, at: [<ffffffff8110a6d2>]
> cpu_maps_update_begin+0x12/0x20
> [ 242.642780] #2: (cpu_hotplug.lock){+.+.+.}, at: [<ffffffff8110a68a>]
> cpu_hotplug_begin+0x2a/0x60
> [ 242.644272] #3: (&pinst->lock){+.+.+.}, at: [<ffffffff811facc1>]
> padata_cpu_callback+0x2b1/0x350
> [ 242.645805] INFO: task kworker/u:0:6 blocked for more than 120 seconds.
> [ 242.646901] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
> message.
> [ 242.648199] kworker/u:0 D ffff88000d620000 4288 6 2 0x00000000
> [ 242.649405] ffff88000d5dba38 0000000000000002 ffff88000d5dba08 ffffffff810a2d96
> [ 242.650659] ffff88000d5dbfd8 ffff88000d5dbfd8 ffff88000d5dbfd8 ffff88000d5dbfd8
> [ 242.651887] ffff88000d620000 ffff88000d5d3000 ffff88000d5dba18 ffff88000d5dbbd0
> [ 242.653083] Call Trace:
> [ 242.653468] [<ffffffff810a2d96>] ? kvm_clock_read+0x46/0x80
> [ 242.654274] [<ffffffff839edb35>] schedule+0x55/0x60
> [ 242.655107] [<ffffffff839ebab5>] schedule_timeout+0x45/0x360
> [ 242.656037] [<ffffffff8117a393>] ? mark_held_locks+0x113/0x130
> [ 242.656970] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
> [ 242.658012] [<ffffffff839ef2db>] ? _raw_spin_unlock_irq+0x2b/0x80
> [ 242.658977] [<ffffffff839ee2a8>] wait_for_common+0x138/0x180
> [ 242.659931] [<ffffffff8114cc10>] ? try_to_wake_up+0x360/0x360
> [ 242.660846] [<ffffffff811c3850>] ? __call_rcu+0x6b0/0x6b0
> [ 242.661721] [<ffffffff839ee398>] wait_for_completion+0x18/0x20
> [ 242.662590] [<ffffffff81132eef>] wait_rcu_gp+0x6f/0xa0
> [ 242.663470] [<ffffffff81130a90>] ? perf_trace_rcu_utilization+0xe0/0xe0
> [ 242.664553] [<ffffffff839ee1b4>] ? wait_for_common+0x44/0x180
> [ 242.665547] [<ffffffff811c91a6>] synchronize_rcu+0x86/0x90
> [ 242.666473] [<ffffffff8336d305>] synchronize_net+0x35/0x40
> [ 242.667368] [<ffffffff834f97d5>] xfrm_user_net_exit+0x25/0x80
> [ 242.668313] [<ffffffff83360625>] ops_exit_list.isra.0+0x65/0x70
> [ 242.669285] [<ffffffff83360fe0>] cleanup_net+0x130/0x1b0
> [ 242.670166] [<ffffffff8112a7a9>] process_one_work+0x3b9/0x770
> [ 242.671094] [<ffffffff8112a658>] ? process_one_work+0x268/0x770
> [ 242.672064] [<ffffffff81177a52>] ? get_lock_stats+0x22/0x70
> [ 242.672984] [<ffffffff83360eb0>] ? net_drop_ns+0x40/0x40
> [ 242.673818] [<ffffffff8112b12a>] worker_thread+0x2ba/0x3f0
> [ 242.674711] [<ffffffff8112ae70>] ? rescuer_thread+0x2d0/0x2d0
> [ 242.675643] [<ffffffff81135db3>] kthread+0xe3/0xf0
> [ 242.676402] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
> [ 242.677384] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
> [ 242.678333] [<ffffffff839f1e85>] kernel_thread_helper+0x5/0x10
> [ 242.679253] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
> [ 242.680226] 3 locks held by kworker/u:0/6:
> [ 242.680898] #0: (netns){.+.+.+}, at: [<ffffffff8112a658>]
> process_one_work+0x268/0x770
> [ 242.682206] #1: (net_cleanup_work){+.+.+.}, at: [<ffffffff8112a658>]
> process_one_work+0x268/0x770
> [ 242.683681] #2: (net_mutex){+.+.+.}, at: [<ffffffff83360f30>]
> cleanup_net+0x80/0x1b0
> [ 242.684978] INFO: task rcu_preempt:11 blocked for more than 120 seconds.
> [ 242.686061] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
> message.
> [ 242.687290] rcu_preempt D ffff88000d618000 5520 11 2 0x00000000
> [ 242.688393] ffff88000d5f5c38 0000000000000002 0000000000000006 ffff88000d5f8000
> [ 242.689629] ffff88000d5f5fd8 ffff88000d5f5fd8 ffff88000d5f5fd8 ffff88000d5f5fd8
> [ 242.690884] ffff88000d618000 ffff88000d5f8000 ffffffff839ec3c5 ffffffff84c50948
> [ 242.692184] Call Trace:
> [ 242.692598] [<ffffffff839ec3c5>] ? __mutex_lock_common+0x335/0x5a0
> [ 242.693652] [<ffffffff839edb35>] schedule+0x55/0x60
> [ 242.694485] [<ffffffff839edb53>] schedule_preempt_disabled+0x13/0x20
> [ 242.695549] [<ffffffff839ec3fd>] __mutex_lock_common+0x36d/0x5a0
> [ 242.696555] [<ffffffff8110a737>] ? get_online_cpus+0x37/0x50
> [ 242.697537] [<ffffffff811501a8>] ? sched_clock_cpu+0xf8/0x110
> [ 242.698479] [<ffffffff8110a737>] ? get_online_cpus+0x37/0x50
> [ 242.699379] [<ffffffff839ec66f>] mutex_lock_nested+0x3f/0x50
> [ 242.700254] [<ffffffff8110a737>] get_online_cpus+0x37/0x50
> [ 242.701120] [<ffffffff811c731a>] rcu_gp_kthread+0x27a/0xeb0
> [ 242.702066] [<ffffffff839eda0d>] ? __schedule+0x81d/0x8f0
> [ 242.702945] [<ffffffff81137180>] ? abort_exclusive_wait+0xb0/0xb0
> [ 242.703884] [<ffffffff811c70a0>] ? rcu_gp_fqs+0x80/0x80
> [ 242.704701] [<ffffffff81135db3>] kthread+0xe3/0xf0
> [ 242.705476] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
> [ 242.706512] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
> [ 242.707512] [<ffffffff839f1e85>] kernel_thread_helper+0x5/0x10
> [ 242.708456] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
> [ 242.709709] 1 lock held by rcu_preempt/11:
> [ 242.710610] #0: (cpu_hotplug.lock){+.+.+.}, at: [<ffffffff8110a737>]
> get_online_cpus+0x37/0x50
> [ 242.712078] INFO: task rcu_torture_wri:2723 blocked for more than 120 seconds.
> [ 242.713270] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
> message.
> [ 242.714533] rcu_torture_wri D ffff88000cdb8000 5696 2723 2 0x00000000
> [ 242.715552] ffff88000cf0dce8 0000000000000002 ffff88000cf0dc98 ffffffff819e89d8
> [ 242.716769] ffff88000cf0dfd8 ffff88000cf0dfd8 ffff88000cf0dfd8 ffff88000cf0dfd8
> [ 242.717983] ffff88000cdb8000 ffff88000cd93000 0000000000000043 ffffffff845bb016
> [ 242.719188] Call Trace:
> [ 242.719598] [<ffffffff819e89d8>] ? do_raw_spin_unlock+0xc8/0xe0
> [ 242.720599] [<ffffffff839edb35>] schedule+0x55/0x60
> [ 242.721397] [<ffffffff839ebab5>] schedule_timeout+0x45/0x360
> [ 242.722322] [<ffffffff83992a98>] ? printk+0x5c/0x5e
> [ 242.723162] [<ffffffff839ebe29>] schedule_timeout_uninterruptible+0x19/0x20
> [ 242.724250] [<ffffffff811bc63f>] rcutorture_shutdown_absorb+0x2f/0x40
> [ 242.725276] [<ffffffff811bc94a>] rcu_stutter_wait+0x4a/0x70
> [ 242.726214] [<ffffffff811be3ac>] rcu_torture_writer+0x1cc/0x240
> [ 242.727267] [<ffffffff811be1e0>] ? cpumask_next+0x80/0x80
> [ 242.728175] [<ffffffff81135db3>] kthread+0xe3/0xf0
> [ 242.728961] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
> [ 242.729922] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
> [ 242.730949] [<ffffffff839f1e85>] kernel_thread_helper+0x5/0x10
> [ 242.731920] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
> [ 242.732970] no locks held by rcu_torture_wri/2723.
> [ 242.733733] INFO: task rcu_torture_fak:2724 blocked for more than 120 seconds.
> [ 242.734912] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
> message.
> [ 242.736208] rcu_torture_fak D ffff88000d61b000 5664 2724 2 0x00000000
> [ 242.737342] ffff88000ce19ce8 0000000000000002 0000000010000000 ffffffff839f01f4
> [ 242.738551] ffff88000ce19fd8 ffff88000ce19fd8 ffff88000ce19fd8 ffff88000ce19fd8
> [ 242.739748] ffff88000d61b000 ffff88000cd90000 ffff88000cd90000 ffffffff845baf2b
> [ 242.740974] Call Trace:
> [ 242.741359] [<ffffffff839f01f4>] ? retint_restore_args+0x13/0x13
> [ 242.742404] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
> [ 242.743479] [<ffffffff839edb35>] schedule+0x55/0x60
> [ 242.744222] [<ffffffff839ebab5>] schedule_timeout+0x45/0x360
> [ 242.745178] [<ffffffff811c3850>] ? __call_rcu+0x6b0/0x6b0
> [ 242.746094] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
> [ 242.747171] [<ffffffff83992a98>] ? printk+0x5c/0x5e
> [ 242.747946] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
> [ 242.748985] [<ffffffff839ebe29>] schedule_timeout_uninterruptible+0x19/0x20
> [ 242.750141] [<ffffffff811bc63f>] rcutorture_shutdown_absorb+0x2f/0x40
> [ 242.751192] [<ffffffff811bc94a>] rcu_stutter_wait+0x4a/0x70
> [ 242.752130] [<ffffffff811bd53f>] rcu_torture_fakewriter+0xef/0x160
> [ 242.753112] [<ffffffff81135db3>] kthread+0xe3/0xf0
> [ 242.753922] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
> [ 242.754866] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
> [ 242.755675] [<ffffffff839f1e85>] kernel_thread_helper+0x5/0x10
> [ 242.756630] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
> [ 242.757585] no locks held by rcu_torture_fak/2724.
> [ 242.758384] INFO: task rcu_torture_fak:2725 blocked for more than 120 seconds.
> [ 242.759566] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
> message.
> [ 242.760850] rcu_torture_fak D ffffffff84c2e420 5664 2725 2 0x00000000
> [ 242.761958] ffff88000ce1dce8 0000000000000002 ffff88000ce1dc98 ffffffff819e89d8
> [ 242.763130] ffff88000ce1dfd8 ffff88000ce1dfd8 ffff88000ce1dfd8 ffff88000ce1dfd8
> [ 242.764332] ffffffff84c2e420 ffff88000cdbb000 0000000000000047 ffffffff845baf2b
> [ 242.765544] Call Trace:
> [ 242.765968] [<ffffffff819e89d8>] ? do_raw_spin_unlock+0xc8/0xe0
> [ 242.766934] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
> [ 242.767980] [<ffffffff839edb35>] schedule+0x55/0x60
> [ 242.768821] [<ffffffff839ebab5>] schedule_timeout+0x45/0x360
> [ 242.769766] [<ffffffff811c3850>] ? __call_rcu+0x6b0/0x6b0
> [ 242.770687] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
> [ 242.771804] [<ffffffff83992a98>] ? printk+0x5c/0x5e
> [ 242.772593] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
> [ 242.773693] [<ffffffff839ebe29>] schedule_timeout_uninterruptible+0x19/0x20
> [ 242.774831] [<ffffffff811bc63f>] rcutorture_shutdown_absorb+0x2f/0x40
> [ 242.775775] [<ffffffff811bc94a>] rcu_stutter_wait+0x4a/0x70
> [ 242.776626] [<ffffffff811bd53f>] rcu_torture_fakewriter+0xef/0x160
> [ 242.777667] [<ffffffff81135db3>] kthread+0xe3/0xf0
> [ 242.778480] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
> [ 242.779459] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
> [ 242.780477] [<ffffffff839f1e85>] kernel_thread_helper+0x5/0x10
> [ 242.781425] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
> [ 242.782415] no locks held by rcu_torture_fak/2725.
> [ 242.783161] INFO: task rcu_torture_fak:2726 blocked for more than 120 seconds.
> [ 242.784285] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
> message.
> [ 242.785547] rcu_torture_fak D ffff88000ce53000 5456 2726 2 0x00000000
> [ 242.786678] ffff88000ce1fce8 0000000000000002 ffff88000ce1fc98 ffffffff819e89d8
> [ 242.787915] ffff88000ce1ffd8 ffff88000ce1ffd8 ffff88000ce1ffd8 ffff88000ce1ffd8
> [ 242.789090] ffff88000ce53000 ffff88000cdb8000 0000000000000047 ffffffff845baf2b
> [ 242.790363] Call Trace:
> [ 242.790746] [<ffffffff819e89d8>] ? do_raw_spin_unlock+0xc8/0xe0
> [ 242.791737] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
> [ 242.792741] [<ffffffff839edb35>] schedule+0x55/0x60
> [ 242.793554] [<ffffffff839ebab5>] schedule_timeout+0x45/0x360
> [ 242.794479] [<ffffffff811c3850>] ? __call_rcu+0x6b0/0x6b0
> [ 242.795335] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
> [ 242.796348] [<ffffffff83992a98>] ? printk+0x5c/0x5e
> [ 242.797184] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
> [ 242.798273] [<ffffffff839ebe29>] schedule_timeout_uninterruptible+0x19/0x20
> [ 242.799395] [<ffffffff811bc63f>] rcutorture_shutdown_absorb+0x2f/0x40
> [ 242.800481] [<ffffffff811bc94a>] rcu_stutter_wait+0x4a/0x70
> [ 242.801419] [<ffffffff811bd53f>] rcu_torture_fakewriter+0xef/0x160
> [ 242.802428] [<ffffffff81135db3>] kthread+0xe3/0xf0
> [ 242.803252] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
> [ 242.804223] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
> [ 242.805139] [<ffffffff839f1e85>] kernel_thread_helper+0x5/0x10
> [ 242.806090] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
> [ 242.807048] no locks held by rcu_torture_fak/2726.
> [ 242.807751] INFO: task rcu_torture_fak:2727 blocked for more than 120 seconds.
> [ 242.808900] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
> message.
> [ 242.810177] rcu_torture_fak D ffff88000ce50000 5664 2727 2 0x00000000
> [ 242.811315] ffff88000cc9dce8 0000000000000002 ffff88000cc9dc98 ffffffff819e89d8
> [ 242.812595] ffff88000cc9dfd8 ffff88000cc9dfd8 ffff88000cc9dfd8 ffff88000cc9dfd8
> [ 242.813887] ffff88000ce50000 ffff88000ce13000 0000000000000047 ffffffff845baf2b
> [ 242.815161] Call Trace:
> [ 242.815570] [<ffffffff819e89d8>] ? do_raw_spin_unlock+0xc8/0xe0
> [ 242.816465] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
> [ 242.817562] [<ffffffff839edb35>] schedule+0x55/0x60
> [ 242.818330] [<ffffffff839ebab5>] schedule_timeout+0x45/0x360
> [ 242.819220] [<ffffffff811c3850>] ? __call_rcu+0x6b0/0x6b0
> [ 242.820109] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
> [ 242.821110] [<ffffffff83992a98>] ? printk+0x5c/0x5e
> [ 242.821902] [<ffffffff811bd450>] ? rcu_torture_barrier_cbs+0x210/0x210
> [ 242.822994] [<ffffffff839ebe29>] schedule_timeout_uninterruptible+0x19/0x20
> [ 242.824162] [<ffffffff811bc63f>] rcutorture_shutdown_absorb+0x2f/0x40
> [ 242.825153] [<ffffffff811bc94a>] rcu_stutter_wait+0x4a/0x70
> [ 242.826093] [<ffffffff811bd53f>] rcu_torture_fakewriter+0xef/0x160
> [ 242.827131] [<ffffffff81135db3>] kthread+0xe3/0xf0
> [ 242.827878] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
> [ 242.828894] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
> [ 242.829907] [<ffffffff839f1e85>] kernel_thread_helper+0x5/0x10
> [ 242.830870] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
> [ 242.831850] no locks held by rcu_torture_fak/2727.
> [ 242.832651] INFO: task rcu_torture_rea:2728 blocked for more than 120 seconds.
> [ 242.833865] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
> message.
> [ 242.835127] rcu_torture_rea D ffff88000d5d3000 5520 2728 2 0x00000000
> [ 242.836253] ffff88000cc9fc38 0000000000000002 ffff88000cc9fbe8 ffffffff819e89d8
> [ 242.837537] ffff88000cc9ffd8 ffff88000cc9ffd8 ffff88000cc9ffd8 ffff88000cc9ffd8
> [ 242.838749] ffff88000d5d3000 ffff88000ce10000 0000000000000043 ffffffff845bb084
> [ 242.839942] Call Trace:
> [ 242.840382] [<ffffffff819e89d8>] ? do_raw_spin_unlock+0xc8/0xe0
> [ 242.841376] [<ffffffff839edb35>] schedule+0x55/0x60
> [ 242.842157] [<ffffffff839ebab5>] schedule_timeout+0x45/0x360
> [ 242.843051] [<ffffffff83992a98>] ? printk+0x5c/0x5e
> [ 242.843842] [<ffffffff839ebe29>] schedule_timeout_uninterruptible+0x19/0x20
> [ 242.845005] [<ffffffff811bc63f>] rcutorture_shutdown_absorb+0x2f/0x40
> [ 242.846087] [<ffffffff811bc94a>] rcu_stutter_wait+0x4a/0x70
> [ 242.847034] [<ffffffff811bf67e>] rcu_torture_reader+0x34e/0x450
> [ 242.848038] [<ffffffff8114418a>] ? finish_task_switch+0x3a/0x110
> [ 242.849022] [<ffffffff811bf780>] ? rcu_torture_reader+0x450/0x450
> [ 242.850058] [<ffffffff811bf330>] ? rcutorture_trace_dump+0x40/0x40
> [ 242.851044] [<ffffffff81135db3>] kthread+0xe3/0xf0
> [ 242.851859] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
> [ 242.852922] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
> [ 242.853941] [<ffffffff839f1e85>] kernel_thread_helper+0x5/0x10
> [ 242.854928] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
> [ 242.855942] no locks held by rcu_torture_rea/2728.
> [ 242.856700] INFO: task rcu_torture_rea:2729 blocked for more than 120 seconds.
> [ 242.857862] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
> message.
> [ 242.859116] rcu_torture_rea D ffff88001b64b000 5520 2729 2 0x00000000
> [ 242.860295] ffff88000ce59c38 0000000000000002 ffff88000ce59be8 ffffffff819e89d8
> [ 242.861549] ffff88000ce59fd8 ffff88000ce59fd8 ffff88000ce59fd8 ffff88000ce59fd8
> [ 242.862732] ffff88001b64b000 ffff88000ce53000 0000000000000043 ffffffff845bb084
> [ 242.863969] Call Trace:
> [ 242.864385] [<ffffffff819e89d8>] ? do_raw_spin_unlock+0xc8/0xe0
> [ 242.865388] [<ffffffff839edb35>] schedule+0x55/0x60
> [ 242.866224] [<ffffffff839ebab5>] schedule_timeout+0x45/0x360
> [ 242.867201] [<ffffffff83992a98>] ? printk+0x5c/0x5e
> [ 242.868030] [<ffffffff839ebe29>] schedule_timeout_uninterruptible+0x19/0x20
> [ 242.869170] [<ffffffff811bc63f>] rcutorture_shutdown_absorb+0x2f/0x40
> [ 242.870280] [<ffffffff811bc94a>] rcu_stutter_wait+0x4a/0x70
> [ 242.871204] [<ffffffff811bf67e>] rcu_torture_reader+0x34e/0x450
> [ 242.872168] [<ffffffff8114418a>] ? finish_task_switch+0x3a/0x110
> [ 242.873061] [<ffffffff811bf780>] ? rcu_torture_reader+0x450/0x450
> [ 242.874059] [<ffffffff811bf330>] ? rcutorture_trace_dump+0x40/0x40
> [ 242.875162] [<ffffffff81135db3>] kthread+0xe3/0xf0
> [ 242.876017] [<ffffffff81177ade>] ? put_lock_stats.isra.16+0xe/0x40
> [ 242.877081] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
> [ 242.878076] [<ffffffff839f1e85>] kernel_thread_helper+0x5/0x10
> [ 242.879034] [<ffffffff81135cd0>] ? insert_kthread_work+0x90/0x90
> [ 242.880089] no locks held by rcu_torture_rea/2729.
> 


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-21 12:13               ` Paul E. McKenney
@ 2012-09-21 13:26                 ` Sasha Levin
  2012-09-21 15:12                   ` Paul E. McKenney
  0 siblings, 1 reply; 41+ messages in thread
From: Sasha Levin @ 2012-09-21 13:26 UTC (permalink / raw)
  To: paulmck; +Cc: Michael Wang, Dave Jones, linux-kernel

On 09/21/2012 02:13 PM, Paul E. McKenney wrote:
>> This might be unrelated, but I got the following dump as well when trinity
>> > decided it's time to reboot my guest:
> OK, sounds like we should hold off until you reproduce, then.

I'm not sure what you mean.

There are basically two issues I'm seeing now, which reproduce pretty much every
time:

 1. The "using when idle" warning.
 2. The rcu related hangs during shutdown.

The first one appears early on when I start fuzzing, the other one happens when
shutting down - so both of them are reproducible in the same session.


Thanks,
Sasha

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-21 13:26                 ` Sasha Levin
@ 2012-09-21 15:12                   ` Paul E. McKenney
  2012-09-21 15:18                     ` Sasha Levin
  0 siblings, 1 reply; 41+ messages in thread
From: Paul E. McKenney @ 2012-09-21 15:12 UTC (permalink / raw)
  To: Sasha Levin; +Cc: Michael Wang, Dave Jones, linux-kernel

On Fri, Sep 21, 2012 at 03:26:27PM +0200, Sasha Levin wrote:
> On 09/21/2012 02:13 PM, Paul E. McKenney wrote:
> >> This might be unrelated, but I got the following dump as well when trinity
> >> > decided it's time to reboot my guest:
> > OK, sounds like we should hold off until you reproduce, then.
> 
> I'm not sure what you mean.
> 
> There are basically two issues I'm seeing now, which reproduce pretty much every
> time:
> 
>  1. The "using when idle" warning.
>  2. The rcu related hangs during shutdown.
> 
> The first one appears early on when I start fuzzing, the other one happens when
> shutting down - so both of them are reproducible in the same session.

Ah, I misunderstood the "reboot my guest" -- I thought that you were
doing something like repeated modprobe/rmmod cycles on rcutorture while
running the guest for an extended time period.  That will teach me not
to reply to email so soon after waking up.  ;-)

That said, #2 is expected behavior given the RCU CPU stall warnings in
your Sept. 20 dmesg.  This is because rcutorture does rcu_barrier() on
the way out, which cannot complete if grace periods are not completing.
And the later soft lockup is also likely a consequence of the stall,
because CPU hotplug does a synchronize_sched() while holding the hotplug
lock, which will then cause get_online_cpus() to hang.

Looking further down, there are hung tasks that are waiting for a
timeout, but this is also a consequence of the hang because they
are waiting for MAX_SCHEDULE_TIMEOUT -- in other words, they are
waiting to be killed at shutdown time.  I could suppress this by using
schedule_timeout_interruptible() in a loop in order to reduce the noise
in this case.

The remaining traces in that email are also consequences of the stall.

So why the stall?

Using RCU from a CPU that RCU believes to be idle can cause arbitrary
bad behavior (possibly including stalls), but with very low probability.
The reason that things can go arbitrarily bad is that RCU is ignoring
the CPU, and thus not waiting for any RCU read-side critical sections.
This could of course result in abitrary corruption of memory.  The reason
for the low probability is that grace periods tend to be long and RCU
read-side critical sections tend to be short.

It looks like you are running -next, which has RCU grace periods driven
by a kthread.  Is it possible that this kthread is not getting a chance
to run (in fact, the "Stall ended before state dump start" is consistent
with that possibility), but in that case I would expect to see a soft
lockup from it.  Furthermore, in that case, it would be expected to
start running again as soon as things started going idle during shutdown.

Or did the system somehow manage to stay busy despite being in shutdown?
Or, for that matter, are you overcommitting the physical CPUs on your
trinity test setup?

							Thanx, Paul


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-21 15:12                   ` Paul E. McKenney
@ 2012-09-21 15:18                     ` Sasha Levin
  2012-09-22  8:26                       ` Sasha Levin
  0 siblings, 1 reply; 41+ messages in thread
From: Sasha Levin @ 2012-09-21 15:18 UTC (permalink / raw)
  To: paulmck; +Cc: Michael Wang, Dave Jones, linux-kernel

On 09/21/2012 05:12 PM, Paul E. McKenney wrote:
> On Fri, Sep 21, 2012 at 03:26:27PM +0200, Sasha Levin wrote:
>> On 09/21/2012 02:13 PM, Paul E. McKenney wrote:
>>>> This might be unrelated, but I got the following dump as well when trinity
>>>>> decided it's time to reboot my guest:
>>> OK, sounds like we should hold off until you reproduce, then.
>>
>> I'm not sure what you mean.
>>
>> There are basically two issues I'm seeing now, which reproduce pretty much every
>> time:
>>
>>  1. The "using when idle" warning.
>>  2. The rcu related hangs during shutdown.
>>
>> The first one appears early on when I start fuzzing, the other one happens when
>> shutting down - so both of them are reproducible in the same session.
> 
> Ah, I misunderstood the "reboot my guest" -- I thought that you were
> doing something like repeated modprobe/rmmod cycles on rcutorture while
> running the guest for an extended time period.  That will teach me not
> to reply to email so soon after waking up.  ;-)
> 
> That said, #2 is expected behavior given the RCU CPU stall warnings in
> your Sept. 20 dmesg.  This is because rcutorture does rcu_barrier() on
> the way out, which cannot complete if grace periods are not completing.
> And the later soft lockup is also likely a consequence of the stall,
> because CPU hotplug does a synchronize_sched() while holding the hotplug
> lock, which will then cause get_online_cpus() to hang.
> 
> Looking further down, there are hung tasks that are waiting for a
> timeout, but this is also a consequence of the hang because they
> are waiting for MAX_SCHEDULE_TIMEOUT -- in other words, they are
> waiting to be killed at shutdown time.  I could suppress this by using
> schedule_timeout_interruptible() in a loop in order to reduce the noise
> in this case.
> 
> The remaining traces in that email are also consequences of the stall.
> 
> So why the stall?
> 
> Using RCU from a CPU that RCU believes to be idle can cause arbitrary
> bad behavior (possibly including stalls), but with very low probability.
> The reason that things can go arbitrarily bad is that RCU is ignoring
> the CPU, and thus not waiting for any RCU read-side critical sections.
> This could of course result in abitrary corruption of memory.  The reason
> for the low probability is that grace periods tend to be long and RCU
> read-side critical sections tend to be short.
> 
> It looks like you are running -next, which has RCU grace periods driven
> by a kthread.  Is it possible that this kthread is not getting a chance
> to run (in fact, the "Stall ended before state dump start" is consistent
> with that possibility), but in that case I would expect to see a soft
> lockup from it.  Furthermore, in that case, it would be expected to
> start running again as soon as things started going idle during shutdown.
> 
> Or did the system somehow manage to stay busy despite being in shutdown?
> Or, for that matter, are you overcommitting the physical CPUs on your
> trinity test setup?

Nope, I originally had 4 vcpus in the guest with the host running 4 physical
cpus, but I've also tested it with just 2 vcpus and still see the warnings.


Thanks,
Sasha


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-21 15:18                     ` Sasha Levin
@ 2012-09-22  8:26                       ` Sasha Levin
  2012-09-22 15:09                         ` Paul E. McKenney
  0 siblings, 1 reply; 41+ messages in thread
From: Sasha Levin @ 2012-09-22  8:26 UTC (permalink / raw)
  To: paulmck; +Cc: Michael Wang, Dave Jones, linux-kernel

On 09/21/2012 05:18 PM, Sasha Levin wrote:
> On 09/21/2012 05:12 PM, Paul E. McKenney wrote:
>> On Fri, Sep 21, 2012 at 03:26:27PM +0200, Sasha Levin wrote:
>>> On 09/21/2012 02:13 PM, Paul E. McKenney wrote:
>>>>> This might be unrelated, but I got the following dump as well when trinity
>>>>>> decided it's time to reboot my guest:
>>>> OK, sounds like we should hold off until you reproduce, then.
>>>
>>> I'm not sure what you mean.
>>>
>>> There are basically two issues I'm seeing now, which reproduce pretty much every
>>> time:
>>>
>>>  1. The "using when idle" warning.
>>>  2. The rcu related hangs during shutdown.
>>>
>>> The first one appears early on when I start fuzzing, the other one happens when
>>> shutting down - so both of them are reproducible in the same session.
>>
>> Ah, I misunderstood the "reboot my guest" -- I thought that you were
>> doing something like repeated modprobe/rmmod cycles on rcutorture while
>> running the guest for an extended time period.  That will teach me not
>> to reply to email so soon after waking up.  ;-)
>>
>> That said, #2 is expected behavior given the RCU CPU stall warnings in
>> your Sept. 20 dmesg.  This is because rcutorture does rcu_barrier() on
>> the way out, which cannot complete if grace periods are not completing.
>> And the later soft lockup is also likely a consequence of the stall,
>> because CPU hotplug does a synchronize_sched() while holding the hotplug
>> lock, which will then cause get_online_cpus() to hang.
>>
>> Looking further down, there are hung tasks that are waiting for a
>> timeout, but this is also a consequence of the hang because they
>> are waiting for MAX_SCHEDULE_TIMEOUT -- in other words, they are
>> waiting to be killed at shutdown time.  I could suppress this by using
>> schedule_timeout_interruptible() in a loop in order to reduce the noise
>> in this case.
>>
>> The remaining traces in that email are also consequences of the stall.
>>
>> So why the stall?
>>
>> Using RCU from a CPU that RCU believes to be idle can cause arbitrary
>> bad behavior (possibly including stalls), but with very low probability.
>> The reason that things can go arbitrarily bad is that RCU is ignoring
>> the CPU, and thus not waiting for any RCU read-side critical sections.
>> This could of course result in abitrary corruption of memory.  The reason
>> for the low probability is that grace periods tend to be long and RCU
>> read-side critical sections tend to be short.
>>
>> It looks like you are running -next, which has RCU grace periods driven
>> by a kthread.  Is it possible that this kthread is not getting a chance
>> to run (in fact, the "Stall ended before state dump start" is consistent
>> with that possibility), but in that case I would expect to see a soft
>> lockup from it.  Furthermore, in that case, it would be expected to
>> start running again as soon as things started going idle during shutdown.
>>
>> Or did the system somehow manage to stay busy despite being in shutdown?
>> Or, for that matter, are you overcommitting the physical CPUs on your
>> trinity test setup?
> 
> Nope, I originally had 4 vcpus in the guest with the host running 4 physical
> cpus, but I've also tested it with just 2 vcpus and still see the warnings.

Some more info that might help, I'm also occasionally seeing:

[   42.389345] ------------[ cut here ]------------
[   42.389348] WARNING: at kernel/rcutree.c:375 rcu_eqs_enter+0x5c/0xc0()
[   42.389350] Pid: 0, comm: swapper/2 Tainted: G        W
3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
[   42.389351] Call Trace:
[   42.389354]  [<ffffffff811c653c>] ? rcu_eqs_enter+0x5c/0xc0
[   42.389356]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
[   42.389359]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
[   42.389361]  [<ffffffff811c653c>] rcu_eqs_enter+0x5c/0xc0
[   42.389364]  [<ffffffff811c66f3>] rcu_idle_enter+0x43/0xa0
[   42.389366]  [<ffffffff81078956>] cpu_idle+0x126/0x160
[   42.389369]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
[   42.389370] ---[ end trace 04c11301284d64ee ]---
[   42.389394] ------------[ cut here ]------------
[   42.389396] WARNING: at kernel/rcutree.c:350 rcu_eqs_enter_common+0x709/0x970()
[   42.389398] Pid: 0, comm: swapper/2 Tainted: G        W
3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
[   42.389399] Call Trace:
[   42.389402]  [<ffffffff811c6019>] ? rcu_eqs_enter_common+0x709/0x970
[   42.389405]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
[   42.389407]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
[   42.389410]  [<ffffffff811c6019>] rcu_eqs_enter_common+0x709/0x970
[   42.389412]  [<ffffffff811c658f>] rcu_eqs_enter+0xaf/0xc0
[   42.389414]  [<ffffffff811c66f3>] rcu_idle_enter+0x43/0xa0
[   42.389417]  [<ffffffff81078956>] cpu_idle+0x126/0x160
[   42.389420]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
[   42.389421] ---[ end trace 04c11301284d64ef ]---
[   42.389424] ------------[ cut here ]------------
[   42.389426] WARNING: at kernel/rcutree.c:527 rcu_eqs_exit+0x4f/0xb0()
[   42.389427] Pid: 0, comm: swapper/2 Tainted: G        W
3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
[   42.389428] Call Trace:
[   42.389431]  [<ffffffff811c6d9f>] ? rcu_eqs_exit+0x4f/0xb0
[   42.389433]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
[   42.389436]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
[   42.389438]  [<ffffffff811c6d9f>] rcu_eqs_exit+0x4f/0xb0
[   42.389441]  [<ffffffff811c6f13>] rcu_idle_exit+0x43/0xa0
[   42.389443]  [<ffffffff8107896d>] cpu_idle+0x13d/0x160
[   42.389445]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
[   42.389447] ---[ end trace 04c11301284d64f0 ]---
[   42.389448] ------------[ cut here ]------------
[   42.389450] WARNING: at kernel/rcutree.c:501 rcu_eqs_exit_common+0x4a/0x3a0()
[   42.389451] Pid: 0, comm: swapper/2 Tainted: G        W
3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
[   42.389452] Call Trace:
[   42.389455]  [<ffffffff811c679a>] ? rcu_eqs_exit_common+0x4a/0x3a0
[   42.389458]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
[   42.389460]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
[   42.389462]  [<ffffffff811c679a>] rcu_eqs_exit_common+0x4a/0x3a0
[   42.389465]  [<ffffffff811c6dec>] rcu_eqs_exit+0x9c/0xb0
[   42.389467]  [<ffffffff811c6f13>] rcu_idle_exit+0x43/0xa0
[   42.389470]  [<ffffffff8107896d>] cpu_idle+0x13d/0x160
[   42.389472]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
[   42.389474] ---[ end trace 04c11301284d64f1 ]---


Thanks,
Sasha

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-22  8:26                       ` Sasha Levin
@ 2012-09-22 15:09                         ` Paul E. McKenney
  2012-09-22 15:20                           ` Paul E. McKenney
  2012-09-22 15:40                           ` Sasha Levin
  0 siblings, 2 replies; 41+ messages in thread
From: Paul E. McKenney @ 2012-09-22 15:09 UTC (permalink / raw)
  To: Sasha Levin; +Cc: Michael Wang, Dave Jones, linux-kernel

On Sat, Sep 22, 2012 at 10:26:09AM +0200, Sasha Levin wrote:
> On 09/21/2012 05:18 PM, Sasha Levin wrote:
> > On 09/21/2012 05:12 PM, Paul E. McKenney wrote:
> >> On Fri, Sep 21, 2012 at 03:26:27PM +0200, Sasha Levin wrote:
> >>> On 09/21/2012 02:13 PM, Paul E. McKenney wrote:
> >>>>> This might be unrelated, but I got the following dump as well when trinity
> >>>>>> decided it's time to reboot my guest:
> >>>> OK, sounds like we should hold off until you reproduce, then.
> >>>
> >>> I'm not sure what you mean.
> >>>
> >>> There are basically two issues I'm seeing now, which reproduce pretty much every
> >>> time:
> >>>
> >>>  1. The "using when idle" warning.
> >>>  2. The rcu related hangs during shutdown.
> >>>
> >>> The first one appears early on when I start fuzzing, the other one happens when
> >>> shutting down - so both of them are reproducible in the same session.
> >>
> >> Ah, I misunderstood the "reboot my guest" -- I thought that you were
> >> doing something like repeated modprobe/rmmod cycles on rcutorture while
> >> running the guest for an extended time period.  That will teach me not
> >> to reply to email so soon after waking up.  ;-)
> >>
> >> That said, #2 is expected behavior given the RCU CPU stall warnings in
> >> your Sept. 20 dmesg.  This is because rcutorture does rcu_barrier() on
> >> the way out, which cannot complete if grace periods are not completing.
> >> And the later soft lockup is also likely a consequence of the stall,
> >> because CPU hotplug does a synchronize_sched() while holding the hotplug
> >> lock, which will then cause get_online_cpus() to hang.
> >>
> >> Looking further down, there are hung tasks that are waiting for a
> >> timeout, but this is also a consequence of the hang because they
> >> are waiting for MAX_SCHEDULE_TIMEOUT -- in other words, they are
> >> waiting to be killed at shutdown time.  I could suppress this by using
> >> schedule_timeout_interruptible() in a loop in order to reduce the noise
> >> in this case.
> >>
> >> The remaining traces in that email are also consequences of the stall.
> >>
> >> So why the stall?
> >>
> >> Using RCU from a CPU that RCU believes to be idle can cause arbitrary
> >> bad behavior (possibly including stalls), but with very low probability.
> >> The reason that things can go arbitrarily bad is that RCU is ignoring
> >> the CPU, and thus not waiting for any RCU read-side critical sections.
> >> This could of course result in abitrary corruption of memory.  The reason
> >> for the low probability is that grace periods tend to be long and RCU
> >> read-side critical sections tend to be short.
> >>
> >> It looks like you are running -next, which has RCU grace periods driven
> >> by a kthread.  Is it possible that this kthread is not getting a chance
> >> to run (in fact, the "Stall ended before state dump start" is consistent
> >> with that possibility), but in that case I would expect to see a soft
> >> lockup from it.  Furthermore, in that case, it would be expected to
> >> start running again as soon as things started going idle during shutdown.
> >>
> >> Or did the system somehow manage to stay busy despite being in shutdown?
> >> Or, for that matter, are you overcommitting the physical CPUs on your
> >> trinity test setup?
> > 
> > Nope, I originally had 4 vcpus in the guest with the host running 4 physical
> > cpus, but I've also tested it with just 2 vcpus and still see the warnings.
> 
> Some more info that might help, I'm also occasionally seeing:
> 
> [   42.389345] ------------[ cut here ]------------
> [   42.389348] WARNING: at kernel/rcutree.c:375 rcu_eqs_enter+0x5c/0xc0()
> [   42.389350] Pid: 0, comm: swapper/2 Tainted: G        W
> 3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378

Hmmm...  So either RCU is losing count or some CPU that is already
marked as idle from RCU's perspective is trying to re-enter idle.

This is helpful, thank you!  It fits in nicely with the splat that
you got after applying Michael Wang's patch.  Could you please try the
diagnostic patch below?

							Thanx, Paul

> [   42.389351] Call Trace:
> [   42.389354]  [<ffffffff811c653c>] ? rcu_eqs_enter+0x5c/0xc0
> [   42.389356]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
> [   42.389359]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
> [   42.389361]  [<ffffffff811c653c>] rcu_eqs_enter+0x5c/0xc0
> [   42.389364]  [<ffffffff811c66f3>] rcu_idle_enter+0x43/0xa0
> [   42.389366]  [<ffffffff81078956>] cpu_idle+0x126/0x160
> [   42.389369]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
> [   42.389370] ---[ end trace 04c11301284d64ee ]---
> [   42.389394] ------------[ cut here ]------------
> [   42.389396] WARNING: at kernel/rcutree.c:350 rcu_eqs_enter_common+0x709/0x970()
> [   42.389398] Pid: 0, comm: swapper/2 Tainted: G        W
> 3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
> [   42.389399] Call Trace:
> [   42.389402]  [<ffffffff811c6019>] ? rcu_eqs_enter_common+0x709/0x970
> [   42.389405]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
> [   42.389407]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
> [   42.389410]  [<ffffffff811c6019>] rcu_eqs_enter_common+0x709/0x970
> [   42.389412]  [<ffffffff811c658f>] rcu_eqs_enter+0xaf/0xc0
> [   42.389414]  [<ffffffff811c66f3>] rcu_idle_enter+0x43/0xa0
> [   42.389417]  [<ffffffff81078956>] cpu_idle+0x126/0x160
> [   42.389420]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
> [   42.389421] ---[ end trace 04c11301284d64ef ]---
> [   42.389424] ------------[ cut here ]------------
> [   42.389426] WARNING: at kernel/rcutree.c:527 rcu_eqs_exit+0x4f/0xb0()
> [   42.389427] Pid: 0, comm: swapper/2 Tainted: G        W
> 3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
> [   42.389428] Call Trace:
> [   42.389431]  [<ffffffff811c6d9f>] ? rcu_eqs_exit+0x4f/0xb0
> [   42.389433]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
> [   42.389436]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
> [   42.389438]  [<ffffffff811c6d9f>] rcu_eqs_exit+0x4f/0xb0
> [   42.389441]  [<ffffffff811c6f13>] rcu_idle_exit+0x43/0xa0
> [   42.389443]  [<ffffffff8107896d>] cpu_idle+0x13d/0x160
> [   42.389445]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
> [   42.389447] ---[ end trace 04c11301284d64f0 ]---
> [   42.389448] ------------[ cut here ]------------
> [   42.389450] WARNING: at kernel/rcutree.c:501 rcu_eqs_exit_common+0x4a/0x3a0()
> [   42.389451] Pid: 0, comm: swapper/2 Tainted: G        W
> 3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
> [   42.389452] Call Trace:
> [   42.389455]  [<ffffffff811c679a>] ? rcu_eqs_exit_common+0x4a/0x3a0
> [   42.389458]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
> [   42.389460]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
> [   42.389462]  [<ffffffff811c679a>] rcu_eqs_exit_common+0x4a/0x3a0
> [   42.389465]  [<ffffffff811c6dec>] rcu_eqs_exit+0x9c/0xb0
> [   42.389467]  [<ffffffff811c6f13>] rcu_idle_exit+0x43/0xa0
> [   42.389470]  [<ffffffff8107896d>] cpu_idle+0x13d/0x160
> [   42.389472]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
> [   42.389474] ---[ end trace 04c11301284d64f1 ]---

diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
index da14e5c..39d0aec 100644
--- a/arch/x86/kernel/process.c
+++ b/arch/x86/kernel/process.c
@@ -418,16 +418,22 @@ void cpu_idle(void)
 				pm_idle();
 
 			rcu_idle_exit();
+			WARN_ON(rcu_is_cpu_idle());
 			start_critical_timings();
 
 			/* In many cases the interrupt that ended idle
 			   has already called exit_idle. But some idle
 			   loops can be woken up without interrupt. */
+			WARN_ON(rcu_is_cpu_idle());
 			__exit_idle();
+			WARN_ON(rcu_is_cpu_idle());
 		}
 
+		WARN_ON(rcu_is_cpu_idle());
 		tick_nohz_idle_exit();
+		WARN_ON(rcu_is_cpu_idle());
 		preempt_enable_no_resched();
+		WARN_ON(rcu_is_cpu_idle());
 		schedule();
 		preempt_disable();
 	}


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-22 15:09                         ` Paul E. McKenney
@ 2012-09-22 15:20                           ` Paul E. McKenney
  2012-09-22 15:40                           ` Sasha Levin
  1 sibling, 0 replies; 41+ messages in thread
From: Paul E. McKenney @ 2012-09-22 15:20 UTC (permalink / raw)
  To: Sasha Levin; +Cc: Michael Wang, Dave Jones, linux-kernel

On Sat, Sep 22, 2012 at 08:09:13AM -0700, Paul E. McKenney wrote:
> On Sat, Sep 22, 2012 at 10:26:09AM +0200, Sasha Levin wrote:
> > On 09/21/2012 05:18 PM, Sasha Levin wrote:
> > > On 09/21/2012 05:12 PM, Paul E. McKenney wrote:
> > >> On Fri, Sep 21, 2012 at 03:26:27PM +0200, Sasha Levin wrote:
> > >>> On 09/21/2012 02:13 PM, Paul E. McKenney wrote:
> > >>>>> This might be unrelated, but I got the following dump as well when trinity
> > >>>>>> decided it's time to reboot my guest:
> > >>>> OK, sounds like we should hold off until you reproduce, then.
> > >>>
> > >>> I'm not sure what you mean.
> > >>>
> > >>> There are basically two issues I'm seeing now, which reproduce pretty much every
> > >>> time:
> > >>>
> > >>>  1. The "using when idle" warning.
> > >>>  2. The rcu related hangs during shutdown.
> > >>>
> > >>> The first one appears early on when I start fuzzing, the other one happens when
> > >>> shutting down - so both of them are reproducible in the same session.
> > >>
> > >> Ah, I misunderstood the "reboot my guest" -- I thought that you were
> > >> doing something like repeated modprobe/rmmod cycles on rcutorture while
> > >> running the guest for an extended time period.  That will teach me not
> > >> to reply to email so soon after waking up.  ;-)
> > >>
> > >> That said, #2 is expected behavior given the RCU CPU stall warnings in
> > >> your Sept. 20 dmesg.  This is because rcutorture does rcu_barrier() on
> > >> the way out, which cannot complete if grace periods are not completing.
> > >> And the later soft lockup is also likely a consequence of the stall,
> > >> because CPU hotplug does a synchronize_sched() while holding the hotplug
> > >> lock, which will then cause get_online_cpus() to hang.
> > >>
> > >> Looking further down, there are hung tasks that are waiting for a
> > >> timeout, but this is also a consequence of the hang because they
> > >> are waiting for MAX_SCHEDULE_TIMEOUT -- in other words, they are
> > >> waiting to be killed at shutdown time.  I could suppress this by using
> > >> schedule_timeout_interruptible() in a loop in order to reduce the noise
> > >> in this case.
> > >>
> > >> The remaining traces in that email are also consequences of the stall.
> > >>
> > >> So why the stall?
> > >>
> > >> Using RCU from a CPU that RCU believes to be idle can cause arbitrary
> > >> bad behavior (possibly including stalls), but with very low probability.
> > >> The reason that things can go arbitrarily bad is that RCU is ignoring
> > >> the CPU, and thus not waiting for any RCU read-side critical sections.
> > >> This could of course result in abitrary corruption of memory.  The reason
> > >> for the low probability is that grace periods tend to be long and RCU
> > >> read-side critical sections tend to be short.
> > >>
> > >> It looks like you are running -next, which has RCU grace periods driven
> > >> by a kthread.  Is it possible that this kthread is not getting a chance
> > >> to run (in fact, the "Stall ended before state dump start" is consistent
> > >> with that possibility), but in that case I would expect to see a soft
> > >> lockup from it.  Furthermore, in that case, it would be expected to
> > >> start running again as soon as things started going idle during shutdown.
> > >>
> > >> Or did the system somehow manage to stay busy despite being in shutdown?
> > >> Or, for that matter, are you overcommitting the physical CPUs on your
> > >> trinity test setup?
> > > 
> > > Nope, I originally had 4 vcpus in the guest with the host running 4 physical
> > > cpus, but I've also tested it with just 2 vcpus and still see the warnings.
> > 
> > Some more info that might help, I'm also occasionally seeing:
> > 
> > [   42.389345] ------------[ cut here ]------------
> > [   42.389348] WARNING: at kernel/rcutree.c:375 rcu_eqs_enter+0x5c/0xc0()
> > [   42.389350] Pid: 0, comm: swapper/2 Tainted: G        W
> > 3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
> 
> Hmmm...  So either RCU is losing count or some CPU that is already
> marked as idle from RCU's perspective is trying to re-enter idle.
> 
> This is helpful, thank you!  It fits in nicely with the splat that
> you got after applying Michael Wang's patch.  Could you please try the
> diagnostic patch below?

Also, could you please send me your full .config?

							Thanx, Paul

> > [   42.389351] Call Trace:
> > [   42.389354]  [<ffffffff811c653c>] ? rcu_eqs_enter+0x5c/0xc0
> > [   42.389356]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
> > [   42.389359]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
> > [   42.389361]  [<ffffffff811c653c>] rcu_eqs_enter+0x5c/0xc0
> > [   42.389364]  [<ffffffff811c66f3>] rcu_idle_enter+0x43/0xa0
> > [   42.389366]  [<ffffffff81078956>] cpu_idle+0x126/0x160
> > [   42.389369]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
> > [   42.389370] ---[ end trace 04c11301284d64ee ]---
> > [   42.389394] ------------[ cut here ]------------
> > [   42.389396] WARNING: at kernel/rcutree.c:350 rcu_eqs_enter_common+0x709/0x970()
> > [   42.389398] Pid: 0, comm: swapper/2 Tainted: G        W
> > 3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
> > [   42.389399] Call Trace:
> > [   42.389402]  [<ffffffff811c6019>] ? rcu_eqs_enter_common+0x709/0x970
> > [   42.389405]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
> > [   42.389407]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
> > [   42.389410]  [<ffffffff811c6019>] rcu_eqs_enter_common+0x709/0x970
> > [   42.389412]  [<ffffffff811c658f>] rcu_eqs_enter+0xaf/0xc0
> > [   42.389414]  [<ffffffff811c66f3>] rcu_idle_enter+0x43/0xa0
> > [   42.389417]  [<ffffffff81078956>] cpu_idle+0x126/0x160
> > [   42.389420]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
> > [   42.389421] ---[ end trace 04c11301284d64ef ]---
> > [   42.389424] ------------[ cut here ]------------
> > [   42.389426] WARNING: at kernel/rcutree.c:527 rcu_eqs_exit+0x4f/0xb0()
> > [   42.389427] Pid: 0, comm: swapper/2 Tainted: G        W
> > 3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
> > [   42.389428] Call Trace:
> > [   42.389431]  [<ffffffff811c6d9f>] ? rcu_eqs_exit+0x4f/0xb0
> > [   42.389433]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
> > [   42.389436]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
> > [   42.389438]  [<ffffffff811c6d9f>] rcu_eqs_exit+0x4f/0xb0
> > [   42.389441]  [<ffffffff811c6f13>] rcu_idle_exit+0x43/0xa0
> > [   42.389443]  [<ffffffff8107896d>] cpu_idle+0x13d/0x160
> > [   42.389445]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
> > [   42.389447] ---[ end trace 04c11301284d64f0 ]---
> > [   42.389448] ------------[ cut here ]------------
> > [   42.389450] WARNING: at kernel/rcutree.c:501 rcu_eqs_exit_common+0x4a/0x3a0()
> > [   42.389451] Pid: 0, comm: swapper/2 Tainted: G        W
> > 3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
> > [   42.389452] Call Trace:
> > [   42.389455]  [<ffffffff811c679a>] ? rcu_eqs_exit_common+0x4a/0x3a0
> > [   42.389458]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
> > [   42.389460]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
> > [   42.389462]  [<ffffffff811c679a>] rcu_eqs_exit_common+0x4a/0x3a0
> > [   42.389465]  [<ffffffff811c6dec>] rcu_eqs_exit+0x9c/0xb0
> > [   42.389467]  [<ffffffff811c6f13>] rcu_idle_exit+0x43/0xa0
> > [   42.389470]  [<ffffffff8107896d>] cpu_idle+0x13d/0x160
> > [   42.389472]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
> > [   42.389474] ---[ end trace 04c11301284d64f1 ]---
> 
> diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
> index da14e5c..39d0aec 100644
> --- a/arch/x86/kernel/process.c
> +++ b/arch/x86/kernel/process.c
> @@ -418,16 +418,22 @@ void cpu_idle(void)
>  				pm_idle();
>  
>  			rcu_idle_exit();
> +			WARN_ON(rcu_is_cpu_idle());
>  			start_critical_timings();
>  
>  			/* In many cases the interrupt that ended idle
>  			   has already called exit_idle. But some idle
>  			   loops can be woken up without interrupt. */
> +			WARN_ON(rcu_is_cpu_idle());
>  			__exit_idle();
> +			WARN_ON(rcu_is_cpu_idle());
>  		}
>  
> +		WARN_ON(rcu_is_cpu_idle());
>  		tick_nohz_idle_exit();
> +		WARN_ON(rcu_is_cpu_idle());
>  		preempt_enable_no_resched();
> +		WARN_ON(rcu_is_cpu_idle());
>  		schedule();
>  		preempt_disable();
>  	}


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-22 15:09                         ` Paul E. McKenney
  2012-09-22 15:20                           ` Paul E. McKenney
@ 2012-09-22 15:40                           ` Sasha Levin
  2012-09-22 15:56                             ` Paul E. McKenney
  1 sibling, 1 reply; 41+ messages in thread
From: Sasha Levin @ 2012-09-22 15:40 UTC (permalink / raw)
  To: paulmck; +Cc: Michael Wang, Dave Jones, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 8169 bytes --]

On 09/22/2012 05:09 PM, Paul E. McKenney wrote:
> On Sat, Sep 22, 2012 at 10:26:09AM +0200, Sasha Levin wrote:
>> On 09/21/2012 05:18 PM, Sasha Levin wrote:
>>> On 09/21/2012 05:12 PM, Paul E. McKenney wrote:
>>>> On Fri, Sep 21, 2012 at 03:26:27PM +0200, Sasha Levin wrote:
>>>>> On 09/21/2012 02:13 PM, Paul E. McKenney wrote:
>>>>>>> This might be unrelated, but I got the following dump as well when trinity
>>>>>>>> decided it's time to reboot my guest:
>>>>>> OK, sounds like we should hold off until you reproduce, then.
>>>>>
>>>>> I'm not sure what you mean.
>>>>>
>>>>> There are basically two issues I'm seeing now, which reproduce pretty much every
>>>>> time:
>>>>>
>>>>>  1. The "using when idle" warning.
>>>>>  2. The rcu related hangs during shutdown.
>>>>>
>>>>> The first one appears early on when I start fuzzing, the other one happens when
>>>>> shutting down - so both of them are reproducible in the same session.
>>>>
>>>> Ah, I misunderstood the "reboot my guest" -- I thought that you were
>>>> doing something like repeated modprobe/rmmod cycles on rcutorture while
>>>> running the guest for an extended time period.  That will teach me not
>>>> to reply to email so soon after waking up.  ;-)
>>>>
>>>> That said, #2 is expected behavior given the RCU CPU stall warnings in
>>>> your Sept. 20 dmesg.  This is because rcutorture does rcu_barrier() on
>>>> the way out, which cannot complete if grace periods are not completing.
>>>> And the later soft lockup is also likely a consequence of the stall,
>>>> because CPU hotplug does a synchronize_sched() while holding the hotplug
>>>> lock, which will then cause get_online_cpus() to hang.
>>>>
>>>> Looking further down, there are hung tasks that are waiting for a
>>>> timeout, but this is also a consequence of the hang because they
>>>> are waiting for MAX_SCHEDULE_TIMEOUT -- in other words, they are
>>>> waiting to be killed at shutdown time.  I could suppress this by using
>>>> schedule_timeout_interruptible() in a loop in order to reduce the noise
>>>> in this case.
>>>>
>>>> The remaining traces in that email are also consequences of the stall.
>>>>
>>>> So why the stall?
>>>>
>>>> Using RCU from a CPU that RCU believes to be idle can cause arbitrary
>>>> bad behavior (possibly including stalls), but with very low probability.
>>>> The reason that things can go arbitrarily bad is that RCU is ignoring
>>>> the CPU, and thus not waiting for any RCU read-side critical sections.
>>>> This could of course result in abitrary corruption of memory.  The reason
>>>> for the low probability is that grace periods tend to be long and RCU
>>>> read-side critical sections tend to be short.
>>>>
>>>> It looks like you are running -next, which has RCU grace periods driven
>>>> by a kthread.  Is it possible that this kthread is not getting a chance
>>>> to run (in fact, the "Stall ended before state dump start" is consistent
>>>> with that possibility), but in that case I would expect to see a soft
>>>> lockup from it.  Furthermore, in that case, it would be expected to
>>>> start running again as soon as things started going idle during shutdown.
>>>>
>>>> Or did the system somehow manage to stay busy despite being in shutdown?
>>>> Or, for that matter, are you overcommitting the physical CPUs on your
>>>> trinity test setup?
>>>
>>> Nope, I originally had 4 vcpus in the guest with the host running 4 physical
>>> cpus, but I've also tested it with just 2 vcpus and still see the warnings.
>>
>> Some more info that might help, I'm also occasionally seeing:
>>
>> [   42.389345] ------------[ cut here ]------------
>> [   42.389348] WARNING: at kernel/rcutree.c:375 rcu_eqs_enter+0x5c/0xc0()
>> [   42.389350] Pid: 0, comm: swapper/2 Tainted: G        W
>> 3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
> 
> Hmmm...  So either RCU is losing count or some CPU that is already
> marked as idle from RCU's perspective is trying to re-enter idle.
> 
> This is helpful, thank you!  It fits in nicely with the splat that
> you got after applying Michael Wang's patch.  Could you please try the
> diagnostic patch below?
> 
> 							Thanx, Paul
> 
>> [   42.389351] Call Trace:
>> [   42.389354]  [<ffffffff811c653c>] ? rcu_eqs_enter+0x5c/0xc0
>> [   42.389356]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
>> [   42.389359]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
>> [   42.389361]  [<ffffffff811c653c>] rcu_eqs_enter+0x5c/0xc0
>> [   42.389364]  [<ffffffff811c66f3>] rcu_idle_enter+0x43/0xa0
>> [   42.389366]  [<ffffffff81078956>] cpu_idle+0x126/0x160
>> [   42.389369]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
>> [   42.389370] ---[ end trace 04c11301284d64ee ]---
>> [   42.389394] ------------[ cut here ]------------
>> [   42.389396] WARNING: at kernel/rcutree.c:350 rcu_eqs_enter_common+0x709/0x970()
>> [   42.389398] Pid: 0, comm: swapper/2 Tainted: G        W
>> 3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
>> [   42.389399] Call Trace:
>> [   42.389402]  [<ffffffff811c6019>] ? rcu_eqs_enter_common+0x709/0x970
>> [   42.389405]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
>> [   42.389407]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
>> [   42.389410]  [<ffffffff811c6019>] rcu_eqs_enter_common+0x709/0x970
>> [   42.389412]  [<ffffffff811c658f>] rcu_eqs_enter+0xaf/0xc0
>> [   42.389414]  [<ffffffff811c66f3>] rcu_idle_enter+0x43/0xa0
>> [   42.389417]  [<ffffffff81078956>] cpu_idle+0x126/0x160
>> [   42.389420]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
>> [   42.389421] ---[ end trace 04c11301284d64ef ]---
>> [   42.389424] ------------[ cut here ]------------
>> [   42.389426] WARNING: at kernel/rcutree.c:527 rcu_eqs_exit+0x4f/0xb0()
>> [   42.389427] Pid: 0, comm: swapper/2 Tainted: G        W
>> 3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
>> [   42.389428] Call Trace:
>> [   42.389431]  [<ffffffff811c6d9f>] ? rcu_eqs_exit+0x4f/0xb0
>> [   42.389433]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
>> [   42.389436]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
>> [   42.389438]  [<ffffffff811c6d9f>] rcu_eqs_exit+0x4f/0xb0
>> [   42.389441]  [<ffffffff811c6f13>] rcu_idle_exit+0x43/0xa0
>> [   42.389443]  [<ffffffff8107896d>] cpu_idle+0x13d/0x160
>> [   42.389445]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
>> [   42.389447] ---[ end trace 04c11301284d64f0 ]---
>> [   42.389448] ------------[ cut here ]------------
>> [   42.389450] WARNING: at kernel/rcutree.c:501 rcu_eqs_exit_common+0x4a/0x3a0()
>> [   42.389451] Pid: 0, comm: swapper/2 Tainted: G        W
>> 3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
>> [   42.389452] Call Trace:
>> [   42.389455]  [<ffffffff811c679a>] ? rcu_eqs_exit_common+0x4a/0x3a0
>> [   42.389458]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
>> [   42.389460]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
>> [   42.389462]  [<ffffffff811c679a>] rcu_eqs_exit_common+0x4a/0x3a0
>> [   42.389465]  [<ffffffff811c6dec>] rcu_eqs_exit+0x9c/0xb0
>> [   42.389467]  [<ffffffff811c6f13>] rcu_idle_exit+0x43/0xa0
>> [   42.389470]  [<ffffffff8107896d>] cpu_idle+0x13d/0x160
>> [   42.389472]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
>> [   42.389474] ---[ end trace 04c11301284d64f1 ]---
> 
> diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
> index da14e5c..39d0aec 100644
> --- a/arch/x86/kernel/process.c
> +++ b/arch/x86/kernel/process.c
> @@ -418,16 +418,22 @@ void cpu_idle(void)
>  				pm_idle();
>  
>  			rcu_idle_exit();
> +			WARN_ON(rcu_is_cpu_idle());
>  			start_critical_timings();
>  
>  			/* In many cases the interrupt that ended idle
>  			   has already called exit_idle. But some idle
>  			   loops can be woken up without interrupt. */
> +			WARN_ON(rcu_is_cpu_idle());
>  			__exit_idle();
> +			WARN_ON(rcu_is_cpu_idle());
>  		}
>  
> +		WARN_ON(rcu_is_cpu_idle());
>  		tick_nohz_idle_exit();
> +		WARN_ON(rcu_is_cpu_idle());
>  		preempt_enable_no_resched();
> +		WARN_ON(rcu_is_cpu_idle());
>  		schedule();
>  		preempt_disable();
>  	}
> 

I don't see any new warnings using this patch. I've attached the config.


Thanks,
Sasha

[-- Attachment #2: config-sasha --]
[-- Type: text/plain, Size: 134125 bytes --]

#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 3.6.0-rc6 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_GPIO=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ZONE_DMA32=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_HAVE_INTEL_TXT=y
CONFIG_X86_64_SMP=y
CONFIG_X86_HT=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
CONFIG_ARCH_CPU_PROBE_RELEASE=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION="-sasha"
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_FHANDLE=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_WATCH=y
CONFIG_AUDIT_TREE=y
CONFIG_AUDIT_LOGINUID_IMMUTABLE=y
CONFIG_HAVE_GENERIC_HARDIRQS=y

#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_CHIP=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_DEBUG=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y

#
# RCU Subsystem
#
CONFIG_TREE_PREEMPT_RCU=y
CONFIG_PREEMPT_RCU=y
CONFIG_RCU_USER_QS=y
CONFIG_RCU_USER_QS_FORCE=y
CONFIG_RCU_FANOUT=64
CONFIG_RCU_FANOUT_LEAF=16
CONFIG_RCU_FANOUT_EXACT=y
CONFIG_RCU_FAST_NO_HZ=y
CONFIG_TREE_RCU_TRACE=y
CONFIG_RCU_BOOST=y
CONFIG_RCU_BOOST_PRIO=1
CONFIG_RCU_BOOST_DELAY=500
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=18
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_DEBUG=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
CONFIG_MEMCG=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_KMEM=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_BLK_CGROUP=y
CONFIG_DEBUG_BLK_CGROUP=y
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_SCHED_AUTOGROUP=y
CONFIG_MM_OWNER=y
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
CONFIG_RELAY=y
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_EXPERT=y
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_EMBEDDED=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_PERF_USE_VMALLOC=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
CONFIG_DEBUG_PERF_USE_VMALLOC=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
CONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_OPROFILE=y
CONFIG_OPROFILE_EVENT_MULTIPLEX=y
CONFIG_HAVE_OPROFILE=y
CONFIG_OPROFILE_NMI_TIMER=y
CONFIG_JUMP_LABEL=y
CONFIG_UPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_HAVE_RCU_USER_QS=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
# CONFIG_MODULES is not set
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_THROTTLING=y

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_ACORN_PARTITION=y
CONFIG_ACORN_PARTITION_CUMANA=y
CONFIG_ACORN_PARTITION_EESOX=y
CONFIG_ACORN_PARTITION_ICS=y
CONFIG_ACORN_PARTITION_ADFS=y
CONFIG_ACORN_PARTITION_POWERTEC=y
CONFIG_ACORN_PARTITION_RISCIX=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
CONFIG_LDM_DEBUG=y
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_SYSV68_PARTITION=y
CONFIG_BLOCK_COMPAT=y

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_CFQ_GROUP_IOSCHED=y
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PADATA=y
CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_FREEZER=y

#
# Processor type and features
#
CONFIG_ZONE_DMA=y
CONFIG_SMP=y
CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
CONFIG_X86_EXTENDED_PLATFORM=y
CONFIG_X86_NUMACHIP=y
CONFIG_X86_VSMP=y
CONFIG_X86_UV=y
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_KVMTOOL_TEST_ENABLE=y
CONFIG_PARAVIRT_GUEST=y
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_XEN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PRIVILEGED_GUEST=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_MAX_DOMAIN_MEMORY=500
CONFIG_XEN_SAVE_RESTORE=y
CONFIG_XEN_DEBUG_FS=y
CONFIG_KVM_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_PARAVIRT_CLOCK=y
CONFIG_PARAVIRT_DEBUG=y
CONFIG_NO_BOOTMEM=y
CONFIG_MEMTEST=y
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
CONFIG_MCORE2=y
# CONFIG_MATOM is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_INTERNODE_CACHE_SHIFT=12
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_P6_NOP=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_PROCESSOR_SELECT=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
CONFIG_GART_IOMMU=y
CONFIG_CALGARY_IOMMU=y
CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
CONFIG_MAXSMP=y
CONFIG_NR_CPUS=4096
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_IRQ_TIME_ACCOUNTING=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
CONFIG_X86_MCE_INJECT=y
CONFIG_X86_THERMAL_VECTOR=y
CONFIG_I8K=y
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_DIRECT_GBPAGES=y
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NODES_SPAN_OTHER_NODES=y
CONFIG_NUMA_EMU=y
CONFIG_NODES_SHIFT=10
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_MEMORY_PROBE=y
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_NEED_MULTIPLE_NODES=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_ARCH_DISCARD_MEMBLOCK=y
CONFIG_MEMORY_ISOLATION=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_SPARSE=y
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=999999
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
CONFIG_MEMORY_FAILURE=y
CONFIG_HWPOISON_INJECT=y
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CLEANCACHE=y
CONFIG_FRONTSWAP=y
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_RESERVE_LOW=64
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_SECCOMP=y
CONFIG_CC_STACKPROTECTOR=y
CONFIG_HZ_100=y
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=100
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
CONFIG_CRASH_DUMP=y
CONFIG_KEXEC_JUMP=y
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_HOTPLUG_CPU=y
CONFIG_COMPAT_VDSO=y
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE=""
# CONFIG_CMDLINE_OVERRIDE is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y

#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_AUTOSLEEP=y
CONFIG_PM_WAKELOCKS=y
CONFIG_PM_WAKELOCKS_LIMIT=0
CONFIG_PM_WAKELOCKS_GC=y
CONFIG_PM_RUNTIME=y
CONFIG_PM=y
CONFIG_PM_DEBUG=y
CONFIG_PM_ADVANCED_DEBUG=y
CONFIG_PM_TEST_SUSPEND=y
CONFIG_PM_SLEEP_DEBUG=y
CONFIG_PM_TRACE=y
CONFIG_PM_TRACE_RTC=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_PROCFS_POWER=y
CONFIG_ACPI_EC_DEBUGFS=y
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_NUMA=y
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
CONFIG_ACPI_DEBUG=y
CONFIG_ACPI_DEBUG_FUNC_TRACE=y
CONFIG_ACPI_PCI_SLOT=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HOTPLUG_MEMORY=y
CONFIG_ACPI_SBS=y
CONFIG_ACPI_HED=y
CONFIG_ACPI_CUSTOM_METHOD=y
CONFIG_ACPI_BGRT=y
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=y
CONFIG_ACPI_APEI_PCIEAER=y
CONFIG_ACPI_APEI_MEMORY_FAILURE=y
CONFIG_ACPI_APEI_EINJ=y
CONFIG_ACPI_APEI_ERST_DEBUG=y
CONFIG_SFI=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_STAT_DETAILS=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y

#
# x86 CPU frequency scaling drivers
#
CONFIG_X86_PCC_CPUFREQ=y
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_X86_ACPI_CPUFREQ_CPB=y
CONFIG_X86_POWERNOW_K8=y
CONFIG_X86_SPEEDSTEP_CENTRINO=y
CONFIG_X86_P4_CLOCKMOD=y

#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=y
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
CONFIG_INTEL_IDLE=y

#
# Memory power savings
#
CONFIG_I7300_IDLE_IOAT_CHANNEL=y
CONFIG_I7300_IDLE=y

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_XEN=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_CNB20LE_QUIRK=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_PCIEAER=y
CONFIG_PCIE_ECRC=y
CONFIG_PCIEAER_INJECT=y
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEBUG=y
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
CONFIG_PCI_DEBUG=y
CONFIG_PCI_REALLOC_ENABLE_AUTO=y
CONFIG_PCI_STUB=y
CONFIG_XEN_PCIDEV_FRONTEND=y
CONFIG_HT_IRQ=y
CONFIG_PCI_ATS=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
CONFIG_PCI_IOAPIC=y
CONFIG_PCI_LABEL=y
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
CONFIG_PCCARD=y
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=y
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
CONFIG_PD6729=y
CONFIG_I82092=y
CONFIG_PCCARD_NONSTATIC=y
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_ACPI=y
CONFIG_HOTPLUG_PCI_ACPI_IBM=y
CONFIG_HOTPLUG_PCI_CPCI=y
CONFIG_HOTPLUG_PCI_CPCI_ZT5550=y
CONFIG_HOTPLUG_PCI_CPCI_GENERIC=y
CONFIG_HOTPLUG_PCI_SHPC=y
CONFIG_RAPIDIO=y
CONFIG_RAPIDIO_TSI721=y
CONFIG_RAPIDIO_DISC_TIMEOUT=30
CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS=y
CONFIG_RAPIDIO_DMA_ENGINE=y
CONFIG_RAPIDIO_DEBUG=y
CONFIG_RAPIDIO_TSI57X=y
CONFIG_RAPIDIO_CPS_XX=y
CONFIG_RAPIDIO_TSI568=y
CONFIG_RAPIDIO_CPS_GEN2=y
CONFIG_RAPIDIO_TSI500=y

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
# CONFIG_HAVE_AOUT is not set
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
CONFIG_IA32_EMULATION=y
CONFIG_IA32_AOUT=y
CONFIG_X86_X32=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_KEYS_COMPAT=y
CONFIG_HAVE_TEXT_POKE_SMP=y
CONFIG_X86_DEV_DMA_OPS=y
CONFIG_NET=y
CONFIG_COMPAT_NETLINK_MESSAGES=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=y
CONFIG_UNIX=y
CONFIG_UNIX_DIAG=y
CONFIG_XFRM=y
CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_IPCOMP=y
CONFIG_NET_KEY=y
CONFIG_NET_KEY_MIGRATE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_FIB_TRIE_STATS=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
CONFIG_NET_IPIP=y
CONFIG_NET_IPGRE_DEMUX=y
CONFIG_NET_IPGRE=y
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_ARPD=y
CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_IPCOMP=y
CONFIG_INET_XFRM_TUNNEL=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
CONFIG_INET_XFRM_MODE_BEET=y
CONFIG_INET_LRO=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_INET_UDP_DIAG=y
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=y
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=y
CONFIG_TCP_CONG_HTCP=y
CONFIG_TCP_CONG_HSTCP=y
CONFIG_TCP_CONG_HYBLA=y
CONFIG_TCP_CONG_VEGAS=y
CONFIG_TCP_CONG_SCALABLE=y
CONFIG_TCP_CONG_LP=y
CONFIG_TCP_CONG_VENO=y
CONFIG_TCP_CONG_YEAH=y
CONFIG_TCP_CONG_ILLINOIS=y
# CONFIG_DEFAULT_BIC is not set
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_HTCP is not set
# CONFIG_DEFAULT_HYBLA is not set
# CONFIG_DEFAULT_VEGAS is not set
# CONFIG_DEFAULT_VENO is not set
# CONFIG_DEFAULT_WESTWOOD is not set
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
CONFIG_INET6_IPCOMP=y
CONFIG_IPV6_MIP6=y
CONFIG_INET6_XFRM_TUNNEL=y
CONFIG_INET6_TUNNEL=y
CONFIG_INET6_XFRM_MODE_TRANSPORT=y
CONFIG_INET6_XFRM_MODE_TUNNEL=y
CONFIG_INET6_XFRM_MODE_BEET=y
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=y
CONFIG_IPV6_SIT=y
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=y
CONFIG_IPV6_GRE=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_NETLABEL=y
CONFIG_NETWORK_SECMARK=y
CONFIG_NETWORK_PHY_TIMESTAMPING=y
CONFIG_NETFILTER=y
CONFIG_NETFILTER_DEBUG=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_NETLINK_ACCT=y
CONFIG_NETFILTER_NETLINK_QUEUE=y
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
CONFIG_NF_CONNTRACK_PROCFS=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_GRE=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_CONNTRACK_AMANDA=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_H323=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_BROADCAST=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=y
CONFIG_NF_CONNTRACK_SNMP=y
CONFIG_NF_CONNTRACK_PPTP=y
CONFIG_NF_CONNTRACK_SANE=y
CONFIG_NF_CONNTRACK_SIP=y
CONFIG_NF_CONNTRACK_TFTP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NF_CT_NETLINK_TIMEOUT=y
CONFIG_NF_CT_NETLINK_HELPER=y
CONFIG_NETFILTER_NETLINK_QUEUE_CT=y
CONFIG_NF_NAT=y
CONFIG_NF_NAT_NEEDED=y
CONFIG_NF_NAT_PROTO_DCCP=y
CONFIG_NF_NAT_PROTO_UDPLITE=y
CONFIG_NF_NAT_PROTO_SCTP=y
CONFIG_NF_NAT_AMANDA=y
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IRC=y
CONFIG_NF_NAT_SIP=y
CONFIG_NF_NAT_TFTP=y
CONFIG_NETFILTER_TPROXY=y
CONFIG_NETFILTER_XTABLES=y

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=y
CONFIG_NETFILTER_XT_CONNMARK=y
CONFIG_NETFILTER_XT_SET=y

#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=y
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
CONFIG_NETFILTER_XT_TARGET_CT=y
CONFIG_NETFILTER_XT_TARGET_DSCP=y
CONFIG_NETFILTER_XT_TARGET_HL=y
CONFIG_NETFILTER_XT_TARGET_HMARK=y
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
CONFIG_NETFILTER_XT_TARGET_LED=y
CONFIG_NETFILTER_XT_TARGET_LOG=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
CONFIG_NETFILTER_XT_TARGET_RATEEST=y
CONFIG_NETFILTER_XT_TARGET_TEE=y
CONFIG_NETFILTER_XT_TARGET_TPROXY=y
CONFIG_NETFILTER_XT_TARGET_TRACE=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=y

#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_NETFILTER_XT_MATCH_CLUSTER=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_CPU=y
CONFIG_NETFILTER_XT_MATCH_DCCP=y
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=y
CONFIG_NETFILTER_XT_MATCH_DSCP=y
CONFIG_NETFILTER_XT_MATCH_ECN=y
CONFIG_NETFILTER_XT_MATCH_ESP=y
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
CONFIG_NETFILTER_XT_MATCH_HELPER=y
CONFIG_NETFILTER_XT_MATCH_HL=y
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
CONFIG_NETFILTER_XT_MATCH_IPVS=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=y
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
CONFIG_NETFILTER_XT_MATCH_NFACCT=y
CONFIG_NETFILTER_XT_MATCH_OSF=y
CONFIG_NETFILTER_XT_MATCH_OWNER=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=y
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
CONFIG_NETFILTER_XT_MATCH_RATEEST=y
CONFIG_NETFILTER_XT_MATCH_REALM=y
CONFIG_NETFILTER_XT_MATCH_RECENT=y
CONFIG_NETFILTER_XT_MATCH_SCTP=y
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=y
CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_TIME=y
CONFIG_NETFILTER_XT_MATCH_U32=y
CONFIG_IP_SET=y
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=y
CONFIG_IP_SET_BITMAP_IPMAC=y
CONFIG_IP_SET_BITMAP_PORT=y
CONFIG_IP_SET_HASH_IP=y
CONFIG_IP_SET_HASH_IPPORT=y
CONFIG_IP_SET_HASH_IPPORTIP=y
CONFIG_IP_SET_HASH_IPPORTNET=y
CONFIG_IP_SET_HASH_NET=y
CONFIG_IP_SET_HASH_NETPORT=y
CONFIG_IP_SET_HASH_NETIFACE=y
CONFIG_IP_SET_LIST_SET=y
CONFIG_IP_VS=y
CONFIG_IP_VS_IPV6=y
CONFIG_IP_VS_DEBUG=y
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=y
CONFIG_IP_VS_WRR=y
CONFIG_IP_VS_LC=y
CONFIG_IP_VS_WLC=y
CONFIG_IP_VS_LBLC=y
CONFIG_IP_VS_LBLCR=y
CONFIG_IP_VS_DH=y
CONFIG_IP_VS_SH=y
CONFIG_IP_VS_SED=y
CONFIG_IP_VS_NQ=y

#
# IPVS SH scheduler
#
CONFIG_IP_VS_SH_TAB_BITS=8

#
# IPVS application helper
#
# CONFIG_IP_VS_FTP is not set
CONFIG_IP_VS_NFCT=y
CONFIG_IP_VS_PE_SIP=y

#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=y
CONFIG_NF_CONNTRACK_IPV4=y
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
CONFIG_IP_NF_QUEUE=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_AH=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_RPFILTER=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_ULOG=y
CONFIG_NF_NAT_IPV4=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_NF_NAT_SNMP_BASIC=y
CONFIG_NF_NAT_PROTO_GRE=y
CONFIG_NF_NAT_PPTP=y
CONFIG_NF_NAT_H323=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_CLUSTERIP=y
CONFIG_IP_NF_TARGET_ECN=y
CONFIG_IP_NF_TARGET_TTL=y
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_SECURITY=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_IP_NF_ARP_MANGLE=y

#
# IPv6: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV6=y
CONFIG_NF_CONNTRACK_IPV6=y
CONFIG_NF_NAT_IPV6=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MATCH_AH=y
CONFIG_IP6_NF_MATCH_EUI64=y
CONFIG_IP6_NF_MATCH_FRAG=y
CONFIG_IP6_NF_MATCH_OPTS=y
CONFIG_IP6_NF_MATCH_HL=y
CONFIG_IP6_NF_MATCH_IPV6HEADER=y
CONFIG_IP6_NF_MATCH_MH=y
CONFIG_IP6_NF_MATCH_RPFILTER=y
CONFIG_IP6_NF_MATCH_RT=y
CONFIG_IP6_NF_TARGET_HL=y
CONFIG_IP6_NF_TARGET_MASQUERADE=y
CONFIG_IP6_NF_TARGET_NETMAP=y
CONFIG_IP6_NF_TARGET_REDIRECT=y
CONFIG_IP6_NF_TARGET_NPT=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_RAW=y
CONFIG_IP6_NF_SECURITY=y

#
# DECnet: Netfilter Configuration
#
CONFIG_DECNET_NF_GRABULATOR=y
CONFIG_BRIDGE_NF_EBTABLES=y
CONFIG_BRIDGE_EBT_BROUTE=y
CONFIG_BRIDGE_EBT_T_FILTER=y
CONFIG_BRIDGE_EBT_T_NAT=y
CONFIG_BRIDGE_EBT_802_3=y
CONFIG_BRIDGE_EBT_AMONG=y
CONFIG_BRIDGE_EBT_ARP=y
CONFIG_BRIDGE_EBT_IP=y
CONFIG_BRIDGE_EBT_IP6=y
CONFIG_BRIDGE_EBT_LIMIT=y
CONFIG_BRIDGE_EBT_MARK=y
CONFIG_BRIDGE_EBT_PKTTYPE=y
CONFIG_BRIDGE_EBT_STP=y
CONFIG_BRIDGE_EBT_VLAN=y
CONFIG_BRIDGE_EBT_ARPREPLY=y
CONFIG_BRIDGE_EBT_DNAT=y
CONFIG_BRIDGE_EBT_MARK_T=y
CONFIG_BRIDGE_EBT_REDIRECT=y
CONFIG_BRIDGE_EBT_SNAT=y
CONFIG_BRIDGE_EBT_LOG=y
CONFIG_BRIDGE_EBT_ULOG=y
CONFIG_BRIDGE_EBT_NFLOG=y
CONFIG_IP_DCCP=y
CONFIG_INET_DCCP_DIAG=y

#
# DCCP CCIDs Configuration (EXPERIMENTAL)
#
CONFIG_IP_DCCP_CCID2_DEBUG=y
CONFIG_IP_DCCP_CCID3=y
CONFIG_IP_DCCP_CCID3_DEBUG=y
CONFIG_IP_DCCP_TFRC_LIB=y
CONFIG_IP_DCCP_TFRC_DEBUG=y

#
# DCCP Kernel Hacking
#
CONFIG_IP_DCCP_DEBUG=y
CONFIG_IP_SCTP=y
CONFIG_SCTP_DBG_MSG=y
CONFIG_SCTP_DBG_OBJCNT=y
# CONFIG_SCTP_HMAC_NONE is not set
# CONFIG_SCTP_HMAC_SHA1 is not set
CONFIG_SCTP_HMAC_MD5=y
CONFIG_RDS=y
CONFIG_RDS_RDMA=y
CONFIG_RDS_TCP=y
CONFIG_RDS_DEBUG=y
CONFIG_TIPC=y
CONFIG_TIPC_ADVANCED=y
CONFIG_TIPC_PORTS=8191
CONFIG_ATM=y
CONFIG_ATM_CLIP=y
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=y
CONFIG_ATM_MPOA=y
CONFIG_ATM_BR2684=y
CONFIG_ATM_BR2684_IPFILTER=y
CONFIG_L2TP=y
CONFIG_L2TP_DEBUGFS=y
CONFIG_L2TP_V3=y
CONFIG_L2TP_IP=y
CONFIG_L2TP_ETH=y
CONFIG_STP=y
CONFIG_GARP=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_NET_DSA=y
CONFIG_NET_DSA_TAG_DSA=y
CONFIG_NET_DSA_TAG_EDSA=y
CONFIG_NET_DSA_TAG_TRAILER=y
CONFIG_VLAN_8021Q=y
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_DECNET=y
CONFIG_DECNET_ROUTER=y
CONFIG_LLC=y
# CONFIG_LLC2 is not set
CONFIG_IPX=y
CONFIG_IPX_INTERN=y
CONFIG_ATALK=y
CONFIG_DEV_APPLETALK=y
CONFIG_IPDDP=y
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP_DECAP=y
CONFIG_X25=y
CONFIG_LAPB=y
CONFIG_WAN_ROUTER=y
CONFIG_PHONET=y
CONFIG_IEEE802154=y
CONFIG_IEEE802154_6LOWPAN=y
CONFIG_MAC802154=y
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_CBQ=y
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_HFSC=y
CONFIG_NET_SCH_ATM=y
CONFIG_NET_SCH_PRIO=y
CONFIG_NET_SCH_MULTIQ=y
CONFIG_NET_SCH_RED=y
CONFIG_NET_SCH_SFB=y
CONFIG_NET_SCH_SFQ=y
CONFIG_NET_SCH_TEQL=y
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_GRED=y
CONFIG_NET_SCH_DSMARK=y
CONFIG_NET_SCH_NETEM=y
CONFIG_NET_SCH_DRR=y
CONFIG_NET_SCH_MQPRIO=y
CONFIG_NET_SCH_CHOKE=y
CONFIG_NET_SCH_QFQ=y
CONFIG_NET_SCH_CODEL=y
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_SCH_PLUG=y

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=y
CONFIG_NET_CLS_TCINDEX=y
CONFIG_NET_CLS_ROUTE4=y
CONFIG_NET_CLS_FW=y
CONFIG_NET_CLS_U32=y
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=y
CONFIG_NET_CLS_RSVP6=y
CONFIG_NET_CLS_FLOW=y
CONFIG_NET_CLS_CGROUP=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=y
CONFIG_NET_EMATCH_NBYTE=y
CONFIG_NET_EMATCH_U32=y
CONFIG_NET_EMATCH_META=y
CONFIG_NET_EMATCH_TEXT=y
CONFIG_NET_EMATCH_CANID=y
CONFIG_NET_EMATCH_IPSET=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=y
CONFIG_NET_ACT_GACT=y
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=y
CONFIG_NET_ACT_IPT=y
CONFIG_NET_ACT_NAT=y
CONFIG_NET_ACT_PEDIT=y
CONFIG_NET_ACT_SIMP=y
CONFIG_NET_ACT_SKBEDIT=y
CONFIG_NET_ACT_CSUM=y
CONFIG_NET_CLS_IND=y
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
CONFIG_DNS_RESOLVER=y
CONFIG_BATMAN_ADV=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DEBUG=y
CONFIG_OPENVSWITCH=y
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
CONFIG_NETPRIO_CGROUP=y
CONFIG_BQL=y

#
# Network testing
#
CONFIG_NET_PKTGEN=y
CONFIG_NET_DROP_MONITOR=y
CONFIG_HAMRADIO=y

#
# Packet Radio protocols
#
CONFIG_AX25=y
CONFIG_AX25_DAMA_SLAVE=y
CONFIG_NETROM=y
CONFIG_ROSE=y

#
# AX.25 network device drivers
#
CONFIG_MKISS=y
CONFIG_6PACK=y
CONFIG_BPQETHER=y
CONFIG_BAYCOM_SER_FDX=y
CONFIG_BAYCOM_SER_HDX=y
CONFIG_YAM=y
CONFIG_CAN=y
CONFIG_CAN_RAW=y
CONFIG_CAN_BCM=y
CONFIG_CAN_GW=y

#
# CAN Device Drivers
#
CONFIG_CAN_VCAN=y
CONFIG_CAN_SLCAN=y
CONFIG_CAN_DEV=y
CONFIG_CAN_CALC_BITTIMING=y
CONFIG_CAN_MCP251X=y
CONFIG_CAN_JANZ_ICAN3=y
CONFIG_PCH_CAN=y
CONFIG_CAN_SJA1000=y
CONFIG_CAN_SJA1000_ISA=y
CONFIG_CAN_SJA1000_PLATFORM=y
CONFIG_CAN_EMS_PCMCIA=y
CONFIG_CAN_EMS_PCI=y
CONFIG_CAN_PEAK_PCMCIA=y
CONFIG_CAN_PEAK_PCI=y
CONFIG_CAN_PEAK_PCIEC=y
CONFIG_CAN_KVASER_PCI=y
CONFIG_CAN_PLX_PCI=y
CONFIG_CAN_C_CAN=y
CONFIG_CAN_C_CAN_PLATFORM=y
CONFIG_CAN_C_CAN_PCI=y
CONFIG_CAN_CC770=y
CONFIG_CAN_CC770_ISA=y
CONFIG_CAN_CC770_PLATFORM=y

#
# CAN USB interfaces
#
CONFIG_CAN_EMS_USB=y
CONFIG_CAN_ESD_USB2=y
CONFIG_CAN_PEAK_USB=y
CONFIG_CAN_SOFTING=y
CONFIG_CAN_SOFTING_CS=y
CONFIG_CAN_DEBUG_DEVICES=y
CONFIG_IRDA=y

#
# IrDA protocols
#
CONFIG_IRLAN=y
CONFIG_IRNET=y
CONFIG_IRCOMM=y
CONFIG_IRDA_ULTRA=y

#
# IrDA options
#
CONFIG_IRDA_CACHE_LAST_LSAP=y
CONFIG_IRDA_FAST_RR=y
CONFIG_IRDA_DEBUG=y

#
# Infrared-port device drivers
#

#
# SIR device drivers
#
CONFIG_IRTTY_SIR=y

#
# Dongle support
#
CONFIG_DONGLE=y
CONFIG_ESI_DONGLE=y
CONFIG_ACTISYS_DONGLE=y
CONFIG_TEKRAM_DONGLE=y
CONFIG_TOIM3232_DONGLE=y
CONFIG_LITELINK_DONGLE=y
CONFIG_MA600_DONGLE=y
CONFIG_GIRBIL_DONGLE=y
CONFIG_MCP2120_DONGLE=y
CONFIG_OLD_BELKIN_DONGLE=y
CONFIG_ACT200L_DONGLE=y
CONFIG_KINGSUN_DONGLE=y
CONFIG_KSDAZZLE_DONGLE=y
CONFIG_KS959_DONGLE=y

#
# FIR device drivers
#
CONFIG_USB_IRDA=y
CONFIG_SIGMATEL_FIR=y
CONFIG_NSC_FIR=y
CONFIG_WINBOND_FIR=y
CONFIG_SMC_IRCC_FIR=y
CONFIG_ALI_FIR=y
CONFIG_VLSI_FIR=y
CONFIG_VIA_FIR=y
CONFIG_MCS_FIR=y
CONFIG_BT=y
CONFIG_BT_RFCOMM=y
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=y
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=y
CONFIG_BT_HIDP=y

#
# Bluetooth device drivers
#
CONFIG_BT_HCIBTUSB=y
CONFIG_BT_HCIBTSDIO=y
CONFIG_BT_HCIUART=y
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_ATH3K=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART_3WIRE=y
CONFIG_BT_HCIBCM203X=y
CONFIG_BT_HCIBPA10X=y
CONFIG_BT_HCIBFUSB=y
CONFIG_BT_HCIDTL1=y
CONFIG_BT_HCIBT3C=y
CONFIG_BT_HCIBLUECARD=y
CONFIG_BT_HCIBTUART=y
CONFIG_BT_HCIVHCI=y
CONFIG_BT_MRVL=y
CONFIG_BT_MRVL_SDIO=y
CONFIG_BT_ATH3K=y
CONFIG_BT_WILINK=y
CONFIG_AF_RXRPC=y
CONFIG_AF_RXRPC_DEBUG=y
CONFIG_RXKAD=y
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=y
CONFIG_NL80211_TESTMODE=y
CONFIG_CFG80211_DEVELOPER_WARNINGS=y
CONFIG_CFG80211_REG_DEBUG=y
CONFIG_CFG80211_CERTIFICATION_ONUS=y
CONFIG_CFG80211_DEFAULT_PS=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_INTERNAL_REGDB=y
CONFIG_CFG80211_WEXT=y
CONFIG_LIB80211=y
CONFIG_LIB80211_CRYPT_WEP=y
CONFIG_LIB80211_CRYPT_CCMP=y
CONFIG_LIB80211_CRYPT_TKIP=y
CONFIG_LIB80211_DEBUG=y
CONFIG_MAC80211=y
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_PID=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_MINSTREL_HT=y
# CONFIG_MAC80211_RC_DEFAULT_PID is not set
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
CONFIG_MAC80211_MESSAGE_TRACING=y
CONFIG_MAC80211_DEBUG_MENU=y
CONFIG_MAC80211_NOINLINE=y
CONFIG_MAC80211_VERBOSE_DEBUG=y
CONFIG_MAC80211_MLME_DEBUG=y
CONFIG_MAC80211_STA_DEBUG=y
CONFIG_MAC80211_HT_DEBUG=y
CONFIG_MAC80211_IBSS_DEBUG=y
CONFIG_MAC80211_PS_DEBUG=y
CONFIG_MAC80211_MPL_DEBUG=y
CONFIG_MAC80211_MPATH_DEBUG=y
CONFIG_MAC80211_MHWMP_DEBUG=y
CONFIG_MAC80211_MESH_SYNC_DEBUG=y
CONFIG_MAC80211_TDLS_DEBUG=y
CONFIG_MAC80211_DEBUG_COUNTERS=y
CONFIG_WIMAX=y
CONFIG_WIMAX_DEBUG_LEVEL=8
CONFIG_RFKILL=y
CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL_REGULATOR=y
CONFIG_NET_9P=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_NET_9P_RDMA=y
CONFIG_NET_9P_DEBUG=y
CONFIG_CAIF=y
CONFIG_CAIF_DEBUG=y
CONFIG_CAIF_NETDEV=y
CONFIG_CAIF_USB=y
CONFIG_CEPH_LIB=y
CONFIG_CEPH_LIB_PRETTYDEBUG=y
CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
CONFIG_NFC=y
CONFIG_NFC_NCI=y
CONFIG_NFC_HCI=y
CONFIG_NFC_SHDLC=y
CONFIG_NFC_LLCP=y

#
# Near Field Communication (NFC) devices
#
CONFIG_PN544_NFC=y
CONFIG_PN544_HCI_NFC=y
CONFIG_NFC_PN533=y
CONFIG_NFC_WILINK=y
CONFIG_HAVE_BPF_JIT=y

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_DEBUG_DRIVER=y
CONFIG_DEBUG_DEVRES=y
CONFIG_SYS_HYPERVISOR=y
# CONFIG_GENERIC_CPU_DEVICES is not set
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_SPI=y
CONFIG_REGMAP_IRQ=y
CONFIG_DMA_SHARED_BUFFER=y

#
# Bus devices
#
CONFIG_OMAP_OCP2SCP=y
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
CONFIG_MTD=y
CONFIG_MTD_REDBOOT_PARTS=y
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
CONFIG_MTD_REDBOOT_PARTS_READONLY=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_AR7_PARTS=y

#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=y
CONFIG_HAVE_MTD_OTP=y
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
CONFIG_FTL=y
CONFIG_NFTL=y
CONFIG_NFTL_RW=y
CONFIG_INFTL=y
CONFIG_RFD_FTL=y
CONFIG_SSFDC=y
CONFIG_SM_FTL=y
CONFIG_MTD_OOPS=y
CONFIG_MTD_SWAP=y

#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_GEN_PROBE=y
CONFIG_MTD_CFI_ADV_OPTIONS=y
CONFIG_MTD_CFI_NOSWAP=y
# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
CONFIG_MTD_CFI_GEOMETRY=y
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
CONFIG_MTD_MAP_BANK_WIDTH_8=y
CONFIG_MTD_MAP_BANK_WIDTH_16=y
CONFIG_MTD_MAP_BANK_WIDTH_32=y
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
CONFIG_MTD_CFI_I4=y
CONFIG_MTD_CFI_I8=y
CONFIG_MTD_OTP=y
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_STAA=y
CONFIG_MTD_CFI_UTIL=y
CONFIG_MTD_RAM=y
CONFIG_MTD_ROM=y
CONFIG_MTD_ABSENT=y

#
# Mapping drivers for chip access
#
CONFIG_MTD_COMPLEX_MAPPINGS=y
CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_PHYSMAP_COMPAT=y
CONFIG_MTD_PHYSMAP_START=0x8000000
CONFIG_MTD_PHYSMAP_LEN=0
CONFIG_MTD_PHYSMAP_BANKWIDTH=2
CONFIG_MTD_SC520CDP=y
CONFIG_MTD_NETSC520=y
CONFIG_MTD_TS5500=y
CONFIG_MTD_SBC_GXX=y
CONFIG_MTD_AMD76XROM=y
CONFIG_MTD_ICHXROM=y
CONFIG_MTD_ESB2ROM=y
CONFIG_MTD_CK804XROM=y
CONFIG_MTD_SCB2_FLASH=y
CONFIG_MTD_NETtel=y
CONFIG_MTD_L440GX=y
CONFIG_MTD_PCI=y
CONFIG_MTD_PCMCIA=y
CONFIG_MTD_PCMCIA_ANONYMOUS=y
CONFIG_MTD_GPIO_ADDR=y
CONFIG_MTD_INTEL_VR_NOR=y
CONFIG_MTD_PLATRAM=y
CONFIG_MTD_LATCH_ADDR=y

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_PMC551 is not set
CONFIG_MTD_DATAFLASH=y
CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y
CONFIG_MTD_DATAFLASH_OTP=y
CONFIG_MTD_M25P80=y
CONFIG_M25PXX_USE_FAST_READ=y
CONFIG_MTD_SST25L=y
CONFIG_MTD_SLRAM=y
CONFIG_MTD_PHRAM=y
CONFIG_MTD_MTDRAM=y
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTDRAM_ERASE_SIZE=128
CONFIG_MTDRAM_ABS_POS=0
CONFIG_MTD_BLOCK2MTD=y

#
# Disk-On-Chip Device Drivers
#
CONFIG_MTD_DOC2000=y
CONFIG_MTD_DOC2001=y
CONFIG_MTD_DOC2001PLUS=y
CONFIG_MTD_DOCG3=y
CONFIG_BCH_CONST_M=14
CONFIG_BCH_CONST_T=4
CONFIG_MTD_DOCPROBE=y
CONFIG_MTD_DOCECC=y
CONFIG_MTD_DOCPROBE_ADVANCED=y
CONFIG_MTD_DOCPROBE_ADDRESS=0x0
CONFIG_MTD_DOCPROBE_HIGH=y
CONFIG_MTD_DOCPROBE_55AA=y
CONFIG_MTD_NAND_ECC=y
CONFIG_MTD_NAND_ECC_SMC=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_BCH=y
CONFIG_MTD_NAND_ECC_BCH=y
CONFIG_MTD_SM_COMMON=y
CONFIG_MTD_NAND_MUSEUM_IDS=y
CONFIG_MTD_NAND_DENALI=y
CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
CONFIG_MTD_NAND_IDS=y
CONFIG_MTD_NAND_RICOH=y
CONFIG_MTD_NAND_DISKONCHIP=y
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y
CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y
CONFIG_MTD_NAND_DOCG4=y
CONFIG_MTD_NAND_CAFE=y
CONFIG_MTD_NAND_NANDSIM=y
CONFIG_MTD_NAND_PLATFORM=y
CONFIG_MTD_ALAUDA=y
CONFIG_MTD_ONENAND=y
CONFIG_MTD_ONENAND_VERIFY_WRITE=y
CONFIG_MTD_ONENAND_GENERIC=y
CONFIG_MTD_ONENAND_OTP=y
CONFIG_MTD_ONENAND_2X_PROGRAM=y
CONFIG_MTD_ONENAND_SIM=y

#
# LPDDR flash memory drivers
#
CONFIG_MTD_LPDDR=y
CONFIG_MTD_QINFO_PROBE=y
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=2
CONFIG_MTD_UBI_GLUEBI=y
# CONFIG_PARPORT is not set
CONFIG_PNP=y
CONFIG_PNP_DEBUG_MESSAGES=y

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_PCIESSD_MTIP32XX=y
CONFIG_BLK_CPQ_DA=y
CONFIG_BLK_CPQ_CISS_DA=y
CONFIG_CISS_SCSI_TAPE=y
CONFIG_BLK_DEV_DAC960=y
CONFIG_BLK_DEV_UMEM=y
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
CONFIG_BLK_DEV_CRYPTOLOOP=y
CONFIG_BLK_DEV_DRBD=y
CONFIG_DRBD_FAULT_INJECTION=y
CONFIG_BLK_DEV_NBD=y
CONFIG_BLK_DEV_NVME=y
CONFIG_BLK_DEV_OSD=y
CONFIG_BLK_DEV_SX8=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=16384
CONFIG_BLK_DEV_XIP=y
CONFIG_CDROM_PKTCDVD=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD_WCACHE=y
CONFIG_ATA_OVER_ETH=y
CONFIG_XEN_BLKDEV_FRONTEND=y
CONFIG_XEN_BLKDEV_BACKEND=y
CONFIG_VIRTIO_BLK=y
CONFIG_BLK_DEV_HD=y
CONFIG_BLK_DEV_RBD=y

#
# Misc devices
#
CONFIG_SENSORS_LIS3LV02D=y
CONFIG_AD525X_DPOT=y
CONFIG_AD525X_DPOT_I2C=y
CONFIG_AD525X_DPOT_SPI=y
CONFIG_IBM_ASM=y
CONFIG_PHANTOM=y
CONFIG_INTEL_MID_PTI=y
CONFIG_SGI_IOC4=y
CONFIG_TIFM_CORE=y
CONFIG_TIFM_7XX1=y
CONFIG_ICS932S401=y
CONFIG_ENCLOSURE_SERVICES=y
CONFIG_SGI_XP=y
CONFIG_CS5535_MFGPT=y
CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
CONFIG_CS5535_CLOCK_EVENT_SRC=y
CONFIG_HP_ILO=y
CONFIG_SGI_GRU=y
CONFIG_SGI_GRU_DEBUG=y
CONFIG_APDS9802ALS=y
CONFIG_ISL29003=y
CONFIG_ISL29020=y
CONFIG_SENSORS_TSL2550=y
CONFIG_SENSORS_BH1780=y
CONFIG_SENSORS_BH1770=y
CONFIG_SENSORS_APDS990X=y
CONFIG_HMC6352=y
CONFIG_DS1682=y
CONFIG_TI_DAC7512=y
CONFIG_VMWARE_BALLOON=y
CONFIG_BMP085=y
CONFIG_BMP085_I2C=y
CONFIG_BMP085_SPI=y
CONFIG_PCH_PHUB=y
CONFIG_USB_SWITCH_FSA9480=y
CONFIG_C2PORT=y
CONFIG_C2PORT_DURAMAR_2150=y

#
# EEPROM support
#
CONFIG_EEPROM_AT24=y
CONFIG_EEPROM_AT25=y
CONFIG_EEPROM_LEGACY=y
CONFIG_EEPROM_MAX6875=y
CONFIG_EEPROM_93CX6=y
CONFIG_EEPROM_93XX46=y
CONFIG_CB710_CORE=y
CONFIG_CB710_DEBUG=y
CONFIG_CB710_DEBUG_ASSUMPTIONS=y

#
# Texas Instruments shared transport line discipline
#
CONFIG_TI_ST=y
CONFIG_SENSORS_LIS3_I2C=y

#
# Altera FPGA firmware download module
#
CONFIG_ALTERA_STAPL=y
CONFIG_INTEL_MEI=y
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=y
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_CHR_DEV_OSST=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_SCH=y
CONFIG_SCSI_ENCLOSURE=y
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_FC_TGT_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=y
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SAS_LIBSAS=y
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_HOST_SMP=y
CONFIG_SCSI_SRP_ATTRS=y
CONFIG_SCSI_SRP_TGT_ATTRS=y
CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_TCP=y
CONFIG_ISCSI_BOOT_SYSFS=y
CONFIG_SCSI_CXGB3_ISCSI=y
CONFIG_SCSI_CXGB4_ISCSI=y
CONFIG_SCSI_BNX2_ISCSI=y
CONFIG_SCSI_BNX2X_FCOE=y
CONFIG_BE2ISCSI=y
CONFIG_BLK_DEV_3W_XXXX_RAID=y
CONFIG_SCSI_HPSA=y
CONFIG_SCSI_3W_9XXX=y
CONFIG_SCSI_3W_SAS=y
CONFIG_SCSI_ACARD=y
CONFIG_SCSI_AACRAID=y
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
CONFIG_AIC7XXX_RESET_DELAY_MS=5000
CONFIG_AIC7XXX_DEBUG_ENABLE=y
CONFIG_AIC7XXX_DEBUG_MASK=0
CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC7XXX_OLD=y
CONFIG_SCSI_AIC79XX=y
CONFIG_AIC79XX_CMDS_PER_DEVICE=32
CONFIG_AIC79XX_RESET_DELAY_MS=5000
CONFIG_AIC79XX_DEBUG_ENABLE=y
CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC94XX=y
CONFIG_AIC94XX_DEBUG=y
CONFIG_SCSI_MVSAS=y
CONFIG_SCSI_MVSAS_DEBUG=y
CONFIG_SCSI_MVSAS_TASKLET=y
CONFIG_SCSI_MVUMI=y
CONFIG_SCSI_DPT_I2O=y
CONFIG_SCSI_ADVANSYS=y
CONFIG_SCSI_ARCMSR=y
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_MM=y
CONFIG_MEGARAID_MAILBOX=y
CONFIG_MEGARAID_LEGACY=y
CONFIG_MEGARAID_SAS=y
CONFIG_SCSI_MPT2SAS=y
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
CONFIG_SCSI_MPT2SAS_LOGGING=y
CONFIG_SCSI_UFSHCD=y
CONFIG_SCSI_HPTIOP=y
CONFIG_SCSI_BUSLOGIC=y
CONFIG_VMWARE_PVSCSI=y
CONFIG_HYPERV_STORAGE=y
CONFIG_LIBFC=y
CONFIG_LIBFCOE=y
CONFIG_FCOE=y
CONFIG_FCOE_FNIC=y
CONFIG_SCSI_DMX3191D=y
CONFIG_SCSI_EATA=y
CONFIG_SCSI_EATA_TAGGED_QUEUE=y
CONFIG_SCSI_EATA_LINKED_COMMANDS=y
CONFIG_SCSI_EATA_MAX_TAGS=16
CONFIG_SCSI_FUTURE_DOMAIN=y
CONFIG_SCSI_GDTH=y
CONFIG_SCSI_ISCI=y
CONFIG_SCSI_IPS=y
CONFIG_SCSI_INITIO=y
CONFIG_SCSI_INIA100=y
CONFIG_SCSI_STEX=y
CONFIG_SCSI_SYM53C8XX_2=y
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_SYM53C8XX_MMIO=y
CONFIG_SCSI_IPR=y
CONFIG_SCSI_IPR_TRACE=y
CONFIG_SCSI_IPR_DUMP=y
CONFIG_SCSI_QLOGIC_1280=y
CONFIG_SCSI_QLA_FC=y
CONFIG_TCM_QLA2XXX=y
CONFIG_SCSI_QLA_ISCSI=y
# CONFIG_SCSI_LPFC is not set
CONFIG_SCSI_DC395x=y
CONFIG_SCSI_DC390T=y
CONFIG_SCSI_DEBUG=y
CONFIG_SCSI_PMCRAID=y
CONFIG_SCSI_PM8001=y
CONFIG_SCSI_SRP=y
CONFIG_SCSI_BFA_FC=y
CONFIG_SCSI_VIRTIO=y
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
CONFIG_SCSI_DH=y
CONFIG_SCSI_DH_RDAC=y
CONFIG_SCSI_DH_HP_SW=y
CONFIG_SCSI_DH_EMC=y
CONFIG_SCSI_DH_ALUA=y
CONFIG_SCSI_OSD_INITIATOR=y
CONFIG_SCSI_OSD_ULD=y
CONFIG_SCSI_OSD_DPRINT_SENSE=1
# CONFIG_SCSI_OSD_DEBUG is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=y
CONFIG_SATA_AHCI_PLATFORM=y
CONFIG_SATA_INIC162X=y
CONFIG_SATA_ACARD_AHCI=y
CONFIG_SATA_SIL24=y
CONFIG_ATA_SFF=y

#
# SFF controllers with custom DMA interface
#
CONFIG_PDC_ADMA=y
CONFIG_SATA_QSTOR=y
CONFIG_SATA_SX4=y
CONFIG_ATA_BMDMA=y

#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=y
CONFIG_SATA_HIGHBANK=y
CONFIG_SATA_MV=y
CONFIG_SATA_NV=y
CONFIG_SATA_PROMISE=y
CONFIG_SATA_SIL=y
CONFIG_SATA_SIS=y
CONFIG_SATA_SVW=y
CONFIG_SATA_ULI=y
CONFIG_SATA_VIA=y
CONFIG_SATA_VITESSE=y

#
# PATA SFF controllers with BMDMA
#
CONFIG_PATA_ALI=y
CONFIG_PATA_AMD=y
CONFIG_PATA_ARASAN_CF=y
CONFIG_PATA_ARTOP=y
CONFIG_PATA_ATIIXP=y
CONFIG_PATA_ATP867X=y
CONFIG_PATA_CMD64X=y
CONFIG_PATA_CS5520=y
CONFIG_PATA_CS5530=y
CONFIG_PATA_CS5536=y
CONFIG_PATA_CYPRESS=y
CONFIG_PATA_EFAR=y
CONFIG_PATA_HPT366=y
CONFIG_PATA_HPT37X=y
CONFIG_PATA_HPT3X2N=y
CONFIG_PATA_HPT3X3=y
CONFIG_PATA_HPT3X3_DMA=y
CONFIG_PATA_IT8213=y
CONFIG_PATA_IT821X=y
CONFIG_PATA_JMICRON=y
CONFIG_PATA_MARVELL=y
CONFIG_PATA_NETCELL=y
CONFIG_PATA_NINJA32=y
CONFIG_PATA_NS87415=y
CONFIG_PATA_OLDPIIX=y
CONFIG_PATA_OPTIDMA=y
CONFIG_PATA_PDC2027X=y
CONFIG_PATA_PDC_OLD=y
CONFIG_PATA_RADISYS=y
CONFIG_PATA_RDC=y
CONFIG_PATA_SC1200=y
CONFIG_PATA_SCH=y
CONFIG_PATA_SERVERWORKS=y
CONFIG_PATA_SIL680=y
CONFIG_PATA_SIS=y
CONFIG_PATA_TOSHIBA=y
CONFIG_PATA_TRIFLEX=y
CONFIG_PATA_VIA=y
CONFIG_PATA_WINBOND=y

#
# PIO-only SFF controllers
#
CONFIG_PATA_CMD640_PCI=y
CONFIG_PATA_MPIIX=y
CONFIG_PATA_NS87410=y
CONFIG_PATA_OPTI=y
CONFIG_PATA_PCMCIA=y
CONFIG_PATA_PLATFORM=y
CONFIG_PATA_RZ1000=y

#
# Generic fallback / legacy drivers
#
CONFIG_PATA_ACPI=y
CONFIG_ATA_GENERIC=y
CONFIG_PATA_LEGACY=y
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_AUTODETECT=y
CONFIG_MD_LINEAR=y
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
CONFIG_MD_RAID10=y
CONFIG_MD_RAID456=y
CONFIG_MULTICORE_RAID456=y
CONFIG_MD_MULTIPATH=y
CONFIG_MD_FAULTY=y
CONFIG_BLK_DEV_DM=y
CONFIG_DM_DEBUG=y
CONFIG_DM_BUFIO=y
CONFIG_DM_PERSISTENT_DATA=y
CONFIG_DM_CRYPT=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_THIN_PROVISIONING=y
CONFIG_DM_DEBUG_BLOCK_STACK_TRACING=y
CONFIG_DM_MIRROR=y
CONFIG_DM_RAID=y
CONFIG_DM_LOG_USERSPACE=y
CONFIG_DM_ZERO=y
CONFIG_DM_MULTIPATH=y
CONFIG_DM_MULTIPATH_QL=y
CONFIG_DM_MULTIPATH_ST=y
CONFIG_DM_DELAY=y
CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=y
CONFIG_DM_VERITY=y
CONFIG_TARGET_CORE=y
CONFIG_TCM_IBLOCK=y
CONFIG_TCM_FILEIO=y
CONFIG_TCM_PSCSI=y
CONFIG_LOOPBACK_TARGET=y
CONFIG_TCM_FC=y
CONFIG_ISCSI_TARGET=y
CONFIG_SBP_TARGET=y
CONFIG_FUSION=y
CONFIG_FUSION_SPI=y
CONFIG_FUSION_FC=y
CONFIG_FUSION_SAS=y
CONFIG_FUSION_MAX_SGE=128
CONFIG_FUSION_CTL=y
CONFIG_FUSION_LAN=y
CONFIG_FUSION_LOGGING=y

#
# IEEE 1394 (FireWire) support
#
CONFIG_FIREWIRE=y
CONFIG_FIREWIRE_OHCI=y
CONFIG_FIREWIRE_SBP2=y
CONFIG_FIREWIRE_NET=y
CONFIG_FIREWIRE_NOSY=y
CONFIG_I2O=y
CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
CONFIG_I2O_EXT_ADAPTEC=y
CONFIG_I2O_EXT_ADAPTEC_DMA64=y
CONFIG_I2O_CONFIG=y
CONFIG_I2O_CONFIG_OLD_IOCTL=y
CONFIG_I2O_BUS=y
CONFIG_I2O_BLOCK=y
CONFIG_I2O_SCSI=y
CONFIG_I2O_PROC=y
CONFIG_MACINTOSH_DRIVERS=y
CONFIG_MAC_EMUMOUSEBTN=y
CONFIG_NETDEVICES=y
CONFIG_NET_CORE=y
CONFIG_BONDING=y
CONFIG_DUMMY=y
CONFIG_EQUALIZER=y
CONFIG_NET_FC=y
CONFIG_MII=y
CONFIG_IFB=y
CONFIG_NET_TEAM=y
CONFIG_NET_TEAM_MODE_BROADCAST=y
CONFIG_NET_TEAM_MODE_ROUNDROBIN=y
CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=y
CONFIG_NET_TEAM_MODE_LOADBALANCE=y
CONFIG_MACVLAN=y
CONFIG_MACVTAP=y
CONFIG_NETCONSOLE=y
CONFIG_NETCONSOLE_DYNAMIC=y
CONFIG_NETPOLL=y
CONFIG_NETPOLL_TRAP=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_RIONET=y
CONFIG_RIONET_TX_SIZE=128
CONFIG_RIONET_RX_SIZE=128
CONFIG_TUN=y
CONFIG_VETH=y
CONFIG_VIRTIO_NET=y
CONFIG_SUNGEM_PHY=y
CONFIG_ARCNET=y
CONFIG_ARCNET_1201=y
CONFIG_ARCNET_1051=y
CONFIG_ARCNET_RAW=y
CONFIG_ARCNET_CAP=y
CONFIG_ARCNET_COM90xx=y
CONFIG_ARCNET_COM90xxIO=y
CONFIG_ARCNET_RIM_I=y
CONFIG_ARCNET_COM20020=y
CONFIG_ARCNET_COM20020_PCI=y
CONFIG_ARCNET_COM20020_CS=y
CONFIG_ATM_DRIVERS=y
CONFIG_ATM_DUMMY=y
CONFIG_ATM_TCP=y
CONFIG_ATM_LANAI=y
CONFIG_ATM_ENI=y
CONFIG_ATM_ENI_DEBUG=y
CONFIG_ATM_ENI_TUNE_BURST=y
CONFIG_ATM_ENI_BURST_TX_16W=y
CONFIG_ATM_ENI_BURST_TX_8W=y
CONFIG_ATM_ENI_BURST_TX_4W=y
CONFIG_ATM_ENI_BURST_TX_2W=y
CONFIG_ATM_ENI_BURST_RX_16W=y
CONFIG_ATM_ENI_BURST_RX_8W=y
CONFIG_ATM_ENI_BURST_RX_4W=y
CONFIG_ATM_ENI_BURST_RX_2W=y
CONFIG_ATM_FIRESTREAM=y
CONFIG_ATM_ZATM=y
CONFIG_ATM_ZATM_DEBUG=y
CONFIG_ATM_NICSTAR=y
CONFIG_ATM_NICSTAR_USE_SUNI=y
CONFIG_ATM_NICSTAR_USE_IDT77105=y
CONFIG_ATM_IDT77252=y
CONFIG_ATM_IDT77252_DEBUG=y
CONFIG_ATM_IDT77252_RCV_ALL=y
CONFIG_ATM_IDT77252_USE_SUNI=y
CONFIG_ATM_AMBASSADOR=y
CONFIG_ATM_AMBASSADOR_DEBUG=y
CONFIG_ATM_HORIZON=y
CONFIG_ATM_HORIZON_DEBUG=y
CONFIG_ATM_IA=y
CONFIG_ATM_IA_DEBUG=y
CONFIG_ATM_FORE200E=y
CONFIG_ATM_FORE200E_USE_TASKLET=y
CONFIG_ATM_FORE200E_TX_RETRY=16
CONFIG_ATM_FORE200E_DEBUG=0
CONFIG_ATM_HE=y
CONFIG_ATM_HE_USE_SUNI=y
CONFIG_ATM_SOLOS=y

#
# CAIF transport drivers
#
CONFIG_CAIF_TTY=y
CONFIG_CAIF_SPI_SLAVE=y
CONFIG_CAIF_SPI_SYNC=y
CONFIG_CAIF_HSI=y

#
# Distributed Switch Architecture drivers
#
CONFIG_NET_DSA_MV88E6XXX=y
CONFIG_NET_DSA_MV88E6060=y
CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
CONFIG_NET_DSA_MV88E6131=y
CONFIG_NET_DSA_MV88E6123_61_65=y
CONFIG_ETHERNET=y
CONFIG_MDIO=y
CONFIG_NET_VENDOR_3COM=y
CONFIG_PCMCIA_3C574=y
CONFIG_PCMCIA_3C589=y
CONFIG_VORTEX=y
CONFIG_TYPHOON=y
CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_ADAPTEC_STARFIRE=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_ACENIC=y
CONFIG_ACENIC_OMIT_TIGON_I=y
CONFIG_NET_VENDOR_AMD=y
CONFIG_AMD8111_ETH=y
CONFIG_PCNET32=y
CONFIG_PCMCIA_NMCLAN=y
CONFIG_NET_VENDOR_ATHEROS=y
CONFIG_ATL2=y
CONFIG_ATL1=y
CONFIG_ATL1E=y
CONFIG_ATL1C=y
CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_B44=y
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
CONFIG_BNX2=y
CONFIG_CNIC=y
CONFIG_TIGON3=y
CONFIG_BNX2X=y
CONFIG_NET_VENDOR_BROCADE=y
CONFIG_BNA=y
CONFIG_NET_CALXEDA_XGMAC=y
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_CHELSIO_T1=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T3=y
CONFIG_CHELSIO_T4=y
CONFIG_CHELSIO_T4VF=y
CONFIG_NET_VENDOR_CISCO=y
CONFIG_ENIC=y
CONFIG_DNET=y
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_TULIP=y
CONFIG_DE2104X=y
CONFIG_DE2104X_DSL=0
CONFIG_TULIP=y
CONFIG_TULIP_MWI=y
CONFIG_TULIP_MMIO=y
CONFIG_TULIP_NAPI=y
CONFIG_TULIP_NAPI_HW_MITIGATION=y
CONFIG_DE4X5=y
CONFIG_WINBOND_840=y
CONFIG_DM9102=y
CONFIG_ULI526X=y
CONFIG_PCMCIA_XIRCOM=y
CONFIG_NET_VENDOR_DLINK=y
CONFIG_DL2K=y
CONFIG_SUNDANCE=y
CONFIG_SUNDANCE_MMIO=y
CONFIG_NET_VENDOR_EMULEX=y
CONFIG_BE2NET=y
CONFIG_NET_VENDOR_EXAR=y
CONFIG_S2IO=y
CONFIG_VXGE=y
CONFIG_VXGE_DEBUG_TRACE_ALL=y
CONFIG_NET_VENDOR_FUJITSU=y
CONFIG_PCMCIA_FMVJ18X=y
CONFIG_NET_VENDOR_HP=y
CONFIG_HP100=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=y
CONFIG_E1000=y
CONFIG_E1000E=y
CONFIG_IGB=y
CONFIG_IGB_DCA=y
CONFIG_IGB_PTP=y
CONFIG_IGBVF=y
CONFIG_IXGB=y
CONFIG_IXGBE=y
CONFIG_IXGBE_HWMON=y
CONFIG_IXGBE_DCA=y
CONFIG_IXGBE_DCB=y
CONFIG_IXGBE_PTP=y
CONFIG_IXGBEVF=y
CONFIG_NET_VENDOR_I825XX=y
CONFIG_ZNET=y
CONFIG_IP1000=y
CONFIG_JME=y
CONFIG_NET_VENDOR_MARVELL=y
CONFIG_SKGE=y
CONFIG_SKGE_DEBUG=y
CONFIG_SKGE_GENESIS=y
CONFIG_SKY2=y
CONFIG_SKY2_DEBUG=y
CONFIG_NET_VENDOR_MELLANOX=y
CONFIG_MLX4_EN=y
CONFIG_MLX4_EN_DCB=y
CONFIG_MLX4_CORE=y
CONFIG_MLX4_DEBUG=y
CONFIG_NET_VENDOR_MICREL=y
CONFIG_KS8842=y
CONFIG_KS8851=y
CONFIG_KS8851_MLL=y
CONFIG_KSZ884X_PCI=y
CONFIG_NET_VENDOR_MICROCHIP=y
CONFIG_ENC28J60=y
CONFIG_ENC28J60_WRITEVERIFY=y
CONFIG_NET_VENDOR_MYRI=y
CONFIG_MYRI10GE=y
CONFIG_MYRI10GE_DCA=y
CONFIG_FEALNX=y
CONFIG_NET_VENDOR_NATSEMI=y
CONFIG_NATSEMI=y
CONFIG_NS83820=y
CONFIG_NET_VENDOR_8390=y
CONFIG_PCMCIA_AXNET=y
CONFIG_NE2K_PCI=y
CONFIG_PCMCIA_PCNET=y
CONFIG_NET_VENDOR_NVIDIA=y
CONFIG_FORCEDETH=y
CONFIG_NET_VENDOR_OKI=y
CONFIG_PCH_GBE=y
# CONFIG_PCH_PTP is not set
CONFIG_ETHOC=y
CONFIG_NET_PACKET_ENGINE=y
CONFIG_HAMACHI=y
CONFIG_YELLOWFIN=y
CONFIG_NET_VENDOR_QLOGIC=y
CONFIG_QLA3XXX=y
CONFIG_QLCNIC=y
CONFIG_QLGE=y
CONFIG_NETXEN_NIC=y
CONFIG_NET_VENDOR_REALTEK=y
CONFIG_8139CP=y
CONFIG_8139TOO=y
CONFIG_8139TOO_PIO=y
CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_8139TOO_8129=y
CONFIG_8139_OLD_RX_RESET=y
CONFIG_R8169=y
CONFIG_NET_VENDOR_RDC=y
CONFIG_R6040=y
CONFIG_NET_VENDOR_SEEQ=y
CONFIG_SEEQ8005=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_SC92031=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_SIS900=y
CONFIG_SIS190=y
CONFIG_SFC=y
CONFIG_SFC_MTD=y
CONFIG_SFC_MCDI_MON=y
CONFIG_SFC_SRIOV=y
CONFIG_SFC_PTP=y
CONFIG_NET_VENDOR_SMSC=y
CONFIG_PCMCIA_SMC91C92=y
CONFIG_EPIC100=y
CONFIG_SMSC9420=y
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_STMMAC_ETH=y
CONFIG_STMMAC_PLATFORM=y
CONFIG_STMMAC_PCI=y
CONFIG_STMMAC_DEBUG_FS=y
CONFIG_STMMAC_DA=y
# CONFIG_STMMAC_RING is not set
CONFIG_STMMAC_CHAINED=y
CONFIG_NET_VENDOR_SUN=y
CONFIG_HAPPYMEAL=y
CONFIG_SUNGEM=y
CONFIG_CASSINI=y
CONFIG_NIU=y
CONFIG_NET_VENDOR_TEHUTI=y
CONFIG_TEHUTI=y
CONFIG_NET_VENDOR_TI=y
CONFIG_TLAN=y
CONFIG_NET_VENDOR_VIA=y
CONFIG_VIA_RHINE=y
CONFIG_VIA_RHINE_MMIO=y
CONFIG_VIA_VELOCITY=y
CONFIG_NET_VENDOR_WIZNET=y
CONFIG_WIZNET_W5100=y
CONFIG_WIZNET_W5300=y
# CONFIG_WIZNET_BUS_DIRECT is not set
# CONFIG_WIZNET_BUS_INDIRECT is not set
CONFIG_WIZNET_BUS_ANY=y
CONFIG_NET_VENDOR_XIRCOM=y
CONFIG_PCMCIA_XIRC2PS=y
CONFIG_FDDI=y
CONFIG_DEFXX=y
# CONFIG_DEFXX_MMIO is not set
CONFIG_SKFP=y
CONFIG_HIPPI=y
CONFIG_ROADRUNNER=y
CONFIG_ROADRUNNER_LARGE_RINGS=y
CONFIG_NET_SB1000=y
CONFIG_PHYLIB=y

#
# MII PHY device drivers
#
CONFIG_AMD_PHY=y
CONFIG_MARVELL_PHY=y
CONFIG_DAVICOM_PHY=y
CONFIG_QSEMI_PHY=y
CONFIG_LXT_PHY=y
CONFIG_CICADA_PHY=y
CONFIG_VITESSE_PHY=y
CONFIG_SMSC_PHY=y
CONFIG_BROADCOM_PHY=y
CONFIG_BCM87XX_PHY=y
CONFIG_ICPLUS_PHY=y
CONFIG_REALTEK_PHY=y
CONFIG_NATIONAL_PHY=y
CONFIG_STE10XP=y
CONFIG_LSI_ET1011C_PHY=y
CONFIG_MICREL_PHY=y
CONFIG_FIXED_PHY=y
CONFIG_MDIO_BITBANG=y
CONFIG_MDIO_GPIO=y
CONFIG_MICREL_KS8995MA=y
CONFIG_PPP=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=y
CONFIG_PPP_MULTILINK=y
CONFIG_PPPOATM=y
CONFIG_PPPOE=y
CONFIG_PPTP=y
CONFIG_PPPOL2TP=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
CONFIG_SLIP=y
CONFIG_SLHC=y
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y

#
# USB Network Adapters
#
CONFIG_USB_CATC=y
CONFIG_USB_KAWETH=y
CONFIG_USB_PEGASUS=y
CONFIG_USB_RTL8150=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_CDCETHER=y
CONFIG_USB_NET_CDC_EEM=y
CONFIG_USB_NET_CDC_NCM=y
CONFIG_USB_NET_DM9601=y
CONFIG_USB_NET_SMSC75XX=y
CONFIG_USB_NET_SMSC95XX=y
CONFIG_USB_NET_GL620A=y
CONFIG_USB_NET_NET1080=y
CONFIG_USB_NET_PLUSB=y
CONFIG_USB_NET_MCS7830=y
CONFIG_USB_NET_RNDIS_HOST=y
CONFIG_USB_NET_CDC_SUBSET=y
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=y
CONFIG_USB_NET_CX82310_ETH=y
CONFIG_USB_NET_KALMIA=y
CONFIG_USB_NET_QMI_WWAN=y
CONFIG_USB_HSO=y
CONFIG_USB_NET_INT51X1=y
CONFIG_USB_CDC_PHONET=y
CONFIG_USB_IPHETH=y
CONFIG_USB_SIERRA_NET=y
CONFIG_USB_VL600=y
CONFIG_WLAN=y
CONFIG_PCMCIA_RAYCS=y
CONFIG_LIBERTAS_THINFIRM=y
CONFIG_LIBERTAS_THINFIRM_DEBUG=y
CONFIG_LIBERTAS_THINFIRM_USB=y
CONFIG_AIRO=y
CONFIG_ATMEL=y
CONFIG_PCI_ATMEL=y
CONFIG_PCMCIA_ATMEL=y
CONFIG_AT76C50X_USB=y
CONFIG_AIRO_CS=y
CONFIG_PCMCIA_WL3501=y
CONFIG_PRISM54=y
CONFIG_USB_ZD1201=y
CONFIG_USB_NET_RNDIS_WLAN=y
CONFIG_RTL8180=y
CONFIG_RTL8187=y
CONFIG_RTL8187_LEDS=y
CONFIG_ADM8211=y
CONFIG_MAC80211_HWSIM=y
CONFIG_MWL8K=y
CONFIG_ATH_COMMON=y
CONFIG_ATH_DEBUG=y
CONFIG_ATH5K=y
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K_TRACER=y
CONFIG_ATH5K_PCI=y
CONFIG_ATH5K_TEST_CHANNELS=y
CONFIG_ATH9K_HW=y
CONFIG_ATH9K_COMMON=y
CONFIG_ATH9K_DFS_DEBUGFS=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
CONFIG_ATH9K=y
CONFIG_ATH9K_PCI=y
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_DEBUGFS=y
CONFIG_ATH9K_DFS_CERTIFIED=y
CONFIG_ATH9K_MAC_DEBUG=y
CONFIG_ATH9K_RATE_CONTROL=y
CONFIG_ATH9K_HTC=y
CONFIG_ATH9K_HTC_DEBUGFS=y
CONFIG_CARL9170=y
CONFIG_CARL9170_LEDS=y
CONFIG_CARL9170_DEBUGFS=y
CONFIG_CARL9170_WPC=y
CONFIG_CARL9170_HWRNG=y
CONFIG_ATH6KL=y
# CONFIG_ATH6KL_SDIO is not set
# CONFIG_ATH6KL_USB is not set
# CONFIG_ATH6KL_DEBUG is not set
CONFIG_B43=y
CONFIG_B43_BCMA=y
CONFIG_B43_BCMA_EXTRA=y
CONFIG_B43_SSB=y
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
CONFIG_B43_PCMCIA=y
CONFIG_B43_SDIO=y
CONFIG_B43_BCMA_PIO=y
CONFIG_B43_PIO=y
CONFIG_B43_PHY_N=y
CONFIG_B43_PHY_LP=y
CONFIG_B43_PHY_HT=y
CONFIG_B43_LEDS=y
CONFIG_B43_HWRNG=y
CONFIG_B43_DEBUG=y
CONFIG_B43LEGACY=y
CONFIG_B43LEGACY_PCI_AUTOSELECT=y
CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
CONFIG_B43LEGACY_HWRNG=y
CONFIG_B43LEGACY_DEBUG=y
CONFIG_B43LEGACY_DMA=y
CONFIG_B43LEGACY_PIO=y
CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
# CONFIG_B43LEGACY_DMA_MODE is not set
# CONFIG_B43LEGACY_PIO_MODE is not set
CONFIG_BRCMUTIL=y
# CONFIG_BRCMSMAC is not set
CONFIG_BRCMFMAC=y
CONFIG_BRCMFMAC_SDIO=y
CONFIG_BRCMFMAC_SDIO_OOB=y
CONFIG_BRCMFMAC_USB=y
CONFIG_BRCMISCAN=y
CONFIG_BRCMDBG=y
CONFIG_HOSTAP=y
CONFIG_HOSTAP_FIRMWARE=y
CONFIG_HOSTAP_FIRMWARE_NVRAM=y
CONFIG_HOSTAP_PLX=y
CONFIG_HOSTAP_PCI=y
CONFIG_HOSTAP_CS=y
CONFIG_IPW2100=y
CONFIG_IPW2100_MONITOR=y
CONFIG_IPW2100_DEBUG=y
CONFIG_IPW2200=y
CONFIG_IPW2200_MONITOR=y
CONFIG_IPW2200_RADIOTAP=y
CONFIG_IPW2200_PROMISCUOUS=y
CONFIG_IPW2200_QOS=y
CONFIG_IPW2200_DEBUG=y
CONFIG_LIBIPW=y
CONFIG_LIBIPW_DEBUG=y
CONFIG_IWLWIFI=y
CONFIG_IWLDVM=y

#
# Debugging Options
#
CONFIG_IWLWIFI_DEBUG=y
CONFIG_IWLWIFI_DEBUGFS=y
CONFIG_IWLWIFI_DEBUG_EXPERIMENTAL_UCODE=y
CONFIG_IWLWIFI_DEVICE_TRACING=y
CONFIG_IWLWIFI_DEVICE_TESTMODE=y
CONFIG_IWLWIFI_P2P=y
CONFIG_IWLWIFI_EXPERIMENTAL_MFP=y
CONFIG_IWLEGACY=y
CONFIG_IWL4965=y
CONFIG_IWL3945=y

#
# iwl3945 / iwl4965 Debugging Options
#
CONFIG_IWLEGACY_DEBUG=y
CONFIG_IWLEGACY_DEBUGFS=y
CONFIG_LIBERTAS=y
CONFIG_LIBERTAS_USB=y
CONFIG_LIBERTAS_CS=y
CONFIG_LIBERTAS_SDIO=y
CONFIG_LIBERTAS_SPI=y
CONFIG_LIBERTAS_DEBUG=y
CONFIG_LIBERTAS_MESH=y
CONFIG_HERMES=y
CONFIG_HERMES_PRISM=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_PLX_HERMES=y
CONFIG_TMD_HERMES=y
CONFIG_NORTEL_HERMES=y
CONFIG_PCI_HERMES=y
CONFIG_PCMCIA_HERMES=y
CONFIG_PCMCIA_SPECTRUM=y
CONFIG_ORINOCO_USB=y
CONFIG_P54_COMMON=y
CONFIG_P54_USB=y
CONFIG_P54_PCI=y
CONFIG_P54_SPI=y
CONFIG_P54_SPI_DEFAULT_EEPROM=y
CONFIG_P54_LEDS=y
# CONFIG_RT2X00 is not set
CONFIG_RTL8192CE=y
CONFIG_RTL8192SE=y
CONFIG_RTL8192DE=y
CONFIG_RTL8192CU=y
CONFIG_RTLWIFI=y
CONFIG_RTLWIFI_DEBUG=y
CONFIG_RTL8192C_COMMON=y
CONFIG_WL_TI=y
CONFIG_WL1251=y
CONFIG_WL1251_SPI=y
CONFIG_WL1251_SDIO=y
CONFIG_WL12XX=y
CONFIG_WL18XX=y
CONFIG_WLCORE=y
CONFIG_WLCORE_SPI=y
CONFIG_WLCORE_SDIO=y
CONFIG_WL12XX_PLATFORM_DATA=y
CONFIG_ZD1211RW=y
CONFIG_ZD1211RW_DEBUG=y
CONFIG_MWIFIEX=y
CONFIG_MWIFIEX_SDIO=y
CONFIG_MWIFIEX_PCIE=y
CONFIG_MWIFIEX_USB=y

#
# WiMAX Wireless Broadband devices
#
CONFIG_WIMAX_I2400M=y
CONFIG_WIMAX_I2400M_USB=y
CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
CONFIG_WAN=y
CONFIG_LANMEDIA=y
CONFIG_HDLC=y
CONFIG_HDLC_RAW=y
CONFIG_HDLC_RAW_ETH=y
CONFIG_HDLC_CISCO=y
CONFIG_HDLC_FR=y
CONFIG_HDLC_PPP=y
CONFIG_HDLC_X25=y
CONFIG_PCI200SYN=y
CONFIG_WANXL=y
CONFIG_PC300TOO=y
CONFIG_FARSYNC=y
CONFIG_DLCI=y
CONFIG_DLCI_MAX=8
CONFIG_WAN_ROUTER_DRIVERS=y
CONFIG_CYCLADES_SYNC=y
CONFIG_CYCLOMX_X25=y
CONFIG_LAPBETHER=y
CONFIG_X25_ASY=y
CONFIG_SBNI=y
CONFIG_SBNI_MULTILINE=y
CONFIG_IEEE802154_DRIVERS=y
CONFIG_IEEE802154_FAKEHARD=y
CONFIG_IEEE802154_FAKELB=y
CONFIG_IEEE802154_AT86RF230=y
# CONFIG_IEEE802154_MRF24J40 is not set
CONFIG_XEN_NETDEV_FRONTEND=y
CONFIG_XEN_NETDEV_BACKEND=y
CONFIG_VMXNET3=y
CONFIG_HYPERV_NET=y
CONFIG_ISDN=y
CONFIG_ISDN_I4L=y
CONFIG_ISDN_PPP=y
CONFIG_ISDN_PPP_VJ=y
CONFIG_ISDN_MPP=y
CONFIG_IPPP_FILTER=y
CONFIG_ISDN_PPP_BSDCOMP=y
CONFIG_ISDN_AUDIO=y
CONFIG_ISDN_TTY_FAX=y
CONFIG_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=y
CONFIG_DE_AOC=y
# CONFIG_HISAX_NO_SENDCOMPLETE is not set
# CONFIG_HISAX_NO_LLC is not set
# CONFIG_HISAX_NO_KEYPAD is not set
CONFIG_HISAX_1TR6=y
CONFIG_HISAX_NI1=y
CONFIG_HISAX_MAX_CARDS=8

#
# HiSax supported cards
#
CONFIG_HISAX_16_3=y
CONFIG_HISAX_TELESPCI=y
CONFIG_HISAX_S0BOX=y
CONFIG_HISAX_FRITZPCI=y
CONFIG_HISAX_AVM_A1_PCMCIA=y
CONFIG_HISAX_ELSA=y
CONFIG_HISAX_DIEHLDIVA=y
CONFIG_HISAX_SEDLBAUER=y
CONFIG_HISAX_NETJET=y
CONFIG_HISAX_NETJET_U=y
CONFIG_HISAX_NICCY=y
CONFIG_HISAX_BKM_A4T=y
CONFIG_HISAX_SCT_QUADRO=y
CONFIG_HISAX_GAZEL=y
CONFIG_HISAX_HFC_PCI=y
CONFIG_HISAX_W6692=y
CONFIG_HISAX_HFC_SX=y
CONFIG_HISAX_ENTERNOW_PCI=y
CONFIG_HISAX_DEBUG=y

#
# HiSax PCMCIA card service modules
#
CONFIG_HISAX_SEDLBAUER_CS=y
CONFIG_HISAX_ELSA_CS=y
CONFIG_HISAX_AVM_A1_CS=y
CONFIG_HISAX_TELES_CS=y

#
# HiSax sub driver modules
#
CONFIG_HISAX_ST5481=y
CONFIG_HISAX_HFCUSB=y
CONFIG_HISAX_HFC4S8S=y
CONFIG_HISAX_FRITZ_PCIPNP=y

#
# Active cards
#
CONFIG_ISDN_CAPI=y
CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
CONFIG_CAPI_TRACE=y
CONFIG_ISDN_CAPI_MIDDLEWARE=y
CONFIG_ISDN_CAPI_CAPI20=y
CONFIG_ISDN_CAPI_CAPIDRV=y

#
# CAPI hardware drivers
#
CONFIG_CAPI_AVM=y
CONFIG_ISDN_DRV_AVMB1_B1PCI=y
CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=y
CONFIG_ISDN_DRV_AVMB1_AVM_CS=y
CONFIG_ISDN_DRV_AVMB1_T1PCI=y
CONFIG_ISDN_DRV_AVMB1_C4=y
CONFIG_CAPI_EICON=y
CONFIG_ISDN_DIVAS=y
CONFIG_ISDN_DIVAS_BRIPCI=y
CONFIG_ISDN_DIVAS_PRIPCI=y
CONFIG_ISDN_DIVAS_DIVACAPI=y
CONFIG_ISDN_DIVAS_USERIDI=y
CONFIG_ISDN_DRV_GIGASET=y
CONFIG_GIGASET_CAPI=y
# CONFIG_GIGASET_I4L is not set
# CONFIG_GIGASET_DUMMYLL is not set
CONFIG_GIGASET_BASE=y
CONFIG_GIGASET_M105=y
CONFIG_GIGASET_M101=y
CONFIG_GIGASET_DEBUG=y
CONFIG_MISDN=y
CONFIG_MISDN_DSP=y
CONFIG_MISDN_L1OIP=y

#
# mISDN hardware drivers
#
CONFIG_MISDN_HFCPCI=y
CONFIG_MISDN_HFCMULTI=y
CONFIG_MISDN_HFCUSB=y
CONFIG_MISDN_AVMFRITZ=y
CONFIG_MISDN_SPEEDFAX=y
CONFIG_MISDN_INFINEON=y
CONFIG_MISDN_W6692=y
CONFIG_MISDN_NETJET=y
CONFIG_MISDN_IPAC=y
CONFIG_MISDN_ISAR=y
CONFIG_ISDN_HDLC=y

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_POLLDEV=y
CONFIG_INPUT_SPARSEKMAP=y
CONFIG_INPUT_MATRIXKMAP=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_EVBUG=y

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ADP5520=y
CONFIG_KEYBOARD_ADP5588=y
CONFIG_KEYBOARD_ADP5589=y
CONFIG_KEYBOARD_ATKBD=y
CONFIG_KEYBOARD_QT1070=y
CONFIG_KEYBOARD_QT2160=y
CONFIG_KEYBOARD_LKKBD=y
CONFIG_KEYBOARD_GPIO=y
CONFIG_KEYBOARD_GPIO_POLLED=y
CONFIG_KEYBOARD_TCA6416=y
CONFIG_KEYBOARD_TCA8418=y
CONFIG_KEYBOARD_MATRIX=y
CONFIG_KEYBOARD_LM8323=y
CONFIG_KEYBOARD_LM8333=y
CONFIG_KEYBOARD_MAX7359=y
CONFIG_KEYBOARD_MCS=y
CONFIG_KEYBOARD_MPR121=y
CONFIG_KEYBOARD_NEWTON=y
CONFIG_KEYBOARD_OPENCORES=y
CONFIG_KEYBOARD_STOWAWAY=y
CONFIG_KEYBOARD_SUNKBD=y
CONFIG_KEYBOARD_STMPE=y
CONFIG_KEYBOARD_OMAP4=y
CONFIG_KEYBOARD_TC3589X=y
CONFIG_KEYBOARD_TWL4030=y
CONFIG_KEYBOARD_XTKBD=y
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
CONFIG_MOUSE_PS2_TOUCHKIT=y
CONFIG_MOUSE_SERIAL=y
CONFIG_MOUSE_APPLETOUCH=y
CONFIG_MOUSE_BCM5974=y
CONFIG_MOUSE_VSXXXAA=y
CONFIG_MOUSE_GPIO=y
CONFIG_MOUSE_SYNAPTICS_I2C=y
CONFIG_MOUSE_SYNAPTICS_USB=y
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=y
CONFIG_JOYSTICK_A3D=y
CONFIG_JOYSTICK_ADI=y
CONFIG_JOYSTICK_COBRA=y
CONFIG_JOYSTICK_GF2K=y
CONFIG_JOYSTICK_GRIP=y
CONFIG_JOYSTICK_GRIP_MP=y
CONFIG_JOYSTICK_GUILLEMOT=y
CONFIG_JOYSTICK_INTERACT=y
CONFIG_JOYSTICK_SIDEWINDER=y
CONFIG_JOYSTICK_TMDC=y
CONFIG_JOYSTICK_IFORCE=y
CONFIG_JOYSTICK_IFORCE_USB=y
CONFIG_JOYSTICK_IFORCE_232=y
CONFIG_JOYSTICK_WARRIOR=y
CONFIG_JOYSTICK_MAGELLAN=y
CONFIG_JOYSTICK_SPACEORB=y
CONFIG_JOYSTICK_SPACEBALL=y
CONFIG_JOYSTICK_STINGER=y
CONFIG_JOYSTICK_TWIDJOY=y
CONFIG_JOYSTICK_ZHENHUA=y
CONFIG_JOYSTICK_AS5011=y
CONFIG_JOYSTICK_JOYDUMP=y
CONFIG_JOYSTICK_XPAD=y
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=y
CONFIG_TABLET_USB_AIPTEK=y
CONFIG_TABLET_USB_GTCO=y
CONFIG_TABLET_USB_HANWANG=y
CONFIG_TABLET_USB_KBTAB=y
CONFIG_TABLET_USB_WACOM=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_88PM860X=y
CONFIG_TOUCHSCREEN_ADS7846=y
CONFIG_TOUCHSCREEN_AD7877=y
CONFIG_TOUCHSCREEN_AD7879=y
CONFIG_TOUCHSCREEN_AD7879_I2C=y
CONFIG_TOUCHSCREEN_AD7879_SPI=y
CONFIG_TOUCHSCREEN_ATMEL_MXT=y
CONFIG_TOUCHSCREEN_AUO_PIXCIR=y
CONFIG_TOUCHSCREEN_BU21013=y
CONFIG_TOUCHSCREEN_CY8CTMG110=y
CONFIG_TOUCHSCREEN_CYTTSP_CORE=y
CONFIG_TOUCHSCREEN_CYTTSP_I2C=y
CONFIG_TOUCHSCREEN_CYTTSP_SPI=y
CONFIG_TOUCHSCREEN_DA9034=y
CONFIG_TOUCHSCREEN_DA9052=y
CONFIG_TOUCHSCREEN_DYNAPRO=y
CONFIG_TOUCHSCREEN_HAMPSHIRE=y
CONFIG_TOUCHSCREEN_EETI=y
CONFIG_TOUCHSCREEN_EGALAX=y
CONFIG_TOUCHSCREEN_FUJITSU=y
CONFIG_TOUCHSCREEN_ILI210X=y
CONFIG_TOUCHSCREEN_GUNZE=y
CONFIG_TOUCHSCREEN_ELO=y
CONFIG_TOUCHSCREEN_WACOM_W8001=y
CONFIG_TOUCHSCREEN_WACOM_I2C=y
CONFIG_TOUCHSCREEN_MAX11801=y
CONFIG_TOUCHSCREEN_MCS5000=y
CONFIG_TOUCHSCREEN_MMS114=y
CONFIG_TOUCHSCREEN_MTOUCH=y
CONFIG_TOUCHSCREEN_INEXIO=y
CONFIG_TOUCHSCREEN_MK712=y
CONFIG_TOUCHSCREEN_PENMOUNT=y
CONFIG_TOUCHSCREEN_EDT_FT5X06=y
CONFIG_TOUCHSCREEN_TOUCHRIGHT=y
CONFIG_TOUCHSCREEN_TOUCHWIN=y
CONFIG_TOUCHSCREEN_PIXCIR=y
CONFIG_TOUCHSCREEN_WM831X=y
CONFIG_TOUCHSCREEN_USB_COMPOSITE=y
CONFIG_TOUCHSCREEN_MC13783=y
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
CONFIG_TOUCHSCREEN_USB_ITM=y
CONFIG_TOUCHSCREEN_USB_ETURBO=y
CONFIG_TOUCHSCREEN_USB_GUNZE=y
CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
CONFIG_TOUCHSCREEN_USB_JASTEC=y
CONFIG_TOUCHSCREEN_USB_ELO=y
CONFIG_TOUCHSCREEN_USB_E2I=y
CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
CONFIG_TOUCHSCREEN_TOUCHIT213=y
CONFIG_TOUCHSCREEN_TSC_SERIO=y
CONFIG_TOUCHSCREEN_TSC2005=y
CONFIG_TOUCHSCREEN_TSC2007=y
CONFIG_TOUCHSCREEN_PCAP=y
CONFIG_TOUCHSCREEN_ST1232=y
CONFIG_TOUCHSCREEN_STMPE=y
CONFIG_TOUCHSCREEN_TPS6507X=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_88PM860X_ONKEY=y
CONFIG_INPUT_88PM80X_ONKEY=y
CONFIG_INPUT_AD714X=y
CONFIG_INPUT_AD714X_I2C=y
CONFIG_INPUT_AD714X_SPI=y
CONFIG_INPUT_BMA150=y
CONFIG_INPUT_PCSPKR=y
CONFIG_INPUT_MAX8925_ONKEY=y
CONFIG_INPUT_MC13783_PWRBUTTON=y
CONFIG_INPUT_MMA8450=y
CONFIG_INPUT_MPU3050=y
CONFIG_INPUT_APANEL=y
CONFIG_INPUT_GP2A=y
CONFIG_INPUT_GPIO_TILT_POLLED=y
CONFIG_INPUT_ATLAS_BTNS=y
CONFIG_INPUT_ATI_REMOTE2=y
CONFIG_INPUT_KEYSPAN_REMOTE=y
CONFIG_INPUT_KXTJ9=y
CONFIG_INPUT_KXTJ9_POLLED_MODE=y
CONFIG_INPUT_POWERMATE=y
CONFIG_INPUT_YEALINK=y
CONFIG_INPUT_CM109=y
CONFIG_INPUT_TWL4030_PWRBUTTON=y
CONFIG_INPUT_TWL4030_VIBRA=y
CONFIG_INPUT_TWL6040_VIBRA=y
CONFIG_INPUT_UINPUT=y
CONFIG_INPUT_PCF50633_PMU=y
CONFIG_INPUT_PCF8574=y
CONFIG_INPUT_GPIO_ROTARY_ENCODER=y
CONFIG_INPUT_DA9052_ONKEY=y
CONFIG_INPUT_WM831X_ON=y
CONFIG_INPUT_PCAP=y
CONFIG_INPUT_ADXL34X=y
CONFIG_INPUT_ADXL34X_I2C=y
CONFIG_INPUT_ADXL34X_SPI=y
CONFIG_INPUT_CMA3000=y
CONFIG_INPUT_CMA3000_I2C=y
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
CONFIG_SERIO_CT82C710=y
CONFIG_SERIO_PCIPS2=y
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=y
CONFIG_SERIO_ALTERA_PS2=y
CONFIG_SERIO_PS2MULT=y
CONFIG_GAMEPORT=y
CONFIG_GAMEPORT_NS558=y
CONFIG_GAMEPORT_L4=y
CONFIG_GAMEPORT_EMU10K1=y
CONFIG_GAMEPORT_FM801=y

#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_SERIAL_NONSTANDARD=y
CONFIG_ROCKETPORT=y
CONFIG_CYCLADES=y
CONFIG_CYZ_INTR=y
CONFIG_MOXA_INTELLIO=y
CONFIG_MOXA_SMARTIO=y
CONFIG_SYNCLINK=y
CONFIG_SYNCLINKMP=y
CONFIG_SYNCLINK_GT=y
CONFIG_NOZOMI=y
CONFIG_ISI=y
CONFIG_N_HDLC=y
CONFIG_N_GSM=y
CONFIG_TRACE_ROUTER=y
CONFIG_TRACE_SINK=y
CONFIG_DEVKMEM=y
CONFIG_STALDRV=y

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CS=y
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y

#
# Non-8250 serial port support
#
CONFIG_SERIAL_MAX3100=y
CONFIG_SERIAL_MAX310X=y
CONFIG_SERIAL_MRST_MAX3110=y
CONFIG_SERIAL_MFD_HSU=y
CONFIG_SERIAL_MFD_HSU_CONSOLE=y
CONFIG_SERIAL_UARTLITE=y
CONFIG_SERIAL_UARTLITE_CONSOLE=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_CONSOLE_POLL=y
CONFIG_SERIAL_JSM=y
CONFIG_SERIAL_SCCNXP=y
CONFIG_SERIAL_SCCNXP_CONSOLE=y
CONFIG_SERIAL_TIMBERDALE=y
CONFIG_SERIAL_ALTERA_JTAGUART=y
CONFIG_SERIAL_ALTERA_JTAGUART_CONSOLE=y
CONFIG_SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS=y
CONFIG_SERIAL_ALTERA_UART=y
CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
CONFIG_SERIAL_ALTERA_UART_CONSOLE=y
CONFIG_SERIAL_IFX6X60=y
CONFIG_SERIAL_PCH_UART=y
CONFIG_SERIAL_PCH_UART_CONSOLE=y
CONFIG_SERIAL_XILINX_PS_UART=y
CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
CONFIG_TTY_PRINTK=y
CONFIG_HVC_DRIVER=y
CONFIG_HVC_IRQ=y
CONFIG_HVC_XEN=y
CONFIG_HVC_XEN_FRONTEND=y
CONFIG_VIRTIO_CONSOLE=y
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_TIMERIOMEM=y
CONFIG_HW_RANDOM_INTEL=y
CONFIG_HW_RANDOM_AMD=y
CONFIG_HW_RANDOM_VIA=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM_TPM=y
CONFIG_NVRAM=y
CONFIG_R3964=y
CONFIG_APPLICOM=y

#
# PCMCIA character devices
#
CONFIG_SYNCLINK_CS=y
CONFIG_CARDMAN_4000=y
CONFIG_CARDMAN_4040=y
CONFIG_IPWIRELESS=y
CONFIG_MWAVE=y
CONFIG_RAW_DRIVER=y
CONFIG_MAX_RAW_DEVS=256
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
CONFIG_HANGCHECK_TIMER=y
CONFIG_UV_MMTIMER=y
CONFIG_TCG_TPM=y
CONFIG_TCG_TIS=y
CONFIG_TCG_TIS_I2C_INFINEON=y
CONFIG_TCG_NSC=y
CONFIG_TCG_ATMEL=y
CONFIG_TCG_INFINEON=y
CONFIG_TELCLOCK=y
CONFIG_DEVPORT=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y

#
# Multiplexer I2C Chip support
#
CONFIG_I2C_MUX_GPIO=y
CONFIG_I2C_MUX_PCA9541=y
CONFIG_I2C_MUX_PCA954x=y
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_ALGOBIT=y

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
CONFIG_I2C_I801=y
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set

#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
CONFIG_I2C_DESIGNWARE_CORE=y
CONFIG_I2C_DESIGNWARE_PCI=y
# CONFIG_I2C_EG20T is not set
# CONFIG_I2C_GPIO is not set
# CONFIG_I2C_INTEL_MID is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_PXA_PCI is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set

#
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_DEBUG_CORE=y
CONFIG_I2C_DEBUG_ALGO=y
CONFIG_I2C_DEBUG_BUS=y
CONFIG_SPI=y
CONFIG_SPI_DEBUG=y
CONFIG_SPI_MASTER=y

#
# SPI Master Controller Drivers
#
CONFIG_SPI_ALTERA=y
CONFIG_SPI_BITBANG=y
CONFIG_SPI_GPIO=y
CONFIG_SPI_OC_TINY=y
# CONFIG_SPI_PXA2XX_PCI is not set
CONFIG_SPI_SC18IS602=y
CONFIG_SPI_TOPCLIFF_PCH=y
CONFIG_SPI_XCOMM=y
CONFIG_SPI_XILINX=y
CONFIG_SPI_DESIGNWARE=y
CONFIG_SPI_DW_PCI=y
CONFIG_SPI_DW_MID_DMA=y

#
# SPI Protocol Masters
#
CONFIG_SPI_SPIDEV=y
CONFIG_SPI_TLE62X0=y
CONFIG_HSI=y
CONFIG_HSI_BOARDINFO=y

#
# HSI clients
#
CONFIG_HSI_CHAR=y

#
# PPS support
#
CONFIG_PPS=y
CONFIG_PPS_DEBUG=y

#
# PPS clients support
#
CONFIG_PPS_CLIENT_KTIMER=y
CONFIG_PPS_CLIENT_LDISC=y
CONFIG_PPS_CLIENT_GPIO=y

#
# PPS generators support
#

#
# PTP clock support
#
CONFIG_PTP_1588_CLOCK=y
CONFIG_DP83640_PHY=y
CONFIG_PTP_1588_CLOCK_PCH=y
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIOLIB=y
CONFIG_DEBUG_GPIO=y
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_GENERIC=y
CONFIG_GPIO_DA9052=y
CONFIG_GPIO_MAX730X=y

#
# Memory mapped GPIO drivers:
#
CONFIG_GPIO_GENERIC_PLATFORM=y
CONFIG_GPIO_IT8761E=y
CONFIG_GPIO_SCH=y
CONFIG_GPIO_ICH=y
CONFIG_GPIO_VX855=y

#
# I2C GPIO expanders:
#
CONFIG_GPIO_ARIZONA=y
CONFIG_GPIO_MAX7300=y
CONFIG_GPIO_MAX732X=y
CONFIG_GPIO_MAX732X_IRQ=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCF857X=y
CONFIG_GPIO_RC5T583=y
CONFIG_GPIO_SX150X=y
CONFIG_GPIO_STMPE=y
CONFIG_GPIO_TC3589X=y
CONFIG_GPIO_TPS65912=y
CONFIG_GPIO_TWL4030=y
CONFIG_GPIO_TWL6040=y
CONFIG_GPIO_WM831X=y
CONFIG_GPIO_WM8350=y
CONFIG_GPIO_WM8994=y
CONFIG_GPIO_ADP5520=y
CONFIG_GPIO_ADP5588=y
CONFIG_GPIO_ADP5588_IRQ=y

#
# PCI GPIO expanders:
#
CONFIG_GPIO_CS5535=y
CONFIG_GPIO_BT8XX=y
CONFIG_GPIO_AMD8111=y
CONFIG_GPIO_LANGWELL=y
CONFIG_GPIO_PCH=y
CONFIG_GPIO_ML_IOH=y
CONFIG_GPIO_TIMBERDALE=y
CONFIG_GPIO_RDC321X=y

#
# SPI GPIO expanders:
#
CONFIG_GPIO_MAX7301=y
CONFIG_GPIO_MCP23S08=y
CONFIG_GPIO_MC33880=y
CONFIG_GPIO_74X164=y

#
# AC97 GPIO expanders:
#

#
# MODULbus GPIO expanders:
#
CONFIG_GPIO_JANZ_TTL=y
CONFIG_GPIO_TPS6586X=y
CONFIG_GPIO_TPS65910=y
CONFIG_W1=y
CONFIG_W1_CON=y

#
# 1-wire Bus Masters
#
CONFIG_W1_MASTER_MATROX=y
CONFIG_W1_MASTER_DS2490=y
CONFIG_W1_MASTER_DS2482=y
CONFIG_W1_MASTER_DS1WM=y
CONFIG_W1_MASTER_GPIO=y
CONFIG_HDQ_MASTER_OMAP=y

#
# 1-wire Slaves
#
CONFIG_W1_SLAVE_THERM=y
CONFIG_W1_SLAVE_SMEM=y
CONFIG_W1_SLAVE_DS2408=y
CONFIG_W1_SLAVE_DS2423=y
CONFIG_W1_SLAVE_DS2431=y
CONFIG_W1_SLAVE_DS2433=y
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2760=y
CONFIG_W1_SLAVE_DS2780=y
CONFIG_W1_SLAVE_DS2781=y
CONFIG_W1_SLAVE_DS28E04=y
CONFIG_W1_SLAVE_BQ27000=y
CONFIG_POWER_SUPPLY=y
CONFIG_POWER_SUPPLY_DEBUG=y
CONFIG_PDA_POWER=y
CONFIG_MAX8925_POWER=y
CONFIG_WM831X_BACKUP=y
CONFIG_WM831X_POWER=y
CONFIG_WM8350_POWER=y
CONFIG_TEST_POWER=y
CONFIG_BATTERY_88PM860X=y
CONFIG_BATTERY_DS2760=y
CONFIG_BATTERY_DS2780=y
CONFIG_BATTERY_DS2781=y
CONFIG_BATTERY_DS2782=y
CONFIG_BATTERY_SBS=y
CONFIG_BATTERY_BQ27x00=y
CONFIG_BATTERY_BQ27X00_I2C=y
CONFIG_BATTERY_BQ27X00_PLATFORM=y
CONFIG_BATTERY_DA9030=y
CONFIG_BATTERY_DA9052=y
CONFIG_BATTERY_MAX17040=y
CONFIG_BATTERY_MAX17042=y
CONFIG_CHARGER_88PM860X=y
CONFIG_CHARGER_PCF50633=y
CONFIG_CHARGER_ISP1704=y
CONFIG_CHARGER_MAX8903=y
CONFIG_CHARGER_TWL4030=y
CONFIG_CHARGER_LP8727=y
CONFIG_CHARGER_GPIO=y
CONFIG_CHARGER_MANAGER=y
CONFIG_CHARGER_SMB347=y
CONFIG_POWER_AVS=y
CONFIG_HWMON=y
CONFIG_HWMON_VID=y
CONFIG_HWMON_DEBUG_CHIP=y

#
# Native drivers
#
CONFIG_SENSORS_ABITUGURU=y
CONFIG_SENSORS_ABITUGURU3=y
CONFIG_SENSORS_AD7314=y
CONFIG_SENSORS_AD7414=y
CONFIG_SENSORS_AD7418=y
CONFIG_SENSORS_ADCXX=y
CONFIG_SENSORS_ADM1021=y
CONFIG_SENSORS_ADM1025=y
CONFIG_SENSORS_ADM1026=y
CONFIG_SENSORS_ADM1029=y
CONFIG_SENSORS_ADM1031=y
CONFIG_SENSORS_ADM9240=y
CONFIG_SENSORS_ADT7410=y
CONFIG_SENSORS_ADT7411=y
CONFIG_SENSORS_ADT7462=y
CONFIG_SENSORS_ADT7470=y
CONFIG_SENSORS_ADT7475=y
CONFIG_SENSORS_ASC7621=y
CONFIG_SENSORS_K8TEMP=y
CONFIG_SENSORS_K10TEMP=y
CONFIG_SENSORS_FAM15H_POWER=y
CONFIG_SENSORS_ASB100=y
CONFIG_SENSORS_ATXP1=y
CONFIG_SENSORS_DS620=y
CONFIG_SENSORS_DS1621=y
CONFIG_SENSORS_DA9052_ADC=y
CONFIG_SENSORS_I5K_AMB=y
CONFIG_SENSORS_F71805F=y
CONFIG_SENSORS_F71882FG=y
CONFIG_SENSORS_F75375S=y
CONFIG_SENSORS_FSCHMD=y
CONFIG_SENSORS_G760A=y
CONFIG_SENSORS_GL518SM=y
CONFIG_SENSORS_GL520SM=y
CONFIG_SENSORS_GPIO_FAN=y
CONFIG_SENSORS_HIH6130=y
CONFIG_SENSORS_CORETEMP=y
CONFIG_SENSORS_IT87=y
CONFIG_SENSORS_JC42=y
CONFIG_SENSORS_LINEAGE=y
CONFIG_SENSORS_LM63=y
CONFIG_SENSORS_LM70=y
CONFIG_SENSORS_LM73=y
CONFIG_SENSORS_LM75=y
CONFIG_SENSORS_LM77=y
CONFIG_SENSORS_LM78=y
CONFIG_SENSORS_LM80=y
CONFIG_SENSORS_LM83=y
CONFIG_SENSORS_LM85=y
CONFIG_SENSORS_LM87=y
CONFIG_SENSORS_LM90=y
CONFIG_SENSORS_LM92=y
CONFIG_SENSORS_LM93=y
CONFIG_SENSORS_LTC4151=y
CONFIG_SENSORS_LTC4215=y
CONFIG_SENSORS_LTC4245=y
CONFIG_SENSORS_LTC4261=y
CONFIG_SENSORS_LM95241=y
CONFIG_SENSORS_LM95245=y
CONFIG_SENSORS_MAX1111=y
CONFIG_SENSORS_MAX16065=y
CONFIG_SENSORS_MAX1619=y
CONFIG_SENSORS_MAX1668=y
CONFIG_SENSORS_MAX197=y
CONFIG_SENSORS_MAX6639=y
CONFIG_SENSORS_MAX6642=y
CONFIG_SENSORS_MAX6650=y
CONFIG_SENSORS_MCP3021=y
CONFIG_SENSORS_NTC_THERMISTOR=y
CONFIG_SENSORS_PC87360=y
CONFIG_SENSORS_PC87427=y
CONFIG_SENSORS_PCF8591=y
CONFIG_PMBUS=y
CONFIG_SENSORS_PMBUS=y
CONFIG_SENSORS_ADM1275=y
CONFIG_SENSORS_LM25066=y
CONFIG_SENSORS_LTC2978=y
CONFIG_SENSORS_MAX16064=y
CONFIG_SENSORS_MAX34440=y
CONFIG_SENSORS_MAX8688=y
CONFIG_SENSORS_UCD9000=y
CONFIG_SENSORS_UCD9200=y
CONFIG_SENSORS_ZL6100=y
CONFIG_SENSORS_SHT15=y
CONFIG_SENSORS_SHT21=y
CONFIG_SENSORS_SIS5595=y
CONFIG_SENSORS_SMM665=y
CONFIG_SENSORS_DME1737=y
CONFIG_SENSORS_EMC1403=y
CONFIG_SENSORS_EMC2103=y
CONFIG_SENSORS_EMC6W201=y
CONFIG_SENSORS_SMSC47M1=y
CONFIG_SENSORS_SMSC47M192=y
CONFIG_SENSORS_SMSC47B397=y
CONFIG_SENSORS_SCH56XX_COMMON=y
CONFIG_SENSORS_SCH5627=y
CONFIG_SENSORS_SCH5636=y
CONFIG_SENSORS_ADS1015=y
CONFIG_SENSORS_ADS7828=y
CONFIG_SENSORS_ADS7871=y
CONFIG_SENSORS_AMC6821=y
CONFIG_SENSORS_INA2XX=y
CONFIG_SENSORS_THMC50=y
CONFIG_SENSORS_TMP102=y
CONFIG_SENSORS_TMP401=y
CONFIG_SENSORS_TMP421=y
CONFIG_SENSORS_TWL4030_MADC=y
CONFIG_SENSORS_VIA_CPUTEMP=y
CONFIG_SENSORS_VIA686A=y
CONFIG_SENSORS_VT1211=y
CONFIG_SENSORS_VT8231=y
CONFIG_SENSORS_W83781D=y
CONFIG_SENSORS_W83791D=y
CONFIG_SENSORS_W83792D=y
CONFIG_SENSORS_W83793=y
CONFIG_SENSORS_W83795=y
CONFIG_SENSORS_W83795_FANCTRL=y
CONFIG_SENSORS_W83L785TS=y
CONFIG_SENSORS_W83L786NG=y
CONFIG_SENSORS_W83627HF=y
CONFIG_SENSORS_W83627EHF=y
CONFIG_SENSORS_WM831X=y
CONFIG_SENSORS_WM8350=y
CONFIG_SENSORS_APPLESMC=y
CONFIG_SENSORS_MC13783_ADC=y

#
# ACPI drivers
#
CONFIG_SENSORS_ACPI_POWER=y
CONFIG_SENSORS_ATK0110=y
CONFIG_THERMAL=y
CONFIG_THERMAL_HWMON=y
CONFIG_CPU_THERMAL=y
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
CONFIG_WATCHDOG_NOWAYOUT=y

#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_DA9052_WATCHDOG is not set
# CONFIG_WM831X_WATCHDOG is not set
# CONFIG_WM8350_WATCHDOG is not set
# CONFIG_TWL4030_WATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_F71808E_WDT is not set
# CONFIG_SP5100_TCO is not set
# CONFIG_GEODE_WDT is not set
# CONFIG_SC520_WDT is not set
# CONFIG_SBC_FITPC2_WATCHDOG is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_IBMASR is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I6300ESB_WDT is not set
# CONFIG_IE6XX_WDT is not set
# CONFIG_ITCO_WDT is not set
# CONFIG_IT8712F_WDT is not set
# CONFIG_IT87_WDT is not set
# CONFIG_HP_WATCHDOG is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_NV_TCO is not set
# CONFIG_60XX_WDT is not set
# CONFIG_SBC8360_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_SMSC_SCH311X_WDT is not set
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_VIA_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83697HF_WDT is not set
# CONFIG_W83697UG_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_SBC_EPX_C3_WATCHDOG is not set
# CONFIG_XEN_WDT is not set

#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set

#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
CONFIG_SSB_POSSIBLE=y

#
# Sonics Silicon Backplane
#
CONFIG_SSB=y
CONFIG_SSB_SPROM=y
CONFIG_SSB_BLOCKIO=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_B43_PCI_BRIDGE=y
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST_POSSIBLE=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
CONFIG_SSB_DEBUG=y
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_BCMA_POSSIBLE=y

#
# Broadcom specific AMBA
#
CONFIG_BCMA=y
CONFIG_BCMA_BLOCKIO=y
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
CONFIG_BCMA_HOST_PCI=y
CONFIG_BCMA_DRIVER_GMAC_CMN=y
CONFIG_BCMA_DEBUG=y

#
# Multifunction device drivers
#
CONFIG_MFD_CORE=y
CONFIG_MFD_88PM860X=y
CONFIG_MFD_88PM800=y
CONFIG_MFD_88PM805=y
CONFIG_MFD_SM501=y
CONFIG_MFD_SM501_GPIO=y
CONFIG_HTC_PASIC3=y
CONFIG_HTC_I2CPLD=y
CONFIG_MFD_LM3533=y
CONFIG_TPS6105X=y
CONFIG_TPS65010=y
CONFIG_TPS6507X=y
CONFIG_MFD_TPS65217=y
CONFIG_MFD_TPS6586X=y
CONFIG_MFD_TPS65910=y
CONFIG_MFD_TPS65912=y
CONFIG_MFD_TPS65912_I2C=y
CONFIG_MFD_TPS65912_SPI=y
CONFIG_TWL4030_CORE=y
CONFIG_TWL4030_MADC=y
CONFIG_MFD_TWL4030_AUDIO=y
CONFIG_TWL6040_CORE=y
CONFIG_MFD_STMPE=y

#
# STMPE Interface Drivers
#
CONFIG_STMPE_I2C=y
CONFIG_STMPE_SPI=y
CONFIG_MFD_TC3589X=y
# CONFIG_MFD_TMIO is not set
CONFIG_PMIC_DA903X=y
CONFIG_PMIC_DA9052=y
CONFIG_MFD_DA9052_SPI=y
CONFIG_MFD_DA9052_I2C=y
CONFIG_PMIC_ADP5520=y
CONFIG_MFD_LP8788=y
CONFIG_MFD_MAX77686=y
CONFIG_MFD_MAX77693=y
CONFIG_MFD_MAX8907=y
CONFIG_MFD_MAX8925=y
CONFIG_MFD_MAX8997=y
CONFIG_MFD_MAX8998=y
CONFIG_MFD_SEC_CORE=y
CONFIG_MFD_ARIZONA=y
CONFIG_MFD_ARIZONA_I2C=y
CONFIG_MFD_ARIZONA_SPI=y
CONFIG_MFD_WM5102=y
CONFIG_MFD_WM5110=y
CONFIG_MFD_WM8400=y
CONFIG_MFD_WM831X=y
CONFIG_MFD_WM831X_I2C=y
CONFIG_MFD_WM831X_SPI=y
CONFIG_MFD_WM8350=y
CONFIG_MFD_WM8350_I2C=y
CONFIG_MFD_WM8994=y
CONFIG_MFD_PCF50633=y
CONFIG_PCF50633_ADC=y
CONFIG_PCF50633_GPIO=y
CONFIG_MFD_MC13783=y
CONFIG_MFD_MC13XXX=y
CONFIG_MFD_MC13XXX_SPI=y
CONFIG_MFD_MC13XXX_I2C=y
CONFIG_ABX500_CORE=y
CONFIG_AB3100_CORE=y
CONFIG_AB3100_OTP=y
CONFIG_EZX_PCAP=y
CONFIG_MFD_CS5535=y
CONFIG_MFD_TIMBERDALE=y
CONFIG_LPC_SCH=y
CONFIG_LPC_ICH=y
CONFIG_MFD_RDC321X=y
CONFIG_MFD_JANZ_CMODIO=y
CONFIG_MFD_VX855=y
CONFIG_MFD_WL1273_CORE=y
CONFIG_MFD_TPS65090=y
CONFIG_MFD_AAT2870_CORE=y
CONFIG_MFD_RC5T583=y
CONFIG_MFD_PALMAS=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_DEBUG=y
CONFIG_REGULATOR_DUMMY=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_VIRTUAL_CONSUMER=y
CONFIG_REGULATOR_USERSPACE_CONSUMER=y
CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_AD5398=y
# CONFIG_REGULATOR_AAT2870 is not set
CONFIG_REGULATOR_ARIZONA=y
# CONFIG_REGULATOR_DA903X is not set
# CONFIG_REGULATOR_DA9052 is not set
CONFIG_REGULATOR_FAN53555=y
CONFIG_REGULATOR_MC13XXX_CORE=y
CONFIG_REGULATOR_MC13783=y
CONFIG_REGULATOR_MC13892=y
CONFIG_REGULATOR_ISL6271A=y
CONFIG_REGULATOR_88PM8607=y
CONFIG_REGULATOR_MAX1586=y
CONFIG_REGULATOR_MAX8649=y
CONFIG_REGULATOR_MAX8660=y
CONFIG_REGULATOR_MAX8907=y
# CONFIG_REGULATOR_MAX8925 is not set
CONFIG_REGULATOR_MAX8952=y
# CONFIG_REGULATOR_MAX8997 is not set
# CONFIG_REGULATOR_MAX8998 is not set
CONFIG_REGULATOR_MAX77686=y
# CONFIG_REGULATOR_PCAP is not set
CONFIG_REGULATOR_LP3971=y
CONFIG_REGULATOR_LP3972=y
CONFIG_REGULATOR_LP872X=y
CONFIG_REGULATOR_LP8788=y
# CONFIG_REGULATOR_PCF50633 is not set
CONFIG_REGULATOR_RC5T583=y
CONFIG_REGULATOR_S2MPS11=y
CONFIG_REGULATOR_S5M8767=y
CONFIG_REGULATOR_AB3100=y
CONFIG_REGULATOR_PALMAS=y
CONFIG_REGULATOR_TPS6105X=y
CONFIG_REGULATOR_TPS62360=y
CONFIG_REGULATOR_TPS65023=y
CONFIG_REGULATOR_TPS6507X=y
CONFIG_REGULATOR_TPS65090=y
CONFIG_REGULATOR_TPS65217=y
CONFIG_REGULATOR_TPS6524X=y
# CONFIG_REGULATOR_TPS6586X is not set
# CONFIG_REGULATOR_TPS65910 is not set
# CONFIG_REGULATOR_TPS65912 is not set
CONFIG_REGULATOR_TWL4030=y
# CONFIG_REGULATOR_WM831X is not set
# CONFIG_REGULATOR_WM8350 is not set
# CONFIG_REGULATOR_WM8400 is not set
# CONFIG_REGULATOR_WM8994 is not set
CONFIG_MEDIA_SUPPORT=y

#
# Multimedia core support
#
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_RC_SUPPORT=y
CONFIG_MEDIA_CONTROLLER=y
CONFIG_VIDEO_DEV=y
CONFIG_VIDEO_V4L2_SUBDEV_API=y
CONFIG_VIDEO_V4L2=y
CONFIG_VIDEO_ADV_DEBUG=y
CONFIG_VIDEO_FIXED_MINOR_RANGES=y
CONFIG_V4L2_MEM2MEM_DEV=y
CONFIG_VIDEOBUF2_CORE=y
CONFIG_VIDEOBUF2_MEMOPS=y
CONFIG_VIDEOBUF2_DMA_CONTIG=y
CONFIG_VIDEOBUF2_VMALLOC=y
CONFIG_DVB_CORE=y
# CONFIG_DVB_NET is not set
CONFIG_DVB_MAX_ADAPTERS=8
CONFIG_DVB_DYNAMIC_MINORS=y

#
# Media drivers
#
CONFIG_RC_CORE=y
CONFIG_RC_MAP=y
CONFIG_RC_DECODERS=y
CONFIG_LIRC=y
CONFIG_IR_LIRC_CODEC=y
CONFIG_IR_NEC_DECODER=y
CONFIG_IR_RC5_DECODER=y
CONFIG_IR_RC6_DECODER=y
CONFIG_IR_JVC_DECODER=y
CONFIG_IR_SONY_DECODER=y
CONFIG_IR_RC5_SZ_DECODER=y
CONFIG_IR_SANYO_DECODER=y
CONFIG_IR_MCE_KBD_DECODER=y
CONFIG_RC_DEVICES=y
CONFIG_RC_ATI_REMOTE=y
CONFIG_IR_ENE=y
CONFIG_IR_IMON=y
CONFIG_IR_MCEUSB=y
CONFIG_IR_ITE_CIR=y
CONFIG_IR_FINTEK=y
CONFIG_IR_NUVOTON=y
CONFIG_IR_REDRAT3=y
CONFIG_IR_STREAMZAP=y
CONFIG_IR_WINBOND_CIR=y
CONFIG_IR_IGUANA=y
CONFIG_IR_TTUSBIR=y
CONFIG_RC_LOOPBACK=y
CONFIG_IR_GPIO_CIR=y
CONFIG_MEDIA_USB_SUPPORT=y

#
# Webcam devices
#
# CONFIG_USB_VIDEO_CLASS is not set
CONFIG_USB_GSPCA=y
# CONFIG_USB_M5602 is not set
# CONFIG_USB_STV06XX is not set
# CONFIG_USB_GL860 is not set
# CONFIG_USB_GSPCA_BENQ is not set
# CONFIG_USB_GSPCA_CONEX is not set
# CONFIG_USB_GSPCA_CPIA1 is not set
# CONFIG_USB_GSPCA_ETOMS is not set
# CONFIG_USB_GSPCA_FINEPIX is not set
# CONFIG_USB_GSPCA_JEILINJ is not set
CONFIG_USB_GSPCA_JL2005BCD=y
# CONFIG_USB_GSPCA_KINECT is not set
# CONFIG_USB_GSPCA_KONICA is not set
# CONFIG_USB_GSPCA_MARS is not set
# CONFIG_USB_GSPCA_MR97310A is not set
# CONFIG_USB_GSPCA_NW80X is not set
# CONFIG_USB_GSPCA_OV519 is not set
# CONFIG_USB_GSPCA_OV534 is not set
# CONFIG_USB_GSPCA_OV534_9 is not set
# CONFIG_USB_GSPCA_PAC207 is not set
# CONFIG_USB_GSPCA_PAC7302 is not set
# CONFIG_USB_GSPCA_PAC7311 is not set
# CONFIG_USB_GSPCA_SE401 is not set
# CONFIG_USB_GSPCA_SN9C2028 is not set
# CONFIG_USB_GSPCA_SN9C20X is not set
# CONFIG_USB_GSPCA_SONIXB is not set
# CONFIG_USB_GSPCA_SONIXJ is not set
# CONFIG_USB_GSPCA_SPCA500 is not set
# CONFIG_USB_GSPCA_SPCA501 is not set
# CONFIG_USB_GSPCA_SPCA505 is not set
# CONFIG_USB_GSPCA_SPCA506 is not set
# CONFIG_USB_GSPCA_SPCA508 is not set
# CONFIG_USB_GSPCA_SPCA561 is not set
# CONFIG_USB_GSPCA_SPCA1528 is not set
# CONFIG_USB_GSPCA_SQ905 is not set
# CONFIG_USB_GSPCA_SQ905C is not set
# CONFIG_USB_GSPCA_SQ930X is not set
# CONFIG_USB_GSPCA_STK014 is not set
# CONFIG_USB_GSPCA_STV0680 is not set
# CONFIG_USB_GSPCA_SUNPLUS is not set
# CONFIG_USB_GSPCA_T613 is not set
# CONFIG_USB_GSPCA_TOPRO is not set
# CONFIG_USB_GSPCA_TV8532 is not set
# CONFIG_USB_GSPCA_VC032X is not set
# CONFIG_USB_GSPCA_VICAM is not set
# CONFIG_USB_GSPCA_XIRLINK_CIT is not set
# CONFIG_USB_GSPCA_ZC3XX is not set
# CONFIG_USB_PWC is not set
# CONFIG_VIDEO_CPIA2 is not set
# CONFIG_USB_ZR364XX is not set
# CONFIG_USB_STKWEBCAM is not set
# CONFIG_USB_S2255 is not set
# CONFIG_USB_SN9C102 is not set

#
# Analog TV USB devices
#
# CONFIG_VIDEO_PVRUSB2 is not set
# CONFIG_VIDEO_HDPVR is not set
# CONFIG_VIDEO_USBVISION is not set
CONFIG_VIDEO_STK1160=y

#
# Analog/digital TV USB devices
#
# CONFIG_VIDEO_CX231XX is not set
# CONFIG_VIDEO_TM6000 is not set

#
# Digital TV USB devices
#
# CONFIG_DVB_USB is not set
CONFIG_DVB_USB_V2=y
CONFIG_DVB_USB_CYPRESS_FIRMWARE=y
CONFIG_DVB_USB_AF9015=y
CONFIG_DVB_USB_AF9035=y
CONFIG_DVB_USB_ANYSEE=y
CONFIG_DVB_USB_AU6610=y
CONFIG_DVB_USB_AZ6007=y
CONFIG_DVB_USB_CE6230=y
CONFIG_DVB_USB_EC168=y
CONFIG_DVB_USB_GL861=y
CONFIG_DVB_USB_IT913X=y
CONFIG_DVB_USB_LME2510=y
CONFIG_DVB_USB_MXL111SF=y
CONFIG_DVB_USB_RTL28XXU=y
# CONFIG_DVB_TTUSB_BUDGET is not set
# CONFIG_DVB_TTUSB_DEC is not set
CONFIG_SMS_USB_DRV=y
CONFIG_DVB_B2C2_FLEXCOP_USB=y
CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG=y

#
# Webcam, TV (analog/digital) USB devices
#
# CONFIG_VIDEO_EM28XX is not set
CONFIG_MEDIA_PCI_SUPPORT=y

#
# Media capture support
#
# CONFIG_VIDEO_MEYE is not set

#
# Media capture/analog TV support
#
# CONFIG_VIDEO_IVTV is not set
# CONFIG_VIDEO_ZORAN is not set
# CONFIG_VIDEO_HEXIUM_GEMINI is not set
# CONFIG_VIDEO_HEXIUM_ORION is not set
# CONFIG_VIDEO_MXB is not set

#
# Media capture/analog/hybrid TV support
#
# CONFIG_VIDEO_CX18 is not set
# CONFIG_VIDEO_CX25821 is not set
# CONFIG_VIDEO_CX88 is not set
# CONFIG_VIDEO_BT848 is not set
# CONFIG_VIDEO_SAA7134 is not set
# CONFIG_VIDEO_SAA7164 is not set

#
# Media digital TV PCI Adapters
#
# CONFIG_TTPCI_EEPROM is not set
# CONFIG_DVB_AV7110 is not set
# CONFIG_DVB_BUDGET_CORE is not set
CONFIG_DVB_B2C2_FLEXCOP_PCI=y
CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG=y
# CONFIG_DVB_PLUTO2 is not set
# CONFIG_DVB_DM1105 is not set
# CONFIG_DVB_PT1 is not set
# CONFIG_MANTIS_CORE is not set
# CONFIG_DVB_NGENE is not set
# CONFIG_DVB_DDBRIDGE is not set
CONFIG_V4L_PLATFORM_DRIVERS=y
# CONFIG_VIDEO_CAFE_CCIC is not set
# CONFIG_VIDEO_VIA_CAMERA is not set
# CONFIG_VIDEO_TIMBERDALE is not set
# CONFIG_SOC_CAMERA is not set
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_CODA=y
CONFIG_VIDEO_MEM2MEM_DEINTERLACE=y
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_VIDEO_VIVI=y
# CONFIG_VIDEO_MEM2MEM_TESTDEV is not set

#
# Supported MMC/SDIO adapters
#
CONFIG_SMS_SDIO_DRV=y
CONFIG_RADIO_ADAPTERS=y
# CONFIG_RADIO_SI470X is not set
# CONFIG_USB_MR800 is not set
# CONFIG_USB_DSBR is not set
CONFIG_RADIO_SHARK2=y
# CONFIG_I2C_SI4713 is not set
# CONFIG_RADIO_SI4713 is not set
# CONFIG_USB_KEENE is not set
# CONFIG_RADIO_TEA5764 is not set
# CONFIG_RADIO_SAA7706H is not set
# CONFIG_RADIO_TEF6862 is not set
# CONFIG_RADIO_TIMBERDALE is not set
# CONFIG_RADIO_WL1273 is not set

#
# Texas Instruments WL128x FM driver (ST based)
#
# CONFIG_RADIO_WL128X is not set

#
# Supported FireWire (IEEE 1394) Adapters
#
# CONFIG_DVB_FIREDTV is not set
CONFIG_DVB_B2C2_FLEXCOP=y
CONFIG_DVB_B2C2_FLEXCOP_DEBUG=y
CONFIG_SMS_SIANO_MDTV=y
CONFIG_MEDIA_SUBDRV_AUTOSELECT=y

#
# Media ancillary drivers (tuners, sensors, i2c, frontends)
#
CONFIG_VIDEO_TVEEPROM=y
CONFIG_VIDEO_IR_I2C=y

#
# Audio decoders, processors and mixers
#

#
# RDS decoders
#

#
# Video decoders
#
CONFIG_VIDEO_SAA711X=y

#
# Video and audio decoders
#

#
# MPEG video encoders
#

#
# Video encoders
#

#
# Camera sensor devices
#

#
# Flash devices
#

#
# Video improvement chips
#

#
# Miscelaneous helper chips
#

#
# Sensors used on soc_camera driver
#
CONFIG_MEDIA_TUNER=y
CONFIG_MEDIA_TUNER_SIMPLE=y
CONFIG_MEDIA_TUNER_TDA8290=y
CONFIG_MEDIA_TUNER_TDA827X=y
CONFIG_MEDIA_TUNER_TDA18271=y
CONFIG_MEDIA_TUNER_TDA9887=y
CONFIG_MEDIA_TUNER_TEA5761=y
CONFIG_MEDIA_TUNER_TEA5767=y
CONFIG_MEDIA_TUNER_MT20XX=y
CONFIG_MEDIA_TUNER_MT2060=y
CONFIG_MEDIA_TUNER_MT2063=y
CONFIG_MEDIA_TUNER_QT1010=y
CONFIG_MEDIA_TUNER_XC2028=y
CONFIG_MEDIA_TUNER_XC5000=y
CONFIG_MEDIA_TUNER_XC4000=y
CONFIG_MEDIA_TUNER_MXL5005S=y
CONFIG_MEDIA_TUNER_MXL5007T=y
CONFIG_MEDIA_TUNER_MC44S803=y
CONFIG_MEDIA_TUNER_TDA18218=y
CONFIG_MEDIA_TUNER_FC0011=y
CONFIG_MEDIA_TUNER_FC0012=y
CONFIG_MEDIA_TUNER_FC0013=y
CONFIG_MEDIA_TUNER_TDA18212=y
CONFIG_MEDIA_TUNER_TUA9001=y

#
# Multistandard (satellite) frontends
#

#
# Multistandard (cable + terrestrial) frontends
#
CONFIG_DVB_DRXK=y

#
# DVB-S (satellite) frontends
#
CONFIG_DVB_CX24123=y
CONFIG_DVB_MT312=y
CONFIG_DVB_S5H1420=y
CONFIG_DVB_STV0288=y
CONFIG_DVB_STV0299=y
CONFIG_DVB_STV6110=y
CONFIG_DVB_STV0900=y
CONFIG_DVB_TDA10086=y
CONFIG_DVB_TUNER_ITD1000=y
CONFIG_DVB_TUNER_CX24113=y
CONFIG_DVB_TDA826X=y
CONFIG_DVB_CX24116=y

#
# DVB-T (terrestrial) frontends
#
CONFIG_DVB_MT352=y
CONFIG_DVB_ZL10353=y
CONFIG_DVB_AF9013=y
CONFIG_DVB_EC100=y
CONFIG_DVB_CXD2820R=y
CONFIG_DVB_RTL2830=y
CONFIG_DVB_RTL2832=y

#
# DVB-C (cable) frontends
#
CONFIG_DVB_TDA10023=y
CONFIG_DVB_STV0297=y

#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#
CONFIG_DVB_NXT200X=y
CONFIG_DVB_BCM3510=y
CONFIG_DVB_LGDT330X=y
CONFIG_DVB_LGDT3305=y
CONFIG_DVB_LG2160=y

#
# ISDB-T (terrestrial) frontends
#

#
# Digital terrestrial only tuners/PLL
#
CONFIG_DVB_PLL=y

#
# SEC control devices for DVB-S
#
CONFIG_DVB_ISL6421=y
CONFIG_DVB_ISL6423=y
CONFIG_DVB_IX2505V=y
CONFIG_DVB_IT913X_FE=y
CONFIG_DVB_M88RS2000=y
CONFIG_DVB_AF9033=y

#
# Tools to develop new frontends
#
# CONFIG_DVB_DUMMY_FE is not set

#
# Graphics support
#
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
CONFIG_AGP_SIS=y
CONFIG_AGP_VIA=y
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_SWITCHEROO=y
CONFIG_DRM=y
CONFIG_DRM_USB=y
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_TTM=y
CONFIG_DRM_TDFX=y
CONFIG_DRM_R128=y
CONFIG_DRM_RADEON=y
CONFIG_DRM_RADEON_KMS=y
CONFIG_DRM_NOUVEAU=y
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU_DEBUG=y

#
# I2C encoder or helper chips
#
CONFIG_DRM_I2C_CH7006=y
CONFIG_DRM_I2C_SIL164=y
CONFIG_DRM_I915=y
CONFIG_DRM_I915_KMS=y
CONFIG_DRM_MGA=y
CONFIG_DRM_SIS=y
CONFIG_DRM_VIA=y
CONFIG_DRM_SAVAGE=y
CONFIG_DRM_VMWGFX=y
CONFIG_DRM_VMWGFX_FBCON=y
CONFIG_DRM_GMA500=y
CONFIG_DRM_GMA600=y
CONFIG_DRM_GMA3600=y
CONFIG_DRM_UDL=y
CONFIG_DRM_AST=y
CONFIG_DRM_MGAG200=y
CONFIG_DRM_CIRRUS_QEMU=y
CONFIG_STUB_POULSBO=y
CONFIG_VGASTATE=y
CONFIG_VIDEO_OUTPUT_CONTROL=y
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_DDC=y
CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
CONFIG_FB_FOREIGN_ENDIAN=y
CONFIG_FB_BOTH_ENDIAN=y
# CONFIG_FB_BIG_ENDIAN is not set
# CONFIG_FB_LITTLE_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
# CONFIG_FB_WMT_GE_ROPS is not set
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_HECUBA=y
CONFIG_FB_SVGALIB=y
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
CONFIG_FB_CIRRUS=y
CONFIG_FB_PM2=y
CONFIG_FB_PM2_FIFO_DISCONNECT=y
CONFIG_FB_CYBER2000=y
CONFIG_FB_CYBER2000_DDC=y
CONFIG_FB_ARC=y
CONFIG_FB_ASILIANT=y
CONFIG_FB_IMSTT=y
CONFIG_FB_VGA16=y
CONFIG_FB_UVESA=y
CONFIG_FB_VESA=y
CONFIG_FB_EFI=y
CONFIG_FB_N411=y
CONFIG_FB_HGA=y
CONFIG_FB_S1D13XXX=y
CONFIG_FB_NVIDIA=y
CONFIG_FB_NVIDIA_I2C=y
CONFIG_FB_NVIDIA_DEBUG=y
CONFIG_FB_NVIDIA_BACKLIGHT=y
CONFIG_FB_RIVA=y
CONFIG_FB_RIVA_I2C=y
CONFIG_FB_RIVA_DEBUG=y
CONFIG_FB_RIVA_BACKLIGHT=y
CONFIG_FB_I740=y
CONFIG_FB_LE80578=y
CONFIG_FB_CARILLO_RANCH=y
CONFIG_FB_MATROX=y
CONFIG_FB_MATROX_MILLENIUM=y
CONFIG_FB_MATROX_MYSTIQUE=y
CONFIG_FB_MATROX_G=y
CONFIG_FB_MATROX_I2C=y
CONFIG_FB_MATROX_MAVEN=y
CONFIG_FB_RADEON=y
CONFIG_FB_RADEON_I2C=y
CONFIG_FB_RADEON_BACKLIGHT=y
CONFIG_FB_RADEON_DEBUG=y
CONFIG_FB_ATY128=y
CONFIG_FB_ATY128_BACKLIGHT=y
CONFIG_FB_ATY=y
CONFIG_FB_ATY_CT=y
CONFIG_FB_ATY_GENERIC_LCD=y
CONFIG_FB_ATY_GX=y
CONFIG_FB_ATY_BACKLIGHT=y
CONFIG_FB_S3=y
CONFIG_FB_S3_DDC=y
CONFIG_FB_SAVAGE=y
CONFIG_FB_SAVAGE_I2C=y
CONFIG_FB_SAVAGE_ACCEL=y
CONFIG_FB_SIS=y
CONFIG_FB_SIS_300=y
CONFIG_FB_SIS_315=y
CONFIG_FB_VIA=y
CONFIG_FB_VIA_DIRECT_PROCFS=y
CONFIG_FB_VIA_X_COMPATIBILITY=y
CONFIG_FB_NEOMAGIC=y
CONFIG_FB_KYRO=y
CONFIG_FB_3DFX=y
CONFIG_FB_3DFX_ACCEL=y
CONFIG_FB_3DFX_I2C=y
CONFIG_FB_VOODOO1=y
CONFIG_FB_VT8623=y
CONFIG_FB_TRIDENT=y
CONFIG_FB_ARK=y
CONFIG_FB_PM3=y
CONFIG_FB_CARMINE=y
CONFIG_FB_CARMINE_DRAM_EVAL=y
# CONFIG_CARMINE_DRAM_CUSTOM is not set
CONFIG_FB_GEODE=y
CONFIG_FB_GEODE_LX=y
CONFIG_FB_GEODE_GX=y
CONFIG_FB_GEODE_GX1=y
CONFIG_FB_TMIO=y
CONFIG_FB_TMIO_ACCELL=y
CONFIG_FB_SM501=y
CONFIG_FB_SMSCUFX=y
CONFIG_FB_UDL=y
CONFIG_FB_VIRTUAL=y
CONFIG_XEN_FBDEV_FRONTEND=y
CONFIG_FB_METRONOME=y
CONFIG_FB_MB862XX=y
CONFIG_FB_MB862XX_PCI_GDC=y
CONFIG_FB_MB862XX_I2C=y
CONFIG_FB_BROADSHEET=y
CONFIG_FB_AUO_K190X=y
CONFIG_FB_AUO_K1900=y
CONFIG_FB_AUO_K1901=y
CONFIG_EXYNOS_VIDEO=y
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
CONFIG_LCD_L4F00242T03=y
CONFIG_LCD_LMS283GF05=y
CONFIG_LCD_LTV350QV=y
CONFIG_LCD_ILI9320=y
CONFIG_LCD_TDO24M=y
CONFIG_LCD_VGG2432A4=y
CONFIG_LCD_PLATFORM=y
CONFIG_LCD_S6E63M0=y
CONFIG_LCD_LD9040=y
CONFIG_LCD_AMS369FG06=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=y
CONFIG_BACKLIGHT_LM3533=y
CONFIG_BACKLIGHT_CARILLO_RANCH=y
CONFIG_BACKLIGHT_PWM=y
# CONFIG_BACKLIGHT_DA903X is not set
# CONFIG_BACKLIGHT_DA9052 is not set
# CONFIG_BACKLIGHT_MAX8925 is not set
CONFIG_BACKLIGHT_APPLE=y
CONFIG_BACKLIGHT_SAHARA=y
# CONFIG_BACKLIGHT_WM831X is not set
# CONFIG_BACKLIGHT_ADP5520 is not set
CONFIG_BACKLIGHT_ADP8860=y
CONFIG_BACKLIGHT_ADP8870=y
CONFIG_BACKLIGHT_88PM860X=y
# CONFIG_BACKLIGHT_PCF50633 is not set
# CONFIG_BACKLIGHT_AAT2870 is not set
CONFIG_BACKLIGHT_LM3630=y
CONFIG_BACKLIGHT_LM3639=y
CONFIG_BACKLIGHT_LP855X=y
# CONFIG_BACKLIGHT_OT200 is not set
CONFIG_BACKLIGHT_PANDORA=y

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_FONT_6x11=y
CONFIG_FONT_7x14=y
CONFIG_FONT_PEARL_8x8=y
CONFIG_FONT_ACORN_8x8=y
CONFIG_FONT_MINI_4x6=y
CONFIG_FONT_SUN8x16=y
CONFIG_FONT_SUN12x22=y
CONFIG_FONT_10x18=y
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y
# CONFIG_SOUND is not set

#
# HID support
#
CONFIG_HID=y
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=y
CONFIG_HID_GENERIC=y

#
# Special HID drivers
#
CONFIG_HID_A4TECH=y
CONFIG_HID_ACRUX=y
CONFIG_HID_ACRUX_FF=y
CONFIG_HID_APPLE=y
CONFIG_HID_AUREAL=y
CONFIG_HID_BELKIN=y
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
CONFIG_HID_CYPRESS=y
CONFIG_HID_DRAGONRISE=y
CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EMS_FF=y
CONFIG_HID_ELECOM=y
CONFIG_HID_EZKEY=y
CONFIG_HID_HOLTEK=y
CONFIG_HOLTEK_FF=y
CONFIG_HID_KEYTOUCH=y
CONFIG_HID_KYE=y
CONFIG_HID_UCLOGIC=y
CONFIG_HID_WALTOP=y
CONFIG_HID_GYRATION=y
CONFIG_HID_TWINHAN=y
CONFIG_HID_KENSINGTON=y
CONFIG_HID_LCPOWER=y
CONFIG_HID_LENOVO_TPKBD=y
CONFIG_HID_LOGITECH=y
CONFIG_HID_LOGITECH_DJ=y
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
CONFIG_LOGIWHEELS_FF=y
CONFIG_HID_MAGICMOUSE=y
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
CONFIG_HID_MULTITOUCH=y
CONFIG_HID_NTRIG=y
CONFIG_HID_ORTEK=y
CONFIG_HID_PANTHERLORD=y
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PETALYNX=y
CONFIG_HID_PICOLCD=y
CONFIG_HID_PICOLCD_FB=y
CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PICOLCD_CIR=y
CONFIG_HID_PRIMAX=y
CONFIG_HID_ROCCAT=y
CONFIG_HID_SAITEK=y
CONFIG_HID_SAMSUNG=y
CONFIG_HID_SONY=y
CONFIG_HID_SPEEDLINK=y
CONFIG_HID_SUNPLUS=y
CONFIG_HID_GREENASIA=y
CONFIG_GREENASIA_FF=y
CONFIG_HID_HYPERV_MOUSE=y
CONFIG_HID_SMARTJOYPLUS=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_HID_TIVO=y
CONFIG_HID_TOPSEED=y
CONFIG_HID_THRUSTMASTER=y
CONFIG_THRUSTMASTER_FF=y
CONFIG_HID_WACOM=y
CONFIG_HID_WIIMOTE=y
CONFIG_HID_WIIMOTE_EXT=y
CONFIG_HID_ZEROPLUS=y
CONFIG_ZEROPLUS_FF=y
CONFIG_HID_ZYDACRON=y
# CONFIG_HID_SENSOR_HUB is not set

#
# USB HID support
#
CONFIG_USB_HID=y
CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB_ARCH_HAS_XHCI=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
CONFIG_USB_DEBUG=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

#
# Miscellaneous USB options
#
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_SUSPEND=y
CONFIG_USB_OTG=y
CONFIG_USB_OTG_WHITELIST=y
CONFIG_USB_OTG_BLACKLIST_HUB=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_DEBUG=y
CONFIG_USB_DWC3_VERBOSE=y
CONFIG_USB_MON=y
CONFIG_USB_WUSB=y
CONFIG_USB_WUSB_CBAF=y
CONFIG_USB_WUSB_CBAF_DEBUG=y

#
# USB Host Controller Drivers
#
CONFIG_USB_C67X00_HCD=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_XHCI_HCD_DEBUGGING=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_OXU210HP_HCD=y
CONFIG_USB_ISP116X_HCD=y
CONFIG_USB_ISP1760_HCD=y
CONFIG_USB_ISP1362_HCD=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_SSB=y
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_USB_EHCI_HCD_PLATFORM=y
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_U132_HCD=y
CONFIG_USB_SL811_HCD=y
CONFIG_USB_SL811_HCD_ISO=y
CONFIG_USB_SL811_CS=y
CONFIG_USB_R8A66597_HCD=y
CONFIG_USB_RENESAS_USBHS_HCD=y
CONFIG_USB_WHCI_HCD=y
CONFIG_USB_HWA_HCD=y
# CONFIG_USB_HCD_BCMA is not set
CONFIG_USB_HCD_SSB=y
CONFIG_USB_MUSB_HDRC=y
CONFIG_USB_MUSB_TUSB6010=y
CONFIG_MUSB_PIO_ONLY=y
CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_CHIPIDEA_DEBUG=y
CONFIG_USB_RENESAS_USBHS=y

#
# USB Device Class drivers
#
CONFIG_USB_ACM=y
CONFIG_USB_PRINTER=y
CONFIG_USB_WDM=y
CONFIG_USB_TMC=y

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#

#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=y
CONFIG_USB_STORAGE_DEBUG=y
CONFIG_USB_STORAGE_REALTEK=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
CONFIG_USB_STORAGE_ALAUDA=y
CONFIG_USB_STORAGE_ONETOUCH=y
CONFIG_USB_STORAGE_KARMA=y
CONFIG_USB_STORAGE_CYPRESS_ATACB=y
CONFIG_USB_STORAGE_ENE_UB6250=y
CONFIG_USB_UAS=y

#
# USB Imaging devices
#
CONFIG_USB_MDC800=y
CONFIG_USB_MICROTEK=y

#
# USB port drivers
#
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CONSOLE=y
CONFIG_USB_EZUSB=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_AIRCABLE=y
CONFIG_USB_SERIAL_ARK3116=y
CONFIG_USB_SERIAL_BELKIN=y
CONFIG_USB_SERIAL_CH341=y
CONFIG_USB_SERIAL_WHITEHEAT=y
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=y
CONFIG_USB_SERIAL_CP210X=y
CONFIG_USB_SERIAL_CYPRESS_M8=y
CONFIG_USB_SERIAL_EMPEG=y
CONFIG_USB_SERIAL_FTDI_SIO=y
CONFIG_USB_SERIAL_FUNSOFT=y
CONFIG_USB_SERIAL_VISOR=y
CONFIG_USB_SERIAL_VIZZINI=y
CONFIG_USB_SERIAL_IPAQ=y
CONFIG_USB_SERIAL_IR=y
CONFIG_USB_SERIAL_EDGEPORT=y
CONFIG_USB_SERIAL_EDGEPORT_TI=y
CONFIG_USB_SERIAL_F81232=y
CONFIG_USB_SERIAL_GARMIN=y
CONFIG_USB_SERIAL_IPW=y
CONFIG_USB_SERIAL_IUU=y
CONFIG_USB_SERIAL_KEYSPAN_PDA=y
CONFIG_USB_SERIAL_KEYSPAN=y
CONFIG_USB_SERIAL_KEYSPAN_MPR=y
CONFIG_USB_SERIAL_KEYSPAN_USA28=y
CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
CONFIG_USB_SERIAL_KEYSPAN_USA19=y
CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
CONFIG_USB_SERIAL_KLSI=y
CONFIG_USB_SERIAL_KOBIL_SCT=y
CONFIG_USB_SERIAL_MCT_U232=y
CONFIG_USB_SERIAL_METRO=y
CONFIG_USB_SERIAL_MOS7720=y
CONFIG_USB_SERIAL_MOS7840=y
CONFIG_USB_SERIAL_MOTOROLA=y
CONFIG_USB_SERIAL_NAVMAN=y
CONFIG_USB_SERIAL_PL2303=y
CONFIG_USB_SERIAL_OTI6858=y
CONFIG_USB_SERIAL_QCAUX=y
CONFIG_USB_SERIAL_QUALCOMM=y
CONFIG_USB_SERIAL_SPCP8X5=y
CONFIG_USB_SERIAL_HP4X=y
CONFIG_USB_SERIAL_SAFE=y
CONFIG_USB_SERIAL_SAFE_PADDED=y
CONFIG_USB_SERIAL_SIEMENS_MPI=y
CONFIG_USB_SERIAL_SIERRAWIRELESS=y
CONFIG_USB_SERIAL_SYMBOL=y
CONFIG_USB_SERIAL_TI=y
CONFIG_USB_SERIAL_CYBERJACK=y
CONFIG_USB_SERIAL_XIRCOM=y
CONFIG_USB_SERIAL_WWAN=y
CONFIG_USB_SERIAL_OPTION=y
CONFIG_USB_SERIAL_OMNINET=y
CONFIG_USB_SERIAL_OPTICON=y
CONFIG_USB_SERIAL_VIVOPAY_SERIAL=y
CONFIG_USB_SERIAL_ZIO=y
CONFIG_USB_SERIAL_ZTE=y
CONFIG_USB_SERIAL_SSU100=y
CONFIG_USB_SERIAL_QT2=y
CONFIG_USB_SERIAL_DEBUG=y

#
# USB Miscellaneous drivers
#
CONFIG_USB_EMI62=y
CONFIG_USB_EMI26=y
CONFIG_USB_ADUTUX=y
CONFIG_USB_SEVSEG=y
CONFIG_USB_RIO500=y
CONFIG_USB_LEGOTOWER=y
CONFIG_USB_LCD=y
CONFIG_USB_LED=y
CONFIG_USB_CYPRESS_CY7C63=y
CONFIG_USB_CYTHERM=y
CONFIG_USB_IDMOUSE=y
CONFIG_USB_FTDI_ELAN=y
CONFIG_USB_APPLEDISPLAY=y
CONFIG_USB_SISUSBVGA=y
CONFIG_USB_SISUSBVGA_CON=y
CONFIG_USB_LD=y
CONFIG_USB_TRANCEVIBRATOR=y
CONFIG_USB_IOWARRIOR=y
CONFIG_USB_TEST=y
CONFIG_USB_ISIGHTFW=y
CONFIG_USB_YUREX=y

#
# USB Physical Layer drivers
#
CONFIG_OMAP_USB2=y
CONFIG_USB_ISP1301=y
CONFIG_USB_ATM=y
CONFIG_USB_SPEEDTOUCH=y
CONFIG_USB_CXACRU=y
CONFIG_USB_UEAGLEATM=y
CONFIG_USB_XUSBATM=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DEBUG=y
CONFIG_USB_GADGET_DEBUG_FILES=y
CONFIG_USB_GADGET_DEBUG_FS=y
CONFIG_USB_GADGET_VBUS_DRAW=2
CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2

#
# USB Peripheral Controller
#
CONFIG_USB_R8A66597=y
CONFIG_USB_RENESAS_USBHS_UDC=y
CONFIG_USB_MV_UDC=y
CONFIG_USB_GADGET_MUSB_HDRC=y
CONFIG_USB_M66592=y
CONFIG_USB_AMD5536UDC=y
CONFIG_USB_NET2272=y
CONFIG_USB_NET2272_DMA=y
CONFIG_USB_NET2280=y
CONFIG_USB_GOKU=y
CONFIG_USB_EG20T=y
CONFIG_USB_DUMMY_HCD=y
CONFIG_USB_LIBCOMPOSITE=y
# CONFIG_USB_ZERO is not set
CONFIG_USB_ETH=y
CONFIG_USB_ETH_RNDIS=y
CONFIG_USB_ETH_EEM=y
# CONFIG_USB_G_NCM is not set
# CONFIG_USB_GADGETFS is not set
# CONFIG_USB_FUNCTIONFS is not set
# CONFIG_USB_FILE_STORAGE is not set
# CONFIG_USB_MASS_STORAGE is not set
# CONFIG_USB_GADGET_TARGET is not set
# CONFIG_USB_G_SERIAL is not set
# CONFIG_USB_G_PRINTER is not set
# CONFIG_USB_CDC_COMPOSITE is not set
# CONFIG_USB_G_NOKIA is not set
# CONFIG_USB_G_ACM_MS is not set
# CONFIG_USB_G_MULTI is not set
# CONFIG_USB_G_HID is not set
# CONFIG_USB_G_DBGP is not set
# CONFIG_USB_G_WEBCAM is not set

#
# OTG and related infrastructure
#
CONFIG_USB_OTG_UTILS=y
CONFIG_USB_GPIO_VBUS=y
CONFIG_TWL4030_USB=y
CONFIG_TWL6030_USB=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_UWB=y
CONFIG_UWB_HWA=y
CONFIG_UWB_WHCI=y
CONFIG_UWB_I1480U=y
CONFIG_MMC=y
CONFIG_MMC_DEBUG=y
# CONFIG_MMC_UNSAFE_RESUME is not set
CONFIG_MMC_CLKGATE=y

#
# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_SDIO_UART=y
CONFIG_MMC_TEST=y

#
# MMC/SD/SDIO Host Controller Drivers
#
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PCI=y
CONFIG_MMC_RICOH_MMC=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_WBSD=y
CONFIG_MMC_TIFM_SD=y
CONFIG_MMC_SPI=y
CONFIG_MMC_SDRICOH_CS=y
CONFIG_MMC_CB710=y
CONFIG_MMC_VIA_SDMMC=y
CONFIG_MMC_VUB300=y
CONFIG_MMC_USHC=y
CONFIG_MEMSTICK=y
CONFIG_MEMSTICK_DEBUG=y

#
# MemoryStick drivers
#
CONFIG_MEMSTICK_UNSAFE_RESUME=y
CONFIG_MSPRO_BLOCK=y
CONFIG_MS_BLOCK=y

#
# MemoryStick Host Controller Drivers
#
CONFIG_MEMSTICK_TIFM_MS=y
CONFIG_MEMSTICK_JMICRON_38X=y
CONFIG_MEMSTICK_R592=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y

#
# LED drivers
#
CONFIG_LEDS_88PM860X=y
CONFIG_LEDS_LM3530=y
CONFIG_LEDS_LM3533=y
CONFIG_LEDS_LM3642=y
CONFIG_LEDS_PCA9532=y
CONFIG_LEDS_PCA9532_GPIO=y
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_LP3944=y
CONFIG_LEDS_LP5521=y
CONFIG_LEDS_LP5523=y
CONFIG_LEDS_LP8788=y
CONFIG_LEDS_CLEVO_MAIL=y
CONFIG_LEDS_PCA955X=y
CONFIG_LEDS_PCA9633=y
# CONFIG_LEDS_WM831X_STATUS is not set
# CONFIG_LEDS_WM8350 is not set
# CONFIG_LEDS_DA903X is not set
# CONFIG_LEDS_DA9052 is not set
CONFIG_LEDS_DAC124S085=y
CONFIG_LEDS_REGULATOR=y
CONFIG_LEDS_BD2802=y
CONFIG_LEDS_INTEL_SS4200=y
CONFIG_LEDS_LT3593=y
# CONFIG_LEDS_ADP5520 is not set
CONFIG_LEDS_DELL_NETBOOKS=y
CONFIG_LEDS_MC13783=y
CONFIG_LEDS_TCA6507=y
# CONFIG_LEDS_MAX8997 is not set
# CONFIG_LEDS_LM355x is not set
CONFIG_LEDS_OT200=y
CONFIG_LEDS_BLINKM=y
CONFIG_LEDS_TRIGGERS=y

#
# LED Triggers
#
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_ONESHOT=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
CONFIG_LEDS_TRIGGER_CPU=y
CONFIG_LEDS_TRIGGER_GPIO=y
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y

#
# iptables trigger is under Netfilter config (LED target)
#
CONFIG_LEDS_TRIGGER_TRANSIENT=y
CONFIG_ACCESSIBILITY=y
CONFIG_A11Y_BRAILLE_CONSOLE=y
CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_USER_MAD=y
CONFIG_INFINIBAND_USER_ACCESS=y
CONFIG_INFINIBAND_USER_MEM=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_MTHCA=y
CONFIG_INFINIBAND_MTHCA_DEBUG=y
CONFIG_INFINIBAND_IPATH=y
CONFIG_INFINIBAND_QIB=y
CONFIG_INFINIBAND_AMSO1100=y
CONFIG_INFINIBAND_AMSO1100_DEBUG=y
CONFIG_INFINIBAND_CXGB3=y
CONFIG_INFINIBAND_CXGB3_DEBUG=y
CONFIG_INFINIBAND_CXGB4=y
CONFIG_MLX4_INFINIBAND=y
CONFIG_INFINIBAND_NES=y
CONFIG_INFINIBAND_NES_DEBUG=y
CONFIG_INFINIBAND_OCRDMA=y
CONFIG_INFINIBAND_IPOIB=y
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG=y
CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
CONFIG_INFINIBAND_SRP=y
CONFIG_INFINIBAND_SRPT=y
CONFIG_INFINIBAND_ISER=y
CONFIG_EDAC=y

#
# Reporting subsystems
#
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_DEBUG=y
CONFIG_EDAC_DECODE_MCE=y
CONFIG_EDAC_MCE_INJ=y
CONFIG_EDAC_MM_EDAC=y
CONFIG_EDAC_AMD64=y
CONFIG_EDAC_AMD64_ERROR_INJECTION=y
CONFIG_EDAC_E752X=y
CONFIG_EDAC_I82975X=y
CONFIG_EDAC_I3000=y
CONFIG_EDAC_I3200=y
CONFIG_EDAC_X38=y
CONFIG_EDAC_I5400=y
CONFIG_EDAC_I7CORE=y
CONFIG_EDAC_I5000=y
CONFIG_EDAC_I5100=y
CONFIG_EDAC_I7300=y
CONFIG_EDAC_SBRIDGE=y
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
CONFIG_RTC_DEBUG=y

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
CONFIG_RTC_INTF_DEV_UIE_EMUL=y
CONFIG_RTC_DRV_TEST=y

#
# I2C RTC drivers
#
CONFIG_RTC_DRV_88PM860X=y
CONFIG_RTC_DRV_88PM80X=y
CONFIG_RTC_DRV_DS1307=y
CONFIG_RTC_DRV_DS1374=y
CONFIG_RTC_DRV_DS1672=y
CONFIG_RTC_DRV_DS3232=y
CONFIG_RTC_DRV_MAX6900=y
CONFIG_RTC_DRV_MAX8907=y
# CONFIG_RTC_DRV_MAX8925 is not set
# CONFIG_RTC_DRV_MAX8998 is not set
CONFIG_RTC_DRV_RS5C372=y
CONFIG_RTC_DRV_ISL1208=y
CONFIG_RTC_DRV_ISL12022=y
CONFIG_RTC_DRV_X1205=y
CONFIG_RTC_DRV_PCF8563=y
CONFIG_RTC_DRV_PCF8583=y
CONFIG_RTC_DRV_M41T80=y
CONFIG_RTC_DRV_M41T80_WDT=y
CONFIG_RTC_DRV_BQ32K=y
CONFIG_RTC_DRV_TWL4030=y
# CONFIG_RTC_DRV_TPS65910 is not set
# CONFIG_RTC_DRV_RC5T583 is not set
CONFIG_RTC_DRV_S35390A=y
CONFIG_RTC_DRV_FM3130=y
CONFIG_RTC_DRV_RX8581=y
CONFIG_RTC_DRV_RX8025=y
CONFIG_RTC_DRV_EM3027=y
CONFIG_RTC_DRV_RV3029C2=y

#
# SPI RTC drivers
#
CONFIG_RTC_DRV_M41T93=y
CONFIG_RTC_DRV_M41T94=y
CONFIG_RTC_DRV_DS1305=y
CONFIG_RTC_DRV_DS1390=y
CONFIG_RTC_DRV_MAX6902=y
CONFIG_RTC_DRV_R9701=y
CONFIG_RTC_DRV_RS5C348=y
CONFIG_RTC_DRV_DS3234=y
CONFIG_RTC_DRV_PCF2123=y

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
CONFIG_RTC_DRV_DS1286=y
CONFIG_RTC_DRV_DS1511=y
CONFIG_RTC_DRV_DS1553=y
CONFIG_RTC_DRV_DS1742=y
# CONFIG_RTC_DRV_DA9052 is not set
CONFIG_RTC_DRV_STK17TA8=y
CONFIG_RTC_DRV_M48T86=y
CONFIG_RTC_DRV_M48T35=y
CONFIG_RTC_DRV_M48T59=y
CONFIG_RTC_DRV_MSM6242=y
CONFIG_RTC_DRV_BQ4802=y
CONFIG_RTC_DRV_RP5C01=y
CONFIG_RTC_DRV_V3020=y
# CONFIG_RTC_DRV_DS2404 is not set
# CONFIG_RTC_DRV_WM831X is not set
# CONFIG_RTC_DRV_WM8350 is not set
# CONFIG_RTC_DRV_PCF50633 is not set
CONFIG_RTC_DRV_AB3100=y

#
# on-CPU RTC drivers
#
# CONFIG_RTC_DRV_PCAP is not set
CONFIG_RTC_DRV_MC13XXX=y
CONFIG_DMADEVICES=y
CONFIG_DMADEVICES_DEBUG=y
CONFIG_DMADEVICES_VDEBUG=y

#
# DMA Devices
#
CONFIG_INTEL_MID_DMAC=y
CONFIG_INTEL_IOATDMA=y
CONFIG_TIMB_DMA=y
CONFIG_PCH_DMA=y
CONFIG_DMA_ENGINE=y

#
# DMA Clients
#
CONFIG_NET_DMA=y
CONFIG_ASYNC_TX_DMA=y
CONFIG_DMATEST=y
CONFIG_DCA=y
CONFIG_AUXDISPLAY=y
CONFIG_UIO=y
CONFIG_UIO_CIF=y
CONFIG_UIO_PDRV=y
CONFIG_UIO_PDRV_GENIRQ=y
CONFIG_UIO_AEC=y
CONFIG_UIO_SERCOS3=y
CONFIG_UIO_PCI_GENERIC=y
CONFIG_UIO_NETX=y
CONFIG_VFIO_IOMMU_TYPE1=y
CONFIG_VFIO=y
CONFIG_VFIO_PCI=y
CONFIG_VIRTIO=y

#
# Virtio drivers
#
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y

#
# Microsoft Hyper-V guest support
#
CONFIG_HYPERV=y
CONFIG_HYPERV_UTILS=y

#
# Xen driver support
#
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SELFBALLOONING=y
CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=y
CONFIG_XEN_BACKEND=y
CONFIG_XENFS=y
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_XENBUS_FRONTEND=y
CONFIG_XEN_GNTDEV=y
CONFIG_XEN_GRANT_DEV_ALLOC=y
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_TMEM=y
CONFIG_XEN_PCIDEV_BACKEND=y
CONFIG_XEN_PRIVCMD=y
CONFIG_XEN_ACPI_PROCESSOR=y
CONFIG_XEN_MCE_LOG=y
CONFIG_STAGING=y
CONFIG_ET131X=y
CONFIG_SLICOSS=y
CONFIG_USBIP_CORE=y
# CONFIG_USBIP_VHCI_HCD is not set
CONFIG_USBIP_HOST=y
CONFIG_USBIP_DEBUG=y
CONFIG_W35UND=y
CONFIG_PRISM2_USB=y
CONFIG_ECHO=y
CONFIG_ASUS_OLED=y
CONFIG_R8712U=y
CONFIG_RTS_PSTOR=y
CONFIG_RTS_PSTOR_DEBUG=y
CONFIG_RTS5139=y
CONFIG_RTS5139_DEBUG=y
CONFIG_TRANZPORT=y
CONFIG_IDE_PHISON=y
CONFIG_USB_SERIAL_QUATECH2=y
CONFIG_DX_SEP=y

#
# IIO staging drivers
#
CONFIG_IIO_ST_HWMON=y
CONFIG_IIO_SW_RING=y

#
# Accelerometers
#
CONFIG_ADIS16201=y
CONFIG_ADIS16203=y
CONFIG_ADIS16204=y
CONFIG_ADIS16209=y
CONFIG_ADIS16220=y
CONFIG_ADIS16240=y
CONFIG_KXSD9=y
CONFIG_LIS3L02DQ=y
CONFIG_LIS3L02DQ_BUF_KFIFO=y
# CONFIG_LIS3L02DQ_BUF_RING_SW is not set
CONFIG_SCA3000=y

#
# Analog to digital converters
#
CONFIG_AD7291=y
CONFIG_AD7298=y
CONFIG_AD7606=y
CONFIG_AD7606_IFACE_PARALLEL=y
CONFIG_AD7606_IFACE_SPI=y
CONFIG_AD799X=y
CONFIG_AD799X_RING_BUFFER=y
CONFIG_AD7887=y
CONFIG_AD7780=y
CONFIG_AD7793=y
CONFIG_AD7816=y
CONFIG_AD7192=y
CONFIG_ADT7310=y
CONFIG_ADT7410=y
CONFIG_AD7280=y
CONFIG_MAX1363=y
CONFIG_MAX1363_RING_BUFFER=y

#
# Analog digital bi-direction converters
#
CONFIG_ADT7316=y
CONFIG_ADT7316_SPI=y
CONFIG_ADT7316_I2C=y

#
# Capacitance to digital converters
#
CONFIG_AD7150=y
CONFIG_AD7152=y
CONFIG_AD7746=y

#
# Direct Digital Synthesis
#
CONFIG_AD5930=y
CONFIG_AD9832=y
CONFIG_AD9834=y
CONFIG_AD9850=y
CONFIG_AD9852=y
CONFIG_AD9910=y
CONFIG_AD9951=y

#
# Digital gyroscope sensors
#
CONFIG_ADIS16060=y
CONFIG_ADIS16080=y
CONFIG_ADIS16130=y
CONFIG_ADIS16260=y
CONFIG_ADXRS450=y

#
# Network Analyzer, Impedance Converters
#
CONFIG_AD5933=y

#
# Inertial measurement units
#
CONFIG_ADIS16400=y

#
# Light sensors
#
CONFIG_SENSORS_ISL29018=y
CONFIG_SENSORS_ISL29028=y
CONFIG_SENSORS_TSL2563=y
CONFIG_TSL2583=y
CONFIG_TSL2x7x=y

#
# Magnetometer sensors
#
CONFIG_SENSORS_AK8975=y
CONFIG_SENSORS_HMC5843=y

#
# Active energy metering IC
#
CONFIG_ADE7753=y
CONFIG_ADE7754=y
CONFIG_ADE7758=y
CONFIG_ADE7759=y
CONFIG_ADE7854=y
CONFIG_ADE7854_I2C=y
CONFIG_ADE7854_SPI=y

#
# Resolver to digital converters
#
CONFIG_AD2S90=y
CONFIG_AD2S1200=y
CONFIG_AD2S1210=y

#
# Triggers - standalone
#
CONFIG_IIO_PERIODIC_RTC_TRIGGER=y
CONFIG_IIO_GPIO_TRIGGER=y
CONFIG_IIO_SYSFS_TRIGGER=y
CONFIG_IIO_DUMMY_EVGEN=y
CONFIG_IIO_SIMPLE_DUMMY=y
CONFIG_IIO_SIMPLE_DUMMY_EVENTS=y
CONFIG_IIO_SIMPLE_DUMMY_BUFFER=y
CONFIG_ZRAM=y
CONFIG_ZRAM_DEBUG=y
CONFIG_ZCACHE=y
CONFIG_ZSMALLOC=y
CONFIG_WLAGS49_H2=y
CONFIG_WLAGS49_H25=y
CONFIG_FB_SM7XX=y
CONFIG_CRYSTALHD=y
# CONFIG_CXT1E1 is not set
CONFIG_FB_XGI=y
CONFIG_ACPI_QUICKSTART=y
# CONFIG_SBE_2T3E3 is not set
CONFIG_BCM_WIMAX=y
CONFIG_FT1000=y
CONFIG_FT1000_USB=y
CONFIG_FT1000_PCMCIA=y

#
# Speakup console speech
#
CONFIG_SPEAKUP=y
CONFIG_SPEAKUP_SYNTH_ACNTSA=y
CONFIG_SPEAKUP_SYNTH_ACNTPC=y
CONFIG_SPEAKUP_SYNTH_APOLLO=y
CONFIG_SPEAKUP_SYNTH_AUDPTR=y
CONFIG_SPEAKUP_SYNTH_BNS=y
CONFIG_SPEAKUP_SYNTH_DECTLK=y
CONFIG_SPEAKUP_SYNTH_DECEXT=y
CONFIG_SPEAKUP_SYNTH_DTLK=y
CONFIG_SPEAKUP_SYNTH_KEYPC=y
CONFIG_SPEAKUP_SYNTH_LTLK=y
CONFIG_SPEAKUP_SYNTH_SOFT=y
CONFIG_SPEAKUP_SYNTH_SPKOUT=y
CONFIG_SPEAKUP_SYNTH_TXPRT=y
CONFIG_SPEAKUP_SYNTH_DUMMY=y
CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=y
CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=y
CONFIG_STAGING_MEDIA=y
CONFIG_DVB_AS102=y
CONFIG_DVB_CXD2099=y
CONFIG_VIDEO_DT3155=y
CONFIG_DT3155_CCIR=y
CONFIG_DT3155_STREAMING=y
# CONFIG_LIRC_STAGING is not set

#
# Android
#
CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ASHMEM=y
CONFIG_ANDROID_LOGGER=y
CONFIG_ANDROID_TIMED_OUTPUT=y
CONFIG_ANDROID_TIMED_GPIO=y
CONFIG_ANDROID_LOW_MEMORY_KILLER=y
CONFIG_ANDROID_INTF_ALARM_DEV=y
CONFIG_PHONE=y
CONFIG_PHONE_IXJ=y
CONFIG_PHONE_IXJ_PCMCIA=y
CONFIG_USB_WPAN_HCD=y
CONFIG_IPACK_BUS=y
CONFIG_BOARD_TPCI200=y
CONFIG_SERIAL_IPOCTAL=y
CONFIG_WIMAX_GDM72XX=y
CONFIG_WIMAX_GDM72XX_QOS=y
CONFIG_WIMAX_GDM72XX_K_MODE=y
CONFIG_WIMAX_GDM72XX_WIMAX2=y
CONFIG_WIMAX_GDM72XX_USB=y
# CONFIG_WIMAX_GDM72XX_SDIO is not set
CONFIG_WIMAX_GDM72XX_USB_PM=y
CONFIG_CSR_WIFI=y
CONFIG_NET_VENDOR_SILICOM=y
CONFIG_CED1401=y
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACER_WMI=y
CONFIG_ACERHDF=y
CONFIG_ASUS_LAPTOP=y
CONFIG_DELL_LAPTOP=y
CONFIG_DELL_WMI=y
CONFIG_DELL_WMI_AIO=y
CONFIG_FUJITSU_LAPTOP=y
CONFIG_FUJITSU_LAPTOP_DEBUG=y
CONFIG_FUJITSU_TABLET=y
CONFIG_AMILO_RFKILL=y
CONFIG_HP_ACCEL=y
CONFIG_HP_WMI=y
CONFIG_MSI_LAPTOP=y
CONFIG_PANASONIC_LAPTOP=y
CONFIG_COMPAL_LAPTOP=y
CONFIG_SONY_LAPTOP=y
CONFIG_SONYPI_COMPAT=y
CONFIG_IDEAPAD_LAPTOP=y
CONFIG_THINKPAD_ACPI=y
CONFIG_THINKPAD_ACPI_DEBUGFACILITIES=y
CONFIG_THINKPAD_ACPI_DEBUG=y
CONFIG_THINKPAD_ACPI_UNSAFE_LEDS=y
CONFIG_THINKPAD_ACPI_VIDEO=y
CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
CONFIG_SENSORS_HDAPS=y
CONFIG_INTEL_MENLOW=y
CONFIG_EEEPC_LAPTOP=y
CONFIG_ASUS_WMI=y
CONFIG_ASUS_NB_WMI=y
CONFIG_EEEPC_WMI=y
CONFIG_ACPI_WMI=y
CONFIG_MSI_WMI=y
CONFIG_TOPSTAR_LAPTOP=y
CONFIG_ACPI_TOSHIBA=y
CONFIG_TOSHIBA_BT_RFKILL=y
CONFIG_ACPI_CMPC=y
CONFIG_INTEL_IPS=y
CONFIG_IBM_RTL=y
CONFIG_XO15_EBOOK=y
CONFIG_SAMSUNG_LAPTOP=y
CONFIG_MXM_WMI=y
CONFIG_INTEL_OAKTRAIL=y
CONFIG_SAMSUNG_Q10=y
CONFIG_APPLE_GMUX=y

#
# Hardware Spinlock drivers
#
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y
CONFIG_AMD_IOMMU=y
CONFIG_AMD_IOMMU_STATS=y
CONFIG_AMD_IOMMU_V2=y
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
CONFIG_IRQ_REMAP=y

#
# Remoteproc drivers (EXPERIMENTAL)
#

#
# Rpmsg drivers (EXPERIMENTAL)
#
CONFIG_VIRT_DRIVERS=y
CONFIG_PM_DEVFREQ=y

#
# DEVFREQ Governors
#
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
CONFIG_DEVFREQ_GOV_PERFORMANCE=y
CONFIG_DEVFREQ_GOV_POWERSAVE=y
CONFIG_DEVFREQ_GOV_USERSPACE=y

#
# DEVFREQ Drivers
#
CONFIG_EXTCON=y

#
# Extcon Device Drivers
#
CONFIG_EXTCON_GPIO=y
# CONFIG_EXTCON_ADC_JACK is not set
CONFIG_EXTCON_MAX77693=y
# CONFIG_EXTCON_MAX8997 is not set
CONFIG_EXTCON_ARIZONA=y
CONFIG_MEMORY=y
CONFIG_IIO=y
CONFIG_IIO_BUFFER=y
CONFIG_IIO_KFIFO_BUF=y
CONFIG_IIO_TRIGGERED_BUFFER=y
CONFIG_IIO_TRIGGER=y
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2

#
# Accelerometers
#

#
# Analog to digital converters
#
CONFIG_AD_SIGMA_DELTA=y
CONFIG_AD7266=y
CONFIG_AD7791=y
CONFIG_AD7476=y

#
# Amplifiers
#
CONFIG_AD8366=y

#
# Light sensors
#
CONFIG_ADJD_S311=y
CONFIG_SENSORS_LM3533=y
CONFIG_VCNL4000=y

#
# Frequency Synthesizers DDS/PLL
#

#
# Clock Generator/Distribution
#
CONFIG_AD9523=y

#
# Phase-Locked Loop (PLL) frequency synthesizers
#
CONFIG_ADF4350=y

#
# Digital to analog converters
#
CONFIG_AD5064=y
CONFIG_AD5360=y
CONFIG_AD5380=y
CONFIG_AD5421=y
CONFIG_AD5624R_SPI=y
CONFIG_AD5446=y
CONFIG_AD5504=y
CONFIG_AD5755=y
CONFIG_AD5764=y
CONFIG_AD5791=y
CONFIG_AD5686=y
CONFIG_MAX517=y
CONFIG_MCP4725=y

#
# Hid Sensor IIO Common
#

#
# Digital gyroscope sensors
#

#
# Light sensors
#

#
# Magnetometer sensors
#
CONFIG_VME_BUS=y

#
# VME Bridge Drivers
#
CONFIG_VME_CA91CX42=y
CONFIG_VME_TSI148=y

#
# VME Board Drivers
#
CONFIG_VMIVME_7805=y

#
# VME Device Drivers
#
CONFIG_VME_USER=y
CONFIG_VME_PIO2=y
CONFIG_PWM=y
CONFIG_PWM_TWL6030=y

#
# Firmware Drivers
#
CONFIG_EDD=y
# CONFIG_EDD_OFF is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_EFI_VARS=y
CONFIG_DELL_RBU=y
CONFIG_DCDBAS=y
CONFIG_DMIID=y
CONFIG_DMI_SYSFS=y
CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=y
CONFIG_GOOGLE_FIRMWARE=y

#
# Google Firmware Drivers
#
CONFIG_GOOGLE_SMI=y
CONFIG_GOOGLE_MEMCONSOLE=y

#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT2_FS_XIP=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_DEBUG=y
CONFIG_FS_XIP=y
CONFIG_JBD=y
CONFIG_JBD_DEBUG=y
CONFIG_JBD2=y
CONFIG_JBD2_DEBUG=y
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=y
CONFIG_REISERFS_CHECK=y
CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
CONFIG_JFS_DEBUG=y
CONFIG_JFS_STATISTICS=y
CONFIG_XFS_FS=y
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
CONFIG_XFS_DEBUG=y
CONFIG_GFS2_FS=y
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=y
CONFIG_OCFS2_FS_O2CB=y
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=y
CONFIG_OCFS2_FS_STATS=y
CONFIG_OCFS2_DEBUG_MASKLOG=y
CONFIG_OCFS2_DEBUG_FS=y
CONFIG_BTRFS_FS=y
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_BTRFS_FS_CHECK_INTEGRITY=y
CONFIG_NILFS2_FS=y
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_PRINT_QUOTA_WARNING is not set
CONFIG_QUOTA_DEBUG=y
CONFIG_QUOTA_TREE=y
CONFIG_QFMT_V1=y
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y
CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=y
CONFIG_CUSE=y
CONFIG_GENERIC_ACL=y

#
# Caches
#
CONFIG_FSCACHE=y
CONFIG_FSCACHE_STATS=y
CONFIG_FSCACHE_HISTOGRAM=y
CONFIG_FSCACHE_DEBUG=y
CONFIG_FSCACHE_OBJECT_LIST=y
CONFIG_CACHEFILES=y
CONFIG_CACHEFILES_DEBUG=y
CONFIG_CACHEFILES_HISTOGRAM=y

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=y
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=y
CONFIG_NTFS_DEBUG=y
CONFIG_NTFS_RW=y

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=y
CONFIG_MISC_FILESYSTEMS=y
CONFIG_ADFS_FS=y
CONFIG_ADFS_FS_RW=y
CONFIG_AFFS_FS=y
CONFIG_ECRYPT_FS=y
CONFIG_HFS_FS=y
CONFIG_HFSPLUS_FS=y
CONFIG_BEFS_FS=y
CONFIG_BEFS_DEBUG=y
CONFIG_BFS_FS=y
CONFIG_EFS_FS=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
CONFIG_JFFS2_FS_WBUF_VERIFY=y
CONFIG_JFFS2_SUMMARY=y
CONFIG_JFFS2_FS_XATTR=y
CONFIG_JFFS2_FS_POSIX_ACL=y
CONFIG_JFFS2_FS_SECURITY=y
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
CONFIG_JFFS2_RTIME=y
CONFIG_JFFS2_RUBIN=y
# CONFIG_JFFS2_CMODE_NONE is not set
CONFIG_JFFS2_CMODE_PRIORITY=y
# CONFIG_JFFS2_CMODE_SIZE is not set
# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
CONFIG_UBIFS_FS=y
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
CONFIG_LOGFS=y
CONFIG_CRAMFS=y
CONFIG_SQUASHFS=y
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
CONFIG_SQUASHFS_EMBEDDED=y
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
CONFIG_VXFS_FS=y
CONFIG_MINIX_FS=y
CONFIG_OMFS_FS=y
CONFIG_HPFS_FS=y
CONFIG_QNX4FS_FS=y
CONFIG_QNX6FS_FS=y
CONFIG_QNX6FS_DEBUG=y
CONFIG_ROMFS_FS=y
# CONFIG_ROMFS_BACKED_BY_BLOCK is not set
# CONFIG_ROMFS_BACKED_BY_MTD is not set
CONFIG_ROMFS_BACKED_BY_BOTH=y
CONFIG_ROMFS_ON_BLOCK=y
CONFIG_ROMFS_ON_MTD=y
CONFIG_PSTORE=y
CONFIG_PSTORE_CONSOLE=y
CONFIG_PSTORE_RAM=y
CONFIG_SYSV_FS=y
CONFIG_UFS_FS=y
CONFIG_UFS_FS_WRITE=y
CONFIG_UFS_DEBUG=y
CONFIG_EXOFS_FS=y
CONFIG_EXOFS_DEBUG=y
CONFIG_ORE=y
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V2=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_NFS_SWAP=y
CONFIG_NFS_V4_1=y
CONFIG_PNFS_FILE_LAYOUT=y
CONFIG_PNFS_BLOCK=y
CONFIG_PNFS_OBJLAYOUT=y
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="y"
CONFIG_ROOT_NFS=y
CONFIG_NFS_FSCACHE=y
CONFIG_NFS_USE_LEGACY_DNS=y
CONFIG_NFS_DEBUG=y
CONFIG_NFSD=y
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_FAULT_INJECTION=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_SUNRPC_XPRT_RDMA=y
CONFIG_SUNRPC_SWAP=y
CONFIG_RPCSEC_GSS_KRB5=y
CONFIG_SUNRPC_DEBUG=y
CONFIG_CEPH_FS=y
CONFIG_CIFS=y
CONFIG_CIFS_STATS=y
CONFIG_CIFS_STATS2=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_DEBUG2=y
CONFIG_CIFS_DFS_UPCALL=y
CONFIG_CIFS_FSCACHE=y
CONFIG_CIFS_ACL=y
CONFIG_CIFS_SMB2=y
CONFIG_NCP_FS=y
CONFIG_NCPFS_PACKET_SIGNING=y
CONFIG_NCPFS_IOCTL_LOCKING=y
CONFIG_NCPFS_STRONG=y
CONFIG_NCPFS_NFS_NS=y
CONFIG_NCPFS_OS2_NS=y
CONFIG_NCPFS_SMALLDOS=y
CONFIG_NCPFS_NLS=y
CONFIG_NCPFS_EXTRAS=y
CONFIG_CODA_FS=y
CONFIG_AFS_FS=y
CONFIG_AFS_DEBUG=y
CONFIG_AFS_FSCACHE=y
CONFIG_9P_FS=y
CONFIG_9P_FSCACHE=y
CONFIG_9P_FS_POSIX_ACL=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=y
CONFIG_NLS_CODEPAGE_775=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_CODEPAGE_852=y
CONFIG_NLS_CODEPAGE_855=y
CONFIG_NLS_CODEPAGE_857=y
CONFIG_NLS_CODEPAGE_860=y
CONFIG_NLS_CODEPAGE_861=y
CONFIG_NLS_CODEPAGE_862=y
CONFIG_NLS_CODEPAGE_863=y
CONFIG_NLS_CODEPAGE_864=y
CONFIG_NLS_CODEPAGE_865=y
CONFIG_NLS_CODEPAGE_866=y
CONFIG_NLS_CODEPAGE_869=y
CONFIG_NLS_CODEPAGE_936=y
CONFIG_NLS_CODEPAGE_950=y
CONFIG_NLS_CODEPAGE_932=y
CONFIG_NLS_CODEPAGE_949=y
CONFIG_NLS_CODEPAGE_874=y
CONFIG_NLS_ISO8859_8=y
CONFIG_NLS_CODEPAGE_1250=y
CONFIG_NLS_CODEPAGE_1251=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
CONFIG_NLS_ISO8859_3=y
CONFIG_NLS_ISO8859_4=y
CONFIG_NLS_ISO8859_5=y
CONFIG_NLS_ISO8859_6=y
CONFIG_NLS_ISO8859_7=y
CONFIG_NLS_ISO8859_9=y
CONFIG_NLS_ISO8859_13=y
CONFIG_NLS_ISO8859_14=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_KOI8_R=y
CONFIG_NLS_KOI8_U=y
CONFIG_NLS_MAC_ROMAN=y
CONFIG_NLS_MAC_CELTIC=y
CONFIG_NLS_MAC_CENTEURO=y
CONFIG_NLS_MAC_CROATIAN=y
CONFIG_NLS_MAC_CYRILLIC=y
CONFIG_NLS_MAC_GAELIC=y
CONFIG_NLS_MAC_GREEK=y
CONFIG_NLS_MAC_ICELAND=y
CONFIG_NLS_MAC_INUIT=y
CONFIG_NLS_MAC_ROMANIAN=y
CONFIG_NLS_MAC_TURKISH=y
CONFIG_NLS_UTF8=y
CONFIG_DLM=y
CONFIG_DLM_DEBUG=y

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_PRINTK_TIME=y
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
# CONFIG_ENABLE_WARN_DEPRECATED is not set
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
# CONFIG_STRIP_ASM_SYMS is not set
CONFIG_READABLE_ASM=y
CONFIG_UNUSED_SYMBOLS=y
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
CONFIG_DEBUG_SECTION_MISMATCH=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_SHIRQ=y
CONFIG_LOCKUP_DETECTOR=y
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
# CONFIG_PANIC_ON_OOPS is not set
CONFIG_PANIC_ON_OOPS_VALUE=0
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
CONFIG_DEBUG_OBJECTS=y
CONFIG_DEBUG_OBJECTS_SELFTEST=y
CONFIG_DEBUG_OBJECTS_FREE=y
CONFIG_DEBUG_OBJECTS_TIMERS=y
CONFIG_DEBUG_OBJECTS_WORK=y
CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
# CONFIG_SLUB_DEBUG_ON is not set
CONFIG_SLUB_STATS=y
CONFIG_DEBUG_KMEMLEAK=y
CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=400
# CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF is not set
CONFIG_DEBUG_PREEMPT=y
CONFIG_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=y
CONFIG_PROVE_RCU=y
CONFIG_PROVE_RCU_REPEATEDLY=y
CONFIG_PROVE_RCU_DELAY=y
CONFIG_SPARSE_RCU_POINTER=y
CONFIG_LOCKDEP=y
CONFIG_LOCK_STAT=y
CONFIG_DEBUG_LOCKDEP=y
CONFIG_TRACE_IRQFLAGS=y
CONFIG_DEBUG_ATOMIC_SLEEP=y
CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
CONFIG_STACKTRACE=y
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_DEBUG_KOBJECT=y
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_INFO_REDUCED is not set
CONFIG_DEBUG_VM=y
CONFIG_DEBUG_VM_RB=y
CONFIG_DEBUG_VIRTUAL=y
CONFIG_DEBUG_WRITECOUNT=y
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_DEBUG_LIST=y
CONFIG_TEST_LIST_SORT=y
CONFIG_DEBUG_SG=y
CONFIG_DEBUG_NOTIFIERS=y
CONFIG_DEBUG_CREDENTIALS=y
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
CONFIG_RCU_TORTURE_TEST=y
CONFIG_RCU_TORTURE_TEST_RUNNABLE=y
CONFIG_RCU_CPU_STALL_TIMEOUT=60
CONFIG_RCU_CPU_STALL_VERBOSE=y
CONFIG_RCU_CPU_STALL_INFO=y
CONFIG_RCU_TRACE=y
CONFIG_BACKTRACE_SELF_TEST=y
CONFIG_DEBUG_BLOCK_EXT_DEVT=y
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
CONFIG_DEBUG_PER_CPU_MAPS=y
CONFIG_LKDTM=y
CONFIG_NOTIFIER_ERROR_INJECTION=y
CONFIG_CPU_NOTIFIER_ERROR_INJECT=y
CONFIG_PM_NOTIFIER_ERROR_INJECT=y
CONFIG_MEMORY_NOTIFIER_ERROR_INJECT=y
CONFIG_FAULT_INJECTION=y
CONFIG_FAILSLAB=y
CONFIG_FAIL_PAGE_ALLOC=y
CONFIG_FAIL_MAKE_REQUEST=y
CONFIG_FAIL_IO_TIMEOUT=y
CONFIG_FAIL_MMC_REQUEST=y
CONFIG_FAULT_INJECTION_DEBUG_FS=y
CONFIG_LATENCYTOP=y
CONFIG_DEBUG_PAGEALLOC=y
CONFIG_WANT_PAGE_DEBUG_FLAGS=y
CONFIG_PAGE_GUARD=y
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_FENTRY=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACE_CLOCK=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_RING_BUFFER_ALLOW_SWAP=y
CONFIG_TRACING=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_ENABLE_DEFAULT_TRACERS is not set
# CONFIG_FTRACE_SYSCALLS is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
# CONFIG_STACK_TRACER is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
CONFIG_UPROBE_EVENT=y
CONFIG_PROBE_EVENTS=y
# CONFIG_MMIOTRACE is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
CONFIG_FIREWIRE_OHCI_REMOTE_DMA=y
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DMA_API_DEBUG=y
CONFIG_ATOMIC64_SELFTEST=y
CONFIG_ASYNC_RAID6_TEST=y
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
CONFIG_KGDB_TESTS=y
# CONFIG_KGDB_TESTS_ON_BOOT is not set
CONFIG_KGDB_LOW_LEVEL_TRAP=y
CONFIG_KGDB_KDB=y
CONFIG_KDB_KEYBOARD=y
CONFIG_HAVE_ARCH_KMEMCHECK=y
# CONFIG_KMEMCHECK is not set
CONFIG_TEST_KSTRTOX=y
# CONFIG_STRICT_DEVMEM is not set
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_X86_PTDUMP=y
CONFIG_DEBUG_RODATA=y
CONFIG_DEBUG_RODATA_TEST=y
CONFIG_DEBUG_TLBFLUSH=y
CONFIG_IOMMU_DEBUG=y
CONFIG_IOMMU_STRESS=y
CONFIG_IOMMU_LEAK=y
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
CONFIG_DEBUG_BOOT_PARAMS=y
CONFIG_CPA_DEBUG=y
CONFIG_OPTIMIZE_INLINING=y
CONFIG_DEBUG_STRICT_USER_COPY_CHECKS=y
CONFIG_DEBUG_NMI_SELFTEST=y

#
# Security options
#
CONFIG_KEYS=y
CONFIG_TRUSTED_KEYS=y
CONFIG_ENCRYPTED_KEYS=y
CONFIG_KEYS_DEBUG_PROC_KEYS=y
CONFIG_SECURITY_DMESG_RESTRICT=y
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_PATH=y
CONFIG_INTEL_TXT=y
CONFIG_LSM_MMAP_MIN_ADDR=65536
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
CONFIG_SECURITY_SELINUX_DISABLE=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX=y
CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX_VALUE=19
CONFIG_SECURITY_SMACK=y
CONFIG_SECURITY_TOMOYO=y
CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER=y
CONFIG_SECURITY_APPARMOR=y
CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
CONFIG_SECURITY_YAMA=y
CONFIG_SECURITY_YAMA_STACKED=y
CONFIG_INTEGRITY=y
CONFIG_INTEGRITY_SIGNATURE=y
CONFIG_IMA=y
CONFIG_IMA_MEASURE_PCR_IDX=10
CONFIG_IMA_AUDIT=y
CONFIG_IMA_LSM_RULES=y
CONFIG_IMA_APPRAISE=y
CONFIG_EVM=y
# CONFIG_DEFAULT_SECURITY_SELINUX is not set
# CONFIG_DEFAULT_SECURITY_SMACK is not set
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
# CONFIG_DEFAULT_SECURITY_APPARMOR is not set
# CONFIG_DEFAULT_SECURITY_YAMA is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
CONFIG_XOR_BLOCKS=y
CONFIG_ASYNC_CORE=y
CONFIG_ASYNC_MEMCPY=y
CONFIG_ASYNC_XOR=y
CONFIG_ASYNC_PQ=y
CONFIG_ASYNC_RAID6_RECOV=y
CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=y
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=y
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_GF128MUL=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_PCRYPT=y
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_AUTHENC=y
CONFIG_CRYPTO_ABLK_HELPER_X86=y
CONFIG_CRYPTO_GLUE_HELPER_X86=y

#
# Authenticated Encryption with Associated Data
#
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_SEQIV=y

#
# Block modes
#
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_LRW=y
CONFIG_CRYPTO_PCBC=y
CONFIG_CRYPTO_XTS=y

#
# Hash modes
#
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_XCBC=y
CONFIG_CRYPTO_VMAC=y

#
# Digest
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32C_INTEL=y
CONFIG_CRYPTO_GHASH=y
CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=y
CONFIG_CRYPTO_RMD128=y
CONFIG_CRYPTO_RMD160=y
CONFIG_CRYPTO_RMD256=y
CONFIG_CRYPTO_RMD320=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA1_SSSE3=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_TGR192=y
CONFIG_CRYPTO_WP512=y
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=y

#
# Ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_X86_64=y
CONFIG_CRYPTO_AES_NI_INTEL=y
CONFIG_CRYPTO_ANUBIS=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_BLOWFISH_COMMON=y
CONFIG_CRYPTO_BLOWFISH_X86_64=y
CONFIG_CRYPTO_CAMELLIA=y
CONFIG_CRYPTO_CAMELLIA_X86_64=y
CONFIG_CRYPTO_CAST5=y
CONFIG_CRYPTO_CAST5_AVX_X86_64=y
CONFIG_CRYPTO_CAST6=y
CONFIG_CRYPTO_CAST6_AVX_X86_64=y
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_DES_SPARC64 is not set
CONFIG_CRYPTO_FCRYPT=y
CONFIG_CRYPTO_KHAZAD=y
CONFIG_CRYPTO_SALSA20=y
CONFIG_CRYPTO_SALSA20_X86_64=y
CONFIG_CRYPTO_SEED=y
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=y
CONFIG_CRYPTO_SERPENT_AVX_X86_64=y
CONFIG_CRYPTO_TEA=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_TWOFISH_COMMON=y
CONFIG_CRYPTO_TWOFISH_X86_64=y
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=y
CONFIG_CRYPTO_TWOFISH_AVX_X86_64=y

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_ZLIB=y
CONFIG_CRYPTO_LZO=y

#
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=y
CONFIG_CRYPTO_USER_API=y
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_USER_API_SKCIPHER=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=y
CONFIG_CRYPTO_DEV_PADLOCK_AES=y
CONFIG_CRYPTO_DEV_PADLOCK_SHA=y
CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_EVENTFD=y
CONFIG_KVM_APIC_ARCHITECTURE=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_HAVE_KVM_MSI=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
CONFIG_KVM_INTEL=y
CONFIG_KVM_AMD=y
CONFIG_KVM_MMU_AUDIT=y
CONFIG_VHOST_NET=y
CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=y
CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_IO=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
CONFIG_CRC32_SELFTEST=y
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
CONFIG_CRC7=y
CONFIG_LIBCRC32C=y
CONFIG_CRC8=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_IA64=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_BCJ=y
CONFIG_XZ_DEC_TEST=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=y
CONFIG_REED_SOLOMON_ENC8=y
CONFIG_REED_SOLOMON_DEC8=y
CONFIG_REED_SOLOMON_DEC16=y
CONFIG_BCH=y
CONFIG_BCH_CONST_PARAMS=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=y
CONFIG_TEXTSEARCH_BM=y
CONFIG_TEXTSEARCH_FSM=y
CONFIG_BTREE=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_NLATTR=y
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
CONFIG_LRU_CACHE=y
CONFIG_AVERAGE=y
CONFIG_CLZ_TAB=y
CONFIG_CORDIC=y
CONFIG_DDR=y
CONFIG_MPILIB=y
CONFIG_SIGNATURE=y

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-22 15:40                           ` Sasha Levin
@ 2012-09-22 15:56                             ` Paul E. McKenney
  2012-09-22 17:50                               ` Sasha Levin
  0 siblings, 1 reply; 41+ messages in thread
From: Paul E. McKenney @ 2012-09-22 15:56 UTC (permalink / raw)
  To: Sasha Levin; +Cc: Michael Wang, Dave Jones, linux-kernel, fweisbec

On Sat, Sep 22, 2012 at 05:40:23PM +0200, Sasha Levin wrote:
> On 09/22/2012 05:09 PM, Paul E. McKenney wrote:
> > On Sat, Sep 22, 2012 at 10:26:09AM +0200, Sasha Levin wrote:
> >> On 09/21/2012 05:18 PM, Sasha Levin wrote:
> >>> On 09/21/2012 05:12 PM, Paul E. McKenney wrote:
> >>>> On Fri, Sep 21, 2012 at 03:26:27PM +0200, Sasha Levin wrote:
> >>>>> On 09/21/2012 02:13 PM, Paul E. McKenney wrote:
> >>>>>>> This might be unrelated, but I got the following dump as well when trinity
> >>>>>>>> decided it's time to reboot my guest:
> >>>>>> OK, sounds like we should hold off until you reproduce, then.
> >>>>>
> >>>>> I'm not sure what you mean.
> >>>>>
> >>>>> There are basically two issues I'm seeing now, which reproduce pretty much every
> >>>>> time:
> >>>>>
> >>>>>  1. The "using when idle" warning.
> >>>>>  2. The rcu related hangs during shutdown.
> >>>>>
> >>>>> The first one appears early on when I start fuzzing, the other one happens when
> >>>>> shutting down - so both of them are reproducible in the same session.
> >>>>
> >>>> Ah, I misunderstood the "reboot my guest" -- I thought that you were
> >>>> doing something like repeated modprobe/rmmod cycles on rcutorture while
> >>>> running the guest for an extended time period.  That will teach me not
> >>>> to reply to email so soon after waking up.  ;-)
> >>>>
> >>>> That said, #2 is expected behavior given the RCU CPU stall warnings in
> >>>> your Sept. 20 dmesg.  This is because rcutorture does rcu_barrier() on
> >>>> the way out, which cannot complete if grace periods are not completing.
> >>>> And the later soft lockup is also likely a consequence of the stall,
> >>>> because CPU hotplug does a synchronize_sched() while holding the hotplug
> >>>> lock, which will then cause get_online_cpus() to hang.
> >>>>
> >>>> Looking further down, there are hung tasks that are waiting for a
> >>>> timeout, but this is also a consequence of the hang because they
> >>>> are waiting for MAX_SCHEDULE_TIMEOUT -- in other words, they are
> >>>> waiting to be killed at shutdown time.  I could suppress this by using
> >>>> schedule_timeout_interruptible() in a loop in order to reduce the noise
> >>>> in this case.
> >>>>
> >>>> The remaining traces in that email are also consequences of the stall.
> >>>>
> >>>> So why the stall?
> >>>>
> >>>> Using RCU from a CPU that RCU believes to be idle can cause arbitrary
> >>>> bad behavior (possibly including stalls), but with very low probability.
> >>>> The reason that things can go arbitrarily bad is that RCU is ignoring
> >>>> the CPU, and thus not waiting for any RCU read-side critical sections.
> >>>> This could of course result in abitrary corruption of memory.  The reason
> >>>> for the low probability is that grace periods tend to be long and RCU
> >>>> read-side critical sections tend to be short.
> >>>>
> >>>> It looks like you are running -next, which has RCU grace periods driven
> >>>> by a kthread.  Is it possible that this kthread is not getting a chance
> >>>> to run (in fact, the "Stall ended before state dump start" is consistent
> >>>> with that possibility), but in that case I would expect to see a soft
> >>>> lockup from it.  Furthermore, in that case, it would be expected to
> >>>> start running again as soon as things started going idle during shutdown.
> >>>>
> >>>> Or did the system somehow manage to stay busy despite being in shutdown?
> >>>> Or, for that matter, are you overcommitting the physical CPUs on your
> >>>> trinity test setup?
> >>>
> >>> Nope, I originally had 4 vcpus in the guest with the host running 4 physical
> >>> cpus, but I've also tested it with just 2 vcpus and still see the warnings.
> >>
> >> Some more info that might help, I'm also occasionally seeing:
> >>
> >> [   42.389345] ------------[ cut here ]------------
> >> [   42.389348] WARNING: at kernel/rcutree.c:375 rcu_eqs_enter+0x5c/0xc0()
> >> [   42.389350] Pid: 0, comm: swapper/2 Tainted: G        W
> >> 3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
> > 
> > Hmmm...  So either RCU is losing count or some CPU that is already
> > marked as idle from RCU's perspective is trying to re-enter idle.
> > 
> > This is helpful, thank you!  It fits in nicely with the splat that
> > you got after applying Michael Wang's patch.  Could you please try the
> > diagnostic patch below?
> > 
> > 							Thanx, Paul
> > 
> >> [   42.389351] Call Trace:
> >> [   42.389354]  [<ffffffff811c653c>] ? rcu_eqs_enter+0x5c/0xc0
> >> [   42.389356]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
> >> [   42.389359]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
> >> [   42.389361]  [<ffffffff811c653c>] rcu_eqs_enter+0x5c/0xc0
> >> [   42.389364]  [<ffffffff811c66f3>] rcu_idle_enter+0x43/0xa0
> >> [   42.389366]  [<ffffffff81078956>] cpu_idle+0x126/0x160
> >> [   42.389369]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
> >> [   42.389370] ---[ end trace 04c11301284d64ee ]---
> >> [   42.389394] ------------[ cut here ]------------
> >> [   42.389396] WARNING: at kernel/rcutree.c:350 rcu_eqs_enter_common+0x709/0x970()
> >> [   42.389398] Pid: 0, comm: swapper/2 Tainted: G        W
> >> 3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
> >> [   42.389399] Call Trace:
> >> [   42.389402]  [<ffffffff811c6019>] ? rcu_eqs_enter_common+0x709/0x970
> >> [   42.389405]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
> >> [   42.389407]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
> >> [   42.389410]  [<ffffffff811c6019>] rcu_eqs_enter_common+0x709/0x970
> >> [   42.389412]  [<ffffffff811c658f>] rcu_eqs_enter+0xaf/0xc0
> >> [   42.389414]  [<ffffffff811c66f3>] rcu_idle_enter+0x43/0xa0
> >> [   42.389417]  [<ffffffff81078956>] cpu_idle+0x126/0x160
> >> [   42.389420]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
> >> [   42.389421] ---[ end trace 04c11301284d64ef ]---
> >> [   42.389424] ------------[ cut here ]------------
> >> [   42.389426] WARNING: at kernel/rcutree.c:527 rcu_eqs_exit+0x4f/0xb0()
> >> [   42.389427] Pid: 0, comm: swapper/2 Tainted: G        W
> >> 3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
> >> [   42.389428] Call Trace:
> >> [   42.389431]  [<ffffffff811c6d9f>] ? rcu_eqs_exit+0x4f/0xb0
> >> [   42.389433]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
> >> [   42.389436]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
> >> [   42.389438]  [<ffffffff811c6d9f>] rcu_eqs_exit+0x4f/0xb0
> >> [   42.389441]  [<ffffffff811c6f13>] rcu_idle_exit+0x43/0xa0
> >> [   42.389443]  [<ffffffff8107896d>] cpu_idle+0x13d/0x160
> >> [   42.389445]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
> >> [   42.389447] ---[ end trace 04c11301284d64f0 ]---
> >> [   42.389448] ------------[ cut here ]------------
> >> [   42.389450] WARNING: at kernel/rcutree.c:501 rcu_eqs_exit_common+0x4a/0x3a0()
> >> [   42.389451] Pid: 0, comm: swapper/2 Tainted: G        W
> >> 3.6.0-rc6-next-20120921-sasha-00002-ge9c9495-dirty #378
> >> [   42.389452] Call Trace:
> >> [   42.389455]  [<ffffffff811c679a>] ? rcu_eqs_exit_common+0x4a/0x3a0
> >> [   42.389458]  [<ffffffff81106886>] warn_slowpath_common+0x86/0xb0
> >> [   42.389460]  [<ffffffff81106975>] warn_slowpath_null+0x15/0x20
> >> [   42.389462]  [<ffffffff811c679a>] rcu_eqs_exit_common+0x4a/0x3a0
> >> [   42.389465]  [<ffffffff811c6dec>] rcu_eqs_exit+0x9c/0xb0
> >> [   42.389467]  [<ffffffff811c6f13>] rcu_idle_exit+0x43/0xa0
> >> [   42.389470]  [<ffffffff8107896d>] cpu_idle+0x13d/0x160
> >> [   42.389472]  [<ffffffff83985a64>] start_secondary+0x26e/0x276
> >> [   42.389474] ---[ end trace 04c11301284d64f1 ]---
> > 
> > diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
> > index da14e5c..39d0aec 100644
> > --- a/arch/x86/kernel/process.c
> > +++ b/arch/x86/kernel/process.c
> > @@ -418,16 +418,22 @@ void cpu_idle(void)
> >  				pm_idle();
> >  
> >  			rcu_idle_exit();
> > +			WARN_ON(rcu_is_cpu_idle());
> >  			start_critical_timings();
> >  
> >  			/* In many cases the interrupt that ended idle
> >  			   has already called exit_idle. But some idle
> >  			   loops can be woken up without interrupt. */
> > +			WARN_ON(rcu_is_cpu_idle());
> >  			__exit_idle();
> > +			WARN_ON(rcu_is_cpu_idle());
> >  		}
> >  
> > +		WARN_ON(rcu_is_cpu_idle());
> >  		tick_nohz_idle_exit();
> > +		WARN_ON(rcu_is_cpu_idle());
> >  		preempt_enable_no_resched();
> > +		WARN_ON(rcu_is_cpu_idle());
> >  		schedule();
> >  		preempt_disable();
> >  	}
> 
> I don't see any new warnings using this patch. I've attached the config.

Thank you on both counts!

And now the prime suspect is the new CONFIG_RCU_USER_QS=y.  Do these
warnings ever show up with CONFIG_RCU_USER_QS=n?

							Thanx, Paul

> Thanks,
> Sasha

> #
> # Automatically generated file; DO NOT EDIT.
> # Linux/x86_64 3.6.0-rc6 Kernel Configuration
> #
> CONFIG_64BIT=y
> CONFIG_X86_64=y
> CONFIG_X86=y
> CONFIG_INSTRUCTION_DECODER=y
> CONFIG_OUTPUT_FORMAT="elf64-x86-64"
> CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
> CONFIG_LOCKDEP_SUPPORT=y
> CONFIG_STACKTRACE_SUPPORT=y
> CONFIG_HAVE_LATENCYTOP_SUPPORT=y
> CONFIG_MMU=y
> CONFIG_NEED_DMA_MAP_STATE=y
> CONFIG_NEED_SG_DMA_LENGTH=y
> CONFIG_GENERIC_ISA_DMA=y
> CONFIG_GENERIC_BUG=y
> CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
> CONFIG_GENERIC_HWEIGHT=y
> CONFIG_GENERIC_GPIO=y
> CONFIG_ARCH_MAY_HAVE_PC_FDC=y
> CONFIG_RWSEM_XCHGADD_ALGORITHM=y
> CONFIG_GENERIC_CALIBRATE_DELAY=y
> CONFIG_ARCH_HAS_CPU_RELAX=y
> CONFIG_ARCH_HAS_DEFAULT_IDLE=y
> CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
> CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
> CONFIG_HAVE_SETUP_PER_CPU_AREA=y
> CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
> CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
> CONFIG_ARCH_HIBERNATION_POSSIBLE=y
> CONFIG_ARCH_SUSPEND_POSSIBLE=y
> CONFIG_ZONE_DMA32=y
> CONFIG_AUDIT_ARCH=y
> CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
> CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
> CONFIG_HAVE_INTEL_TXT=y
> CONFIG_X86_64_SMP=y
> CONFIG_X86_HT=y
> CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
> CONFIG_ARCH_CPU_PROBE_RELEASE=y
> CONFIG_ARCH_SUPPORTS_UPROBES=y
> CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
> CONFIG_HAVE_IRQ_WORK=y
> CONFIG_IRQ_WORK=y
> CONFIG_BUILDTIME_EXTABLE_SORT=y
> 
> #
> # General setup
> #
> CONFIG_EXPERIMENTAL=y
> CONFIG_INIT_ENV_ARG_LIMIT=32
> CONFIG_CROSS_COMPILE=""
> CONFIG_LOCALVERSION="-sasha"
> CONFIG_LOCALVERSION_AUTO=y
> CONFIG_HAVE_KERNEL_GZIP=y
> CONFIG_HAVE_KERNEL_BZIP2=y
> CONFIG_HAVE_KERNEL_LZMA=y
> CONFIG_HAVE_KERNEL_XZ=y
> CONFIG_HAVE_KERNEL_LZO=y
> CONFIG_KERNEL_GZIP=y
> # CONFIG_KERNEL_BZIP2 is not set
> # CONFIG_KERNEL_LZMA is not set
> # CONFIG_KERNEL_XZ is not set
> # CONFIG_KERNEL_LZO is not set
> CONFIG_DEFAULT_HOSTNAME="(none)"
> CONFIG_SWAP=y
> CONFIG_SYSVIPC=y
> CONFIG_SYSVIPC_SYSCTL=y
> CONFIG_POSIX_MQUEUE=y
> CONFIG_POSIX_MQUEUE_SYSCTL=y
> CONFIG_BSD_PROCESS_ACCT=y
> CONFIG_BSD_PROCESS_ACCT_V3=y
> CONFIG_FHANDLE=y
> CONFIG_TASKSTATS=y
> CONFIG_TASK_DELAY_ACCT=y
> CONFIG_TASK_XACCT=y
> CONFIG_TASK_IO_ACCOUNTING=y
> CONFIG_AUDIT=y
> CONFIG_AUDITSYSCALL=y
> CONFIG_AUDIT_WATCH=y
> CONFIG_AUDIT_TREE=y
> CONFIG_AUDIT_LOGINUID_IMMUTABLE=y
> CONFIG_HAVE_GENERIC_HARDIRQS=y
> 
> #
> # IRQ subsystem
> #
> CONFIG_GENERIC_HARDIRQS=y
> CONFIG_GENERIC_IRQ_PROBE=y
> CONFIG_GENERIC_IRQ_SHOW=y
> CONFIG_GENERIC_PENDING_IRQ=y
> CONFIG_GENERIC_IRQ_CHIP=y
> CONFIG_IRQ_DOMAIN=y
> CONFIG_IRQ_DOMAIN_DEBUG=y
> CONFIG_IRQ_FORCED_THREADING=y
> CONFIG_SPARSE_IRQ=y
> CONFIG_CLOCKSOURCE_WATCHDOG=y
> CONFIG_ARCH_CLOCKSOURCE_DATA=y
> CONFIG_GENERIC_TIME_VSYSCALL=y
> CONFIG_GENERIC_CLOCKEVENTS=y
> CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
> CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
> CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
> CONFIG_GENERIC_CMOS_UPDATE=y
> 
> #
> # Timers subsystem
> #
> CONFIG_TICK_ONESHOT=y
> CONFIG_NO_HZ=y
> CONFIG_HIGH_RES_TIMERS=y
> 
> #
> # RCU Subsystem
> #
> CONFIG_TREE_PREEMPT_RCU=y
> CONFIG_PREEMPT_RCU=y
> CONFIG_RCU_USER_QS=y
> CONFIG_RCU_USER_QS_FORCE=y
> CONFIG_RCU_FANOUT=64
> CONFIG_RCU_FANOUT_LEAF=16
> CONFIG_RCU_FANOUT_EXACT=y
> CONFIG_RCU_FAST_NO_HZ=y
> CONFIG_TREE_RCU_TRACE=y
> CONFIG_RCU_BOOST=y
> CONFIG_RCU_BOOST_PRIO=1
> CONFIG_RCU_BOOST_DELAY=500
> CONFIG_IKCONFIG=y
> CONFIG_IKCONFIG_PROC=y
> CONFIG_LOG_BUF_SHIFT=18
> CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
> CONFIG_CGROUPS=y
> CONFIG_CGROUP_DEBUG=y
> CONFIG_CGROUP_FREEZER=y
> CONFIG_CGROUP_DEVICE=y
> CONFIG_CPUSETS=y
> CONFIG_PROC_PID_CPUSET=y
> CONFIG_CGROUP_CPUACCT=y
> CONFIG_RESOURCE_COUNTERS=y
> CONFIG_MEMCG=y
> CONFIG_MEMCG_SWAP=y
> CONFIG_MEMCG_SWAP_ENABLED=y
> CONFIG_MEMCG_KMEM=y
> CONFIG_CGROUP_HUGETLB=y
> CONFIG_CGROUP_PERF=y
> CONFIG_CGROUP_SCHED=y
> CONFIG_FAIR_GROUP_SCHED=y
> CONFIG_CFS_BANDWIDTH=y
> CONFIG_RT_GROUP_SCHED=y
> CONFIG_BLK_CGROUP=y
> CONFIG_DEBUG_BLK_CGROUP=y
> CONFIG_CHECKPOINT_RESTORE=y
> CONFIG_NAMESPACES=y
> CONFIG_UTS_NS=y
> CONFIG_IPC_NS=y
> CONFIG_PID_NS=y
> CONFIG_NET_NS=y
> CONFIG_SCHED_AUTOGROUP=y
> CONFIG_MM_OWNER=y
> CONFIG_SYSFS_DEPRECATED=y
> CONFIG_SYSFS_DEPRECATED_V2=y
> CONFIG_RELAY=y
> # CONFIG_BLK_DEV_INITRD is not set
> # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
> CONFIG_SYSCTL=y
> CONFIG_ANON_INODES=y
> CONFIG_EXPERT=y
> CONFIG_UID16=y
> CONFIG_SYSCTL_SYSCALL=y
> CONFIG_KALLSYMS=y
> CONFIG_KALLSYMS_ALL=y
> CONFIG_HOTPLUG=y
> CONFIG_PRINTK=y
> CONFIG_BUG=y
> CONFIG_ELF_CORE=y
> CONFIG_PCSPKR_PLATFORM=y
> CONFIG_HAVE_PCSPKR_PLATFORM=y
> CONFIG_BASE_FULL=y
> CONFIG_FUTEX=y
> CONFIG_EPOLL=y
> CONFIG_SIGNALFD=y
> CONFIG_TIMERFD=y
> CONFIG_EVENTFD=y
> CONFIG_SHMEM=y
> CONFIG_AIO=y
> CONFIG_EMBEDDED=y
> CONFIG_HAVE_PERF_EVENTS=y
> CONFIG_PERF_USE_VMALLOC=y
> 
> #
> # Kernel Performance Events And Counters
> #
> CONFIG_PERF_EVENTS=y
> CONFIG_DEBUG_PERF_USE_VMALLOC=y
> CONFIG_VM_EVENT_COUNTERS=y
> CONFIG_PCI_QUIRKS=y
> CONFIG_SLUB_DEBUG=y
> CONFIG_COMPAT_BRK=y
> # CONFIG_SLAB is not set
> CONFIG_SLUB=y
> # CONFIG_SLOB is not set
> CONFIG_PROFILING=y
> CONFIG_TRACEPOINTS=y
> CONFIG_OPROFILE=y
> CONFIG_OPROFILE_EVENT_MULTIPLEX=y
> CONFIG_HAVE_OPROFILE=y
> CONFIG_OPROFILE_NMI_TIMER=y
> CONFIG_JUMP_LABEL=y
> CONFIG_UPROBES=y
> CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
> CONFIG_USER_RETURN_NOTIFIER=y
> CONFIG_HAVE_IOREMAP_PROT=y
> CONFIG_HAVE_KPROBES=y
> CONFIG_HAVE_KRETPROBES=y
> CONFIG_HAVE_OPTPROBES=y
> CONFIG_HAVE_ARCH_TRACEHOOK=y
> CONFIG_HAVE_DMA_ATTRS=y
> CONFIG_USE_GENERIC_SMP_HELPERS=y
> CONFIG_GENERIC_SMP_IDLE_THREAD=y
> CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
> CONFIG_HAVE_DMA_API_DEBUG=y
> CONFIG_HAVE_HW_BREAKPOINT=y
> CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
> CONFIG_HAVE_USER_RETURN_NOTIFIER=y
> CONFIG_HAVE_PERF_EVENTS_NMI=y
> CONFIG_HAVE_PERF_REGS=y
> CONFIG_HAVE_PERF_USER_STACK_DUMP=y
> CONFIG_HAVE_ARCH_JUMP_LABEL=y
> CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
> CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
> CONFIG_HAVE_CMPXCHG_LOCAL=y
> CONFIG_HAVE_CMPXCHG_DOUBLE=y
> CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
> CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
> CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
> CONFIG_SECCOMP_FILTER=y
> CONFIG_MODULES_USE_ELF_RELA=y
> CONFIG_HAVE_RCU_USER_QS=y
> CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
> 
> #
> # GCOV-based kernel profiling
> #
> # CONFIG_GCOV_KERNEL is not set
> # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
> CONFIG_SLABINFO=y
> CONFIG_RT_MUTEXES=y
> CONFIG_BASE_SMALL=0
> # CONFIG_MODULES is not set
> CONFIG_STOP_MACHINE=y
> CONFIG_BLOCK=y
> CONFIG_BLK_DEV_BSG=y
> CONFIG_BLK_DEV_BSGLIB=y
> CONFIG_BLK_DEV_INTEGRITY=y
> CONFIG_BLK_DEV_THROTTLING=y
> 
> #
> # Partition Types
> #
> CONFIG_PARTITION_ADVANCED=y
> CONFIG_ACORN_PARTITION=y
> CONFIG_ACORN_PARTITION_CUMANA=y
> CONFIG_ACORN_PARTITION_EESOX=y
> CONFIG_ACORN_PARTITION_ICS=y
> CONFIG_ACORN_PARTITION_ADFS=y
> CONFIG_ACORN_PARTITION_POWERTEC=y
> CONFIG_ACORN_PARTITION_RISCIX=y
> CONFIG_OSF_PARTITION=y
> CONFIG_AMIGA_PARTITION=y
> CONFIG_ATARI_PARTITION=y
> CONFIG_MAC_PARTITION=y
> CONFIG_MSDOS_PARTITION=y
> CONFIG_BSD_DISKLABEL=y
> CONFIG_MINIX_SUBPARTITION=y
> CONFIG_SOLARIS_X86_PARTITION=y
> CONFIG_UNIXWARE_DISKLABEL=y
> CONFIG_LDM_PARTITION=y
> CONFIG_LDM_DEBUG=y
> CONFIG_SGI_PARTITION=y
> CONFIG_ULTRIX_PARTITION=y
> CONFIG_SUN_PARTITION=y
> CONFIG_KARMA_PARTITION=y
> CONFIG_EFI_PARTITION=y
> CONFIG_SYSV68_PARTITION=y
> CONFIG_BLOCK_COMPAT=y
> 
> #
> # IO Schedulers
> #
> CONFIG_IOSCHED_NOOP=y
> CONFIG_IOSCHED_DEADLINE=y
> CONFIG_IOSCHED_CFQ=y
> CONFIG_CFQ_GROUP_IOSCHED=y
> # CONFIG_DEFAULT_DEADLINE is not set
> CONFIG_DEFAULT_CFQ=y
> # CONFIG_DEFAULT_NOOP is not set
> CONFIG_DEFAULT_IOSCHED="cfq"
> CONFIG_PREEMPT_NOTIFIERS=y
> CONFIG_PADATA=y
> CONFIG_UNINLINE_SPIN_UNLOCK=y
> CONFIG_FREEZER=y
> 
> #
> # Processor type and features
> #
> CONFIG_ZONE_DMA=y
> CONFIG_SMP=y
> CONFIG_X86_X2APIC=y
> CONFIG_X86_MPPARSE=y
> CONFIG_X86_EXTENDED_PLATFORM=y
> CONFIG_X86_NUMACHIP=y
> CONFIG_X86_VSMP=y
> CONFIG_X86_UV=y
> CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
> CONFIG_SCHED_OMIT_FRAME_POINTER=y
> CONFIG_KVMTOOL_TEST_ENABLE=y
> CONFIG_PARAVIRT_GUEST=y
> CONFIG_PARAVIRT_TIME_ACCOUNTING=y
> CONFIG_XEN=y
> CONFIG_XEN_DOM0=y
> CONFIG_XEN_PRIVILEGED_GUEST=y
> CONFIG_XEN_PVHVM=y
> CONFIG_XEN_MAX_DOMAIN_MEMORY=500
> CONFIG_XEN_SAVE_RESTORE=y
> CONFIG_XEN_DEBUG_FS=y
> CONFIG_KVM_GUEST=y
> CONFIG_PARAVIRT=y
> CONFIG_PARAVIRT_SPINLOCKS=y
> CONFIG_PARAVIRT_CLOCK=y
> CONFIG_PARAVIRT_DEBUG=y
> CONFIG_NO_BOOTMEM=y
> CONFIG_MEMTEST=y
> # CONFIG_MK8 is not set
> # CONFIG_MPSC is not set
> CONFIG_MCORE2=y
> # CONFIG_MATOM is not set
> # CONFIG_GENERIC_CPU is not set
> CONFIG_X86_INTERNODE_CACHE_SHIFT=12
> CONFIG_X86_CMPXCHG=y
> CONFIG_X86_L1_CACHE_SHIFT=6
> CONFIG_X86_XADD=y
> CONFIG_X86_WP_WORKS_OK=y
> CONFIG_X86_INTEL_USERCOPY=y
> CONFIG_X86_USE_PPRO_CHECKSUM=y
> CONFIG_X86_P6_NOP=y
> CONFIG_X86_TSC=y
> CONFIG_X86_CMPXCHG64=y
> CONFIG_X86_CMOV=y
> CONFIG_X86_MINIMUM_CPU_FAMILY=64
> CONFIG_X86_DEBUGCTLMSR=y
> CONFIG_PROCESSOR_SELECT=y
> CONFIG_CPU_SUP_INTEL=y
> CONFIG_CPU_SUP_AMD=y
> CONFIG_CPU_SUP_CENTAUR=y
> CONFIG_HPET_TIMER=y
> CONFIG_HPET_EMULATE_RTC=y
> CONFIG_DMI=y
> CONFIG_GART_IOMMU=y
> CONFIG_CALGARY_IOMMU=y
> CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
> CONFIG_SWIOTLB=y
> CONFIG_IOMMU_HELPER=y
> CONFIG_MAXSMP=y
> CONFIG_NR_CPUS=4096
> CONFIG_SCHED_SMT=y
> CONFIG_SCHED_MC=y
> CONFIG_IRQ_TIME_ACCOUNTING=y
> # CONFIG_PREEMPT_NONE is not set
> # CONFIG_PREEMPT_VOLUNTARY is not set
> CONFIG_PREEMPT=y
> CONFIG_PREEMPT_COUNT=y
> CONFIG_X86_LOCAL_APIC=y
> CONFIG_X86_IO_APIC=y
> CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
> CONFIG_X86_MCE=y
> CONFIG_X86_MCE_INTEL=y
> CONFIG_X86_MCE_AMD=y
> CONFIG_X86_MCE_THRESHOLD=y
> CONFIG_X86_MCE_INJECT=y
> CONFIG_X86_THERMAL_VECTOR=y
> CONFIG_I8K=y
> CONFIG_MICROCODE=y
> CONFIG_MICROCODE_INTEL=y
> CONFIG_MICROCODE_AMD=y
> CONFIG_MICROCODE_OLD_INTERFACE=y
> CONFIG_X86_MSR=y
> CONFIG_X86_CPUID=y
> CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
> CONFIG_ARCH_DMA_ADDR_T_64BIT=y
> CONFIG_DIRECT_GBPAGES=y
> CONFIG_NUMA=y
> CONFIG_AMD_NUMA=y
> CONFIG_X86_64_ACPI_NUMA=y
> CONFIG_NODES_SPAN_OTHER_NODES=y
> CONFIG_NUMA_EMU=y
> CONFIG_NODES_SHIFT=10
> CONFIG_ARCH_SPARSEMEM_ENABLE=y
> CONFIG_ARCH_SPARSEMEM_DEFAULT=y
> CONFIG_ARCH_SELECT_MEMORY_MODEL=y
> CONFIG_ARCH_MEMORY_PROBE=y
> CONFIG_ARCH_PROC_KCORE_TEXT=y
> CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
> CONFIG_SELECT_MEMORY_MODEL=y
> CONFIG_SPARSEMEM_MANUAL=y
> CONFIG_SPARSEMEM=y
> CONFIG_NEED_MULTIPLE_NODES=y
> CONFIG_HAVE_MEMORY_PRESENT=y
> CONFIG_SPARSEMEM_EXTREME=y
> CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
> CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
> CONFIG_SPARSEMEM_VMEMMAP=y
> CONFIG_HAVE_MEMBLOCK=y
> CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
> CONFIG_ARCH_DISCARD_MEMBLOCK=y
> CONFIG_MEMORY_ISOLATION=y
> CONFIG_MEMORY_HOTPLUG=y
> CONFIG_MEMORY_HOTPLUG_SPARSE=y
> CONFIG_MEMORY_HOTREMOVE=y
> CONFIG_PAGEFLAGS_EXTENDED=y
> CONFIG_SPLIT_PTLOCK_CPUS=999999
> CONFIG_COMPACTION=y
> CONFIG_MIGRATION=y
> CONFIG_PHYS_ADDR_T_64BIT=y
> CONFIG_ZONE_DMA_FLAG=1
> CONFIG_BOUNCE=y
> CONFIG_VIRT_TO_BUS=y
> CONFIG_MMU_NOTIFIER=y
> CONFIG_KSM=y
> CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
> CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
> CONFIG_MEMORY_FAILURE=y
> CONFIG_HWPOISON_INJECT=y
> CONFIG_TRANSPARENT_HUGEPAGE=y
> CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
> # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
> CONFIG_CROSS_MEMORY_ATTACH=y
> CONFIG_CLEANCACHE=y
> CONFIG_FRONTSWAP=y
> CONFIG_X86_CHECK_BIOS_CORRUPTION=y
> CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
> CONFIG_X86_RESERVE_LOW=64
> CONFIG_MTRR=y
> CONFIG_MTRR_SANITIZER=y
> CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
> CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
> CONFIG_X86_PAT=y
> CONFIG_ARCH_USES_PG_UNCACHED=y
> CONFIG_ARCH_RANDOM=y
> CONFIG_EFI=y
> CONFIG_EFI_STUB=y
> CONFIG_SECCOMP=y
> CONFIG_CC_STACKPROTECTOR=y
> CONFIG_HZ_100=y
> # CONFIG_HZ_250 is not set
> # CONFIG_HZ_300 is not set
> # CONFIG_HZ_1000 is not set
> CONFIG_HZ=100
> CONFIG_SCHED_HRTICK=y
> CONFIG_KEXEC=y
> CONFIG_CRASH_DUMP=y
> CONFIG_KEXEC_JUMP=y
> CONFIG_PHYSICAL_START=0x1000000
> CONFIG_RELOCATABLE=y
> CONFIG_PHYSICAL_ALIGN=0x1000000
> CONFIG_HOTPLUG_CPU=y
> CONFIG_COMPAT_VDSO=y
> CONFIG_CMDLINE_BOOL=y
> CONFIG_CMDLINE=""
> # CONFIG_CMDLINE_OVERRIDE is not set
> CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
> CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
> CONFIG_USE_PERCPU_NUMA_NODE_ID=y
> 
> #
> # Power management and ACPI options
> #
> CONFIG_ARCH_HIBERNATION_HEADER=y
> CONFIG_SUSPEND=y
> CONFIG_SUSPEND_FREEZER=y
> CONFIG_HIBERNATE_CALLBACKS=y
> CONFIG_HIBERNATION=y
> CONFIG_PM_STD_PARTITION=""
> CONFIG_PM_SLEEP=y
> CONFIG_PM_SLEEP_SMP=y
> CONFIG_PM_AUTOSLEEP=y
> CONFIG_PM_WAKELOCKS=y
> CONFIG_PM_WAKELOCKS_LIMIT=0
> CONFIG_PM_WAKELOCKS_GC=y
> CONFIG_PM_RUNTIME=y
> CONFIG_PM=y
> CONFIG_PM_DEBUG=y
> CONFIG_PM_ADVANCED_DEBUG=y
> CONFIG_PM_TEST_SUSPEND=y
> CONFIG_PM_SLEEP_DEBUG=y
> CONFIG_PM_TRACE=y
> CONFIG_PM_TRACE_RTC=y
> CONFIG_ACPI=y
> CONFIG_ACPI_SLEEP=y
> CONFIG_ACPI_PROCFS=y
> CONFIG_ACPI_PROCFS_POWER=y
> CONFIG_ACPI_EC_DEBUGFS=y
> CONFIG_ACPI_PROC_EVENT=y
> CONFIG_ACPI_AC=y
> CONFIG_ACPI_BATTERY=y
> CONFIG_ACPI_BUTTON=y
> CONFIG_ACPI_VIDEO=y
> CONFIG_ACPI_FAN=y
> CONFIG_ACPI_DOCK=y
> CONFIG_ACPI_PROCESSOR=y
> CONFIG_ACPI_HOTPLUG_CPU=y
> CONFIG_ACPI_PROCESSOR_AGGREGATOR=y
> CONFIG_ACPI_THERMAL=y
> CONFIG_ACPI_NUMA=y
> # CONFIG_ACPI_CUSTOM_DSDT is not set
> CONFIG_ACPI_BLACKLIST_YEAR=0
> CONFIG_ACPI_DEBUG=y
> CONFIG_ACPI_DEBUG_FUNC_TRACE=y
> CONFIG_ACPI_PCI_SLOT=y
> CONFIG_X86_PM_TIMER=y
> CONFIG_ACPI_CONTAINER=y
> CONFIG_ACPI_HOTPLUG_MEMORY=y
> CONFIG_ACPI_SBS=y
> CONFIG_ACPI_HED=y
> CONFIG_ACPI_CUSTOM_METHOD=y
> CONFIG_ACPI_BGRT=y
> CONFIG_ACPI_APEI=y
> CONFIG_ACPI_APEI_GHES=y
> CONFIG_ACPI_APEI_PCIEAER=y
> CONFIG_ACPI_APEI_MEMORY_FAILURE=y
> CONFIG_ACPI_APEI_EINJ=y
> CONFIG_ACPI_APEI_ERST_DEBUG=y
> CONFIG_SFI=y
> 
> #
> # CPU Frequency scaling
> #
> CONFIG_CPU_FREQ=y
> CONFIG_CPU_FREQ_TABLE=y
> CONFIG_CPU_FREQ_STAT=y
> CONFIG_CPU_FREQ_STAT_DETAILS=y
> CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
> # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
> # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
> # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
> # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
> CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
> CONFIG_CPU_FREQ_GOV_POWERSAVE=y
> CONFIG_CPU_FREQ_GOV_USERSPACE=y
> CONFIG_CPU_FREQ_GOV_ONDEMAND=y
> CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
> 
> #
> # x86 CPU frequency scaling drivers
> #
> CONFIG_X86_PCC_CPUFREQ=y
> CONFIG_X86_ACPI_CPUFREQ=y
> CONFIG_X86_ACPI_CPUFREQ_CPB=y
> CONFIG_X86_POWERNOW_K8=y
> CONFIG_X86_SPEEDSTEP_CENTRINO=y
> CONFIG_X86_P4_CLOCKMOD=y
> 
> #
> # shared options
> #
> CONFIG_X86_SPEEDSTEP_LIB=y
> CONFIG_CPU_IDLE=y
> CONFIG_CPU_IDLE_GOV_LADDER=y
> CONFIG_CPU_IDLE_GOV_MENU=y
> # CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
> CONFIG_INTEL_IDLE=y
> 
> #
> # Memory power savings
> #
> CONFIG_I7300_IDLE_IOAT_CHANNEL=y
> CONFIG_I7300_IDLE=y
> 
> #
> # Bus options (PCI etc.)
> #
> CONFIG_PCI=y
> CONFIG_PCI_DIRECT=y
> CONFIG_PCI_MMCONFIG=y
> CONFIG_PCI_XEN=y
> CONFIG_PCI_DOMAINS=y
> CONFIG_PCI_CNB20LE_QUIRK=y
> CONFIG_PCIEPORTBUS=y
> CONFIG_HOTPLUG_PCI_PCIE=y
> CONFIG_PCIEAER=y
> CONFIG_PCIE_ECRC=y
> CONFIG_PCIEAER_INJECT=y
> CONFIG_PCIEASPM=y
> CONFIG_PCIEASPM_DEBUG=y
> CONFIG_PCIEASPM_DEFAULT=y
> # CONFIG_PCIEASPM_POWERSAVE is not set
> # CONFIG_PCIEASPM_PERFORMANCE is not set
> CONFIG_PCIE_PME=y
> CONFIG_ARCH_SUPPORTS_MSI=y
> CONFIG_PCI_MSI=y
> CONFIG_PCI_DEBUG=y
> CONFIG_PCI_REALLOC_ENABLE_AUTO=y
> CONFIG_PCI_STUB=y
> CONFIG_XEN_PCIDEV_FRONTEND=y
> CONFIG_HT_IRQ=y
> CONFIG_PCI_ATS=y
> CONFIG_PCI_IOV=y
> CONFIG_PCI_PRI=y
> CONFIG_PCI_PASID=y
> CONFIG_PCI_IOAPIC=y
> CONFIG_PCI_LABEL=y
> CONFIG_ISA_DMA_API=y
> CONFIG_AMD_NB=y
> CONFIG_PCCARD=y
> CONFIG_PCMCIA=y
> CONFIG_PCMCIA_LOAD_CIS=y
> CONFIG_CARDBUS=y
> 
> #
> # PC-card bridges
> #
> CONFIG_YENTA=y
> CONFIG_YENTA_O2=y
> CONFIG_YENTA_RICOH=y
> CONFIG_YENTA_TI=y
> CONFIG_YENTA_ENE_TUNE=y
> CONFIG_YENTA_TOSHIBA=y
> CONFIG_PD6729=y
> CONFIG_I82092=y
> CONFIG_PCCARD_NONSTATIC=y
> CONFIG_HOTPLUG_PCI=y
> CONFIG_HOTPLUG_PCI_ACPI=y
> CONFIG_HOTPLUG_PCI_ACPI_IBM=y
> CONFIG_HOTPLUG_PCI_CPCI=y
> CONFIG_HOTPLUG_PCI_CPCI_ZT5550=y
> CONFIG_HOTPLUG_PCI_CPCI_GENERIC=y
> CONFIG_HOTPLUG_PCI_SHPC=y
> CONFIG_RAPIDIO=y
> CONFIG_RAPIDIO_TSI721=y
> CONFIG_RAPIDIO_DISC_TIMEOUT=30
> CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS=y
> CONFIG_RAPIDIO_DMA_ENGINE=y
> CONFIG_RAPIDIO_DEBUG=y
> CONFIG_RAPIDIO_TSI57X=y
> CONFIG_RAPIDIO_CPS_XX=y
> CONFIG_RAPIDIO_TSI568=y
> CONFIG_RAPIDIO_CPS_GEN2=y
> CONFIG_RAPIDIO_TSI500=y
> 
> #
> # Executable file formats / Emulations
> #
> CONFIG_BINFMT_ELF=y
> CONFIG_COMPAT_BINFMT_ELF=y
> CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
> CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
> # CONFIG_HAVE_AOUT is not set
> CONFIG_BINFMT_MISC=y
> CONFIG_COREDUMP=y
> CONFIG_IA32_EMULATION=y
> CONFIG_IA32_AOUT=y
> CONFIG_X86_X32=y
> CONFIG_COMPAT=y
> CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
> CONFIG_SYSVIPC_COMPAT=y
> CONFIG_KEYS_COMPAT=y
> CONFIG_HAVE_TEXT_POKE_SMP=y
> CONFIG_X86_DEV_DMA_OPS=y
> CONFIG_NET=y
> CONFIG_COMPAT_NETLINK_MESSAGES=y
> 
> #
> # Networking options
> #
> CONFIG_PACKET=y
> CONFIG_PACKET_DIAG=y
> CONFIG_UNIX=y
> CONFIG_UNIX_DIAG=y
> CONFIG_XFRM=y
> CONFIG_XFRM_ALGO=y
> CONFIG_XFRM_USER=y
> CONFIG_XFRM_SUB_POLICY=y
> CONFIG_XFRM_MIGRATE=y
> CONFIG_XFRM_STATISTICS=y
> CONFIG_XFRM_IPCOMP=y
> CONFIG_NET_KEY=y
> CONFIG_NET_KEY_MIGRATE=y
> CONFIG_INET=y
> CONFIG_IP_MULTICAST=y
> CONFIG_IP_ADVANCED_ROUTER=y
> CONFIG_IP_FIB_TRIE_STATS=y
> CONFIG_IP_MULTIPLE_TABLES=y
> CONFIG_IP_ROUTE_MULTIPATH=y
> CONFIG_IP_ROUTE_VERBOSE=y
> CONFIG_IP_ROUTE_CLASSID=y
> CONFIG_IP_PNP=y
> CONFIG_IP_PNP_DHCP=y
> CONFIG_IP_PNP_BOOTP=y
> CONFIG_IP_PNP_RARP=y
> CONFIG_NET_IPIP=y
> CONFIG_NET_IPGRE_DEMUX=y
> CONFIG_NET_IPGRE=y
> CONFIG_NET_IPGRE_BROADCAST=y
> CONFIG_IP_MROUTE=y
> CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
> CONFIG_IP_PIMSM_V1=y
> CONFIG_IP_PIMSM_V2=y
> CONFIG_ARPD=y
> CONFIG_SYN_COOKIES=y
> CONFIG_NET_IPVTI=y
> CONFIG_INET_AH=y
> CONFIG_INET_ESP=y
> CONFIG_INET_IPCOMP=y
> CONFIG_INET_XFRM_TUNNEL=y
> CONFIG_INET_TUNNEL=y
> CONFIG_INET_XFRM_MODE_TRANSPORT=y
> CONFIG_INET_XFRM_MODE_TUNNEL=y
> CONFIG_INET_XFRM_MODE_BEET=y
> CONFIG_INET_LRO=y
> CONFIG_INET_DIAG=y
> CONFIG_INET_TCP_DIAG=y
> CONFIG_INET_UDP_DIAG=y
> CONFIG_TCP_CONG_ADVANCED=y
> CONFIG_TCP_CONG_BIC=y
> CONFIG_TCP_CONG_CUBIC=y
> CONFIG_TCP_CONG_WESTWOOD=y
> CONFIG_TCP_CONG_HTCP=y
> CONFIG_TCP_CONG_HSTCP=y
> CONFIG_TCP_CONG_HYBLA=y
> CONFIG_TCP_CONG_VEGAS=y
> CONFIG_TCP_CONG_SCALABLE=y
> CONFIG_TCP_CONG_LP=y
> CONFIG_TCP_CONG_VENO=y
> CONFIG_TCP_CONG_YEAH=y
> CONFIG_TCP_CONG_ILLINOIS=y
> # CONFIG_DEFAULT_BIC is not set
> CONFIG_DEFAULT_CUBIC=y
> # CONFIG_DEFAULT_HTCP is not set
> # CONFIG_DEFAULT_HYBLA is not set
> # CONFIG_DEFAULT_VEGAS is not set
> # CONFIG_DEFAULT_VENO is not set
> # CONFIG_DEFAULT_WESTWOOD is not set
> # CONFIG_DEFAULT_RENO is not set
> CONFIG_DEFAULT_TCP_CONG="cubic"
> CONFIG_TCP_MD5SIG=y
> CONFIG_IPV6=y
> CONFIG_IPV6_PRIVACY=y
> CONFIG_IPV6_ROUTER_PREF=y
> CONFIG_IPV6_ROUTE_INFO=y
> CONFIG_IPV6_OPTIMISTIC_DAD=y
> CONFIG_INET6_AH=y
> CONFIG_INET6_ESP=y
> CONFIG_INET6_IPCOMP=y
> CONFIG_IPV6_MIP6=y
> CONFIG_INET6_XFRM_TUNNEL=y
> CONFIG_INET6_TUNNEL=y
> CONFIG_INET6_XFRM_MODE_TRANSPORT=y
> CONFIG_INET6_XFRM_MODE_TUNNEL=y
> CONFIG_INET6_XFRM_MODE_BEET=y
> CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=y
> CONFIG_IPV6_SIT=y
> CONFIG_IPV6_SIT_6RD=y
> CONFIG_IPV6_NDISC_NODETYPE=y
> CONFIG_IPV6_TUNNEL=y
> CONFIG_IPV6_GRE=y
> CONFIG_IPV6_MULTIPLE_TABLES=y
> CONFIG_IPV6_SUBTREES=y
> CONFIG_IPV6_MROUTE=y
> CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
> CONFIG_IPV6_PIMSM_V2=y
> CONFIG_NETLABEL=y
> CONFIG_NETWORK_SECMARK=y
> CONFIG_NETWORK_PHY_TIMESTAMPING=y
> CONFIG_NETFILTER=y
> CONFIG_NETFILTER_DEBUG=y
> CONFIG_NETFILTER_ADVANCED=y
> CONFIG_BRIDGE_NETFILTER=y
> 
> #
> # Core Netfilter Configuration
> #
> CONFIG_NETFILTER_NETLINK=y
> CONFIG_NETFILTER_NETLINK_ACCT=y
> CONFIG_NETFILTER_NETLINK_QUEUE=y
> CONFIG_NETFILTER_NETLINK_LOG=y
> CONFIG_NF_CONNTRACK=y
> CONFIG_NF_CONNTRACK_MARK=y
> CONFIG_NF_CONNTRACK_SECMARK=y
> CONFIG_NF_CONNTRACK_ZONES=y
> CONFIG_NF_CONNTRACK_PROCFS=y
> CONFIG_NF_CONNTRACK_EVENTS=y
> CONFIG_NF_CONNTRACK_TIMEOUT=y
> CONFIG_NF_CONNTRACK_TIMESTAMP=y
> CONFIG_NF_CT_PROTO_DCCP=y
> CONFIG_NF_CT_PROTO_GRE=y
> CONFIG_NF_CT_PROTO_SCTP=y
> CONFIG_NF_CT_PROTO_UDPLITE=y
> CONFIG_NF_CONNTRACK_AMANDA=y
> CONFIG_NF_CONNTRACK_FTP=y
> CONFIG_NF_CONNTRACK_H323=y
> CONFIG_NF_CONNTRACK_IRC=y
> CONFIG_NF_CONNTRACK_BROADCAST=y
> CONFIG_NF_CONNTRACK_NETBIOS_NS=y
> CONFIG_NF_CONNTRACK_SNMP=y
> CONFIG_NF_CONNTRACK_PPTP=y
> CONFIG_NF_CONNTRACK_SANE=y
> CONFIG_NF_CONNTRACK_SIP=y
> CONFIG_NF_CONNTRACK_TFTP=y
> CONFIG_NF_CT_NETLINK=y
> CONFIG_NF_CT_NETLINK_TIMEOUT=y
> CONFIG_NF_CT_NETLINK_HELPER=y
> CONFIG_NETFILTER_NETLINK_QUEUE_CT=y
> CONFIG_NF_NAT=y
> CONFIG_NF_NAT_NEEDED=y
> CONFIG_NF_NAT_PROTO_DCCP=y
> CONFIG_NF_NAT_PROTO_UDPLITE=y
> CONFIG_NF_NAT_PROTO_SCTP=y
> CONFIG_NF_NAT_AMANDA=y
> CONFIG_NF_NAT_FTP=y
> CONFIG_NF_NAT_IRC=y
> CONFIG_NF_NAT_SIP=y
> CONFIG_NF_NAT_TFTP=y
> CONFIG_NETFILTER_TPROXY=y
> CONFIG_NETFILTER_XTABLES=y
> 
> #
> # Xtables combined modules
> #
> CONFIG_NETFILTER_XT_MARK=y
> CONFIG_NETFILTER_XT_CONNMARK=y
> CONFIG_NETFILTER_XT_SET=y
> 
> #
> # Xtables targets
> #
> CONFIG_NETFILTER_XT_TARGET_AUDIT=y
> CONFIG_NETFILTER_XT_TARGET_CHECKSUM=y
> CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
> CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
> CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
> CONFIG_NETFILTER_XT_TARGET_CT=y
> CONFIG_NETFILTER_XT_TARGET_DSCP=y
> CONFIG_NETFILTER_XT_TARGET_HL=y
> CONFIG_NETFILTER_XT_TARGET_HMARK=y
> CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
> CONFIG_NETFILTER_XT_TARGET_LED=y
> CONFIG_NETFILTER_XT_TARGET_LOG=y
> CONFIG_NETFILTER_XT_TARGET_MARK=y
> CONFIG_NETFILTER_XT_TARGET_NFLOG=y
> CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
> CONFIG_NETFILTER_XT_TARGET_RATEEST=y
> CONFIG_NETFILTER_XT_TARGET_TEE=y
> CONFIG_NETFILTER_XT_TARGET_TPROXY=y
> CONFIG_NETFILTER_XT_TARGET_TRACE=y
> CONFIG_NETFILTER_XT_TARGET_SECMARK=y
> CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
> CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=y
> 
> #
> # Xtables matches
> #
> CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
> CONFIG_NETFILTER_XT_MATCH_CLUSTER=y
> CONFIG_NETFILTER_XT_MATCH_COMMENT=y
> CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y
> CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
> CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
> CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
> CONFIG_NETFILTER_XT_MATCH_CPU=y
> CONFIG_NETFILTER_XT_MATCH_DCCP=y
> CONFIG_NETFILTER_XT_MATCH_DEVGROUP=y
> CONFIG_NETFILTER_XT_MATCH_DSCP=y
> CONFIG_NETFILTER_XT_MATCH_ECN=y
> CONFIG_NETFILTER_XT_MATCH_ESP=y
> CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
> CONFIG_NETFILTER_XT_MATCH_HELPER=y
> CONFIG_NETFILTER_XT_MATCH_HL=y
> CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
> CONFIG_NETFILTER_XT_MATCH_IPVS=y
> CONFIG_NETFILTER_XT_MATCH_LENGTH=y
> CONFIG_NETFILTER_XT_MATCH_LIMIT=y
> CONFIG_NETFILTER_XT_MATCH_MAC=y
> CONFIG_NETFILTER_XT_MATCH_MARK=y
> CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
> CONFIG_NETFILTER_XT_MATCH_NFACCT=y
> CONFIG_NETFILTER_XT_MATCH_OSF=y
> CONFIG_NETFILTER_XT_MATCH_OWNER=y
> CONFIG_NETFILTER_XT_MATCH_POLICY=y
> CONFIG_NETFILTER_XT_MATCH_PHYSDEV=y
> CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
> CONFIG_NETFILTER_XT_MATCH_QUOTA=y
> CONFIG_NETFILTER_XT_MATCH_RATEEST=y
> CONFIG_NETFILTER_XT_MATCH_REALM=y
> CONFIG_NETFILTER_XT_MATCH_RECENT=y
> CONFIG_NETFILTER_XT_MATCH_SCTP=y
> CONFIG_NETFILTER_XT_MATCH_SOCKET=y
> CONFIG_NETFILTER_XT_MATCH_STATE=y
> CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
> CONFIG_NETFILTER_XT_MATCH_STRING=y
> CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
> CONFIG_NETFILTER_XT_MATCH_TIME=y
> CONFIG_NETFILTER_XT_MATCH_U32=y
> CONFIG_IP_SET=y
> CONFIG_IP_SET_MAX=256
> CONFIG_IP_SET_BITMAP_IP=y
> CONFIG_IP_SET_BITMAP_IPMAC=y
> CONFIG_IP_SET_BITMAP_PORT=y
> CONFIG_IP_SET_HASH_IP=y
> CONFIG_IP_SET_HASH_IPPORT=y
> CONFIG_IP_SET_HASH_IPPORTIP=y
> CONFIG_IP_SET_HASH_IPPORTNET=y
> CONFIG_IP_SET_HASH_NET=y
> CONFIG_IP_SET_HASH_NETPORT=y
> CONFIG_IP_SET_HASH_NETIFACE=y
> CONFIG_IP_SET_LIST_SET=y
> CONFIG_IP_VS=y
> CONFIG_IP_VS_IPV6=y
> CONFIG_IP_VS_DEBUG=y
> CONFIG_IP_VS_TAB_BITS=12
> 
> #
> # IPVS transport protocol load balancing support
> #
> CONFIG_IP_VS_PROTO_TCP=y
> CONFIG_IP_VS_PROTO_UDP=y
> CONFIG_IP_VS_PROTO_AH_ESP=y
> CONFIG_IP_VS_PROTO_ESP=y
> CONFIG_IP_VS_PROTO_AH=y
> CONFIG_IP_VS_PROTO_SCTP=y
> 
> #
> # IPVS scheduler
> #
> CONFIG_IP_VS_RR=y
> CONFIG_IP_VS_WRR=y
> CONFIG_IP_VS_LC=y
> CONFIG_IP_VS_WLC=y
> CONFIG_IP_VS_LBLC=y
> CONFIG_IP_VS_LBLCR=y
> CONFIG_IP_VS_DH=y
> CONFIG_IP_VS_SH=y
> CONFIG_IP_VS_SED=y
> CONFIG_IP_VS_NQ=y
> 
> #
> # IPVS SH scheduler
> #
> CONFIG_IP_VS_SH_TAB_BITS=8
> 
> #
> # IPVS application helper
> #
> # CONFIG_IP_VS_FTP is not set
> CONFIG_IP_VS_NFCT=y
> CONFIG_IP_VS_PE_SIP=y
> 
> #
> # IP: Netfilter Configuration
> #
> CONFIG_NF_DEFRAG_IPV4=y
> CONFIG_NF_CONNTRACK_IPV4=y
> CONFIG_NF_CONNTRACK_PROC_COMPAT=y
> CONFIG_IP_NF_QUEUE=y
> CONFIG_IP_NF_IPTABLES=y
> CONFIG_IP_NF_MATCH_AH=y
> CONFIG_IP_NF_MATCH_ECN=y
> CONFIG_IP_NF_MATCH_RPFILTER=y
> CONFIG_IP_NF_MATCH_TTL=y
> CONFIG_IP_NF_FILTER=y
> CONFIG_IP_NF_TARGET_REJECT=y
> CONFIG_IP_NF_TARGET_ULOG=y
> CONFIG_NF_NAT_IPV4=y
> CONFIG_IP_NF_TARGET_MASQUERADE=y
> CONFIG_IP_NF_TARGET_NETMAP=y
> CONFIG_IP_NF_TARGET_REDIRECT=y
> CONFIG_NF_NAT_SNMP_BASIC=y
> CONFIG_NF_NAT_PROTO_GRE=y
> CONFIG_NF_NAT_PPTP=y
> CONFIG_NF_NAT_H323=y
> CONFIG_IP_NF_MANGLE=y
> CONFIG_IP_NF_TARGET_CLUSTERIP=y
> CONFIG_IP_NF_TARGET_ECN=y
> CONFIG_IP_NF_TARGET_TTL=y
> CONFIG_IP_NF_RAW=y
> CONFIG_IP_NF_SECURITY=y
> CONFIG_IP_NF_ARPTABLES=y
> CONFIG_IP_NF_ARPFILTER=y
> CONFIG_IP_NF_ARP_MANGLE=y
> 
> #
> # IPv6: Netfilter Configuration
> #
> CONFIG_NF_DEFRAG_IPV6=y
> CONFIG_NF_CONNTRACK_IPV6=y
> CONFIG_NF_NAT_IPV6=y
> CONFIG_IP6_NF_IPTABLES=y
> CONFIG_IP6_NF_MATCH_AH=y
> CONFIG_IP6_NF_MATCH_EUI64=y
> CONFIG_IP6_NF_MATCH_FRAG=y
> CONFIG_IP6_NF_MATCH_OPTS=y
> CONFIG_IP6_NF_MATCH_HL=y
> CONFIG_IP6_NF_MATCH_IPV6HEADER=y
> CONFIG_IP6_NF_MATCH_MH=y
> CONFIG_IP6_NF_MATCH_RPFILTER=y
> CONFIG_IP6_NF_MATCH_RT=y
> CONFIG_IP6_NF_TARGET_HL=y
> CONFIG_IP6_NF_TARGET_MASQUERADE=y
> CONFIG_IP6_NF_TARGET_NETMAP=y
> CONFIG_IP6_NF_TARGET_REDIRECT=y
> CONFIG_IP6_NF_TARGET_NPT=y
> CONFIG_IP6_NF_FILTER=y
> CONFIG_IP6_NF_TARGET_REJECT=y
> CONFIG_IP6_NF_MANGLE=y
> CONFIG_IP6_NF_RAW=y
> CONFIG_IP6_NF_SECURITY=y
> 
> #
> # DECnet: Netfilter Configuration
> #
> CONFIG_DECNET_NF_GRABULATOR=y
> CONFIG_BRIDGE_NF_EBTABLES=y
> CONFIG_BRIDGE_EBT_BROUTE=y
> CONFIG_BRIDGE_EBT_T_FILTER=y
> CONFIG_BRIDGE_EBT_T_NAT=y
> CONFIG_BRIDGE_EBT_802_3=y
> CONFIG_BRIDGE_EBT_AMONG=y
> CONFIG_BRIDGE_EBT_ARP=y
> CONFIG_BRIDGE_EBT_IP=y
> CONFIG_BRIDGE_EBT_IP6=y
> CONFIG_BRIDGE_EBT_LIMIT=y
> CONFIG_BRIDGE_EBT_MARK=y
> CONFIG_BRIDGE_EBT_PKTTYPE=y
> CONFIG_BRIDGE_EBT_STP=y
> CONFIG_BRIDGE_EBT_VLAN=y
> CONFIG_BRIDGE_EBT_ARPREPLY=y
> CONFIG_BRIDGE_EBT_DNAT=y
> CONFIG_BRIDGE_EBT_MARK_T=y
> CONFIG_BRIDGE_EBT_REDIRECT=y
> CONFIG_BRIDGE_EBT_SNAT=y
> CONFIG_BRIDGE_EBT_LOG=y
> CONFIG_BRIDGE_EBT_ULOG=y
> CONFIG_BRIDGE_EBT_NFLOG=y
> CONFIG_IP_DCCP=y
> CONFIG_INET_DCCP_DIAG=y
> 
> #
> # DCCP CCIDs Configuration (EXPERIMENTAL)
> #
> CONFIG_IP_DCCP_CCID2_DEBUG=y
> CONFIG_IP_DCCP_CCID3=y
> CONFIG_IP_DCCP_CCID3_DEBUG=y
> CONFIG_IP_DCCP_TFRC_LIB=y
> CONFIG_IP_DCCP_TFRC_DEBUG=y
> 
> #
> # DCCP Kernel Hacking
> #
> CONFIG_IP_DCCP_DEBUG=y
> CONFIG_IP_SCTP=y
> CONFIG_SCTP_DBG_MSG=y
> CONFIG_SCTP_DBG_OBJCNT=y
> # CONFIG_SCTP_HMAC_NONE is not set
> # CONFIG_SCTP_HMAC_SHA1 is not set
> CONFIG_SCTP_HMAC_MD5=y
> CONFIG_RDS=y
> CONFIG_RDS_RDMA=y
> CONFIG_RDS_TCP=y
> CONFIG_RDS_DEBUG=y
> CONFIG_TIPC=y
> CONFIG_TIPC_ADVANCED=y
> CONFIG_TIPC_PORTS=8191
> CONFIG_ATM=y
> CONFIG_ATM_CLIP=y
> # CONFIG_ATM_CLIP_NO_ICMP is not set
> CONFIG_ATM_LANE=y
> CONFIG_ATM_MPOA=y
> CONFIG_ATM_BR2684=y
> CONFIG_ATM_BR2684_IPFILTER=y
> CONFIG_L2TP=y
> CONFIG_L2TP_DEBUGFS=y
> CONFIG_L2TP_V3=y
> CONFIG_L2TP_IP=y
> CONFIG_L2TP_ETH=y
> CONFIG_STP=y
> CONFIG_GARP=y
> CONFIG_BRIDGE=y
> CONFIG_BRIDGE_IGMP_SNOOPING=y
> CONFIG_NET_DSA=y
> CONFIG_NET_DSA_TAG_DSA=y
> CONFIG_NET_DSA_TAG_EDSA=y
> CONFIG_NET_DSA_TAG_TRAILER=y
> CONFIG_VLAN_8021Q=y
> CONFIG_VLAN_8021Q_GVRP=y
> CONFIG_DECNET=y
> CONFIG_DECNET_ROUTER=y
> CONFIG_LLC=y
> # CONFIG_LLC2 is not set
> CONFIG_IPX=y
> CONFIG_IPX_INTERN=y
> CONFIG_ATALK=y
> CONFIG_DEV_APPLETALK=y
> CONFIG_IPDDP=y
> CONFIG_IPDDP_ENCAP=y
> CONFIG_IPDDP_DECAP=y
> CONFIG_X25=y
> CONFIG_LAPB=y
> CONFIG_WAN_ROUTER=y
> CONFIG_PHONET=y
> CONFIG_IEEE802154=y
> CONFIG_IEEE802154_6LOWPAN=y
> CONFIG_MAC802154=y
> CONFIG_NET_SCHED=y
> 
> #
> # Queueing/Scheduling
> #
> CONFIG_NET_SCH_CBQ=y
> CONFIG_NET_SCH_HTB=y
> CONFIG_NET_SCH_HFSC=y
> CONFIG_NET_SCH_ATM=y
> CONFIG_NET_SCH_PRIO=y
> CONFIG_NET_SCH_MULTIQ=y
> CONFIG_NET_SCH_RED=y
> CONFIG_NET_SCH_SFB=y
> CONFIG_NET_SCH_SFQ=y
> CONFIG_NET_SCH_TEQL=y
> CONFIG_NET_SCH_TBF=y
> CONFIG_NET_SCH_GRED=y
> CONFIG_NET_SCH_DSMARK=y
> CONFIG_NET_SCH_NETEM=y
> CONFIG_NET_SCH_DRR=y
> CONFIG_NET_SCH_MQPRIO=y
> CONFIG_NET_SCH_CHOKE=y
> CONFIG_NET_SCH_QFQ=y
> CONFIG_NET_SCH_CODEL=y
> CONFIG_NET_SCH_FQ_CODEL=y
> CONFIG_NET_SCH_INGRESS=y
> CONFIG_NET_SCH_PLUG=y
> 
> #
> # Classification
> #
> CONFIG_NET_CLS=y
> CONFIG_NET_CLS_BASIC=y
> CONFIG_NET_CLS_TCINDEX=y
> CONFIG_NET_CLS_ROUTE4=y
> CONFIG_NET_CLS_FW=y
> CONFIG_NET_CLS_U32=y
> CONFIG_CLS_U32_PERF=y
> CONFIG_CLS_U32_MARK=y
> CONFIG_NET_CLS_RSVP=y
> CONFIG_NET_CLS_RSVP6=y
> CONFIG_NET_CLS_FLOW=y
> CONFIG_NET_CLS_CGROUP=y
> CONFIG_NET_EMATCH=y
> CONFIG_NET_EMATCH_STACK=32
> CONFIG_NET_EMATCH_CMP=y
> CONFIG_NET_EMATCH_NBYTE=y
> CONFIG_NET_EMATCH_U32=y
> CONFIG_NET_EMATCH_META=y
> CONFIG_NET_EMATCH_TEXT=y
> CONFIG_NET_EMATCH_CANID=y
> CONFIG_NET_EMATCH_IPSET=y
> CONFIG_NET_CLS_ACT=y
> CONFIG_NET_ACT_POLICE=y
> CONFIG_NET_ACT_GACT=y
> CONFIG_GACT_PROB=y
> CONFIG_NET_ACT_MIRRED=y
> CONFIG_NET_ACT_IPT=y
> CONFIG_NET_ACT_NAT=y
> CONFIG_NET_ACT_PEDIT=y
> CONFIG_NET_ACT_SIMP=y
> CONFIG_NET_ACT_SKBEDIT=y
> CONFIG_NET_ACT_CSUM=y
> CONFIG_NET_CLS_IND=y
> CONFIG_NET_SCH_FIFO=y
> CONFIG_DCB=y
> CONFIG_DNS_RESOLVER=y
> CONFIG_BATMAN_ADV=y
> CONFIG_BATMAN_ADV_BLA=y
> CONFIG_BATMAN_ADV_DEBUG=y
> CONFIG_OPENVSWITCH=y
> CONFIG_RPS=y
> CONFIG_RFS_ACCEL=y
> CONFIG_XPS=y
> CONFIG_NETPRIO_CGROUP=y
> CONFIG_BQL=y
> 
> #
> # Network testing
> #
> CONFIG_NET_PKTGEN=y
> CONFIG_NET_DROP_MONITOR=y
> CONFIG_HAMRADIO=y
> 
> #
> # Packet Radio protocols
> #
> CONFIG_AX25=y
> CONFIG_AX25_DAMA_SLAVE=y
> CONFIG_NETROM=y
> CONFIG_ROSE=y
> 
> #
> # AX.25 network device drivers
> #
> CONFIG_MKISS=y
> CONFIG_6PACK=y
> CONFIG_BPQETHER=y
> CONFIG_BAYCOM_SER_FDX=y
> CONFIG_BAYCOM_SER_HDX=y
> CONFIG_YAM=y
> CONFIG_CAN=y
> CONFIG_CAN_RAW=y
> CONFIG_CAN_BCM=y
> CONFIG_CAN_GW=y
> 
> #
> # CAN Device Drivers
> #
> CONFIG_CAN_VCAN=y
> CONFIG_CAN_SLCAN=y
> CONFIG_CAN_DEV=y
> CONFIG_CAN_CALC_BITTIMING=y
> CONFIG_CAN_MCP251X=y
> CONFIG_CAN_JANZ_ICAN3=y
> CONFIG_PCH_CAN=y
> CONFIG_CAN_SJA1000=y
> CONFIG_CAN_SJA1000_ISA=y
> CONFIG_CAN_SJA1000_PLATFORM=y
> CONFIG_CAN_EMS_PCMCIA=y
> CONFIG_CAN_EMS_PCI=y
> CONFIG_CAN_PEAK_PCMCIA=y
> CONFIG_CAN_PEAK_PCI=y
> CONFIG_CAN_PEAK_PCIEC=y
> CONFIG_CAN_KVASER_PCI=y
> CONFIG_CAN_PLX_PCI=y
> CONFIG_CAN_C_CAN=y
> CONFIG_CAN_C_CAN_PLATFORM=y
> CONFIG_CAN_C_CAN_PCI=y
> CONFIG_CAN_CC770=y
> CONFIG_CAN_CC770_ISA=y
> CONFIG_CAN_CC770_PLATFORM=y
> 
> #
> # CAN USB interfaces
> #
> CONFIG_CAN_EMS_USB=y
> CONFIG_CAN_ESD_USB2=y
> CONFIG_CAN_PEAK_USB=y
> CONFIG_CAN_SOFTING=y
> CONFIG_CAN_SOFTING_CS=y
> CONFIG_CAN_DEBUG_DEVICES=y
> CONFIG_IRDA=y
> 
> #
> # IrDA protocols
> #
> CONFIG_IRLAN=y
> CONFIG_IRNET=y
> CONFIG_IRCOMM=y
> CONFIG_IRDA_ULTRA=y
> 
> #
> # IrDA options
> #
> CONFIG_IRDA_CACHE_LAST_LSAP=y
> CONFIG_IRDA_FAST_RR=y
> CONFIG_IRDA_DEBUG=y
> 
> #
> # Infrared-port device drivers
> #
> 
> #
> # SIR device drivers
> #
> CONFIG_IRTTY_SIR=y
> 
> #
> # Dongle support
> #
> CONFIG_DONGLE=y
> CONFIG_ESI_DONGLE=y
> CONFIG_ACTISYS_DONGLE=y
> CONFIG_TEKRAM_DONGLE=y
> CONFIG_TOIM3232_DONGLE=y
> CONFIG_LITELINK_DONGLE=y
> CONFIG_MA600_DONGLE=y
> CONFIG_GIRBIL_DONGLE=y
> CONFIG_MCP2120_DONGLE=y
> CONFIG_OLD_BELKIN_DONGLE=y
> CONFIG_ACT200L_DONGLE=y
> CONFIG_KINGSUN_DONGLE=y
> CONFIG_KSDAZZLE_DONGLE=y
> CONFIG_KS959_DONGLE=y
> 
> #
> # FIR device drivers
> #
> CONFIG_USB_IRDA=y
> CONFIG_SIGMATEL_FIR=y
> CONFIG_NSC_FIR=y
> CONFIG_WINBOND_FIR=y
> CONFIG_SMC_IRCC_FIR=y
> CONFIG_ALI_FIR=y
> CONFIG_VLSI_FIR=y
> CONFIG_VIA_FIR=y
> CONFIG_MCS_FIR=y
> CONFIG_BT=y
> CONFIG_BT_RFCOMM=y
> CONFIG_BT_RFCOMM_TTY=y
> CONFIG_BT_BNEP=y
> CONFIG_BT_BNEP_MC_FILTER=y
> CONFIG_BT_BNEP_PROTO_FILTER=y
> CONFIG_BT_CMTP=y
> CONFIG_BT_HIDP=y
> 
> #
> # Bluetooth device drivers
> #
> CONFIG_BT_HCIBTUSB=y
> CONFIG_BT_HCIBTSDIO=y
> CONFIG_BT_HCIUART=y
> CONFIG_BT_HCIUART_H4=y
> CONFIG_BT_HCIUART_BCSP=y
> CONFIG_BT_HCIUART_ATH3K=y
> CONFIG_BT_HCIUART_LL=y
> CONFIG_BT_HCIUART_3WIRE=y
> CONFIG_BT_HCIBCM203X=y
> CONFIG_BT_HCIBPA10X=y
> CONFIG_BT_HCIBFUSB=y
> CONFIG_BT_HCIDTL1=y
> CONFIG_BT_HCIBT3C=y
> CONFIG_BT_HCIBLUECARD=y
> CONFIG_BT_HCIBTUART=y
> CONFIG_BT_HCIVHCI=y
> CONFIG_BT_MRVL=y
> CONFIG_BT_MRVL_SDIO=y
> CONFIG_BT_ATH3K=y
> CONFIG_BT_WILINK=y
> CONFIG_AF_RXRPC=y
> CONFIG_AF_RXRPC_DEBUG=y
> CONFIG_RXKAD=y
> CONFIG_FIB_RULES=y
> CONFIG_WIRELESS=y
> CONFIG_WIRELESS_EXT=y
> CONFIG_WEXT_CORE=y
> CONFIG_WEXT_PROC=y
> CONFIG_WEXT_SPY=y
> CONFIG_WEXT_PRIV=y
> CONFIG_CFG80211=y
> CONFIG_NL80211_TESTMODE=y
> CONFIG_CFG80211_DEVELOPER_WARNINGS=y
> CONFIG_CFG80211_REG_DEBUG=y
> CONFIG_CFG80211_CERTIFICATION_ONUS=y
> CONFIG_CFG80211_DEFAULT_PS=y
> CONFIG_CFG80211_DEBUGFS=y
> CONFIG_CFG80211_INTERNAL_REGDB=y
> CONFIG_CFG80211_WEXT=y
> CONFIG_LIB80211=y
> CONFIG_LIB80211_CRYPT_WEP=y
> CONFIG_LIB80211_CRYPT_CCMP=y
> CONFIG_LIB80211_CRYPT_TKIP=y
> CONFIG_LIB80211_DEBUG=y
> CONFIG_MAC80211=y
> CONFIG_MAC80211_HAS_RC=y
> CONFIG_MAC80211_RC_PID=y
> CONFIG_MAC80211_RC_MINSTREL=y
> CONFIG_MAC80211_RC_MINSTREL_HT=y
> # CONFIG_MAC80211_RC_DEFAULT_PID is not set
> CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
> CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
> CONFIG_MAC80211_MESH=y
> CONFIG_MAC80211_LEDS=y
> CONFIG_MAC80211_DEBUGFS=y
> CONFIG_MAC80211_MESSAGE_TRACING=y
> CONFIG_MAC80211_DEBUG_MENU=y
> CONFIG_MAC80211_NOINLINE=y
> CONFIG_MAC80211_VERBOSE_DEBUG=y
> CONFIG_MAC80211_MLME_DEBUG=y
> CONFIG_MAC80211_STA_DEBUG=y
> CONFIG_MAC80211_HT_DEBUG=y
> CONFIG_MAC80211_IBSS_DEBUG=y
> CONFIG_MAC80211_PS_DEBUG=y
> CONFIG_MAC80211_MPL_DEBUG=y
> CONFIG_MAC80211_MPATH_DEBUG=y
> CONFIG_MAC80211_MHWMP_DEBUG=y
> CONFIG_MAC80211_MESH_SYNC_DEBUG=y
> CONFIG_MAC80211_TDLS_DEBUG=y
> CONFIG_MAC80211_DEBUG_COUNTERS=y
> CONFIG_WIMAX=y
> CONFIG_WIMAX_DEBUG_LEVEL=8
> CONFIG_RFKILL=y
> CONFIG_RFKILL_LEDS=y
> CONFIG_RFKILL_INPUT=y
> CONFIG_RFKILL_REGULATOR=y
> CONFIG_NET_9P=y
> CONFIG_NET_9P_VIRTIO=y
> CONFIG_NET_9P_RDMA=y
> CONFIG_NET_9P_DEBUG=y
> CONFIG_CAIF=y
> CONFIG_CAIF_DEBUG=y
> CONFIG_CAIF_NETDEV=y
> CONFIG_CAIF_USB=y
> CONFIG_CEPH_LIB=y
> CONFIG_CEPH_LIB_PRETTYDEBUG=y
> CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
> CONFIG_NFC=y
> CONFIG_NFC_NCI=y
> CONFIG_NFC_HCI=y
> CONFIG_NFC_SHDLC=y
> CONFIG_NFC_LLCP=y
> 
> #
> # Near Field Communication (NFC) devices
> #
> CONFIG_PN544_NFC=y
> CONFIG_PN544_HCI_NFC=y
> CONFIG_NFC_PN533=y
> CONFIG_NFC_WILINK=y
> CONFIG_HAVE_BPF_JIT=y
> 
> #
> # Device Drivers
> #
> 
> #
> # Generic Driver Options
> #
> CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
> CONFIG_DEVTMPFS=y
> CONFIG_DEVTMPFS_MOUNT=y
> CONFIG_STANDALONE=y
> CONFIG_PREVENT_FIRMWARE_BUILD=y
> CONFIG_FW_LOADER=y
> CONFIG_FIRMWARE_IN_KERNEL=y
> CONFIG_EXTRA_FIRMWARE=""
> CONFIG_DEBUG_DRIVER=y
> CONFIG_DEBUG_DEVRES=y
> CONFIG_SYS_HYPERVISOR=y
> # CONFIG_GENERIC_CPU_DEVICES is not set
> CONFIG_REGMAP=y
> CONFIG_REGMAP_I2C=y
> CONFIG_REGMAP_SPI=y
> CONFIG_REGMAP_IRQ=y
> CONFIG_DMA_SHARED_BUFFER=y
> 
> #
> # Bus devices
> #
> CONFIG_OMAP_OCP2SCP=y
> CONFIG_CONNECTOR=y
> CONFIG_PROC_EVENTS=y
> CONFIG_MTD=y
> CONFIG_MTD_REDBOOT_PARTS=y
> CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
> CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
> CONFIG_MTD_REDBOOT_PARTS_READONLY=y
> CONFIG_MTD_CMDLINE_PARTS=y
> CONFIG_MTD_AR7_PARTS=y
> 
> #
> # User Modules And Translation Layers
> #
> CONFIG_MTD_CHAR=y
> CONFIG_HAVE_MTD_OTP=y
> CONFIG_MTD_BLKDEVS=y
> CONFIG_MTD_BLOCK=y
> CONFIG_FTL=y
> CONFIG_NFTL=y
> CONFIG_NFTL_RW=y
> CONFIG_INFTL=y
> CONFIG_RFD_FTL=y
> CONFIG_SSFDC=y
> CONFIG_SM_FTL=y
> CONFIG_MTD_OOPS=y
> CONFIG_MTD_SWAP=y
> 
> #
> # RAM/ROM/Flash chip drivers
> #
> CONFIG_MTD_CFI=y
> CONFIG_MTD_JEDECPROBE=y
> CONFIG_MTD_GEN_PROBE=y
> CONFIG_MTD_CFI_ADV_OPTIONS=y
> CONFIG_MTD_CFI_NOSWAP=y
> # CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
> # CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
> CONFIG_MTD_CFI_GEOMETRY=y
> CONFIG_MTD_MAP_BANK_WIDTH_1=y
> CONFIG_MTD_MAP_BANK_WIDTH_2=y
> CONFIG_MTD_MAP_BANK_WIDTH_4=y
> CONFIG_MTD_MAP_BANK_WIDTH_8=y
> CONFIG_MTD_MAP_BANK_WIDTH_16=y
> CONFIG_MTD_MAP_BANK_WIDTH_32=y
> CONFIG_MTD_CFI_I1=y
> CONFIG_MTD_CFI_I2=y
> CONFIG_MTD_CFI_I4=y
> CONFIG_MTD_CFI_I8=y
> CONFIG_MTD_OTP=y
> CONFIG_MTD_CFI_INTELEXT=y
> CONFIG_MTD_CFI_AMDSTD=y
> CONFIG_MTD_CFI_STAA=y
> CONFIG_MTD_CFI_UTIL=y
> CONFIG_MTD_RAM=y
> CONFIG_MTD_ROM=y
> CONFIG_MTD_ABSENT=y
> 
> #
> # Mapping drivers for chip access
> #
> CONFIG_MTD_COMPLEX_MAPPINGS=y
> CONFIG_MTD_PHYSMAP=y
> CONFIG_MTD_PHYSMAP_COMPAT=y
> CONFIG_MTD_PHYSMAP_START=0x8000000
> CONFIG_MTD_PHYSMAP_LEN=0
> CONFIG_MTD_PHYSMAP_BANKWIDTH=2
> CONFIG_MTD_SC520CDP=y
> CONFIG_MTD_NETSC520=y
> CONFIG_MTD_TS5500=y
> CONFIG_MTD_SBC_GXX=y
> CONFIG_MTD_AMD76XROM=y
> CONFIG_MTD_ICHXROM=y
> CONFIG_MTD_ESB2ROM=y
> CONFIG_MTD_CK804XROM=y
> CONFIG_MTD_SCB2_FLASH=y
> CONFIG_MTD_NETtel=y
> CONFIG_MTD_L440GX=y
> CONFIG_MTD_PCI=y
> CONFIG_MTD_PCMCIA=y
> CONFIG_MTD_PCMCIA_ANONYMOUS=y
> CONFIG_MTD_GPIO_ADDR=y
> CONFIG_MTD_INTEL_VR_NOR=y
> CONFIG_MTD_PLATRAM=y
> CONFIG_MTD_LATCH_ADDR=y
> 
> #
> # Self-contained MTD device drivers
> #
> # CONFIG_MTD_PMC551 is not set
> CONFIG_MTD_DATAFLASH=y
> CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y
> CONFIG_MTD_DATAFLASH_OTP=y
> CONFIG_MTD_M25P80=y
> CONFIG_M25PXX_USE_FAST_READ=y
> CONFIG_MTD_SST25L=y
> CONFIG_MTD_SLRAM=y
> CONFIG_MTD_PHRAM=y
> CONFIG_MTD_MTDRAM=y
> CONFIG_MTDRAM_TOTAL_SIZE=4096
> CONFIG_MTDRAM_ERASE_SIZE=128
> CONFIG_MTDRAM_ABS_POS=0
> CONFIG_MTD_BLOCK2MTD=y
> 
> #
> # Disk-On-Chip Device Drivers
> #
> CONFIG_MTD_DOC2000=y
> CONFIG_MTD_DOC2001=y
> CONFIG_MTD_DOC2001PLUS=y
> CONFIG_MTD_DOCG3=y
> CONFIG_BCH_CONST_M=14
> CONFIG_BCH_CONST_T=4
> CONFIG_MTD_DOCPROBE=y
> CONFIG_MTD_DOCECC=y
> CONFIG_MTD_DOCPROBE_ADVANCED=y
> CONFIG_MTD_DOCPROBE_ADDRESS=0x0
> CONFIG_MTD_DOCPROBE_HIGH=y
> CONFIG_MTD_DOCPROBE_55AA=y
> CONFIG_MTD_NAND_ECC=y
> CONFIG_MTD_NAND_ECC_SMC=y
> CONFIG_MTD_NAND=y
> CONFIG_MTD_NAND_BCH=y
> CONFIG_MTD_NAND_ECC_BCH=y
> CONFIG_MTD_SM_COMMON=y
> CONFIG_MTD_NAND_MUSEUM_IDS=y
> CONFIG_MTD_NAND_DENALI=y
> CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
> CONFIG_MTD_NAND_IDS=y
> CONFIG_MTD_NAND_RICOH=y
> CONFIG_MTD_NAND_DISKONCHIP=y
> CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y
> CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
> CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y
> CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y
> CONFIG_MTD_NAND_DOCG4=y
> CONFIG_MTD_NAND_CAFE=y
> CONFIG_MTD_NAND_NANDSIM=y
> CONFIG_MTD_NAND_PLATFORM=y
> CONFIG_MTD_ALAUDA=y
> CONFIG_MTD_ONENAND=y
> CONFIG_MTD_ONENAND_VERIFY_WRITE=y
> CONFIG_MTD_ONENAND_GENERIC=y
> CONFIG_MTD_ONENAND_OTP=y
> CONFIG_MTD_ONENAND_2X_PROGRAM=y
> CONFIG_MTD_ONENAND_SIM=y
> 
> #
> # LPDDR flash memory drivers
> #
> CONFIG_MTD_LPDDR=y
> CONFIG_MTD_QINFO_PROBE=y
> CONFIG_MTD_UBI=y
> CONFIG_MTD_UBI_WL_THRESHOLD=4096
> CONFIG_MTD_UBI_BEB_LIMIT=2
> CONFIG_MTD_UBI_GLUEBI=y
> # CONFIG_PARPORT is not set
> CONFIG_PNP=y
> CONFIG_PNP_DEBUG_MESSAGES=y
> 
> #
> # Protocols
> #
> CONFIG_PNPACPI=y
> CONFIG_BLK_DEV=y
> CONFIG_BLK_DEV_FD=y
> CONFIG_BLK_DEV_PCIESSD_MTIP32XX=y
> CONFIG_BLK_CPQ_DA=y
> CONFIG_BLK_CPQ_CISS_DA=y
> CONFIG_CISS_SCSI_TAPE=y
> CONFIG_BLK_DEV_DAC960=y
> CONFIG_BLK_DEV_UMEM=y
> # CONFIG_BLK_DEV_COW_COMMON is not set
> CONFIG_BLK_DEV_LOOP=y
> CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
> CONFIG_BLK_DEV_CRYPTOLOOP=y
> CONFIG_BLK_DEV_DRBD=y
> CONFIG_DRBD_FAULT_INJECTION=y
> CONFIG_BLK_DEV_NBD=y
> CONFIG_BLK_DEV_NVME=y
> CONFIG_BLK_DEV_OSD=y
> CONFIG_BLK_DEV_SX8=y
> CONFIG_BLK_DEV_RAM=y
> CONFIG_BLK_DEV_RAM_COUNT=16
> CONFIG_BLK_DEV_RAM_SIZE=16384
> CONFIG_BLK_DEV_XIP=y
> CONFIG_CDROM_PKTCDVD=y
> CONFIG_CDROM_PKTCDVD_BUFFERS=8
> CONFIG_CDROM_PKTCDVD_WCACHE=y
> CONFIG_ATA_OVER_ETH=y
> CONFIG_XEN_BLKDEV_FRONTEND=y
> CONFIG_XEN_BLKDEV_BACKEND=y
> CONFIG_VIRTIO_BLK=y
> CONFIG_BLK_DEV_HD=y
> CONFIG_BLK_DEV_RBD=y
> 
> #
> # Misc devices
> #
> CONFIG_SENSORS_LIS3LV02D=y
> CONFIG_AD525X_DPOT=y
> CONFIG_AD525X_DPOT_I2C=y
> CONFIG_AD525X_DPOT_SPI=y
> CONFIG_IBM_ASM=y
> CONFIG_PHANTOM=y
> CONFIG_INTEL_MID_PTI=y
> CONFIG_SGI_IOC4=y
> CONFIG_TIFM_CORE=y
> CONFIG_TIFM_7XX1=y
> CONFIG_ICS932S401=y
> CONFIG_ENCLOSURE_SERVICES=y
> CONFIG_SGI_XP=y
> CONFIG_CS5535_MFGPT=y
> CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
> CONFIG_CS5535_CLOCK_EVENT_SRC=y
> CONFIG_HP_ILO=y
> CONFIG_SGI_GRU=y
> CONFIG_SGI_GRU_DEBUG=y
> CONFIG_APDS9802ALS=y
> CONFIG_ISL29003=y
> CONFIG_ISL29020=y
> CONFIG_SENSORS_TSL2550=y
> CONFIG_SENSORS_BH1780=y
> CONFIG_SENSORS_BH1770=y
> CONFIG_SENSORS_APDS990X=y
> CONFIG_HMC6352=y
> CONFIG_DS1682=y
> CONFIG_TI_DAC7512=y
> CONFIG_VMWARE_BALLOON=y
> CONFIG_BMP085=y
> CONFIG_BMP085_I2C=y
> CONFIG_BMP085_SPI=y
> CONFIG_PCH_PHUB=y
> CONFIG_USB_SWITCH_FSA9480=y
> CONFIG_C2PORT=y
> CONFIG_C2PORT_DURAMAR_2150=y
> 
> #
> # EEPROM support
> #
> CONFIG_EEPROM_AT24=y
> CONFIG_EEPROM_AT25=y
> CONFIG_EEPROM_LEGACY=y
> CONFIG_EEPROM_MAX6875=y
> CONFIG_EEPROM_93CX6=y
> CONFIG_EEPROM_93XX46=y
> CONFIG_CB710_CORE=y
> CONFIG_CB710_DEBUG=y
> CONFIG_CB710_DEBUG_ASSUMPTIONS=y
> 
> #
> # Texas Instruments shared transport line discipline
> #
> CONFIG_TI_ST=y
> CONFIG_SENSORS_LIS3_I2C=y
> 
> #
> # Altera FPGA firmware download module
> #
> CONFIG_ALTERA_STAPL=y
> CONFIG_INTEL_MEI=y
> CONFIG_HAVE_IDE=y
> # CONFIG_IDE is not set
> 
> #
> # SCSI device support
> #
> CONFIG_SCSI_MOD=y
> CONFIG_RAID_ATTRS=y
> CONFIG_SCSI=y
> CONFIG_SCSI_DMA=y
> CONFIG_SCSI_TGT=y
> CONFIG_SCSI_NETLINK=y
> CONFIG_SCSI_PROC_FS=y
> 
> #
> # SCSI support type (disk, tape, CD-ROM)
> #
> CONFIG_BLK_DEV_SD=y
> CONFIG_CHR_DEV_ST=y
> CONFIG_CHR_DEV_OSST=y
> CONFIG_BLK_DEV_SR=y
> CONFIG_BLK_DEV_SR_VENDOR=y
> CONFIG_CHR_DEV_SG=y
> CONFIG_CHR_DEV_SCH=y
> CONFIG_SCSI_ENCLOSURE=y
> CONFIG_SCSI_MULTI_LUN=y
> CONFIG_SCSI_CONSTANTS=y
> CONFIG_SCSI_LOGGING=y
> CONFIG_SCSI_SCAN_ASYNC=y
> 
> #
> # SCSI Transports
> #
> CONFIG_SCSI_SPI_ATTRS=y
> CONFIG_SCSI_FC_ATTRS=y
> CONFIG_SCSI_FC_TGT_ATTRS=y
> CONFIG_SCSI_ISCSI_ATTRS=y
> CONFIG_SCSI_SAS_ATTRS=y
> CONFIG_SCSI_SAS_LIBSAS=y
> CONFIG_SCSI_SAS_ATA=y
> CONFIG_SCSI_SAS_HOST_SMP=y
> CONFIG_SCSI_SRP_ATTRS=y
> CONFIG_SCSI_SRP_TGT_ATTRS=y
> CONFIG_SCSI_LOWLEVEL=y
> CONFIG_ISCSI_TCP=y
> CONFIG_ISCSI_BOOT_SYSFS=y
> CONFIG_SCSI_CXGB3_ISCSI=y
> CONFIG_SCSI_CXGB4_ISCSI=y
> CONFIG_SCSI_BNX2_ISCSI=y
> CONFIG_SCSI_BNX2X_FCOE=y
> CONFIG_BE2ISCSI=y
> CONFIG_BLK_DEV_3W_XXXX_RAID=y
> CONFIG_SCSI_HPSA=y
> CONFIG_SCSI_3W_9XXX=y
> CONFIG_SCSI_3W_SAS=y
> CONFIG_SCSI_ACARD=y
> CONFIG_SCSI_AACRAID=y
> CONFIG_SCSI_AIC7XXX=y
> CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
> CONFIG_AIC7XXX_RESET_DELAY_MS=5000
> CONFIG_AIC7XXX_DEBUG_ENABLE=y
> CONFIG_AIC7XXX_DEBUG_MASK=0
> CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
> CONFIG_SCSI_AIC7XXX_OLD=y
> CONFIG_SCSI_AIC79XX=y
> CONFIG_AIC79XX_CMDS_PER_DEVICE=32
> CONFIG_AIC79XX_RESET_DELAY_MS=5000
> CONFIG_AIC79XX_DEBUG_ENABLE=y
> CONFIG_AIC79XX_DEBUG_MASK=0
> CONFIG_AIC79XX_REG_PRETTY_PRINT=y
> CONFIG_SCSI_AIC94XX=y
> CONFIG_AIC94XX_DEBUG=y
> CONFIG_SCSI_MVSAS=y
> CONFIG_SCSI_MVSAS_DEBUG=y
> CONFIG_SCSI_MVSAS_TASKLET=y
> CONFIG_SCSI_MVUMI=y
> CONFIG_SCSI_DPT_I2O=y
> CONFIG_SCSI_ADVANSYS=y
> CONFIG_SCSI_ARCMSR=y
> CONFIG_MEGARAID_NEWGEN=y
> CONFIG_MEGARAID_MM=y
> CONFIG_MEGARAID_MAILBOX=y
> CONFIG_MEGARAID_LEGACY=y
> CONFIG_MEGARAID_SAS=y
> CONFIG_SCSI_MPT2SAS=y
> CONFIG_SCSI_MPT2SAS_MAX_SGE=128
> CONFIG_SCSI_MPT2SAS_LOGGING=y
> CONFIG_SCSI_UFSHCD=y
> CONFIG_SCSI_HPTIOP=y
> CONFIG_SCSI_BUSLOGIC=y
> CONFIG_VMWARE_PVSCSI=y
> CONFIG_HYPERV_STORAGE=y
> CONFIG_LIBFC=y
> CONFIG_LIBFCOE=y
> CONFIG_FCOE=y
> CONFIG_FCOE_FNIC=y
> CONFIG_SCSI_DMX3191D=y
> CONFIG_SCSI_EATA=y
> CONFIG_SCSI_EATA_TAGGED_QUEUE=y
> CONFIG_SCSI_EATA_LINKED_COMMANDS=y
> CONFIG_SCSI_EATA_MAX_TAGS=16
> CONFIG_SCSI_FUTURE_DOMAIN=y
> CONFIG_SCSI_GDTH=y
> CONFIG_SCSI_ISCI=y
> CONFIG_SCSI_IPS=y
> CONFIG_SCSI_INITIO=y
> CONFIG_SCSI_INIA100=y
> CONFIG_SCSI_STEX=y
> CONFIG_SCSI_SYM53C8XX_2=y
> CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
> CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
> CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
> CONFIG_SCSI_SYM53C8XX_MMIO=y
> CONFIG_SCSI_IPR=y
> CONFIG_SCSI_IPR_TRACE=y
> CONFIG_SCSI_IPR_DUMP=y
> CONFIG_SCSI_QLOGIC_1280=y
> CONFIG_SCSI_QLA_FC=y
> CONFIG_TCM_QLA2XXX=y
> CONFIG_SCSI_QLA_ISCSI=y
> # CONFIG_SCSI_LPFC is not set
> CONFIG_SCSI_DC395x=y
> CONFIG_SCSI_DC390T=y
> CONFIG_SCSI_DEBUG=y
> CONFIG_SCSI_PMCRAID=y
> CONFIG_SCSI_PM8001=y
> CONFIG_SCSI_SRP=y
> CONFIG_SCSI_BFA_FC=y
> CONFIG_SCSI_VIRTIO=y
> CONFIG_SCSI_LOWLEVEL_PCMCIA=y
> CONFIG_SCSI_DH=y
> CONFIG_SCSI_DH_RDAC=y
> CONFIG_SCSI_DH_HP_SW=y
> CONFIG_SCSI_DH_EMC=y
> CONFIG_SCSI_DH_ALUA=y
> CONFIG_SCSI_OSD_INITIATOR=y
> CONFIG_SCSI_OSD_ULD=y
> CONFIG_SCSI_OSD_DPRINT_SENSE=1
> # CONFIG_SCSI_OSD_DEBUG is not set
> CONFIG_ATA=y
> # CONFIG_ATA_NONSTANDARD is not set
> CONFIG_ATA_VERBOSE_ERROR=y
> CONFIG_ATA_ACPI=y
> CONFIG_SATA_PMP=y
> 
> #
> # Controllers with non-SFF native interface
> #
> CONFIG_SATA_AHCI=y
> CONFIG_SATA_AHCI_PLATFORM=y
> CONFIG_SATA_INIC162X=y
> CONFIG_SATA_ACARD_AHCI=y
> CONFIG_SATA_SIL24=y
> CONFIG_ATA_SFF=y
> 
> #
> # SFF controllers with custom DMA interface
> #
> CONFIG_PDC_ADMA=y
> CONFIG_SATA_QSTOR=y
> CONFIG_SATA_SX4=y
> CONFIG_ATA_BMDMA=y
> 
> #
> # SATA SFF controllers with BMDMA
> #
> CONFIG_ATA_PIIX=y
> CONFIG_SATA_HIGHBANK=y
> CONFIG_SATA_MV=y
> CONFIG_SATA_NV=y
> CONFIG_SATA_PROMISE=y
> CONFIG_SATA_SIL=y
> CONFIG_SATA_SIS=y
> CONFIG_SATA_SVW=y
> CONFIG_SATA_ULI=y
> CONFIG_SATA_VIA=y
> CONFIG_SATA_VITESSE=y
> 
> #
> # PATA SFF controllers with BMDMA
> #
> CONFIG_PATA_ALI=y
> CONFIG_PATA_AMD=y
> CONFIG_PATA_ARASAN_CF=y
> CONFIG_PATA_ARTOP=y
> CONFIG_PATA_ATIIXP=y
> CONFIG_PATA_ATP867X=y
> CONFIG_PATA_CMD64X=y
> CONFIG_PATA_CS5520=y
> CONFIG_PATA_CS5530=y
> CONFIG_PATA_CS5536=y
> CONFIG_PATA_CYPRESS=y
> CONFIG_PATA_EFAR=y
> CONFIG_PATA_HPT366=y
> CONFIG_PATA_HPT37X=y
> CONFIG_PATA_HPT3X2N=y
> CONFIG_PATA_HPT3X3=y
> CONFIG_PATA_HPT3X3_DMA=y
> CONFIG_PATA_IT8213=y
> CONFIG_PATA_IT821X=y
> CONFIG_PATA_JMICRON=y
> CONFIG_PATA_MARVELL=y
> CONFIG_PATA_NETCELL=y
> CONFIG_PATA_NINJA32=y
> CONFIG_PATA_NS87415=y
> CONFIG_PATA_OLDPIIX=y
> CONFIG_PATA_OPTIDMA=y
> CONFIG_PATA_PDC2027X=y
> CONFIG_PATA_PDC_OLD=y
> CONFIG_PATA_RADISYS=y
> CONFIG_PATA_RDC=y
> CONFIG_PATA_SC1200=y
> CONFIG_PATA_SCH=y
> CONFIG_PATA_SERVERWORKS=y
> CONFIG_PATA_SIL680=y
> CONFIG_PATA_SIS=y
> CONFIG_PATA_TOSHIBA=y
> CONFIG_PATA_TRIFLEX=y
> CONFIG_PATA_VIA=y
> CONFIG_PATA_WINBOND=y
> 
> #
> # PIO-only SFF controllers
> #
> CONFIG_PATA_CMD640_PCI=y
> CONFIG_PATA_MPIIX=y
> CONFIG_PATA_NS87410=y
> CONFIG_PATA_OPTI=y
> CONFIG_PATA_PCMCIA=y
> CONFIG_PATA_PLATFORM=y
> CONFIG_PATA_RZ1000=y
> 
> #
> # Generic fallback / legacy drivers
> #
> CONFIG_PATA_ACPI=y
> CONFIG_ATA_GENERIC=y
> CONFIG_PATA_LEGACY=y
> CONFIG_MD=y
> CONFIG_BLK_DEV_MD=y
> CONFIG_MD_AUTODETECT=y
> CONFIG_MD_LINEAR=y
> CONFIG_MD_RAID0=y
> CONFIG_MD_RAID1=y
> CONFIG_MD_RAID10=y
> CONFIG_MD_RAID456=y
> CONFIG_MULTICORE_RAID456=y
> CONFIG_MD_MULTIPATH=y
> CONFIG_MD_FAULTY=y
> CONFIG_BLK_DEV_DM=y
> CONFIG_DM_DEBUG=y
> CONFIG_DM_BUFIO=y
> CONFIG_DM_PERSISTENT_DATA=y
> CONFIG_DM_CRYPT=y
> CONFIG_DM_SNAPSHOT=y
> CONFIG_DM_THIN_PROVISIONING=y
> CONFIG_DM_DEBUG_BLOCK_STACK_TRACING=y
> CONFIG_DM_MIRROR=y
> CONFIG_DM_RAID=y
> CONFIG_DM_LOG_USERSPACE=y
> CONFIG_DM_ZERO=y
> CONFIG_DM_MULTIPATH=y
> CONFIG_DM_MULTIPATH_QL=y
> CONFIG_DM_MULTIPATH_ST=y
> CONFIG_DM_DELAY=y
> CONFIG_DM_UEVENT=y
> CONFIG_DM_FLAKEY=y
> CONFIG_DM_VERITY=y
> CONFIG_TARGET_CORE=y
> CONFIG_TCM_IBLOCK=y
> CONFIG_TCM_FILEIO=y
> CONFIG_TCM_PSCSI=y
> CONFIG_LOOPBACK_TARGET=y
> CONFIG_TCM_FC=y
> CONFIG_ISCSI_TARGET=y
> CONFIG_SBP_TARGET=y
> CONFIG_FUSION=y
> CONFIG_FUSION_SPI=y
> CONFIG_FUSION_FC=y
> CONFIG_FUSION_SAS=y
> CONFIG_FUSION_MAX_SGE=128
> CONFIG_FUSION_CTL=y
> CONFIG_FUSION_LAN=y
> CONFIG_FUSION_LOGGING=y
> 
> #
> # IEEE 1394 (FireWire) support
> #
> CONFIG_FIREWIRE=y
> CONFIG_FIREWIRE_OHCI=y
> CONFIG_FIREWIRE_SBP2=y
> CONFIG_FIREWIRE_NET=y
> CONFIG_FIREWIRE_NOSY=y
> CONFIG_I2O=y
> CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
> CONFIG_I2O_EXT_ADAPTEC=y
> CONFIG_I2O_EXT_ADAPTEC_DMA64=y
> CONFIG_I2O_CONFIG=y
> CONFIG_I2O_CONFIG_OLD_IOCTL=y
> CONFIG_I2O_BUS=y
> CONFIG_I2O_BLOCK=y
> CONFIG_I2O_SCSI=y
> CONFIG_I2O_PROC=y
> CONFIG_MACINTOSH_DRIVERS=y
> CONFIG_MAC_EMUMOUSEBTN=y
> CONFIG_NETDEVICES=y
> CONFIG_NET_CORE=y
> CONFIG_BONDING=y
> CONFIG_DUMMY=y
> CONFIG_EQUALIZER=y
> CONFIG_NET_FC=y
> CONFIG_MII=y
> CONFIG_IFB=y
> CONFIG_NET_TEAM=y
> CONFIG_NET_TEAM_MODE_BROADCAST=y
> CONFIG_NET_TEAM_MODE_ROUNDROBIN=y
> CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=y
> CONFIG_NET_TEAM_MODE_LOADBALANCE=y
> CONFIG_MACVLAN=y
> CONFIG_MACVTAP=y
> CONFIG_NETCONSOLE=y
> CONFIG_NETCONSOLE_DYNAMIC=y
> CONFIG_NETPOLL=y
> CONFIG_NETPOLL_TRAP=y
> CONFIG_NET_POLL_CONTROLLER=y
> CONFIG_RIONET=y
> CONFIG_RIONET_TX_SIZE=128
> CONFIG_RIONET_RX_SIZE=128
> CONFIG_TUN=y
> CONFIG_VETH=y
> CONFIG_VIRTIO_NET=y
> CONFIG_SUNGEM_PHY=y
> CONFIG_ARCNET=y
> CONFIG_ARCNET_1201=y
> CONFIG_ARCNET_1051=y
> CONFIG_ARCNET_RAW=y
> CONFIG_ARCNET_CAP=y
> CONFIG_ARCNET_COM90xx=y
> CONFIG_ARCNET_COM90xxIO=y
> CONFIG_ARCNET_RIM_I=y
> CONFIG_ARCNET_COM20020=y
> CONFIG_ARCNET_COM20020_PCI=y
> CONFIG_ARCNET_COM20020_CS=y
> CONFIG_ATM_DRIVERS=y
> CONFIG_ATM_DUMMY=y
> CONFIG_ATM_TCP=y
> CONFIG_ATM_LANAI=y
> CONFIG_ATM_ENI=y
> CONFIG_ATM_ENI_DEBUG=y
> CONFIG_ATM_ENI_TUNE_BURST=y
> CONFIG_ATM_ENI_BURST_TX_16W=y
> CONFIG_ATM_ENI_BURST_TX_8W=y
> CONFIG_ATM_ENI_BURST_TX_4W=y
> CONFIG_ATM_ENI_BURST_TX_2W=y
> CONFIG_ATM_ENI_BURST_RX_16W=y
> CONFIG_ATM_ENI_BURST_RX_8W=y
> CONFIG_ATM_ENI_BURST_RX_4W=y
> CONFIG_ATM_ENI_BURST_RX_2W=y
> CONFIG_ATM_FIRESTREAM=y
> CONFIG_ATM_ZATM=y
> CONFIG_ATM_ZATM_DEBUG=y
> CONFIG_ATM_NICSTAR=y
> CONFIG_ATM_NICSTAR_USE_SUNI=y
> CONFIG_ATM_NICSTAR_USE_IDT77105=y
> CONFIG_ATM_IDT77252=y
> CONFIG_ATM_IDT77252_DEBUG=y
> CONFIG_ATM_IDT77252_RCV_ALL=y
> CONFIG_ATM_IDT77252_USE_SUNI=y
> CONFIG_ATM_AMBASSADOR=y
> CONFIG_ATM_AMBASSADOR_DEBUG=y
> CONFIG_ATM_HORIZON=y
> CONFIG_ATM_HORIZON_DEBUG=y
> CONFIG_ATM_IA=y
> CONFIG_ATM_IA_DEBUG=y
> CONFIG_ATM_FORE200E=y
> CONFIG_ATM_FORE200E_USE_TASKLET=y
> CONFIG_ATM_FORE200E_TX_RETRY=16
> CONFIG_ATM_FORE200E_DEBUG=0
> CONFIG_ATM_HE=y
> CONFIG_ATM_HE_USE_SUNI=y
> CONFIG_ATM_SOLOS=y
> 
> #
> # CAIF transport drivers
> #
> CONFIG_CAIF_TTY=y
> CONFIG_CAIF_SPI_SLAVE=y
> CONFIG_CAIF_SPI_SYNC=y
> CONFIG_CAIF_HSI=y
> 
> #
> # Distributed Switch Architecture drivers
> #
> CONFIG_NET_DSA_MV88E6XXX=y
> CONFIG_NET_DSA_MV88E6060=y
> CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
> CONFIG_NET_DSA_MV88E6131=y
> CONFIG_NET_DSA_MV88E6123_61_65=y
> CONFIG_ETHERNET=y
> CONFIG_MDIO=y
> CONFIG_NET_VENDOR_3COM=y
> CONFIG_PCMCIA_3C574=y
> CONFIG_PCMCIA_3C589=y
> CONFIG_VORTEX=y
> CONFIG_TYPHOON=y
> CONFIG_NET_VENDOR_ADAPTEC=y
> CONFIG_ADAPTEC_STARFIRE=y
> CONFIG_NET_VENDOR_ALTEON=y
> CONFIG_ACENIC=y
> CONFIG_ACENIC_OMIT_TIGON_I=y
> CONFIG_NET_VENDOR_AMD=y
> CONFIG_AMD8111_ETH=y
> CONFIG_PCNET32=y
> CONFIG_PCMCIA_NMCLAN=y
> CONFIG_NET_VENDOR_ATHEROS=y
> CONFIG_ATL2=y
> CONFIG_ATL1=y
> CONFIG_ATL1E=y
> CONFIG_ATL1C=y
> CONFIG_NET_VENDOR_BROADCOM=y
> CONFIG_B44=y
> CONFIG_B44_PCI_AUTOSELECT=y
> CONFIG_B44_PCICORE_AUTOSELECT=y
> CONFIG_B44_PCI=y
> CONFIG_BNX2=y
> CONFIG_CNIC=y
> CONFIG_TIGON3=y
> CONFIG_BNX2X=y
> CONFIG_NET_VENDOR_BROCADE=y
> CONFIG_BNA=y
> CONFIG_NET_CALXEDA_XGMAC=y
> CONFIG_NET_VENDOR_CHELSIO=y
> CONFIG_CHELSIO_T1=y
> CONFIG_CHELSIO_T1_1G=y
> CONFIG_CHELSIO_T3=y
> CONFIG_CHELSIO_T4=y
> CONFIG_CHELSIO_T4VF=y
> CONFIG_NET_VENDOR_CISCO=y
> CONFIG_ENIC=y
> CONFIG_DNET=y
> CONFIG_NET_VENDOR_DEC=y
> CONFIG_NET_TULIP=y
> CONFIG_DE2104X=y
> CONFIG_DE2104X_DSL=0
> CONFIG_TULIP=y
> CONFIG_TULIP_MWI=y
> CONFIG_TULIP_MMIO=y
> CONFIG_TULIP_NAPI=y
> CONFIG_TULIP_NAPI_HW_MITIGATION=y
> CONFIG_DE4X5=y
> CONFIG_WINBOND_840=y
> CONFIG_DM9102=y
> CONFIG_ULI526X=y
> CONFIG_PCMCIA_XIRCOM=y
> CONFIG_NET_VENDOR_DLINK=y
> CONFIG_DL2K=y
> CONFIG_SUNDANCE=y
> CONFIG_SUNDANCE_MMIO=y
> CONFIG_NET_VENDOR_EMULEX=y
> CONFIG_BE2NET=y
> CONFIG_NET_VENDOR_EXAR=y
> CONFIG_S2IO=y
> CONFIG_VXGE=y
> CONFIG_VXGE_DEBUG_TRACE_ALL=y
> CONFIG_NET_VENDOR_FUJITSU=y
> CONFIG_PCMCIA_FMVJ18X=y
> CONFIG_NET_VENDOR_HP=y
> CONFIG_HP100=y
> CONFIG_NET_VENDOR_INTEL=y
> CONFIG_E100=y
> CONFIG_E1000=y
> CONFIG_E1000E=y
> CONFIG_IGB=y
> CONFIG_IGB_DCA=y
> CONFIG_IGB_PTP=y
> CONFIG_IGBVF=y
> CONFIG_IXGB=y
> CONFIG_IXGBE=y
> CONFIG_IXGBE_HWMON=y
> CONFIG_IXGBE_DCA=y
> CONFIG_IXGBE_DCB=y
> CONFIG_IXGBE_PTP=y
> CONFIG_IXGBEVF=y
> CONFIG_NET_VENDOR_I825XX=y
> CONFIG_ZNET=y
> CONFIG_IP1000=y
> CONFIG_JME=y
> CONFIG_NET_VENDOR_MARVELL=y
> CONFIG_SKGE=y
> CONFIG_SKGE_DEBUG=y
> CONFIG_SKGE_GENESIS=y
> CONFIG_SKY2=y
> CONFIG_SKY2_DEBUG=y
> CONFIG_NET_VENDOR_MELLANOX=y
> CONFIG_MLX4_EN=y
> CONFIG_MLX4_EN_DCB=y
> CONFIG_MLX4_CORE=y
> CONFIG_MLX4_DEBUG=y
> CONFIG_NET_VENDOR_MICREL=y
> CONFIG_KS8842=y
> CONFIG_KS8851=y
> CONFIG_KS8851_MLL=y
> CONFIG_KSZ884X_PCI=y
> CONFIG_NET_VENDOR_MICROCHIP=y
> CONFIG_ENC28J60=y
> CONFIG_ENC28J60_WRITEVERIFY=y
> CONFIG_NET_VENDOR_MYRI=y
> CONFIG_MYRI10GE=y
> CONFIG_MYRI10GE_DCA=y
> CONFIG_FEALNX=y
> CONFIG_NET_VENDOR_NATSEMI=y
> CONFIG_NATSEMI=y
> CONFIG_NS83820=y
> CONFIG_NET_VENDOR_8390=y
> CONFIG_PCMCIA_AXNET=y
> CONFIG_NE2K_PCI=y
> CONFIG_PCMCIA_PCNET=y
> CONFIG_NET_VENDOR_NVIDIA=y
> CONFIG_FORCEDETH=y
> CONFIG_NET_VENDOR_OKI=y
> CONFIG_PCH_GBE=y
> # CONFIG_PCH_PTP is not set
> CONFIG_ETHOC=y
> CONFIG_NET_PACKET_ENGINE=y
> CONFIG_HAMACHI=y
> CONFIG_YELLOWFIN=y
> CONFIG_NET_VENDOR_QLOGIC=y
> CONFIG_QLA3XXX=y
> CONFIG_QLCNIC=y
> CONFIG_QLGE=y
> CONFIG_NETXEN_NIC=y
> CONFIG_NET_VENDOR_REALTEK=y
> CONFIG_8139CP=y
> CONFIG_8139TOO=y
> CONFIG_8139TOO_PIO=y
> CONFIG_8139TOO_TUNE_TWISTER=y
> CONFIG_8139TOO_8129=y
> CONFIG_8139_OLD_RX_RESET=y
> CONFIG_R8169=y
> CONFIG_NET_VENDOR_RDC=y
> CONFIG_R6040=y
> CONFIG_NET_VENDOR_SEEQ=y
> CONFIG_SEEQ8005=y
> CONFIG_NET_VENDOR_SILAN=y
> CONFIG_SC92031=y
> CONFIG_NET_VENDOR_SIS=y
> CONFIG_SIS900=y
> CONFIG_SIS190=y
> CONFIG_SFC=y
> CONFIG_SFC_MTD=y
> CONFIG_SFC_MCDI_MON=y
> CONFIG_SFC_SRIOV=y
> CONFIG_SFC_PTP=y
> CONFIG_NET_VENDOR_SMSC=y
> CONFIG_PCMCIA_SMC91C92=y
> CONFIG_EPIC100=y
> CONFIG_SMSC9420=y
> CONFIG_NET_VENDOR_STMICRO=y
> CONFIG_STMMAC_ETH=y
> CONFIG_STMMAC_PLATFORM=y
> CONFIG_STMMAC_PCI=y
> CONFIG_STMMAC_DEBUG_FS=y
> CONFIG_STMMAC_DA=y
> # CONFIG_STMMAC_RING is not set
> CONFIG_STMMAC_CHAINED=y
> CONFIG_NET_VENDOR_SUN=y
> CONFIG_HAPPYMEAL=y
> CONFIG_SUNGEM=y
> CONFIG_CASSINI=y
> CONFIG_NIU=y
> CONFIG_NET_VENDOR_TEHUTI=y
> CONFIG_TEHUTI=y
> CONFIG_NET_VENDOR_TI=y
> CONFIG_TLAN=y
> CONFIG_NET_VENDOR_VIA=y
> CONFIG_VIA_RHINE=y
> CONFIG_VIA_RHINE_MMIO=y
> CONFIG_VIA_VELOCITY=y
> CONFIG_NET_VENDOR_WIZNET=y
> CONFIG_WIZNET_W5100=y
> CONFIG_WIZNET_W5300=y
> # CONFIG_WIZNET_BUS_DIRECT is not set
> # CONFIG_WIZNET_BUS_INDIRECT is not set
> CONFIG_WIZNET_BUS_ANY=y
> CONFIG_NET_VENDOR_XIRCOM=y
> CONFIG_PCMCIA_XIRC2PS=y
> CONFIG_FDDI=y
> CONFIG_DEFXX=y
> # CONFIG_DEFXX_MMIO is not set
> CONFIG_SKFP=y
> CONFIG_HIPPI=y
> CONFIG_ROADRUNNER=y
> CONFIG_ROADRUNNER_LARGE_RINGS=y
> CONFIG_NET_SB1000=y
> CONFIG_PHYLIB=y
> 
> #
> # MII PHY device drivers
> #
> CONFIG_AMD_PHY=y
> CONFIG_MARVELL_PHY=y
> CONFIG_DAVICOM_PHY=y
> CONFIG_QSEMI_PHY=y
> CONFIG_LXT_PHY=y
> CONFIG_CICADA_PHY=y
> CONFIG_VITESSE_PHY=y
> CONFIG_SMSC_PHY=y
> CONFIG_BROADCOM_PHY=y
> CONFIG_BCM87XX_PHY=y
> CONFIG_ICPLUS_PHY=y
> CONFIG_REALTEK_PHY=y
> CONFIG_NATIONAL_PHY=y
> CONFIG_STE10XP=y
> CONFIG_LSI_ET1011C_PHY=y
> CONFIG_MICREL_PHY=y
> CONFIG_FIXED_PHY=y
> CONFIG_MDIO_BITBANG=y
> CONFIG_MDIO_GPIO=y
> CONFIG_MICREL_KS8995MA=y
> CONFIG_PPP=y
> CONFIG_PPP_BSDCOMP=y
> CONFIG_PPP_DEFLATE=y
> CONFIG_PPP_FILTER=y
> CONFIG_PPP_MPPE=y
> CONFIG_PPP_MULTILINK=y
> CONFIG_PPPOATM=y
> CONFIG_PPPOE=y
> CONFIG_PPTP=y
> CONFIG_PPPOL2TP=y
> CONFIG_PPP_ASYNC=y
> CONFIG_PPP_SYNC_TTY=y
> CONFIG_SLIP=y
> CONFIG_SLHC=y
> CONFIG_SLIP_COMPRESSED=y
> CONFIG_SLIP_SMART=y
> CONFIG_SLIP_MODE_SLIP6=y
> 
> #
> # USB Network Adapters
> #
> CONFIG_USB_CATC=y
> CONFIG_USB_KAWETH=y
> CONFIG_USB_PEGASUS=y
> CONFIG_USB_RTL8150=y
> CONFIG_USB_USBNET=y
> CONFIG_USB_NET_AX8817X=y
> CONFIG_USB_NET_CDCETHER=y
> CONFIG_USB_NET_CDC_EEM=y
> CONFIG_USB_NET_CDC_NCM=y
> CONFIG_USB_NET_DM9601=y
> CONFIG_USB_NET_SMSC75XX=y
> CONFIG_USB_NET_SMSC95XX=y
> CONFIG_USB_NET_GL620A=y
> CONFIG_USB_NET_NET1080=y
> CONFIG_USB_NET_PLUSB=y
> CONFIG_USB_NET_MCS7830=y
> CONFIG_USB_NET_RNDIS_HOST=y
> CONFIG_USB_NET_CDC_SUBSET=y
> CONFIG_USB_ALI_M5632=y
> CONFIG_USB_AN2720=y
> CONFIG_USB_BELKIN=y
> CONFIG_USB_ARMLINUX=y
> CONFIG_USB_EPSON2888=y
> CONFIG_USB_KC2190=y
> CONFIG_USB_NET_ZAURUS=y
> CONFIG_USB_NET_CX82310_ETH=y
> CONFIG_USB_NET_KALMIA=y
> CONFIG_USB_NET_QMI_WWAN=y
> CONFIG_USB_HSO=y
> CONFIG_USB_NET_INT51X1=y
> CONFIG_USB_CDC_PHONET=y
> CONFIG_USB_IPHETH=y
> CONFIG_USB_SIERRA_NET=y
> CONFIG_USB_VL600=y
> CONFIG_WLAN=y
> CONFIG_PCMCIA_RAYCS=y
> CONFIG_LIBERTAS_THINFIRM=y
> CONFIG_LIBERTAS_THINFIRM_DEBUG=y
> CONFIG_LIBERTAS_THINFIRM_USB=y
> CONFIG_AIRO=y
> CONFIG_ATMEL=y
> CONFIG_PCI_ATMEL=y
> CONFIG_PCMCIA_ATMEL=y
> CONFIG_AT76C50X_USB=y
> CONFIG_AIRO_CS=y
> CONFIG_PCMCIA_WL3501=y
> CONFIG_PRISM54=y
> CONFIG_USB_ZD1201=y
> CONFIG_USB_NET_RNDIS_WLAN=y
> CONFIG_RTL8180=y
> CONFIG_RTL8187=y
> CONFIG_RTL8187_LEDS=y
> CONFIG_ADM8211=y
> CONFIG_MAC80211_HWSIM=y
> CONFIG_MWL8K=y
> CONFIG_ATH_COMMON=y
> CONFIG_ATH_DEBUG=y
> CONFIG_ATH5K=y
> CONFIG_ATH5K_DEBUG=y
> CONFIG_ATH5K_TRACER=y
> CONFIG_ATH5K_PCI=y
> CONFIG_ATH5K_TEST_CHANNELS=y
> CONFIG_ATH9K_HW=y
> CONFIG_ATH9K_COMMON=y
> CONFIG_ATH9K_DFS_DEBUGFS=y
> CONFIG_ATH9K_BTCOEX_SUPPORT=y
> CONFIG_ATH9K=y
> CONFIG_ATH9K_PCI=y
> CONFIG_ATH9K_AHB=y
> CONFIG_ATH9K_DEBUGFS=y
> CONFIG_ATH9K_DFS_CERTIFIED=y
> CONFIG_ATH9K_MAC_DEBUG=y
> CONFIG_ATH9K_RATE_CONTROL=y
> CONFIG_ATH9K_HTC=y
> CONFIG_ATH9K_HTC_DEBUGFS=y
> CONFIG_CARL9170=y
> CONFIG_CARL9170_LEDS=y
> CONFIG_CARL9170_DEBUGFS=y
> CONFIG_CARL9170_WPC=y
> CONFIG_CARL9170_HWRNG=y
> CONFIG_ATH6KL=y
> # CONFIG_ATH6KL_SDIO is not set
> # CONFIG_ATH6KL_USB is not set
> # CONFIG_ATH6KL_DEBUG is not set
> CONFIG_B43=y
> CONFIG_B43_BCMA=y
> CONFIG_B43_BCMA_EXTRA=y
> CONFIG_B43_SSB=y
> CONFIG_B43_PCI_AUTOSELECT=y
> CONFIG_B43_PCICORE_AUTOSELECT=y
> CONFIG_B43_PCMCIA=y
> CONFIG_B43_SDIO=y
> CONFIG_B43_BCMA_PIO=y
> CONFIG_B43_PIO=y
> CONFIG_B43_PHY_N=y
> CONFIG_B43_PHY_LP=y
> CONFIG_B43_PHY_HT=y
> CONFIG_B43_LEDS=y
> CONFIG_B43_HWRNG=y
> CONFIG_B43_DEBUG=y
> CONFIG_B43LEGACY=y
> CONFIG_B43LEGACY_PCI_AUTOSELECT=y
> CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
> CONFIG_B43LEGACY_LEDS=y
> CONFIG_B43LEGACY_HWRNG=y
> CONFIG_B43LEGACY_DEBUG=y
> CONFIG_B43LEGACY_DMA=y
> CONFIG_B43LEGACY_PIO=y
> CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
> # CONFIG_B43LEGACY_DMA_MODE is not set
> # CONFIG_B43LEGACY_PIO_MODE is not set
> CONFIG_BRCMUTIL=y
> # CONFIG_BRCMSMAC is not set
> CONFIG_BRCMFMAC=y
> CONFIG_BRCMFMAC_SDIO=y
> CONFIG_BRCMFMAC_SDIO_OOB=y
> CONFIG_BRCMFMAC_USB=y
> CONFIG_BRCMISCAN=y
> CONFIG_BRCMDBG=y
> CONFIG_HOSTAP=y
> CONFIG_HOSTAP_FIRMWARE=y
> CONFIG_HOSTAP_FIRMWARE_NVRAM=y
> CONFIG_HOSTAP_PLX=y
> CONFIG_HOSTAP_PCI=y
> CONFIG_HOSTAP_CS=y
> CONFIG_IPW2100=y
> CONFIG_IPW2100_MONITOR=y
> CONFIG_IPW2100_DEBUG=y
> CONFIG_IPW2200=y
> CONFIG_IPW2200_MONITOR=y
> CONFIG_IPW2200_RADIOTAP=y
> CONFIG_IPW2200_PROMISCUOUS=y
> CONFIG_IPW2200_QOS=y
> CONFIG_IPW2200_DEBUG=y
> CONFIG_LIBIPW=y
> CONFIG_LIBIPW_DEBUG=y
> CONFIG_IWLWIFI=y
> CONFIG_IWLDVM=y
> 
> #
> # Debugging Options
> #
> CONFIG_IWLWIFI_DEBUG=y
> CONFIG_IWLWIFI_DEBUGFS=y
> CONFIG_IWLWIFI_DEBUG_EXPERIMENTAL_UCODE=y
> CONFIG_IWLWIFI_DEVICE_TRACING=y
> CONFIG_IWLWIFI_DEVICE_TESTMODE=y
> CONFIG_IWLWIFI_P2P=y
> CONFIG_IWLWIFI_EXPERIMENTAL_MFP=y
> CONFIG_IWLEGACY=y
> CONFIG_IWL4965=y
> CONFIG_IWL3945=y
> 
> #
> # iwl3945 / iwl4965 Debugging Options
> #
> CONFIG_IWLEGACY_DEBUG=y
> CONFIG_IWLEGACY_DEBUGFS=y
> CONFIG_LIBERTAS=y
> CONFIG_LIBERTAS_USB=y
> CONFIG_LIBERTAS_CS=y
> CONFIG_LIBERTAS_SDIO=y
> CONFIG_LIBERTAS_SPI=y
> CONFIG_LIBERTAS_DEBUG=y
> CONFIG_LIBERTAS_MESH=y
> CONFIG_HERMES=y
> CONFIG_HERMES_PRISM=y
> CONFIG_HERMES_CACHE_FW_ON_INIT=y
> CONFIG_PLX_HERMES=y
> CONFIG_TMD_HERMES=y
> CONFIG_NORTEL_HERMES=y
> CONFIG_PCI_HERMES=y
> CONFIG_PCMCIA_HERMES=y
> CONFIG_PCMCIA_SPECTRUM=y
> CONFIG_ORINOCO_USB=y
> CONFIG_P54_COMMON=y
> CONFIG_P54_USB=y
> CONFIG_P54_PCI=y
> CONFIG_P54_SPI=y
> CONFIG_P54_SPI_DEFAULT_EEPROM=y
> CONFIG_P54_LEDS=y
> # CONFIG_RT2X00 is not set
> CONFIG_RTL8192CE=y
> CONFIG_RTL8192SE=y
> CONFIG_RTL8192DE=y
> CONFIG_RTL8192CU=y
> CONFIG_RTLWIFI=y
> CONFIG_RTLWIFI_DEBUG=y
> CONFIG_RTL8192C_COMMON=y
> CONFIG_WL_TI=y
> CONFIG_WL1251=y
> CONFIG_WL1251_SPI=y
> CONFIG_WL1251_SDIO=y
> CONFIG_WL12XX=y
> CONFIG_WL18XX=y
> CONFIG_WLCORE=y
> CONFIG_WLCORE_SPI=y
> CONFIG_WLCORE_SDIO=y
> CONFIG_WL12XX_PLATFORM_DATA=y
> CONFIG_ZD1211RW=y
> CONFIG_ZD1211RW_DEBUG=y
> CONFIG_MWIFIEX=y
> CONFIG_MWIFIEX_SDIO=y
> CONFIG_MWIFIEX_PCIE=y
> CONFIG_MWIFIEX_USB=y
> 
> #
> # WiMAX Wireless Broadband devices
> #
> CONFIG_WIMAX_I2400M=y
> CONFIG_WIMAX_I2400M_USB=y
> CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
> CONFIG_WAN=y
> CONFIG_LANMEDIA=y
> CONFIG_HDLC=y
> CONFIG_HDLC_RAW=y
> CONFIG_HDLC_RAW_ETH=y
> CONFIG_HDLC_CISCO=y
> CONFIG_HDLC_FR=y
> CONFIG_HDLC_PPP=y
> CONFIG_HDLC_X25=y
> CONFIG_PCI200SYN=y
> CONFIG_WANXL=y
> CONFIG_PC300TOO=y
> CONFIG_FARSYNC=y
> CONFIG_DLCI=y
> CONFIG_DLCI_MAX=8
> CONFIG_WAN_ROUTER_DRIVERS=y
> CONFIG_CYCLADES_SYNC=y
> CONFIG_CYCLOMX_X25=y
> CONFIG_LAPBETHER=y
> CONFIG_X25_ASY=y
> CONFIG_SBNI=y
> CONFIG_SBNI_MULTILINE=y
> CONFIG_IEEE802154_DRIVERS=y
> CONFIG_IEEE802154_FAKEHARD=y
> CONFIG_IEEE802154_FAKELB=y
> CONFIG_IEEE802154_AT86RF230=y
> # CONFIG_IEEE802154_MRF24J40 is not set
> CONFIG_XEN_NETDEV_FRONTEND=y
> CONFIG_XEN_NETDEV_BACKEND=y
> CONFIG_VMXNET3=y
> CONFIG_HYPERV_NET=y
> CONFIG_ISDN=y
> CONFIG_ISDN_I4L=y
> CONFIG_ISDN_PPP=y
> CONFIG_ISDN_PPP_VJ=y
> CONFIG_ISDN_MPP=y
> CONFIG_IPPP_FILTER=y
> CONFIG_ISDN_PPP_BSDCOMP=y
> CONFIG_ISDN_AUDIO=y
> CONFIG_ISDN_TTY_FAX=y
> CONFIG_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=y
> CONFIG_DE_AOC=y
> # CONFIG_HISAX_NO_SENDCOMPLETE is not set
> # CONFIG_HISAX_NO_LLC is not set
> # CONFIG_HISAX_NO_KEYPAD is not set
> CONFIG_HISAX_1TR6=y
> CONFIG_HISAX_NI1=y
> CONFIG_HISAX_MAX_CARDS=8
> 
> #
> # HiSax supported cards
> #
> CONFIG_HISAX_16_3=y
> CONFIG_HISAX_TELESPCI=y
> CONFIG_HISAX_S0BOX=y
> CONFIG_HISAX_FRITZPCI=y
> CONFIG_HISAX_AVM_A1_PCMCIA=y
> CONFIG_HISAX_ELSA=y
> CONFIG_HISAX_DIEHLDIVA=y
> CONFIG_HISAX_SEDLBAUER=y
> CONFIG_HISAX_NETJET=y
> CONFIG_HISAX_NETJET_U=y
> CONFIG_HISAX_NICCY=y
> CONFIG_HISAX_BKM_A4T=y
> CONFIG_HISAX_SCT_QUADRO=y
> CONFIG_HISAX_GAZEL=y
> CONFIG_HISAX_HFC_PCI=y
> CONFIG_HISAX_W6692=y
> CONFIG_HISAX_HFC_SX=y
> CONFIG_HISAX_ENTERNOW_PCI=y
> CONFIG_HISAX_DEBUG=y
> 
> #
> # HiSax PCMCIA card service modules
> #
> CONFIG_HISAX_SEDLBAUER_CS=y
> CONFIG_HISAX_ELSA_CS=y
> CONFIG_HISAX_AVM_A1_CS=y
> CONFIG_HISAX_TELES_CS=y
> 
> #
> # HiSax sub driver modules
> #
> CONFIG_HISAX_ST5481=y
> CONFIG_HISAX_HFCUSB=y
> CONFIG_HISAX_HFC4S8S=y
> CONFIG_HISAX_FRITZ_PCIPNP=y
> 
> #
> # Active cards
> #
> CONFIG_ISDN_CAPI=y
> CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
> CONFIG_CAPI_TRACE=y
> CONFIG_ISDN_CAPI_MIDDLEWARE=y
> CONFIG_ISDN_CAPI_CAPI20=y
> CONFIG_ISDN_CAPI_CAPIDRV=y
> 
> #
> # CAPI hardware drivers
> #
> CONFIG_CAPI_AVM=y
> CONFIG_ISDN_DRV_AVMB1_B1PCI=y
> CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
> CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=y
> CONFIG_ISDN_DRV_AVMB1_AVM_CS=y
> CONFIG_ISDN_DRV_AVMB1_T1PCI=y
> CONFIG_ISDN_DRV_AVMB1_C4=y
> CONFIG_CAPI_EICON=y
> CONFIG_ISDN_DIVAS=y
> CONFIG_ISDN_DIVAS_BRIPCI=y
> CONFIG_ISDN_DIVAS_PRIPCI=y
> CONFIG_ISDN_DIVAS_DIVACAPI=y
> CONFIG_ISDN_DIVAS_USERIDI=y
> CONFIG_ISDN_DRV_GIGASET=y
> CONFIG_GIGASET_CAPI=y
> # CONFIG_GIGASET_I4L is not set
> # CONFIG_GIGASET_DUMMYLL is not set
> CONFIG_GIGASET_BASE=y
> CONFIG_GIGASET_M105=y
> CONFIG_GIGASET_M101=y
> CONFIG_GIGASET_DEBUG=y
> CONFIG_MISDN=y
> CONFIG_MISDN_DSP=y
> CONFIG_MISDN_L1OIP=y
> 
> #
> # mISDN hardware drivers
> #
> CONFIG_MISDN_HFCPCI=y
> CONFIG_MISDN_HFCMULTI=y
> CONFIG_MISDN_HFCUSB=y
> CONFIG_MISDN_AVMFRITZ=y
> CONFIG_MISDN_SPEEDFAX=y
> CONFIG_MISDN_INFINEON=y
> CONFIG_MISDN_W6692=y
> CONFIG_MISDN_NETJET=y
> CONFIG_MISDN_IPAC=y
> CONFIG_MISDN_ISAR=y
> CONFIG_ISDN_HDLC=y
> 
> #
> # Input device support
> #
> CONFIG_INPUT=y
> CONFIG_INPUT_FF_MEMLESS=y
> CONFIG_INPUT_POLLDEV=y
> CONFIG_INPUT_SPARSEKMAP=y
> CONFIG_INPUT_MATRIXKMAP=y
> 
> #
> # Userland interfaces
> #
> CONFIG_INPUT_MOUSEDEV=y
> CONFIG_INPUT_MOUSEDEV_PSAUX=y
> CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
> CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
> CONFIG_INPUT_JOYDEV=y
> CONFIG_INPUT_EVDEV=y
> CONFIG_INPUT_EVBUG=y
> 
> #
> # Input Device Drivers
> #
> CONFIG_INPUT_KEYBOARD=y
> CONFIG_KEYBOARD_ADP5520=y
> CONFIG_KEYBOARD_ADP5588=y
> CONFIG_KEYBOARD_ADP5589=y
> CONFIG_KEYBOARD_ATKBD=y
> CONFIG_KEYBOARD_QT1070=y
> CONFIG_KEYBOARD_QT2160=y
> CONFIG_KEYBOARD_LKKBD=y
> CONFIG_KEYBOARD_GPIO=y
> CONFIG_KEYBOARD_GPIO_POLLED=y
> CONFIG_KEYBOARD_TCA6416=y
> CONFIG_KEYBOARD_TCA8418=y
> CONFIG_KEYBOARD_MATRIX=y
> CONFIG_KEYBOARD_LM8323=y
> CONFIG_KEYBOARD_LM8333=y
> CONFIG_KEYBOARD_MAX7359=y
> CONFIG_KEYBOARD_MCS=y
> CONFIG_KEYBOARD_MPR121=y
> CONFIG_KEYBOARD_NEWTON=y
> CONFIG_KEYBOARD_OPENCORES=y
> CONFIG_KEYBOARD_STOWAWAY=y
> CONFIG_KEYBOARD_SUNKBD=y
> CONFIG_KEYBOARD_STMPE=y
> CONFIG_KEYBOARD_OMAP4=y
> CONFIG_KEYBOARD_TC3589X=y
> CONFIG_KEYBOARD_TWL4030=y
> CONFIG_KEYBOARD_XTKBD=y
> CONFIG_INPUT_MOUSE=y
> CONFIG_MOUSE_PS2=y
> CONFIG_MOUSE_PS2_ALPS=y
> CONFIG_MOUSE_PS2_LOGIPS2PP=y
> CONFIG_MOUSE_PS2_SYNAPTICS=y
> CONFIG_MOUSE_PS2_LIFEBOOK=y
> CONFIG_MOUSE_PS2_TRACKPOINT=y
> CONFIG_MOUSE_PS2_ELANTECH=y
> CONFIG_MOUSE_PS2_SENTELIC=y
> CONFIG_MOUSE_PS2_TOUCHKIT=y
> CONFIG_MOUSE_SERIAL=y
> CONFIG_MOUSE_APPLETOUCH=y
> CONFIG_MOUSE_BCM5974=y
> CONFIG_MOUSE_VSXXXAA=y
> CONFIG_MOUSE_GPIO=y
> CONFIG_MOUSE_SYNAPTICS_I2C=y
> CONFIG_MOUSE_SYNAPTICS_USB=y
> CONFIG_INPUT_JOYSTICK=y
> CONFIG_JOYSTICK_ANALOG=y
> CONFIG_JOYSTICK_A3D=y
> CONFIG_JOYSTICK_ADI=y
> CONFIG_JOYSTICK_COBRA=y
> CONFIG_JOYSTICK_GF2K=y
> CONFIG_JOYSTICK_GRIP=y
> CONFIG_JOYSTICK_GRIP_MP=y
> CONFIG_JOYSTICK_GUILLEMOT=y
> CONFIG_JOYSTICK_INTERACT=y
> CONFIG_JOYSTICK_SIDEWINDER=y
> CONFIG_JOYSTICK_TMDC=y
> CONFIG_JOYSTICK_IFORCE=y
> CONFIG_JOYSTICK_IFORCE_USB=y
> CONFIG_JOYSTICK_IFORCE_232=y
> CONFIG_JOYSTICK_WARRIOR=y
> CONFIG_JOYSTICK_MAGELLAN=y
> CONFIG_JOYSTICK_SPACEORB=y
> CONFIG_JOYSTICK_SPACEBALL=y
> CONFIG_JOYSTICK_STINGER=y
> CONFIG_JOYSTICK_TWIDJOY=y
> CONFIG_JOYSTICK_ZHENHUA=y
> CONFIG_JOYSTICK_AS5011=y
> CONFIG_JOYSTICK_JOYDUMP=y
> CONFIG_JOYSTICK_XPAD=y
> CONFIG_JOYSTICK_XPAD_FF=y
> CONFIG_JOYSTICK_XPAD_LEDS=y
> CONFIG_INPUT_TABLET=y
> CONFIG_TABLET_USB_ACECAD=y
> CONFIG_TABLET_USB_AIPTEK=y
> CONFIG_TABLET_USB_GTCO=y
> CONFIG_TABLET_USB_HANWANG=y
> CONFIG_TABLET_USB_KBTAB=y
> CONFIG_TABLET_USB_WACOM=y
> CONFIG_INPUT_TOUCHSCREEN=y
> CONFIG_TOUCHSCREEN_88PM860X=y
> CONFIG_TOUCHSCREEN_ADS7846=y
> CONFIG_TOUCHSCREEN_AD7877=y
> CONFIG_TOUCHSCREEN_AD7879=y
> CONFIG_TOUCHSCREEN_AD7879_I2C=y
> CONFIG_TOUCHSCREEN_AD7879_SPI=y
> CONFIG_TOUCHSCREEN_ATMEL_MXT=y
> CONFIG_TOUCHSCREEN_AUO_PIXCIR=y
> CONFIG_TOUCHSCREEN_BU21013=y
> CONFIG_TOUCHSCREEN_CY8CTMG110=y
> CONFIG_TOUCHSCREEN_CYTTSP_CORE=y
> CONFIG_TOUCHSCREEN_CYTTSP_I2C=y
> CONFIG_TOUCHSCREEN_CYTTSP_SPI=y
> CONFIG_TOUCHSCREEN_DA9034=y
> CONFIG_TOUCHSCREEN_DA9052=y
> CONFIG_TOUCHSCREEN_DYNAPRO=y
> CONFIG_TOUCHSCREEN_HAMPSHIRE=y
> CONFIG_TOUCHSCREEN_EETI=y
> CONFIG_TOUCHSCREEN_EGALAX=y
> CONFIG_TOUCHSCREEN_FUJITSU=y
> CONFIG_TOUCHSCREEN_ILI210X=y
> CONFIG_TOUCHSCREEN_GUNZE=y
> CONFIG_TOUCHSCREEN_ELO=y
> CONFIG_TOUCHSCREEN_WACOM_W8001=y
> CONFIG_TOUCHSCREEN_WACOM_I2C=y
> CONFIG_TOUCHSCREEN_MAX11801=y
> CONFIG_TOUCHSCREEN_MCS5000=y
> CONFIG_TOUCHSCREEN_MMS114=y
> CONFIG_TOUCHSCREEN_MTOUCH=y
> CONFIG_TOUCHSCREEN_INEXIO=y
> CONFIG_TOUCHSCREEN_MK712=y
> CONFIG_TOUCHSCREEN_PENMOUNT=y
> CONFIG_TOUCHSCREEN_EDT_FT5X06=y
> CONFIG_TOUCHSCREEN_TOUCHRIGHT=y
> CONFIG_TOUCHSCREEN_TOUCHWIN=y
> CONFIG_TOUCHSCREEN_PIXCIR=y
> CONFIG_TOUCHSCREEN_WM831X=y
> CONFIG_TOUCHSCREEN_USB_COMPOSITE=y
> CONFIG_TOUCHSCREEN_MC13783=y
> CONFIG_TOUCHSCREEN_USB_EGALAX=y
> CONFIG_TOUCHSCREEN_USB_PANJIT=y
> CONFIG_TOUCHSCREEN_USB_3M=y
> CONFIG_TOUCHSCREEN_USB_ITM=y
> CONFIG_TOUCHSCREEN_USB_ETURBO=y
> CONFIG_TOUCHSCREEN_USB_GUNZE=y
> CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
> CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
> CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
> CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
> CONFIG_TOUCHSCREEN_USB_GOTOP=y
> CONFIG_TOUCHSCREEN_USB_JASTEC=y
> CONFIG_TOUCHSCREEN_USB_ELO=y
> CONFIG_TOUCHSCREEN_USB_E2I=y
> CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
> CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
> CONFIG_TOUCHSCREEN_USB_NEXIO=y
> CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
> CONFIG_TOUCHSCREEN_TOUCHIT213=y
> CONFIG_TOUCHSCREEN_TSC_SERIO=y
> CONFIG_TOUCHSCREEN_TSC2005=y
> CONFIG_TOUCHSCREEN_TSC2007=y
> CONFIG_TOUCHSCREEN_PCAP=y
> CONFIG_TOUCHSCREEN_ST1232=y
> CONFIG_TOUCHSCREEN_STMPE=y
> CONFIG_TOUCHSCREEN_TPS6507X=y
> CONFIG_INPUT_MISC=y
> CONFIG_INPUT_88PM860X_ONKEY=y
> CONFIG_INPUT_88PM80X_ONKEY=y
> CONFIG_INPUT_AD714X=y
> CONFIG_INPUT_AD714X_I2C=y
> CONFIG_INPUT_AD714X_SPI=y
> CONFIG_INPUT_BMA150=y
> CONFIG_INPUT_PCSPKR=y
> CONFIG_INPUT_MAX8925_ONKEY=y
> CONFIG_INPUT_MC13783_PWRBUTTON=y
> CONFIG_INPUT_MMA8450=y
> CONFIG_INPUT_MPU3050=y
> CONFIG_INPUT_APANEL=y
> CONFIG_INPUT_GP2A=y
> CONFIG_INPUT_GPIO_TILT_POLLED=y
> CONFIG_INPUT_ATLAS_BTNS=y
> CONFIG_INPUT_ATI_REMOTE2=y
> CONFIG_INPUT_KEYSPAN_REMOTE=y
> CONFIG_INPUT_KXTJ9=y
> CONFIG_INPUT_KXTJ9_POLLED_MODE=y
> CONFIG_INPUT_POWERMATE=y
> CONFIG_INPUT_YEALINK=y
> CONFIG_INPUT_CM109=y
> CONFIG_INPUT_TWL4030_PWRBUTTON=y
> CONFIG_INPUT_TWL4030_VIBRA=y
> CONFIG_INPUT_TWL6040_VIBRA=y
> CONFIG_INPUT_UINPUT=y
> CONFIG_INPUT_PCF50633_PMU=y
> CONFIG_INPUT_PCF8574=y
> CONFIG_INPUT_GPIO_ROTARY_ENCODER=y
> CONFIG_INPUT_DA9052_ONKEY=y
> CONFIG_INPUT_WM831X_ON=y
> CONFIG_INPUT_PCAP=y
> CONFIG_INPUT_ADXL34X=y
> CONFIG_INPUT_ADXL34X_I2C=y
> CONFIG_INPUT_ADXL34X_SPI=y
> CONFIG_INPUT_CMA3000=y
> CONFIG_INPUT_CMA3000_I2C=y
> CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
> 
> #
> # Hardware I/O ports
> #
> CONFIG_SERIO=y
> CONFIG_SERIO_I8042=y
> CONFIG_SERIO_SERPORT=y
> CONFIG_SERIO_CT82C710=y
> CONFIG_SERIO_PCIPS2=y
> CONFIG_SERIO_LIBPS2=y
> CONFIG_SERIO_RAW=y
> CONFIG_SERIO_ALTERA_PS2=y
> CONFIG_SERIO_PS2MULT=y
> CONFIG_GAMEPORT=y
> CONFIG_GAMEPORT_NS558=y
> CONFIG_GAMEPORT_L4=y
> CONFIG_GAMEPORT_EMU10K1=y
> CONFIG_GAMEPORT_FM801=y
> 
> #
> # Character devices
> #
> CONFIG_VT=y
> CONFIG_CONSOLE_TRANSLATIONS=y
> CONFIG_VT_CONSOLE=y
> CONFIG_VT_CONSOLE_SLEEP=y
> CONFIG_HW_CONSOLE=y
> CONFIG_VT_HW_CONSOLE_BINDING=y
> CONFIG_UNIX98_PTYS=y
> CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
> CONFIG_LEGACY_PTYS=y
> CONFIG_LEGACY_PTY_COUNT=256
> CONFIG_SERIAL_NONSTANDARD=y
> CONFIG_ROCKETPORT=y
> CONFIG_CYCLADES=y
> CONFIG_CYZ_INTR=y
> CONFIG_MOXA_INTELLIO=y
> CONFIG_MOXA_SMARTIO=y
> CONFIG_SYNCLINK=y
> CONFIG_SYNCLINKMP=y
> CONFIG_SYNCLINK_GT=y
> CONFIG_NOZOMI=y
> CONFIG_ISI=y
> CONFIG_N_HDLC=y
> CONFIG_N_GSM=y
> CONFIG_TRACE_ROUTER=y
> CONFIG_TRACE_SINK=y
> CONFIG_DEVKMEM=y
> CONFIG_STALDRV=y
> 
> #
> # Serial drivers
> #
> CONFIG_SERIAL_8250=y
> CONFIG_SERIAL_8250_CONSOLE=y
> CONFIG_FIX_EARLYCON_MEM=y
> CONFIG_SERIAL_8250_PCI=y
> CONFIG_SERIAL_8250_PNP=y
> CONFIG_SERIAL_8250_CS=y
> CONFIG_SERIAL_8250_NR_UARTS=32
> CONFIG_SERIAL_8250_RUNTIME_UARTS=4
> CONFIG_SERIAL_8250_EXTENDED=y
> CONFIG_SERIAL_8250_MANY_PORTS=y
> CONFIG_SERIAL_8250_SHARE_IRQ=y
> CONFIG_SERIAL_8250_DETECT_IRQ=y
> CONFIG_SERIAL_8250_RSA=y
> 
> #
> # Non-8250 serial port support
> #
> CONFIG_SERIAL_MAX3100=y
> CONFIG_SERIAL_MAX310X=y
> CONFIG_SERIAL_MRST_MAX3110=y
> CONFIG_SERIAL_MFD_HSU=y
> CONFIG_SERIAL_MFD_HSU_CONSOLE=y
> CONFIG_SERIAL_UARTLITE=y
> CONFIG_SERIAL_UARTLITE_CONSOLE=y
> CONFIG_SERIAL_CORE=y
> CONFIG_SERIAL_CORE_CONSOLE=y
> CONFIG_CONSOLE_POLL=y
> CONFIG_SERIAL_JSM=y
> CONFIG_SERIAL_SCCNXP=y
> CONFIG_SERIAL_SCCNXP_CONSOLE=y
> CONFIG_SERIAL_TIMBERDALE=y
> CONFIG_SERIAL_ALTERA_JTAGUART=y
> CONFIG_SERIAL_ALTERA_JTAGUART_CONSOLE=y
> CONFIG_SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS=y
> CONFIG_SERIAL_ALTERA_UART=y
> CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
> CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
> CONFIG_SERIAL_ALTERA_UART_CONSOLE=y
> CONFIG_SERIAL_IFX6X60=y
> CONFIG_SERIAL_PCH_UART=y
> CONFIG_SERIAL_PCH_UART_CONSOLE=y
> CONFIG_SERIAL_XILINX_PS_UART=y
> CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
> CONFIG_TTY_PRINTK=y
> CONFIG_HVC_DRIVER=y
> CONFIG_HVC_IRQ=y
> CONFIG_HVC_XEN=y
> CONFIG_HVC_XEN_FRONTEND=y
> CONFIG_VIRTIO_CONSOLE=y
> # CONFIG_IPMI_HANDLER is not set
> CONFIG_HW_RANDOM=y
> CONFIG_HW_RANDOM_TIMERIOMEM=y
> CONFIG_HW_RANDOM_INTEL=y
> CONFIG_HW_RANDOM_AMD=y
> CONFIG_HW_RANDOM_VIA=y
> CONFIG_HW_RANDOM_VIRTIO=y
> CONFIG_HW_RANDOM_TPM=y
> CONFIG_NVRAM=y
> CONFIG_R3964=y
> CONFIG_APPLICOM=y
> 
> #
> # PCMCIA character devices
> #
> CONFIG_SYNCLINK_CS=y
> CONFIG_CARDMAN_4000=y
> CONFIG_CARDMAN_4040=y
> CONFIG_IPWIRELESS=y
> CONFIG_MWAVE=y
> CONFIG_RAW_DRIVER=y
> CONFIG_MAX_RAW_DEVS=256
> CONFIG_HPET=y
> CONFIG_HPET_MMAP=y
> CONFIG_HANGCHECK_TIMER=y
> CONFIG_UV_MMTIMER=y
> CONFIG_TCG_TPM=y
> CONFIG_TCG_TIS=y
> CONFIG_TCG_TIS_I2C_INFINEON=y
> CONFIG_TCG_NSC=y
> CONFIG_TCG_ATMEL=y
> CONFIG_TCG_INFINEON=y
> CONFIG_TELCLOCK=y
> CONFIG_DEVPORT=y
> CONFIG_I2C=y
> CONFIG_I2C_BOARDINFO=y
> CONFIG_I2C_COMPAT=y
> CONFIG_I2C_CHARDEV=y
> CONFIG_I2C_MUX=y
> 
> #
> # Multiplexer I2C Chip support
> #
> CONFIG_I2C_MUX_GPIO=y
> CONFIG_I2C_MUX_PCA9541=y
> CONFIG_I2C_MUX_PCA954x=y
> CONFIG_I2C_HELPER_AUTO=y
> CONFIG_I2C_ALGOBIT=y
> 
> #
> # I2C Hardware Bus support
> #
> 
> #
> # PC SMBus host controller drivers
> #
> # CONFIG_I2C_ALI1535 is not set
> # CONFIG_I2C_ALI1563 is not set
> # CONFIG_I2C_ALI15X3 is not set
> # CONFIG_I2C_AMD756 is not set
> # CONFIG_I2C_AMD8111 is not set
> CONFIG_I2C_I801=y
> # CONFIG_I2C_ISCH is not set
> # CONFIG_I2C_PIIX4 is not set
> # CONFIG_I2C_NFORCE2 is not set
> # CONFIG_I2C_SIS5595 is not set
> # CONFIG_I2C_SIS630 is not set
> # CONFIG_I2C_SIS96X is not set
> # CONFIG_I2C_VIA is not set
> # CONFIG_I2C_VIAPRO is not set
> 
> #
> # ACPI drivers
> #
> # CONFIG_I2C_SCMI is not set
> 
> #
> # I2C system bus drivers (mostly embedded / system-on-chip)
> #
> CONFIG_I2C_DESIGNWARE_CORE=y
> CONFIG_I2C_DESIGNWARE_PCI=y
> # CONFIG_I2C_EG20T is not set
> # CONFIG_I2C_GPIO is not set
> # CONFIG_I2C_INTEL_MID is not set
> # CONFIG_I2C_OCORES is not set
> # CONFIG_I2C_PCA_PLATFORM is not set
> # CONFIG_I2C_PXA_PCI is not set
> # CONFIG_I2C_SIMTEC is not set
> # CONFIG_I2C_XILINX is not set
> 
> #
> # External I2C/SMBus adapter drivers
> #
> # CONFIG_I2C_DIOLAN_U2C is not set
> # CONFIG_I2C_PARPORT_LIGHT is not set
> # CONFIG_I2C_TAOS_EVM is not set
> # CONFIG_I2C_TINY_USB is not set
> 
> #
> # Other I2C/SMBus bus drivers
> #
> CONFIG_I2C_DEBUG_CORE=y
> CONFIG_I2C_DEBUG_ALGO=y
> CONFIG_I2C_DEBUG_BUS=y
> CONFIG_SPI=y
> CONFIG_SPI_DEBUG=y
> CONFIG_SPI_MASTER=y
> 
> #
> # SPI Master Controller Drivers
> #
> CONFIG_SPI_ALTERA=y
> CONFIG_SPI_BITBANG=y
> CONFIG_SPI_GPIO=y
> CONFIG_SPI_OC_TINY=y
> # CONFIG_SPI_PXA2XX_PCI is not set
> CONFIG_SPI_SC18IS602=y
> CONFIG_SPI_TOPCLIFF_PCH=y
> CONFIG_SPI_XCOMM=y
> CONFIG_SPI_XILINX=y
> CONFIG_SPI_DESIGNWARE=y
> CONFIG_SPI_DW_PCI=y
> CONFIG_SPI_DW_MID_DMA=y
> 
> #
> # SPI Protocol Masters
> #
> CONFIG_SPI_SPIDEV=y
> CONFIG_SPI_TLE62X0=y
> CONFIG_HSI=y
> CONFIG_HSI_BOARDINFO=y
> 
> #
> # HSI clients
> #
> CONFIG_HSI_CHAR=y
> 
> #
> # PPS support
> #
> CONFIG_PPS=y
> CONFIG_PPS_DEBUG=y
> 
> #
> # PPS clients support
> #
> CONFIG_PPS_CLIENT_KTIMER=y
> CONFIG_PPS_CLIENT_LDISC=y
> CONFIG_PPS_CLIENT_GPIO=y
> 
> #
> # PPS generators support
> #
> 
> #
> # PTP clock support
> #
> CONFIG_PTP_1588_CLOCK=y
> CONFIG_DP83640_PHY=y
> CONFIG_PTP_1588_CLOCK_PCH=y
> CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
> CONFIG_GPIOLIB=y
> CONFIG_DEBUG_GPIO=y
> CONFIG_GPIO_SYSFS=y
> CONFIG_GPIO_GENERIC=y
> CONFIG_GPIO_DA9052=y
> CONFIG_GPIO_MAX730X=y
> 
> #
> # Memory mapped GPIO drivers:
> #
> CONFIG_GPIO_GENERIC_PLATFORM=y
> CONFIG_GPIO_IT8761E=y
> CONFIG_GPIO_SCH=y
> CONFIG_GPIO_ICH=y
> CONFIG_GPIO_VX855=y
> 
> #
> # I2C GPIO expanders:
> #
> CONFIG_GPIO_ARIZONA=y
> CONFIG_GPIO_MAX7300=y
> CONFIG_GPIO_MAX732X=y
> CONFIG_GPIO_MAX732X_IRQ=y
> CONFIG_GPIO_PCA953X=y
> CONFIG_GPIO_PCA953X_IRQ=y
> CONFIG_GPIO_PCF857X=y
> CONFIG_GPIO_RC5T583=y
> CONFIG_GPIO_SX150X=y
> CONFIG_GPIO_STMPE=y
> CONFIG_GPIO_TC3589X=y
> CONFIG_GPIO_TPS65912=y
> CONFIG_GPIO_TWL4030=y
> CONFIG_GPIO_TWL6040=y
> CONFIG_GPIO_WM831X=y
> CONFIG_GPIO_WM8350=y
> CONFIG_GPIO_WM8994=y
> CONFIG_GPIO_ADP5520=y
> CONFIG_GPIO_ADP5588=y
> CONFIG_GPIO_ADP5588_IRQ=y
> 
> #
> # PCI GPIO expanders:
> #
> CONFIG_GPIO_CS5535=y
> CONFIG_GPIO_BT8XX=y
> CONFIG_GPIO_AMD8111=y
> CONFIG_GPIO_LANGWELL=y
> CONFIG_GPIO_PCH=y
> CONFIG_GPIO_ML_IOH=y
> CONFIG_GPIO_TIMBERDALE=y
> CONFIG_GPIO_RDC321X=y
> 
> #
> # SPI GPIO expanders:
> #
> CONFIG_GPIO_MAX7301=y
> CONFIG_GPIO_MCP23S08=y
> CONFIG_GPIO_MC33880=y
> CONFIG_GPIO_74X164=y
> 
> #
> # AC97 GPIO expanders:
> #
> 
> #
> # MODULbus GPIO expanders:
> #
> CONFIG_GPIO_JANZ_TTL=y
> CONFIG_GPIO_TPS6586X=y
> CONFIG_GPIO_TPS65910=y
> CONFIG_W1=y
> CONFIG_W1_CON=y
> 
> #
> # 1-wire Bus Masters
> #
> CONFIG_W1_MASTER_MATROX=y
> CONFIG_W1_MASTER_DS2490=y
> CONFIG_W1_MASTER_DS2482=y
> CONFIG_W1_MASTER_DS1WM=y
> CONFIG_W1_MASTER_GPIO=y
> CONFIG_HDQ_MASTER_OMAP=y
> 
> #
> # 1-wire Slaves
> #
> CONFIG_W1_SLAVE_THERM=y
> CONFIG_W1_SLAVE_SMEM=y
> CONFIG_W1_SLAVE_DS2408=y
> CONFIG_W1_SLAVE_DS2423=y
> CONFIG_W1_SLAVE_DS2431=y
> CONFIG_W1_SLAVE_DS2433=y
> CONFIG_W1_SLAVE_DS2433_CRC=y
> CONFIG_W1_SLAVE_DS2760=y
> CONFIG_W1_SLAVE_DS2780=y
> CONFIG_W1_SLAVE_DS2781=y
> CONFIG_W1_SLAVE_DS28E04=y
> CONFIG_W1_SLAVE_BQ27000=y
> CONFIG_POWER_SUPPLY=y
> CONFIG_POWER_SUPPLY_DEBUG=y
> CONFIG_PDA_POWER=y
> CONFIG_MAX8925_POWER=y
> CONFIG_WM831X_BACKUP=y
> CONFIG_WM831X_POWER=y
> CONFIG_WM8350_POWER=y
> CONFIG_TEST_POWER=y
> CONFIG_BATTERY_88PM860X=y
> CONFIG_BATTERY_DS2760=y
> CONFIG_BATTERY_DS2780=y
> CONFIG_BATTERY_DS2781=y
> CONFIG_BATTERY_DS2782=y
> CONFIG_BATTERY_SBS=y
> CONFIG_BATTERY_BQ27x00=y
> CONFIG_BATTERY_BQ27X00_I2C=y
> CONFIG_BATTERY_BQ27X00_PLATFORM=y
> CONFIG_BATTERY_DA9030=y
> CONFIG_BATTERY_DA9052=y
> CONFIG_BATTERY_MAX17040=y
> CONFIG_BATTERY_MAX17042=y
> CONFIG_CHARGER_88PM860X=y
> CONFIG_CHARGER_PCF50633=y
> CONFIG_CHARGER_ISP1704=y
> CONFIG_CHARGER_MAX8903=y
> CONFIG_CHARGER_TWL4030=y
> CONFIG_CHARGER_LP8727=y
> CONFIG_CHARGER_GPIO=y
> CONFIG_CHARGER_MANAGER=y
> CONFIG_CHARGER_SMB347=y
> CONFIG_POWER_AVS=y
> CONFIG_HWMON=y
> CONFIG_HWMON_VID=y
> CONFIG_HWMON_DEBUG_CHIP=y
> 
> #
> # Native drivers
> #
> CONFIG_SENSORS_ABITUGURU=y
> CONFIG_SENSORS_ABITUGURU3=y
> CONFIG_SENSORS_AD7314=y
> CONFIG_SENSORS_AD7414=y
> CONFIG_SENSORS_AD7418=y
> CONFIG_SENSORS_ADCXX=y
> CONFIG_SENSORS_ADM1021=y
> CONFIG_SENSORS_ADM1025=y
> CONFIG_SENSORS_ADM1026=y
> CONFIG_SENSORS_ADM1029=y
> CONFIG_SENSORS_ADM1031=y
> CONFIG_SENSORS_ADM9240=y
> CONFIG_SENSORS_ADT7410=y
> CONFIG_SENSORS_ADT7411=y
> CONFIG_SENSORS_ADT7462=y
> CONFIG_SENSORS_ADT7470=y
> CONFIG_SENSORS_ADT7475=y
> CONFIG_SENSORS_ASC7621=y
> CONFIG_SENSORS_K8TEMP=y
> CONFIG_SENSORS_K10TEMP=y
> CONFIG_SENSORS_FAM15H_POWER=y
> CONFIG_SENSORS_ASB100=y
> CONFIG_SENSORS_ATXP1=y
> CONFIG_SENSORS_DS620=y
> CONFIG_SENSORS_DS1621=y
> CONFIG_SENSORS_DA9052_ADC=y
> CONFIG_SENSORS_I5K_AMB=y
> CONFIG_SENSORS_F71805F=y
> CONFIG_SENSORS_F71882FG=y
> CONFIG_SENSORS_F75375S=y
> CONFIG_SENSORS_FSCHMD=y
> CONFIG_SENSORS_G760A=y
> CONFIG_SENSORS_GL518SM=y
> CONFIG_SENSORS_GL520SM=y
> CONFIG_SENSORS_GPIO_FAN=y
> CONFIG_SENSORS_HIH6130=y
> CONFIG_SENSORS_CORETEMP=y
> CONFIG_SENSORS_IT87=y
> CONFIG_SENSORS_JC42=y
> CONFIG_SENSORS_LINEAGE=y
> CONFIG_SENSORS_LM63=y
> CONFIG_SENSORS_LM70=y
> CONFIG_SENSORS_LM73=y
> CONFIG_SENSORS_LM75=y
> CONFIG_SENSORS_LM77=y
> CONFIG_SENSORS_LM78=y
> CONFIG_SENSORS_LM80=y
> CONFIG_SENSORS_LM83=y
> CONFIG_SENSORS_LM85=y
> CONFIG_SENSORS_LM87=y
> CONFIG_SENSORS_LM90=y
> CONFIG_SENSORS_LM92=y
> CONFIG_SENSORS_LM93=y
> CONFIG_SENSORS_LTC4151=y
> CONFIG_SENSORS_LTC4215=y
> CONFIG_SENSORS_LTC4245=y
> CONFIG_SENSORS_LTC4261=y
> CONFIG_SENSORS_LM95241=y
> CONFIG_SENSORS_LM95245=y
> CONFIG_SENSORS_MAX1111=y
> CONFIG_SENSORS_MAX16065=y
> CONFIG_SENSORS_MAX1619=y
> CONFIG_SENSORS_MAX1668=y
> CONFIG_SENSORS_MAX197=y
> CONFIG_SENSORS_MAX6639=y
> CONFIG_SENSORS_MAX6642=y
> CONFIG_SENSORS_MAX6650=y
> CONFIG_SENSORS_MCP3021=y
> CONFIG_SENSORS_NTC_THERMISTOR=y
> CONFIG_SENSORS_PC87360=y
> CONFIG_SENSORS_PC87427=y
> CONFIG_SENSORS_PCF8591=y
> CONFIG_PMBUS=y
> CONFIG_SENSORS_PMBUS=y
> CONFIG_SENSORS_ADM1275=y
> CONFIG_SENSORS_LM25066=y
> CONFIG_SENSORS_LTC2978=y
> CONFIG_SENSORS_MAX16064=y
> CONFIG_SENSORS_MAX34440=y
> CONFIG_SENSORS_MAX8688=y
> CONFIG_SENSORS_UCD9000=y
> CONFIG_SENSORS_UCD9200=y
> CONFIG_SENSORS_ZL6100=y
> CONFIG_SENSORS_SHT15=y
> CONFIG_SENSORS_SHT21=y
> CONFIG_SENSORS_SIS5595=y
> CONFIG_SENSORS_SMM665=y
> CONFIG_SENSORS_DME1737=y
> CONFIG_SENSORS_EMC1403=y
> CONFIG_SENSORS_EMC2103=y
> CONFIG_SENSORS_EMC6W201=y
> CONFIG_SENSORS_SMSC47M1=y
> CONFIG_SENSORS_SMSC47M192=y
> CONFIG_SENSORS_SMSC47B397=y
> CONFIG_SENSORS_SCH56XX_COMMON=y
> CONFIG_SENSORS_SCH5627=y
> CONFIG_SENSORS_SCH5636=y
> CONFIG_SENSORS_ADS1015=y
> CONFIG_SENSORS_ADS7828=y
> CONFIG_SENSORS_ADS7871=y
> CONFIG_SENSORS_AMC6821=y
> CONFIG_SENSORS_INA2XX=y
> CONFIG_SENSORS_THMC50=y
> CONFIG_SENSORS_TMP102=y
> CONFIG_SENSORS_TMP401=y
> CONFIG_SENSORS_TMP421=y
> CONFIG_SENSORS_TWL4030_MADC=y
> CONFIG_SENSORS_VIA_CPUTEMP=y
> CONFIG_SENSORS_VIA686A=y
> CONFIG_SENSORS_VT1211=y
> CONFIG_SENSORS_VT8231=y
> CONFIG_SENSORS_W83781D=y
> CONFIG_SENSORS_W83791D=y
> CONFIG_SENSORS_W83792D=y
> CONFIG_SENSORS_W83793=y
> CONFIG_SENSORS_W83795=y
> CONFIG_SENSORS_W83795_FANCTRL=y
> CONFIG_SENSORS_W83L785TS=y
> CONFIG_SENSORS_W83L786NG=y
> CONFIG_SENSORS_W83627HF=y
> CONFIG_SENSORS_W83627EHF=y
> CONFIG_SENSORS_WM831X=y
> CONFIG_SENSORS_WM8350=y
> CONFIG_SENSORS_APPLESMC=y
> CONFIG_SENSORS_MC13783_ADC=y
> 
> #
> # ACPI drivers
> #
> CONFIG_SENSORS_ACPI_POWER=y
> CONFIG_SENSORS_ATK0110=y
> CONFIG_THERMAL=y
> CONFIG_THERMAL_HWMON=y
> CONFIG_CPU_THERMAL=y
> CONFIG_WATCHDOG=y
> CONFIG_WATCHDOG_CORE=y
> CONFIG_WATCHDOG_NOWAYOUT=y
> 
> #
> # Watchdog Device Drivers
> #
> # CONFIG_SOFT_WATCHDOG is not set
> # CONFIG_DA9052_WATCHDOG is not set
> # CONFIG_WM831X_WATCHDOG is not set
> # CONFIG_WM8350_WATCHDOG is not set
> # CONFIG_TWL4030_WATCHDOG is not set
> # CONFIG_ACQUIRE_WDT is not set
> # CONFIG_ADVANTECH_WDT is not set
> # CONFIG_ALIM1535_WDT is not set
> # CONFIG_ALIM7101_WDT is not set
> # CONFIG_F71808E_WDT is not set
> # CONFIG_SP5100_TCO is not set
> # CONFIG_GEODE_WDT is not set
> # CONFIG_SC520_WDT is not set
> # CONFIG_SBC_FITPC2_WATCHDOG is not set
> # CONFIG_EUROTECH_WDT is not set
> # CONFIG_IB700_WDT is not set
> # CONFIG_IBMASR is not set
> # CONFIG_WAFER_WDT is not set
> # CONFIG_I6300ESB_WDT is not set
> # CONFIG_IE6XX_WDT is not set
> # CONFIG_ITCO_WDT is not set
> # CONFIG_IT8712F_WDT is not set
> # CONFIG_IT87_WDT is not set
> # CONFIG_HP_WATCHDOG is not set
> # CONFIG_SC1200_WDT is not set
> # CONFIG_PC87413_WDT is not set
> # CONFIG_NV_TCO is not set
> # CONFIG_60XX_WDT is not set
> # CONFIG_SBC8360_WDT is not set
> # CONFIG_CPU5_WDT is not set
> # CONFIG_SMSC_SCH311X_WDT is not set
> # CONFIG_SMSC37B787_WDT is not set
> # CONFIG_VIA_WDT is not set
> # CONFIG_W83627HF_WDT is not set
> # CONFIG_W83697HF_WDT is not set
> # CONFIG_W83697UG_WDT is not set
> # CONFIG_W83877F_WDT is not set
> # CONFIG_W83977F_WDT is not set
> # CONFIG_MACHZ_WDT is not set
> # CONFIG_SBC_EPX_C3_WATCHDOG is not set
> # CONFIG_XEN_WDT is not set
> 
> #
> # PCI-based Watchdog Cards
> #
> # CONFIG_PCIPCWATCHDOG is not set
> # CONFIG_WDTPCI is not set
> 
> #
> # USB-based Watchdog Cards
> #
> # CONFIG_USBPCWATCHDOG is not set
> CONFIG_SSB_POSSIBLE=y
> 
> #
> # Sonics Silicon Backplane
> #
> CONFIG_SSB=y
> CONFIG_SSB_SPROM=y
> CONFIG_SSB_BLOCKIO=y
> CONFIG_SSB_PCIHOST_POSSIBLE=y
> CONFIG_SSB_PCIHOST=y
> CONFIG_SSB_B43_PCI_BRIDGE=y
> CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
> CONFIG_SSB_PCMCIAHOST=y
> CONFIG_SSB_SDIOHOST_POSSIBLE=y
> CONFIG_SSB_SDIOHOST=y
> # CONFIG_SSB_SILENT is not set
> CONFIG_SSB_DEBUG=y
> CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
> CONFIG_SSB_DRIVER_PCICORE=y
> CONFIG_BCMA_POSSIBLE=y
> 
> #
> # Broadcom specific AMBA
> #
> CONFIG_BCMA=y
> CONFIG_BCMA_BLOCKIO=y
> CONFIG_BCMA_HOST_PCI_POSSIBLE=y
> CONFIG_BCMA_HOST_PCI=y
> CONFIG_BCMA_DRIVER_GMAC_CMN=y
> CONFIG_BCMA_DEBUG=y
> 
> #
> # Multifunction device drivers
> #
> CONFIG_MFD_CORE=y
> CONFIG_MFD_88PM860X=y
> CONFIG_MFD_88PM800=y
> CONFIG_MFD_88PM805=y
> CONFIG_MFD_SM501=y
> CONFIG_MFD_SM501_GPIO=y
> CONFIG_HTC_PASIC3=y
> CONFIG_HTC_I2CPLD=y
> CONFIG_MFD_LM3533=y
> CONFIG_TPS6105X=y
> CONFIG_TPS65010=y
> CONFIG_TPS6507X=y
> CONFIG_MFD_TPS65217=y
> CONFIG_MFD_TPS6586X=y
> CONFIG_MFD_TPS65910=y
> CONFIG_MFD_TPS65912=y
> CONFIG_MFD_TPS65912_I2C=y
> CONFIG_MFD_TPS65912_SPI=y
> CONFIG_TWL4030_CORE=y
> CONFIG_TWL4030_MADC=y
> CONFIG_MFD_TWL4030_AUDIO=y
> CONFIG_TWL6040_CORE=y
> CONFIG_MFD_STMPE=y
> 
> #
> # STMPE Interface Drivers
> #
> CONFIG_STMPE_I2C=y
> CONFIG_STMPE_SPI=y
> CONFIG_MFD_TC3589X=y
> # CONFIG_MFD_TMIO is not set
> CONFIG_PMIC_DA903X=y
> CONFIG_PMIC_DA9052=y
> CONFIG_MFD_DA9052_SPI=y
> CONFIG_MFD_DA9052_I2C=y
> CONFIG_PMIC_ADP5520=y
> CONFIG_MFD_LP8788=y
> CONFIG_MFD_MAX77686=y
> CONFIG_MFD_MAX77693=y
> CONFIG_MFD_MAX8907=y
> CONFIG_MFD_MAX8925=y
> CONFIG_MFD_MAX8997=y
> CONFIG_MFD_MAX8998=y
> CONFIG_MFD_SEC_CORE=y
> CONFIG_MFD_ARIZONA=y
> CONFIG_MFD_ARIZONA_I2C=y
> CONFIG_MFD_ARIZONA_SPI=y
> CONFIG_MFD_WM5102=y
> CONFIG_MFD_WM5110=y
> CONFIG_MFD_WM8400=y
> CONFIG_MFD_WM831X=y
> CONFIG_MFD_WM831X_I2C=y
> CONFIG_MFD_WM831X_SPI=y
> CONFIG_MFD_WM8350=y
> CONFIG_MFD_WM8350_I2C=y
> CONFIG_MFD_WM8994=y
> CONFIG_MFD_PCF50633=y
> CONFIG_PCF50633_ADC=y
> CONFIG_PCF50633_GPIO=y
> CONFIG_MFD_MC13783=y
> CONFIG_MFD_MC13XXX=y
> CONFIG_MFD_MC13XXX_SPI=y
> CONFIG_MFD_MC13XXX_I2C=y
> CONFIG_ABX500_CORE=y
> CONFIG_AB3100_CORE=y
> CONFIG_AB3100_OTP=y
> CONFIG_EZX_PCAP=y
> CONFIG_MFD_CS5535=y
> CONFIG_MFD_TIMBERDALE=y
> CONFIG_LPC_SCH=y
> CONFIG_LPC_ICH=y
> CONFIG_MFD_RDC321X=y
> CONFIG_MFD_JANZ_CMODIO=y
> CONFIG_MFD_VX855=y
> CONFIG_MFD_WL1273_CORE=y
> CONFIG_MFD_TPS65090=y
> CONFIG_MFD_AAT2870_CORE=y
> CONFIG_MFD_RC5T583=y
> CONFIG_MFD_PALMAS=y
> CONFIG_REGULATOR=y
> CONFIG_REGULATOR_DEBUG=y
> CONFIG_REGULATOR_DUMMY=y
> CONFIG_REGULATOR_FIXED_VOLTAGE=y
> CONFIG_REGULATOR_VIRTUAL_CONSUMER=y
> CONFIG_REGULATOR_USERSPACE_CONSUMER=y
> CONFIG_REGULATOR_GPIO=y
> CONFIG_REGULATOR_AD5398=y
> # CONFIG_REGULATOR_AAT2870 is not set
> CONFIG_REGULATOR_ARIZONA=y
> # CONFIG_REGULATOR_DA903X is not set
> # CONFIG_REGULATOR_DA9052 is not set
> CONFIG_REGULATOR_FAN53555=y
> CONFIG_REGULATOR_MC13XXX_CORE=y
> CONFIG_REGULATOR_MC13783=y
> CONFIG_REGULATOR_MC13892=y
> CONFIG_REGULATOR_ISL6271A=y
> CONFIG_REGULATOR_88PM8607=y
> CONFIG_REGULATOR_MAX1586=y
> CONFIG_REGULATOR_MAX8649=y
> CONFIG_REGULATOR_MAX8660=y
> CONFIG_REGULATOR_MAX8907=y
> # CONFIG_REGULATOR_MAX8925 is not set
> CONFIG_REGULATOR_MAX8952=y
> # CONFIG_REGULATOR_MAX8997 is not set
> # CONFIG_REGULATOR_MAX8998 is not set
> CONFIG_REGULATOR_MAX77686=y
> # CONFIG_REGULATOR_PCAP is not set
> CONFIG_REGULATOR_LP3971=y
> CONFIG_REGULATOR_LP3972=y
> CONFIG_REGULATOR_LP872X=y
> CONFIG_REGULATOR_LP8788=y
> # CONFIG_REGULATOR_PCF50633 is not set
> CONFIG_REGULATOR_RC5T583=y
> CONFIG_REGULATOR_S2MPS11=y
> CONFIG_REGULATOR_S5M8767=y
> CONFIG_REGULATOR_AB3100=y
> CONFIG_REGULATOR_PALMAS=y
> CONFIG_REGULATOR_TPS6105X=y
> CONFIG_REGULATOR_TPS62360=y
> CONFIG_REGULATOR_TPS65023=y
> CONFIG_REGULATOR_TPS6507X=y
> CONFIG_REGULATOR_TPS65090=y
> CONFIG_REGULATOR_TPS65217=y
> CONFIG_REGULATOR_TPS6524X=y
> # CONFIG_REGULATOR_TPS6586X is not set
> # CONFIG_REGULATOR_TPS65910 is not set
> # CONFIG_REGULATOR_TPS65912 is not set
> CONFIG_REGULATOR_TWL4030=y
> # CONFIG_REGULATOR_WM831X is not set
> # CONFIG_REGULATOR_WM8350 is not set
> # CONFIG_REGULATOR_WM8400 is not set
> # CONFIG_REGULATOR_WM8994 is not set
> CONFIG_MEDIA_SUPPORT=y
> 
> #
> # Multimedia core support
> #
> CONFIG_MEDIA_CAMERA_SUPPORT=y
> CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
> CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
> CONFIG_MEDIA_RADIO_SUPPORT=y
> CONFIG_MEDIA_RC_SUPPORT=y
> CONFIG_MEDIA_CONTROLLER=y
> CONFIG_VIDEO_DEV=y
> CONFIG_VIDEO_V4L2_SUBDEV_API=y
> CONFIG_VIDEO_V4L2=y
> CONFIG_VIDEO_ADV_DEBUG=y
> CONFIG_VIDEO_FIXED_MINOR_RANGES=y
> CONFIG_V4L2_MEM2MEM_DEV=y
> CONFIG_VIDEOBUF2_CORE=y
> CONFIG_VIDEOBUF2_MEMOPS=y
> CONFIG_VIDEOBUF2_DMA_CONTIG=y
> CONFIG_VIDEOBUF2_VMALLOC=y
> CONFIG_DVB_CORE=y
> # CONFIG_DVB_NET is not set
> CONFIG_DVB_MAX_ADAPTERS=8
> CONFIG_DVB_DYNAMIC_MINORS=y
> 
> #
> # Media drivers
> #
> CONFIG_RC_CORE=y
> CONFIG_RC_MAP=y
> CONFIG_RC_DECODERS=y
> CONFIG_LIRC=y
> CONFIG_IR_LIRC_CODEC=y
> CONFIG_IR_NEC_DECODER=y
> CONFIG_IR_RC5_DECODER=y
> CONFIG_IR_RC6_DECODER=y
> CONFIG_IR_JVC_DECODER=y
> CONFIG_IR_SONY_DECODER=y
> CONFIG_IR_RC5_SZ_DECODER=y
> CONFIG_IR_SANYO_DECODER=y
> CONFIG_IR_MCE_KBD_DECODER=y
> CONFIG_RC_DEVICES=y
> CONFIG_RC_ATI_REMOTE=y
> CONFIG_IR_ENE=y
> CONFIG_IR_IMON=y
> CONFIG_IR_MCEUSB=y
> CONFIG_IR_ITE_CIR=y
> CONFIG_IR_FINTEK=y
> CONFIG_IR_NUVOTON=y
> CONFIG_IR_REDRAT3=y
> CONFIG_IR_STREAMZAP=y
> CONFIG_IR_WINBOND_CIR=y
> CONFIG_IR_IGUANA=y
> CONFIG_IR_TTUSBIR=y
> CONFIG_RC_LOOPBACK=y
> CONFIG_IR_GPIO_CIR=y
> CONFIG_MEDIA_USB_SUPPORT=y
> 
> #
> # Webcam devices
> #
> # CONFIG_USB_VIDEO_CLASS is not set
> CONFIG_USB_GSPCA=y
> # CONFIG_USB_M5602 is not set
> # CONFIG_USB_STV06XX is not set
> # CONFIG_USB_GL860 is not set
> # CONFIG_USB_GSPCA_BENQ is not set
> # CONFIG_USB_GSPCA_CONEX is not set
> # CONFIG_USB_GSPCA_CPIA1 is not set
> # CONFIG_USB_GSPCA_ETOMS is not set
> # CONFIG_USB_GSPCA_FINEPIX is not set
> # CONFIG_USB_GSPCA_JEILINJ is not set
> CONFIG_USB_GSPCA_JL2005BCD=y
> # CONFIG_USB_GSPCA_KINECT is not set
> # CONFIG_USB_GSPCA_KONICA is not set
> # CONFIG_USB_GSPCA_MARS is not set
> # CONFIG_USB_GSPCA_MR97310A is not set
> # CONFIG_USB_GSPCA_NW80X is not set
> # CONFIG_USB_GSPCA_OV519 is not set
> # CONFIG_USB_GSPCA_OV534 is not set
> # CONFIG_USB_GSPCA_OV534_9 is not set
> # CONFIG_USB_GSPCA_PAC207 is not set
> # CONFIG_USB_GSPCA_PAC7302 is not set
> # CONFIG_USB_GSPCA_PAC7311 is not set
> # CONFIG_USB_GSPCA_SE401 is not set
> # CONFIG_USB_GSPCA_SN9C2028 is not set
> # CONFIG_USB_GSPCA_SN9C20X is not set
> # CONFIG_USB_GSPCA_SONIXB is not set
> # CONFIG_USB_GSPCA_SONIXJ is not set
> # CONFIG_USB_GSPCA_SPCA500 is not set
> # CONFIG_USB_GSPCA_SPCA501 is not set
> # CONFIG_USB_GSPCA_SPCA505 is not set
> # CONFIG_USB_GSPCA_SPCA506 is not set
> # CONFIG_USB_GSPCA_SPCA508 is not set
> # CONFIG_USB_GSPCA_SPCA561 is not set
> # CONFIG_USB_GSPCA_SPCA1528 is not set
> # CONFIG_USB_GSPCA_SQ905 is not set
> # CONFIG_USB_GSPCA_SQ905C is not set
> # CONFIG_USB_GSPCA_SQ930X is not set
> # CONFIG_USB_GSPCA_STK014 is not set
> # CONFIG_USB_GSPCA_STV0680 is not set
> # CONFIG_USB_GSPCA_SUNPLUS is not set
> # CONFIG_USB_GSPCA_T613 is not set
> # CONFIG_USB_GSPCA_TOPRO is not set
> # CONFIG_USB_GSPCA_TV8532 is not set
> # CONFIG_USB_GSPCA_VC032X is not set
> # CONFIG_USB_GSPCA_VICAM is not set
> # CONFIG_USB_GSPCA_XIRLINK_CIT is not set
> # CONFIG_USB_GSPCA_ZC3XX is not set
> # CONFIG_USB_PWC is not set
> # CONFIG_VIDEO_CPIA2 is not set
> # CONFIG_USB_ZR364XX is not set
> # CONFIG_USB_STKWEBCAM is not set
> # CONFIG_USB_S2255 is not set
> # CONFIG_USB_SN9C102 is not set
> 
> #
> # Analog TV USB devices
> #
> # CONFIG_VIDEO_PVRUSB2 is not set
> # CONFIG_VIDEO_HDPVR is not set
> # CONFIG_VIDEO_USBVISION is not set
> CONFIG_VIDEO_STK1160=y
> 
> #
> # Analog/digital TV USB devices
> #
> # CONFIG_VIDEO_CX231XX is not set
> # CONFIG_VIDEO_TM6000 is not set
> 
> #
> # Digital TV USB devices
> #
> # CONFIG_DVB_USB is not set
> CONFIG_DVB_USB_V2=y
> CONFIG_DVB_USB_CYPRESS_FIRMWARE=y
> CONFIG_DVB_USB_AF9015=y
> CONFIG_DVB_USB_AF9035=y
> CONFIG_DVB_USB_ANYSEE=y
> CONFIG_DVB_USB_AU6610=y
> CONFIG_DVB_USB_AZ6007=y
> CONFIG_DVB_USB_CE6230=y
> CONFIG_DVB_USB_EC168=y
> CONFIG_DVB_USB_GL861=y
> CONFIG_DVB_USB_IT913X=y
> CONFIG_DVB_USB_LME2510=y
> CONFIG_DVB_USB_MXL111SF=y
> CONFIG_DVB_USB_RTL28XXU=y
> # CONFIG_DVB_TTUSB_BUDGET is not set
> # CONFIG_DVB_TTUSB_DEC is not set
> CONFIG_SMS_USB_DRV=y
> CONFIG_DVB_B2C2_FLEXCOP_USB=y
> CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG=y
> 
> #
> # Webcam, TV (analog/digital) USB devices
> #
> # CONFIG_VIDEO_EM28XX is not set
> CONFIG_MEDIA_PCI_SUPPORT=y
> 
> #
> # Media capture support
> #
> # CONFIG_VIDEO_MEYE is not set
> 
> #
> # Media capture/analog TV support
> #
> # CONFIG_VIDEO_IVTV is not set
> # CONFIG_VIDEO_ZORAN is not set
> # CONFIG_VIDEO_HEXIUM_GEMINI is not set
> # CONFIG_VIDEO_HEXIUM_ORION is not set
> # CONFIG_VIDEO_MXB is not set
> 
> #
> # Media capture/analog/hybrid TV support
> #
> # CONFIG_VIDEO_CX18 is not set
> # CONFIG_VIDEO_CX25821 is not set
> # CONFIG_VIDEO_CX88 is not set
> # CONFIG_VIDEO_BT848 is not set
> # CONFIG_VIDEO_SAA7134 is not set
> # CONFIG_VIDEO_SAA7164 is not set
> 
> #
> # Media digital TV PCI Adapters
> #
> # CONFIG_TTPCI_EEPROM is not set
> # CONFIG_DVB_AV7110 is not set
> # CONFIG_DVB_BUDGET_CORE is not set
> CONFIG_DVB_B2C2_FLEXCOP_PCI=y
> CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG=y
> # CONFIG_DVB_PLUTO2 is not set
> # CONFIG_DVB_DM1105 is not set
> # CONFIG_DVB_PT1 is not set
> # CONFIG_MANTIS_CORE is not set
> # CONFIG_DVB_NGENE is not set
> # CONFIG_DVB_DDBRIDGE is not set
> CONFIG_V4L_PLATFORM_DRIVERS=y
> # CONFIG_VIDEO_CAFE_CCIC is not set
> # CONFIG_VIDEO_VIA_CAMERA is not set
> # CONFIG_VIDEO_TIMBERDALE is not set
> # CONFIG_SOC_CAMERA is not set
> CONFIG_V4L_MEM2MEM_DRIVERS=y
> CONFIG_VIDEO_CODA=y
> CONFIG_VIDEO_MEM2MEM_DEINTERLACE=y
> CONFIG_V4L_TEST_DRIVERS=y
> CONFIG_VIDEO_VIVI=y
> # CONFIG_VIDEO_MEM2MEM_TESTDEV is not set
> 
> #
> # Supported MMC/SDIO adapters
> #
> CONFIG_SMS_SDIO_DRV=y
> CONFIG_RADIO_ADAPTERS=y
> # CONFIG_RADIO_SI470X is not set
> # CONFIG_USB_MR800 is not set
> # CONFIG_USB_DSBR is not set
> CONFIG_RADIO_SHARK2=y
> # CONFIG_I2C_SI4713 is not set
> # CONFIG_RADIO_SI4713 is not set
> # CONFIG_USB_KEENE is not set
> # CONFIG_RADIO_TEA5764 is not set
> # CONFIG_RADIO_SAA7706H is not set
> # CONFIG_RADIO_TEF6862 is not set
> # CONFIG_RADIO_TIMBERDALE is not set
> # CONFIG_RADIO_WL1273 is not set
> 
> #
> # Texas Instruments WL128x FM driver (ST based)
> #
> # CONFIG_RADIO_WL128X is not set
> 
> #
> # Supported FireWire (IEEE 1394) Adapters
> #
> # CONFIG_DVB_FIREDTV is not set
> CONFIG_DVB_B2C2_FLEXCOP=y
> CONFIG_DVB_B2C2_FLEXCOP_DEBUG=y
> CONFIG_SMS_SIANO_MDTV=y
> CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
> 
> #
> # Media ancillary drivers (tuners, sensors, i2c, frontends)
> #
> CONFIG_VIDEO_TVEEPROM=y
> CONFIG_VIDEO_IR_I2C=y
> 
> #
> # Audio decoders, processors and mixers
> #
> 
> #
> # RDS decoders
> #
> 
> #
> # Video decoders
> #
> CONFIG_VIDEO_SAA711X=y
> 
> #
> # Video and audio decoders
> #
> 
> #
> # MPEG video encoders
> #
> 
> #
> # Video encoders
> #
> 
> #
> # Camera sensor devices
> #
> 
> #
> # Flash devices
> #
> 
> #
> # Video improvement chips
> #
> 
> #
> # Miscelaneous helper chips
> #
> 
> #
> # Sensors used on soc_camera driver
> #
> CONFIG_MEDIA_TUNER=y
> CONFIG_MEDIA_TUNER_SIMPLE=y
> CONFIG_MEDIA_TUNER_TDA8290=y
> CONFIG_MEDIA_TUNER_TDA827X=y
> CONFIG_MEDIA_TUNER_TDA18271=y
> CONFIG_MEDIA_TUNER_TDA9887=y
> CONFIG_MEDIA_TUNER_TEA5761=y
> CONFIG_MEDIA_TUNER_TEA5767=y
> CONFIG_MEDIA_TUNER_MT20XX=y
> CONFIG_MEDIA_TUNER_MT2060=y
> CONFIG_MEDIA_TUNER_MT2063=y
> CONFIG_MEDIA_TUNER_QT1010=y
> CONFIG_MEDIA_TUNER_XC2028=y
> CONFIG_MEDIA_TUNER_XC5000=y
> CONFIG_MEDIA_TUNER_XC4000=y
> CONFIG_MEDIA_TUNER_MXL5005S=y
> CONFIG_MEDIA_TUNER_MXL5007T=y
> CONFIG_MEDIA_TUNER_MC44S803=y
> CONFIG_MEDIA_TUNER_TDA18218=y
> CONFIG_MEDIA_TUNER_FC0011=y
> CONFIG_MEDIA_TUNER_FC0012=y
> CONFIG_MEDIA_TUNER_FC0013=y
> CONFIG_MEDIA_TUNER_TDA18212=y
> CONFIG_MEDIA_TUNER_TUA9001=y
> 
> #
> # Multistandard (satellite) frontends
> #
> 
> #
> # Multistandard (cable + terrestrial) frontends
> #
> CONFIG_DVB_DRXK=y
> 
> #
> # DVB-S (satellite) frontends
> #
> CONFIG_DVB_CX24123=y
> CONFIG_DVB_MT312=y
> CONFIG_DVB_S5H1420=y
> CONFIG_DVB_STV0288=y
> CONFIG_DVB_STV0299=y
> CONFIG_DVB_STV6110=y
> CONFIG_DVB_STV0900=y
> CONFIG_DVB_TDA10086=y
> CONFIG_DVB_TUNER_ITD1000=y
> CONFIG_DVB_TUNER_CX24113=y
> CONFIG_DVB_TDA826X=y
> CONFIG_DVB_CX24116=y
> 
> #
> # DVB-T (terrestrial) frontends
> #
> CONFIG_DVB_MT352=y
> CONFIG_DVB_ZL10353=y
> CONFIG_DVB_AF9013=y
> CONFIG_DVB_EC100=y
> CONFIG_DVB_CXD2820R=y
> CONFIG_DVB_RTL2830=y
> CONFIG_DVB_RTL2832=y
> 
> #
> # DVB-C (cable) frontends
> #
> CONFIG_DVB_TDA10023=y
> CONFIG_DVB_STV0297=y
> 
> #
> # ATSC (North American/Korean Terrestrial/Cable DTV) frontends
> #
> CONFIG_DVB_NXT200X=y
> CONFIG_DVB_BCM3510=y
> CONFIG_DVB_LGDT330X=y
> CONFIG_DVB_LGDT3305=y
> CONFIG_DVB_LG2160=y
> 
> #
> # ISDB-T (terrestrial) frontends
> #
> 
> #
> # Digital terrestrial only tuners/PLL
> #
> CONFIG_DVB_PLL=y
> 
> #
> # SEC control devices for DVB-S
> #
> CONFIG_DVB_ISL6421=y
> CONFIG_DVB_ISL6423=y
> CONFIG_DVB_IX2505V=y
> CONFIG_DVB_IT913X_FE=y
> CONFIG_DVB_M88RS2000=y
> CONFIG_DVB_AF9033=y
> 
> #
> # Tools to develop new frontends
> #
> # CONFIG_DVB_DUMMY_FE is not set
> 
> #
> # Graphics support
> #
> CONFIG_AGP=y
> CONFIG_AGP_AMD64=y
> CONFIG_AGP_INTEL=y
> CONFIG_AGP_SIS=y
> CONFIG_AGP_VIA=y
> CONFIG_VGA_ARB=y
> CONFIG_VGA_ARB_MAX_GPUS=16
> CONFIG_VGA_SWITCHEROO=y
> CONFIG_DRM=y
> CONFIG_DRM_USB=y
> CONFIG_DRM_KMS_HELPER=y
> CONFIG_DRM_LOAD_EDID_FIRMWARE=y
> CONFIG_DRM_TTM=y
> CONFIG_DRM_TDFX=y
> CONFIG_DRM_R128=y
> CONFIG_DRM_RADEON=y
> CONFIG_DRM_RADEON_KMS=y
> CONFIG_DRM_NOUVEAU=y
> CONFIG_DRM_NOUVEAU_BACKLIGHT=y
> CONFIG_DRM_NOUVEAU_DEBUG=y
> 
> #
> # I2C encoder or helper chips
> #
> CONFIG_DRM_I2C_CH7006=y
> CONFIG_DRM_I2C_SIL164=y
> CONFIG_DRM_I915=y
> CONFIG_DRM_I915_KMS=y
> CONFIG_DRM_MGA=y
> CONFIG_DRM_SIS=y
> CONFIG_DRM_VIA=y
> CONFIG_DRM_SAVAGE=y
> CONFIG_DRM_VMWGFX=y
> CONFIG_DRM_VMWGFX_FBCON=y
> CONFIG_DRM_GMA500=y
> CONFIG_DRM_GMA600=y
> CONFIG_DRM_GMA3600=y
> CONFIG_DRM_UDL=y
> CONFIG_DRM_AST=y
> CONFIG_DRM_MGAG200=y
> CONFIG_DRM_CIRRUS_QEMU=y
> CONFIG_STUB_POULSBO=y
> CONFIG_VGASTATE=y
> CONFIG_VIDEO_OUTPUT_CONTROL=y
> CONFIG_FB=y
> CONFIG_FIRMWARE_EDID=y
> CONFIG_FB_DDC=y
> CONFIG_FB_BOOT_VESA_SUPPORT=y
> CONFIG_FB_CFB_FILLRECT=y
> CONFIG_FB_CFB_COPYAREA=y
> CONFIG_FB_CFB_IMAGEBLIT=y
> # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
> CONFIG_FB_SYS_FILLRECT=y
> CONFIG_FB_SYS_COPYAREA=y
> CONFIG_FB_SYS_IMAGEBLIT=y
> CONFIG_FB_FOREIGN_ENDIAN=y
> CONFIG_FB_BOTH_ENDIAN=y
> # CONFIG_FB_BIG_ENDIAN is not set
> # CONFIG_FB_LITTLE_ENDIAN is not set
> CONFIG_FB_SYS_FOPS=y
> # CONFIG_FB_WMT_GE_ROPS is not set
> CONFIG_FB_DEFERRED_IO=y
> CONFIG_FB_HECUBA=y
> CONFIG_FB_SVGALIB=y
> # CONFIG_FB_MACMODES is not set
> CONFIG_FB_BACKLIGHT=y
> CONFIG_FB_MODE_HELPERS=y
> CONFIG_FB_TILEBLITTING=y
> 
> #
> # Frame buffer hardware drivers
> #
> CONFIG_FB_CIRRUS=y
> CONFIG_FB_PM2=y
> CONFIG_FB_PM2_FIFO_DISCONNECT=y
> CONFIG_FB_CYBER2000=y
> CONFIG_FB_CYBER2000_DDC=y
> CONFIG_FB_ARC=y
> CONFIG_FB_ASILIANT=y
> CONFIG_FB_IMSTT=y
> CONFIG_FB_VGA16=y
> CONFIG_FB_UVESA=y
> CONFIG_FB_VESA=y
> CONFIG_FB_EFI=y
> CONFIG_FB_N411=y
> CONFIG_FB_HGA=y
> CONFIG_FB_S1D13XXX=y
> CONFIG_FB_NVIDIA=y
> CONFIG_FB_NVIDIA_I2C=y
> CONFIG_FB_NVIDIA_DEBUG=y
> CONFIG_FB_NVIDIA_BACKLIGHT=y
> CONFIG_FB_RIVA=y
> CONFIG_FB_RIVA_I2C=y
> CONFIG_FB_RIVA_DEBUG=y
> CONFIG_FB_RIVA_BACKLIGHT=y
> CONFIG_FB_I740=y
> CONFIG_FB_LE80578=y
> CONFIG_FB_CARILLO_RANCH=y
> CONFIG_FB_MATROX=y
> CONFIG_FB_MATROX_MILLENIUM=y
> CONFIG_FB_MATROX_MYSTIQUE=y
> CONFIG_FB_MATROX_G=y
> CONFIG_FB_MATROX_I2C=y
> CONFIG_FB_MATROX_MAVEN=y
> CONFIG_FB_RADEON=y
> CONFIG_FB_RADEON_I2C=y
> CONFIG_FB_RADEON_BACKLIGHT=y
> CONFIG_FB_RADEON_DEBUG=y
> CONFIG_FB_ATY128=y
> CONFIG_FB_ATY128_BACKLIGHT=y
> CONFIG_FB_ATY=y
> CONFIG_FB_ATY_CT=y
> CONFIG_FB_ATY_GENERIC_LCD=y
> CONFIG_FB_ATY_GX=y
> CONFIG_FB_ATY_BACKLIGHT=y
> CONFIG_FB_S3=y
> CONFIG_FB_S3_DDC=y
> CONFIG_FB_SAVAGE=y
> CONFIG_FB_SAVAGE_I2C=y
> CONFIG_FB_SAVAGE_ACCEL=y
> CONFIG_FB_SIS=y
> CONFIG_FB_SIS_300=y
> CONFIG_FB_SIS_315=y
> CONFIG_FB_VIA=y
> CONFIG_FB_VIA_DIRECT_PROCFS=y
> CONFIG_FB_VIA_X_COMPATIBILITY=y
> CONFIG_FB_NEOMAGIC=y
> CONFIG_FB_KYRO=y
> CONFIG_FB_3DFX=y
> CONFIG_FB_3DFX_ACCEL=y
> CONFIG_FB_3DFX_I2C=y
> CONFIG_FB_VOODOO1=y
> CONFIG_FB_VT8623=y
> CONFIG_FB_TRIDENT=y
> CONFIG_FB_ARK=y
> CONFIG_FB_PM3=y
> CONFIG_FB_CARMINE=y
> CONFIG_FB_CARMINE_DRAM_EVAL=y
> # CONFIG_CARMINE_DRAM_CUSTOM is not set
> CONFIG_FB_GEODE=y
> CONFIG_FB_GEODE_LX=y
> CONFIG_FB_GEODE_GX=y
> CONFIG_FB_GEODE_GX1=y
> CONFIG_FB_TMIO=y
> CONFIG_FB_TMIO_ACCELL=y
> CONFIG_FB_SM501=y
> CONFIG_FB_SMSCUFX=y
> CONFIG_FB_UDL=y
> CONFIG_FB_VIRTUAL=y
> CONFIG_XEN_FBDEV_FRONTEND=y
> CONFIG_FB_METRONOME=y
> CONFIG_FB_MB862XX=y
> CONFIG_FB_MB862XX_PCI_GDC=y
> CONFIG_FB_MB862XX_I2C=y
> CONFIG_FB_BROADSHEET=y
> CONFIG_FB_AUO_K190X=y
> CONFIG_FB_AUO_K1900=y
> CONFIG_FB_AUO_K1901=y
> CONFIG_EXYNOS_VIDEO=y
> CONFIG_BACKLIGHT_LCD_SUPPORT=y
> CONFIG_LCD_CLASS_DEVICE=y
> CONFIG_LCD_L4F00242T03=y
> CONFIG_LCD_LMS283GF05=y
> CONFIG_LCD_LTV350QV=y
> CONFIG_LCD_ILI9320=y
> CONFIG_LCD_TDO24M=y
> CONFIG_LCD_VGG2432A4=y
> CONFIG_LCD_PLATFORM=y
> CONFIG_LCD_S6E63M0=y
> CONFIG_LCD_LD9040=y
> CONFIG_LCD_AMS369FG06=y
> CONFIG_BACKLIGHT_CLASS_DEVICE=y
> CONFIG_BACKLIGHT_GENERIC=y
> CONFIG_BACKLIGHT_LM3533=y
> CONFIG_BACKLIGHT_CARILLO_RANCH=y
> CONFIG_BACKLIGHT_PWM=y
> # CONFIG_BACKLIGHT_DA903X is not set
> # CONFIG_BACKLIGHT_DA9052 is not set
> # CONFIG_BACKLIGHT_MAX8925 is not set
> CONFIG_BACKLIGHT_APPLE=y
> CONFIG_BACKLIGHT_SAHARA=y
> # CONFIG_BACKLIGHT_WM831X is not set
> # CONFIG_BACKLIGHT_ADP5520 is not set
> CONFIG_BACKLIGHT_ADP8860=y
> CONFIG_BACKLIGHT_ADP8870=y
> CONFIG_BACKLIGHT_88PM860X=y
> # CONFIG_BACKLIGHT_PCF50633 is not set
> # CONFIG_BACKLIGHT_AAT2870 is not set
> CONFIG_BACKLIGHT_LM3630=y
> CONFIG_BACKLIGHT_LM3639=y
> CONFIG_BACKLIGHT_LP855X=y
> # CONFIG_BACKLIGHT_OT200 is not set
> CONFIG_BACKLIGHT_PANDORA=y
> 
> #
> # Console display driver support
> #
> CONFIG_VGA_CONSOLE=y
> CONFIG_VGACON_SOFT_SCROLLBACK=y
> CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
> CONFIG_DUMMY_CONSOLE=y
> CONFIG_FRAMEBUFFER_CONSOLE=y
> CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
> CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
> CONFIG_FONTS=y
> CONFIG_FONT_8x8=y
> CONFIG_FONT_8x16=y
> CONFIG_FONT_6x11=y
> CONFIG_FONT_7x14=y
> CONFIG_FONT_PEARL_8x8=y
> CONFIG_FONT_ACORN_8x8=y
> CONFIG_FONT_MINI_4x6=y
> CONFIG_FONT_SUN8x16=y
> CONFIG_FONT_SUN12x22=y
> CONFIG_FONT_10x18=y
> CONFIG_LOGO=y
> CONFIG_LOGO_LINUX_MONO=y
> CONFIG_LOGO_LINUX_VGA16=y
> CONFIG_LOGO_LINUX_CLUT224=y
> # CONFIG_SOUND is not set
> 
> #
> # HID support
> #
> CONFIG_HID=y
> CONFIG_HID_BATTERY_STRENGTH=y
> CONFIG_HIDRAW=y
> CONFIG_UHID=y
> CONFIG_HID_GENERIC=y
> 
> #
> # Special HID drivers
> #
> CONFIG_HID_A4TECH=y
> CONFIG_HID_ACRUX=y
> CONFIG_HID_ACRUX_FF=y
> CONFIG_HID_APPLE=y
> CONFIG_HID_AUREAL=y
> CONFIG_HID_BELKIN=y
> CONFIG_HID_CHERRY=y
> CONFIG_HID_CHICONY=y
> CONFIG_HID_CYPRESS=y
> CONFIG_HID_DRAGONRISE=y
> CONFIG_DRAGONRISE_FF=y
> CONFIG_HID_EMS_FF=y
> CONFIG_HID_ELECOM=y
> CONFIG_HID_EZKEY=y
> CONFIG_HID_HOLTEK=y
> CONFIG_HOLTEK_FF=y
> CONFIG_HID_KEYTOUCH=y
> CONFIG_HID_KYE=y
> CONFIG_HID_UCLOGIC=y
> CONFIG_HID_WALTOP=y
> CONFIG_HID_GYRATION=y
> CONFIG_HID_TWINHAN=y
> CONFIG_HID_KENSINGTON=y
> CONFIG_HID_LCPOWER=y
> CONFIG_HID_LENOVO_TPKBD=y
> CONFIG_HID_LOGITECH=y
> CONFIG_HID_LOGITECH_DJ=y
> CONFIG_LOGITECH_FF=y
> CONFIG_LOGIRUMBLEPAD2_FF=y
> CONFIG_LOGIG940_FF=y
> CONFIG_LOGIWHEELS_FF=y
> CONFIG_HID_MAGICMOUSE=y
> CONFIG_HID_MICROSOFT=y
> CONFIG_HID_MONTEREY=y
> CONFIG_HID_MULTITOUCH=y
> CONFIG_HID_NTRIG=y
> CONFIG_HID_ORTEK=y
> CONFIG_HID_PANTHERLORD=y
> CONFIG_PANTHERLORD_FF=y
> CONFIG_HID_PETALYNX=y
> CONFIG_HID_PICOLCD=y
> CONFIG_HID_PICOLCD_FB=y
> CONFIG_HID_PICOLCD_BACKLIGHT=y
> CONFIG_HID_PICOLCD_LCD=y
> CONFIG_HID_PICOLCD_LEDS=y
> CONFIG_HID_PICOLCD_CIR=y
> CONFIG_HID_PRIMAX=y
> CONFIG_HID_ROCCAT=y
> CONFIG_HID_SAITEK=y
> CONFIG_HID_SAMSUNG=y
> CONFIG_HID_SONY=y
> CONFIG_HID_SPEEDLINK=y
> CONFIG_HID_SUNPLUS=y
> CONFIG_HID_GREENASIA=y
> CONFIG_GREENASIA_FF=y
> CONFIG_HID_HYPERV_MOUSE=y
> CONFIG_HID_SMARTJOYPLUS=y
> CONFIG_SMARTJOYPLUS_FF=y
> CONFIG_HID_TIVO=y
> CONFIG_HID_TOPSEED=y
> CONFIG_HID_THRUSTMASTER=y
> CONFIG_THRUSTMASTER_FF=y
> CONFIG_HID_WACOM=y
> CONFIG_HID_WIIMOTE=y
> CONFIG_HID_WIIMOTE_EXT=y
> CONFIG_HID_ZEROPLUS=y
> CONFIG_ZEROPLUS_FF=y
> CONFIG_HID_ZYDACRON=y
> # CONFIG_HID_SENSOR_HUB is not set
> 
> #
> # USB HID support
> #
> CONFIG_USB_HID=y
> CONFIG_HID_PID=y
> CONFIG_USB_HIDDEV=y
> CONFIG_USB_ARCH_HAS_OHCI=y
> CONFIG_USB_ARCH_HAS_EHCI=y
> CONFIG_USB_ARCH_HAS_XHCI=y
> CONFIG_USB_SUPPORT=y
> CONFIG_USB_COMMON=y
> CONFIG_USB_ARCH_HAS_HCD=y
> CONFIG_USB=y
> CONFIG_USB_DEBUG=y
> CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
> 
> #
> # Miscellaneous USB options
> #
> CONFIG_USB_DYNAMIC_MINORS=y
> CONFIG_USB_SUSPEND=y
> CONFIG_USB_OTG=y
> CONFIG_USB_OTG_WHITELIST=y
> CONFIG_USB_OTG_BLACKLIST_HUB=y
> CONFIG_USB_DWC3=y
> CONFIG_USB_DWC3_DEBUG=y
> CONFIG_USB_DWC3_VERBOSE=y
> CONFIG_USB_MON=y
> CONFIG_USB_WUSB=y
> CONFIG_USB_WUSB_CBAF=y
> CONFIG_USB_WUSB_CBAF_DEBUG=y
> 
> #
> # USB Host Controller Drivers
> #
> CONFIG_USB_C67X00_HCD=y
> CONFIG_USB_XHCI_HCD=y
> CONFIG_USB_XHCI_PLATFORM=y
> CONFIG_USB_XHCI_HCD_DEBUGGING=y
> CONFIG_USB_EHCI_HCD=y
> CONFIG_USB_EHCI_ROOT_HUB_TT=y
> CONFIG_USB_EHCI_TT_NEWSCHED=y
> CONFIG_USB_OXU210HP_HCD=y
> CONFIG_USB_ISP116X_HCD=y
> CONFIG_USB_ISP1760_HCD=y
> CONFIG_USB_ISP1362_HCD=y
> CONFIG_USB_OHCI_HCD=y
> CONFIG_USB_OHCI_HCD_SSB=y
> CONFIG_USB_OHCI_HCD_PLATFORM=y
> CONFIG_USB_EHCI_HCD_PLATFORM=y
> # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
> # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
> CONFIG_USB_OHCI_LITTLE_ENDIAN=y
> CONFIG_USB_UHCI_HCD=y
> CONFIG_USB_U132_HCD=y
> CONFIG_USB_SL811_HCD=y
> CONFIG_USB_SL811_HCD_ISO=y
> CONFIG_USB_SL811_CS=y
> CONFIG_USB_R8A66597_HCD=y
> CONFIG_USB_RENESAS_USBHS_HCD=y
> CONFIG_USB_WHCI_HCD=y
> CONFIG_USB_HWA_HCD=y
> # CONFIG_USB_HCD_BCMA is not set
> CONFIG_USB_HCD_SSB=y
> CONFIG_USB_MUSB_HDRC=y
> CONFIG_USB_MUSB_TUSB6010=y
> CONFIG_MUSB_PIO_ONLY=y
> CONFIG_USB_CHIPIDEA=y
> CONFIG_USB_CHIPIDEA_UDC=y
> CONFIG_USB_CHIPIDEA_HOST=y
> CONFIG_USB_CHIPIDEA_DEBUG=y
> CONFIG_USB_RENESAS_USBHS=y
> 
> #
> # USB Device Class drivers
> #
> CONFIG_USB_ACM=y
> CONFIG_USB_PRINTER=y
> CONFIG_USB_WDM=y
> CONFIG_USB_TMC=y
> 
> #
> # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
> #
> 
> #
> # also be needed; see USB_STORAGE Help for more info
> #
> CONFIG_USB_STORAGE=y
> CONFIG_USB_STORAGE_DEBUG=y
> CONFIG_USB_STORAGE_REALTEK=y
> CONFIG_REALTEK_AUTOPM=y
> CONFIG_USB_STORAGE_DATAFAB=y
> CONFIG_USB_STORAGE_FREECOM=y
> CONFIG_USB_STORAGE_ISD200=y
> CONFIG_USB_STORAGE_USBAT=y
> CONFIG_USB_STORAGE_SDDR09=y
> CONFIG_USB_STORAGE_SDDR55=y
> CONFIG_USB_STORAGE_JUMPSHOT=y
> CONFIG_USB_STORAGE_ALAUDA=y
> CONFIG_USB_STORAGE_ONETOUCH=y
> CONFIG_USB_STORAGE_KARMA=y
> CONFIG_USB_STORAGE_CYPRESS_ATACB=y
> CONFIG_USB_STORAGE_ENE_UB6250=y
> CONFIG_USB_UAS=y
> 
> #
> # USB Imaging devices
> #
> CONFIG_USB_MDC800=y
> CONFIG_USB_MICROTEK=y
> 
> #
> # USB port drivers
> #
> CONFIG_USB_SERIAL=y
> CONFIG_USB_SERIAL_CONSOLE=y
> CONFIG_USB_EZUSB=y
> CONFIG_USB_SERIAL_GENERIC=y
> CONFIG_USB_SERIAL_AIRCABLE=y
> CONFIG_USB_SERIAL_ARK3116=y
> CONFIG_USB_SERIAL_BELKIN=y
> CONFIG_USB_SERIAL_CH341=y
> CONFIG_USB_SERIAL_WHITEHEAT=y
> CONFIG_USB_SERIAL_DIGI_ACCELEPORT=y
> CONFIG_USB_SERIAL_CP210X=y
> CONFIG_USB_SERIAL_CYPRESS_M8=y
> CONFIG_USB_SERIAL_EMPEG=y
> CONFIG_USB_SERIAL_FTDI_SIO=y
> CONFIG_USB_SERIAL_FUNSOFT=y
> CONFIG_USB_SERIAL_VISOR=y
> CONFIG_USB_SERIAL_VIZZINI=y
> CONFIG_USB_SERIAL_IPAQ=y
> CONFIG_USB_SERIAL_IR=y
> CONFIG_USB_SERIAL_EDGEPORT=y
> CONFIG_USB_SERIAL_EDGEPORT_TI=y
> CONFIG_USB_SERIAL_F81232=y
> CONFIG_USB_SERIAL_GARMIN=y
> CONFIG_USB_SERIAL_IPW=y
> CONFIG_USB_SERIAL_IUU=y
> CONFIG_USB_SERIAL_KEYSPAN_PDA=y
> CONFIG_USB_SERIAL_KEYSPAN=y
> CONFIG_USB_SERIAL_KEYSPAN_MPR=y
> CONFIG_USB_SERIAL_KEYSPAN_USA28=y
> CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
> CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
> CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
> CONFIG_USB_SERIAL_KEYSPAN_USA19=y
> CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
> CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
> CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
> CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
> CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
> CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
> CONFIG_USB_SERIAL_KLSI=y
> CONFIG_USB_SERIAL_KOBIL_SCT=y
> CONFIG_USB_SERIAL_MCT_U232=y
> CONFIG_USB_SERIAL_METRO=y
> CONFIG_USB_SERIAL_MOS7720=y
> CONFIG_USB_SERIAL_MOS7840=y
> CONFIG_USB_SERIAL_MOTOROLA=y
> CONFIG_USB_SERIAL_NAVMAN=y
> CONFIG_USB_SERIAL_PL2303=y
> CONFIG_USB_SERIAL_OTI6858=y
> CONFIG_USB_SERIAL_QCAUX=y
> CONFIG_USB_SERIAL_QUALCOMM=y
> CONFIG_USB_SERIAL_SPCP8X5=y
> CONFIG_USB_SERIAL_HP4X=y
> CONFIG_USB_SERIAL_SAFE=y
> CONFIG_USB_SERIAL_SAFE_PADDED=y
> CONFIG_USB_SERIAL_SIEMENS_MPI=y
> CONFIG_USB_SERIAL_SIERRAWIRELESS=y
> CONFIG_USB_SERIAL_SYMBOL=y
> CONFIG_USB_SERIAL_TI=y
> CONFIG_USB_SERIAL_CYBERJACK=y
> CONFIG_USB_SERIAL_XIRCOM=y
> CONFIG_USB_SERIAL_WWAN=y
> CONFIG_USB_SERIAL_OPTION=y
> CONFIG_USB_SERIAL_OMNINET=y
> CONFIG_USB_SERIAL_OPTICON=y
> CONFIG_USB_SERIAL_VIVOPAY_SERIAL=y
> CONFIG_USB_SERIAL_ZIO=y
> CONFIG_USB_SERIAL_ZTE=y
> CONFIG_USB_SERIAL_SSU100=y
> CONFIG_USB_SERIAL_QT2=y
> CONFIG_USB_SERIAL_DEBUG=y
> 
> #
> # USB Miscellaneous drivers
> #
> CONFIG_USB_EMI62=y
> CONFIG_USB_EMI26=y
> CONFIG_USB_ADUTUX=y
> CONFIG_USB_SEVSEG=y
> CONFIG_USB_RIO500=y
> CONFIG_USB_LEGOTOWER=y
> CONFIG_USB_LCD=y
> CONFIG_USB_LED=y
> CONFIG_USB_CYPRESS_CY7C63=y
> CONFIG_USB_CYTHERM=y
> CONFIG_USB_IDMOUSE=y
> CONFIG_USB_FTDI_ELAN=y
> CONFIG_USB_APPLEDISPLAY=y
> CONFIG_USB_SISUSBVGA=y
> CONFIG_USB_SISUSBVGA_CON=y
> CONFIG_USB_LD=y
> CONFIG_USB_TRANCEVIBRATOR=y
> CONFIG_USB_IOWARRIOR=y
> CONFIG_USB_TEST=y
> CONFIG_USB_ISIGHTFW=y
> CONFIG_USB_YUREX=y
> 
> #
> # USB Physical Layer drivers
> #
> CONFIG_OMAP_USB2=y
> CONFIG_USB_ISP1301=y
> CONFIG_USB_ATM=y
> CONFIG_USB_SPEEDTOUCH=y
> CONFIG_USB_CXACRU=y
> CONFIG_USB_UEAGLEATM=y
> CONFIG_USB_XUSBATM=y
> CONFIG_USB_GADGET=y
> CONFIG_USB_GADGET_DEBUG=y
> CONFIG_USB_GADGET_DEBUG_FILES=y
> CONFIG_USB_GADGET_DEBUG_FS=y
> CONFIG_USB_GADGET_VBUS_DRAW=2
> CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
> 
> #
> # USB Peripheral Controller
> #
> CONFIG_USB_R8A66597=y
> CONFIG_USB_RENESAS_USBHS_UDC=y
> CONFIG_USB_MV_UDC=y
> CONFIG_USB_GADGET_MUSB_HDRC=y
> CONFIG_USB_M66592=y
> CONFIG_USB_AMD5536UDC=y
> CONFIG_USB_NET2272=y
> CONFIG_USB_NET2272_DMA=y
> CONFIG_USB_NET2280=y
> CONFIG_USB_GOKU=y
> CONFIG_USB_EG20T=y
> CONFIG_USB_DUMMY_HCD=y
> CONFIG_USB_LIBCOMPOSITE=y
> # CONFIG_USB_ZERO is not set
> CONFIG_USB_ETH=y
> CONFIG_USB_ETH_RNDIS=y
> CONFIG_USB_ETH_EEM=y
> # CONFIG_USB_G_NCM is not set
> # CONFIG_USB_GADGETFS is not set
> # CONFIG_USB_FUNCTIONFS is not set
> # CONFIG_USB_FILE_STORAGE is not set
> # CONFIG_USB_MASS_STORAGE is not set
> # CONFIG_USB_GADGET_TARGET is not set
> # CONFIG_USB_G_SERIAL is not set
> # CONFIG_USB_G_PRINTER is not set
> # CONFIG_USB_CDC_COMPOSITE is not set
> # CONFIG_USB_G_NOKIA is not set
> # CONFIG_USB_G_ACM_MS is not set
> # CONFIG_USB_G_MULTI is not set
> # CONFIG_USB_G_HID is not set
> # CONFIG_USB_G_DBGP is not set
> # CONFIG_USB_G_WEBCAM is not set
> 
> #
> # OTG and related infrastructure
> #
> CONFIG_USB_OTG_UTILS=y
> CONFIG_USB_GPIO_VBUS=y
> CONFIG_TWL4030_USB=y
> CONFIG_TWL6030_USB=y
> CONFIG_NOP_USB_XCEIV=y
> CONFIG_UWB=y
> CONFIG_UWB_HWA=y
> CONFIG_UWB_WHCI=y
> CONFIG_UWB_I1480U=y
> CONFIG_MMC=y
> CONFIG_MMC_DEBUG=y
> # CONFIG_MMC_UNSAFE_RESUME is not set
> CONFIG_MMC_CLKGATE=y
> 
> #
> # MMC/SD/SDIO Card Drivers
> #
> CONFIG_MMC_BLOCK=y
> CONFIG_MMC_BLOCK_MINORS=8
> CONFIG_MMC_BLOCK_BOUNCE=y
> CONFIG_SDIO_UART=y
> CONFIG_MMC_TEST=y
> 
> #
> # MMC/SD/SDIO Host Controller Drivers
> #
> CONFIG_MMC_SDHCI=y
> CONFIG_MMC_SDHCI_PCI=y
> CONFIG_MMC_RICOH_MMC=y
> CONFIG_MMC_SDHCI_PLTFM=y
> CONFIG_MMC_WBSD=y
> CONFIG_MMC_TIFM_SD=y
> CONFIG_MMC_SPI=y
> CONFIG_MMC_SDRICOH_CS=y
> CONFIG_MMC_CB710=y
> CONFIG_MMC_VIA_SDMMC=y
> CONFIG_MMC_VUB300=y
> CONFIG_MMC_USHC=y
> CONFIG_MEMSTICK=y
> CONFIG_MEMSTICK_DEBUG=y
> 
> #
> # MemoryStick drivers
> #
> CONFIG_MEMSTICK_UNSAFE_RESUME=y
> CONFIG_MSPRO_BLOCK=y
> CONFIG_MS_BLOCK=y
> 
> #
> # MemoryStick Host Controller Drivers
> #
> CONFIG_MEMSTICK_TIFM_MS=y
> CONFIG_MEMSTICK_JMICRON_38X=y
> CONFIG_MEMSTICK_R592=y
> CONFIG_NEW_LEDS=y
> CONFIG_LEDS_CLASS=y
> 
> #
> # LED drivers
> #
> CONFIG_LEDS_88PM860X=y
> CONFIG_LEDS_LM3530=y
> CONFIG_LEDS_LM3533=y
> CONFIG_LEDS_LM3642=y
> CONFIG_LEDS_PCA9532=y
> CONFIG_LEDS_PCA9532_GPIO=y
> CONFIG_LEDS_GPIO=y
> CONFIG_LEDS_LP3944=y
> CONFIG_LEDS_LP5521=y
> CONFIG_LEDS_LP5523=y
> CONFIG_LEDS_LP8788=y
> CONFIG_LEDS_CLEVO_MAIL=y
> CONFIG_LEDS_PCA955X=y
> CONFIG_LEDS_PCA9633=y
> # CONFIG_LEDS_WM831X_STATUS is not set
> # CONFIG_LEDS_WM8350 is not set
> # CONFIG_LEDS_DA903X is not set
> # CONFIG_LEDS_DA9052 is not set
> CONFIG_LEDS_DAC124S085=y
> CONFIG_LEDS_REGULATOR=y
> CONFIG_LEDS_BD2802=y
> CONFIG_LEDS_INTEL_SS4200=y
> CONFIG_LEDS_LT3593=y
> # CONFIG_LEDS_ADP5520 is not set
> CONFIG_LEDS_DELL_NETBOOKS=y
> CONFIG_LEDS_MC13783=y
> CONFIG_LEDS_TCA6507=y
> # CONFIG_LEDS_MAX8997 is not set
> # CONFIG_LEDS_LM355x is not set
> CONFIG_LEDS_OT200=y
> CONFIG_LEDS_BLINKM=y
> CONFIG_LEDS_TRIGGERS=y
> 
> #
> # LED Triggers
> #
> CONFIG_LEDS_TRIGGER_TIMER=y
> CONFIG_LEDS_TRIGGER_ONESHOT=y
> CONFIG_LEDS_TRIGGER_HEARTBEAT=y
> CONFIG_LEDS_TRIGGER_BACKLIGHT=y
> CONFIG_LEDS_TRIGGER_CPU=y
> CONFIG_LEDS_TRIGGER_GPIO=y
> CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
> 
> #
> # iptables trigger is under Netfilter config (LED target)
> #
> CONFIG_LEDS_TRIGGER_TRANSIENT=y
> CONFIG_ACCESSIBILITY=y
> CONFIG_A11Y_BRAILLE_CONSOLE=y
> CONFIG_INFINIBAND=y
> CONFIG_INFINIBAND_USER_MAD=y
> CONFIG_INFINIBAND_USER_ACCESS=y
> CONFIG_INFINIBAND_USER_MEM=y
> CONFIG_INFINIBAND_ADDR_TRANS=y
> CONFIG_INFINIBAND_MTHCA=y
> CONFIG_INFINIBAND_MTHCA_DEBUG=y
> CONFIG_INFINIBAND_IPATH=y
> CONFIG_INFINIBAND_QIB=y
> CONFIG_INFINIBAND_AMSO1100=y
> CONFIG_INFINIBAND_AMSO1100_DEBUG=y
> CONFIG_INFINIBAND_CXGB3=y
> CONFIG_INFINIBAND_CXGB3_DEBUG=y
> CONFIG_INFINIBAND_CXGB4=y
> CONFIG_MLX4_INFINIBAND=y
> CONFIG_INFINIBAND_NES=y
> CONFIG_INFINIBAND_NES_DEBUG=y
> CONFIG_INFINIBAND_OCRDMA=y
> CONFIG_INFINIBAND_IPOIB=y
> CONFIG_INFINIBAND_IPOIB_CM=y
> CONFIG_INFINIBAND_IPOIB_DEBUG=y
> CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
> CONFIG_INFINIBAND_SRP=y
> CONFIG_INFINIBAND_SRPT=y
> CONFIG_INFINIBAND_ISER=y
> CONFIG_EDAC=y
> 
> #
> # Reporting subsystems
> #
> CONFIG_EDAC_LEGACY_SYSFS=y
> CONFIG_EDAC_DEBUG=y
> CONFIG_EDAC_DECODE_MCE=y
> CONFIG_EDAC_MCE_INJ=y
> CONFIG_EDAC_MM_EDAC=y
> CONFIG_EDAC_AMD64=y
> CONFIG_EDAC_AMD64_ERROR_INJECTION=y
> CONFIG_EDAC_E752X=y
> CONFIG_EDAC_I82975X=y
> CONFIG_EDAC_I3000=y
> CONFIG_EDAC_I3200=y
> CONFIG_EDAC_X38=y
> CONFIG_EDAC_I5400=y
> CONFIG_EDAC_I7CORE=y
> CONFIG_EDAC_I5000=y
> CONFIG_EDAC_I5100=y
> CONFIG_EDAC_I7300=y
> CONFIG_EDAC_SBRIDGE=y
> CONFIG_RTC_LIB=y
> CONFIG_RTC_CLASS=y
> CONFIG_RTC_HCTOSYS=y
> CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
> CONFIG_RTC_DEBUG=y
> 
> #
> # RTC interfaces
> #
> CONFIG_RTC_INTF_SYSFS=y
> CONFIG_RTC_INTF_PROC=y
> CONFIG_RTC_INTF_DEV=y
> CONFIG_RTC_INTF_DEV_UIE_EMUL=y
> CONFIG_RTC_DRV_TEST=y
> 
> #
> # I2C RTC drivers
> #
> CONFIG_RTC_DRV_88PM860X=y
> CONFIG_RTC_DRV_88PM80X=y
> CONFIG_RTC_DRV_DS1307=y
> CONFIG_RTC_DRV_DS1374=y
> CONFIG_RTC_DRV_DS1672=y
> CONFIG_RTC_DRV_DS3232=y
> CONFIG_RTC_DRV_MAX6900=y
> CONFIG_RTC_DRV_MAX8907=y
> # CONFIG_RTC_DRV_MAX8925 is not set
> # CONFIG_RTC_DRV_MAX8998 is not set
> CONFIG_RTC_DRV_RS5C372=y
> CONFIG_RTC_DRV_ISL1208=y
> CONFIG_RTC_DRV_ISL12022=y
> CONFIG_RTC_DRV_X1205=y
> CONFIG_RTC_DRV_PCF8563=y
> CONFIG_RTC_DRV_PCF8583=y
> CONFIG_RTC_DRV_M41T80=y
> CONFIG_RTC_DRV_M41T80_WDT=y
> CONFIG_RTC_DRV_BQ32K=y
> CONFIG_RTC_DRV_TWL4030=y
> # CONFIG_RTC_DRV_TPS65910 is not set
> # CONFIG_RTC_DRV_RC5T583 is not set
> CONFIG_RTC_DRV_S35390A=y
> CONFIG_RTC_DRV_FM3130=y
> CONFIG_RTC_DRV_RX8581=y
> CONFIG_RTC_DRV_RX8025=y
> CONFIG_RTC_DRV_EM3027=y
> CONFIG_RTC_DRV_RV3029C2=y
> 
> #
> # SPI RTC drivers
> #
> CONFIG_RTC_DRV_M41T93=y
> CONFIG_RTC_DRV_M41T94=y
> CONFIG_RTC_DRV_DS1305=y
> CONFIG_RTC_DRV_DS1390=y
> CONFIG_RTC_DRV_MAX6902=y
> CONFIG_RTC_DRV_R9701=y
> CONFIG_RTC_DRV_RS5C348=y
> CONFIG_RTC_DRV_DS3234=y
> CONFIG_RTC_DRV_PCF2123=y
> 
> #
> # Platform RTC drivers
> #
> CONFIG_RTC_DRV_CMOS=y
> CONFIG_RTC_DRV_DS1286=y
> CONFIG_RTC_DRV_DS1511=y
> CONFIG_RTC_DRV_DS1553=y
> CONFIG_RTC_DRV_DS1742=y
> # CONFIG_RTC_DRV_DA9052 is not set
> CONFIG_RTC_DRV_STK17TA8=y
> CONFIG_RTC_DRV_M48T86=y
> CONFIG_RTC_DRV_M48T35=y
> CONFIG_RTC_DRV_M48T59=y
> CONFIG_RTC_DRV_MSM6242=y
> CONFIG_RTC_DRV_BQ4802=y
> CONFIG_RTC_DRV_RP5C01=y
> CONFIG_RTC_DRV_V3020=y
> # CONFIG_RTC_DRV_DS2404 is not set
> # CONFIG_RTC_DRV_WM831X is not set
> # CONFIG_RTC_DRV_WM8350 is not set
> # CONFIG_RTC_DRV_PCF50633 is not set
> CONFIG_RTC_DRV_AB3100=y
> 
> #
> # on-CPU RTC drivers
> #
> # CONFIG_RTC_DRV_PCAP is not set
> CONFIG_RTC_DRV_MC13XXX=y
> CONFIG_DMADEVICES=y
> CONFIG_DMADEVICES_DEBUG=y
> CONFIG_DMADEVICES_VDEBUG=y
> 
> #
> # DMA Devices
> #
> CONFIG_INTEL_MID_DMAC=y
> CONFIG_INTEL_IOATDMA=y
> CONFIG_TIMB_DMA=y
> CONFIG_PCH_DMA=y
> CONFIG_DMA_ENGINE=y
> 
> #
> # DMA Clients
> #
> CONFIG_NET_DMA=y
> CONFIG_ASYNC_TX_DMA=y
> CONFIG_DMATEST=y
> CONFIG_DCA=y
> CONFIG_AUXDISPLAY=y
> CONFIG_UIO=y
> CONFIG_UIO_CIF=y
> CONFIG_UIO_PDRV=y
> CONFIG_UIO_PDRV_GENIRQ=y
> CONFIG_UIO_AEC=y
> CONFIG_UIO_SERCOS3=y
> CONFIG_UIO_PCI_GENERIC=y
> CONFIG_UIO_NETX=y
> CONFIG_VFIO_IOMMU_TYPE1=y
> CONFIG_VFIO=y
> CONFIG_VFIO_PCI=y
> CONFIG_VIRTIO=y
> 
> #
> # Virtio drivers
> #
> CONFIG_VIRTIO_PCI=y
> CONFIG_VIRTIO_BALLOON=y
> CONFIG_VIRTIO_MMIO=y
> CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
> 
> #
> # Microsoft Hyper-V guest support
> #
> CONFIG_HYPERV=y
> CONFIG_HYPERV_UTILS=y
> 
> #
> # Xen driver support
> #
> CONFIG_XEN_BALLOON=y
> CONFIG_XEN_SELFBALLOONING=y
> CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
> CONFIG_XEN_SCRUB_PAGES=y
> CONFIG_XEN_DEV_EVTCHN=y
> CONFIG_XEN_BACKEND=y
> CONFIG_XENFS=y
> CONFIG_XEN_COMPAT_XENFS=y
> CONFIG_XEN_SYS_HYPERVISOR=y
> CONFIG_XEN_XENBUS_FRONTEND=y
> CONFIG_XEN_GNTDEV=y
> CONFIG_XEN_GRANT_DEV_ALLOC=y
> CONFIG_SWIOTLB_XEN=y
> CONFIG_XEN_TMEM=y
> CONFIG_XEN_PCIDEV_BACKEND=y
> CONFIG_XEN_PRIVCMD=y
> CONFIG_XEN_ACPI_PROCESSOR=y
> CONFIG_XEN_MCE_LOG=y
> CONFIG_STAGING=y
> CONFIG_ET131X=y
> CONFIG_SLICOSS=y
> CONFIG_USBIP_CORE=y
> # CONFIG_USBIP_VHCI_HCD is not set
> CONFIG_USBIP_HOST=y
> CONFIG_USBIP_DEBUG=y
> CONFIG_W35UND=y
> CONFIG_PRISM2_USB=y
> CONFIG_ECHO=y
> CONFIG_ASUS_OLED=y
> CONFIG_R8712U=y
> CONFIG_RTS_PSTOR=y
> CONFIG_RTS_PSTOR_DEBUG=y
> CONFIG_RTS5139=y
> CONFIG_RTS5139_DEBUG=y
> CONFIG_TRANZPORT=y
> CONFIG_IDE_PHISON=y
> CONFIG_USB_SERIAL_QUATECH2=y
> CONFIG_DX_SEP=y
> 
> #
> # IIO staging drivers
> #
> CONFIG_IIO_ST_HWMON=y
> CONFIG_IIO_SW_RING=y
> 
> #
> # Accelerometers
> #
> CONFIG_ADIS16201=y
> CONFIG_ADIS16203=y
> CONFIG_ADIS16204=y
> CONFIG_ADIS16209=y
> CONFIG_ADIS16220=y
> CONFIG_ADIS16240=y
> CONFIG_KXSD9=y
> CONFIG_LIS3L02DQ=y
> CONFIG_LIS3L02DQ_BUF_KFIFO=y
> # CONFIG_LIS3L02DQ_BUF_RING_SW is not set
> CONFIG_SCA3000=y
> 
> #
> # Analog to digital converters
> #
> CONFIG_AD7291=y
> CONFIG_AD7298=y
> CONFIG_AD7606=y
> CONFIG_AD7606_IFACE_PARALLEL=y
> CONFIG_AD7606_IFACE_SPI=y
> CONFIG_AD799X=y
> CONFIG_AD799X_RING_BUFFER=y
> CONFIG_AD7887=y
> CONFIG_AD7780=y
> CONFIG_AD7793=y
> CONFIG_AD7816=y
> CONFIG_AD7192=y
> CONFIG_ADT7310=y
> CONFIG_ADT7410=y
> CONFIG_AD7280=y
> CONFIG_MAX1363=y
> CONFIG_MAX1363_RING_BUFFER=y
> 
> #
> # Analog digital bi-direction converters
> #
> CONFIG_ADT7316=y
> CONFIG_ADT7316_SPI=y
> CONFIG_ADT7316_I2C=y
> 
> #
> # Capacitance to digital converters
> #
> CONFIG_AD7150=y
> CONFIG_AD7152=y
> CONFIG_AD7746=y
> 
> #
> # Direct Digital Synthesis
> #
> CONFIG_AD5930=y
> CONFIG_AD9832=y
> CONFIG_AD9834=y
> CONFIG_AD9850=y
> CONFIG_AD9852=y
> CONFIG_AD9910=y
> CONFIG_AD9951=y
> 
> #
> # Digital gyroscope sensors
> #
> CONFIG_ADIS16060=y
> CONFIG_ADIS16080=y
> CONFIG_ADIS16130=y
> CONFIG_ADIS16260=y
> CONFIG_ADXRS450=y
> 
> #
> # Network Analyzer, Impedance Converters
> #
> CONFIG_AD5933=y
> 
> #
> # Inertial measurement units
> #
> CONFIG_ADIS16400=y
> 
> #
> # Light sensors
> #
> CONFIG_SENSORS_ISL29018=y
> CONFIG_SENSORS_ISL29028=y
> CONFIG_SENSORS_TSL2563=y
> CONFIG_TSL2583=y
> CONFIG_TSL2x7x=y
> 
> #
> # Magnetometer sensors
> #
> CONFIG_SENSORS_AK8975=y
> CONFIG_SENSORS_HMC5843=y
> 
> #
> # Active energy metering IC
> #
> CONFIG_ADE7753=y
> CONFIG_ADE7754=y
> CONFIG_ADE7758=y
> CONFIG_ADE7759=y
> CONFIG_ADE7854=y
> CONFIG_ADE7854_I2C=y
> CONFIG_ADE7854_SPI=y
> 
> #
> # Resolver to digital converters
> #
> CONFIG_AD2S90=y
> CONFIG_AD2S1200=y
> CONFIG_AD2S1210=y
> 
> #
> # Triggers - standalone
> #
> CONFIG_IIO_PERIODIC_RTC_TRIGGER=y
> CONFIG_IIO_GPIO_TRIGGER=y
> CONFIG_IIO_SYSFS_TRIGGER=y
> CONFIG_IIO_DUMMY_EVGEN=y
> CONFIG_IIO_SIMPLE_DUMMY=y
> CONFIG_IIO_SIMPLE_DUMMY_EVENTS=y
> CONFIG_IIO_SIMPLE_DUMMY_BUFFER=y
> CONFIG_ZRAM=y
> CONFIG_ZRAM_DEBUG=y
> CONFIG_ZCACHE=y
> CONFIG_ZSMALLOC=y
> CONFIG_WLAGS49_H2=y
> CONFIG_WLAGS49_H25=y
> CONFIG_FB_SM7XX=y
> CONFIG_CRYSTALHD=y
> # CONFIG_CXT1E1 is not set
> CONFIG_FB_XGI=y
> CONFIG_ACPI_QUICKSTART=y
> # CONFIG_SBE_2T3E3 is not set
> CONFIG_BCM_WIMAX=y
> CONFIG_FT1000=y
> CONFIG_FT1000_USB=y
> CONFIG_FT1000_PCMCIA=y
> 
> #
> # Speakup console speech
> #
> CONFIG_SPEAKUP=y
> CONFIG_SPEAKUP_SYNTH_ACNTSA=y
> CONFIG_SPEAKUP_SYNTH_ACNTPC=y
> CONFIG_SPEAKUP_SYNTH_APOLLO=y
> CONFIG_SPEAKUP_SYNTH_AUDPTR=y
> CONFIG_SPEAKUP_SYNTH_BNS=y
> CONFIG_SPEAKUP_SYNTH_DECTLK=y
> CONFIG_SPEAKUP_SYNTH_DECEXT=y
> CONFIG_SPEAKUP_SYNTH_DTLK=y
> CONFIG_SPEAKUP_SYNTH_KEYPC=y
> CONFIG_SPEAKUP_SYNTH_LTLK=y
> CONFIG_SPEAKUP_SYNTH_SOFT=y
> CONFIG_SPEAKUP_SYNTH_SPKOUT=y
> CONFIG_SPEAKUP_SYNTH_TXPRT=y
> CONFIG_SPEAKUP_SYNTH_DUMMY=y
> CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=y
> CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=y
> CONFIG_STAGING_MEDIA=y
> CONFIG_DVB_AS102=y
> CONFIG_DVB_CXD2099=y
> CONFIG_VIDEO_DT3155=y
> CONFIG_DT3155_CCIR=y
> CONFIG_DT3155_STREAMING=y
> # CONFIG_LIRC_STAGING is not set
> 
> #
> # Android
> #
> CONFIG_ANDROID=y
> CONFIG_ANDROID_BINDER_IPC=y
> CONFIG_ASHMEM=y
> CONFIG_ANDROID_LOGGER=y
> CONFIG_ANDROID_TIMED_OUTPUT=y
> CONFIG_ANDROID_TIMED_GPIO=y
> CONFIG_ANDROID_LOW_MEMORY_KILLER=y
> CONFIG_ANDROID_INTF_ALARM_DEV=y
> CONFIG_PHONE=y
> CONFIG_PHONE_IXJ=y
> CONFIG_PHONE_IXJ_PCMCIA=y
> CONFIG_USB_WPAN_HCD=y
> CONFIG_IPACK_BUS=y
> CONFIG_BOARD_TPCI200=y
> CONFIG_SERIAL_IPOCTAL=y
> CONFIG_WIMAX_GDM72XX=y
> CONFIG_WIMAX_GDM72XX_QOS=y
> CONFIG_WIMAX_GDM72XX_K_MODE=y
> CONFIG_WIMAX_GDM72XX_WIMAX2=y
> CONFIG_WIMAX_GDM72XX_USB=y
> # CONFIG_WIMAX_GDM72XX_SDIO is not set
> CONFIG_WIMAX_GDM72XX_USB_PM=y
> CONFIG_CSR_WIFI=y
> CONFIG_NET_VENDOR_SILICOM=y
> CONFIG_CED1401=y
> CONFIG_X86_PLATFORM_DEVICES=y
> CONFIG_ACER_WMI=y
> CONFIG_ACERHDF=y
> CONFIG_ASUS_LAPTOP=y
> CONFIG_DELL_LAPTOP=y
> CONFIG_DELL_WMI=y
> CONFIG_DELL_WMI_AIO=y
> CONFIG_FUJITSU_LAPTOP=y
> CONFIG_FUJITSU_LAPTOP_DEBUG=y
> CONFIG_FUJITSU_TABLET=y
> CONFIG_AMILO_RFKILL=y
> CONFIG_HP_ACCEL=y
> CONFIG_HP_WMI=y
> CONFIG_MSI_LAPTOP=y
> CONFIG_PANASONIC_LAPTOP=y
> CONFIG_COMPAL_LAPTOP=y
> CONFIG_SONY_LAPTOP=y
> CONFIG_SONYPI_COMPAT=y
> CONFIG_IDEAPAD_LAPTOP=y
> CONFIG_THINKPAD_ACPI=y
> CONFIG_THINKPAD_ACPI_DEBUGFACILITIES=y
> CONFIG_THINKPAD_ACPI_DEBUG=y
> CONFIG_THINKPAD_ACPI_UNSAFE_LEDS=y
> CONFIG_THINKPAD_ACPI_VIDEO=y
> CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
> CONFIG_SENSORS_HDAPS=y
> CONFIG_INTEL_MENLOW=y
> CONFIG_EEEPC_LAPTOP=y
> CONFIG_ASUS_WMI=y
> CONFIG_ASUS_NB_WMI=y
> CONFIG_EEEPC_WMI=y
> CONFIG_ACPI_WMI=y
> CONFIG_MSI_WMI=y
> CONFIG_TOPSTAR_LAPTOP=y
> CONFIG_ACPI_TOSHIBA=y
> CONFIG_TOSHIBA_BT_RFKILL=y
> CONFIG_ACPI_CMPC=y
> CONFIG_INTEL_IPS=y
> CONFIG_IBM_RTL=y
> CONFIG_XO15_EBOOK=y
> CONFIG_SAMSUNG_LAPTOP=y
> CONFIG_MXM_WMI=y
> CONFIG_INTEL_OAKTRAIL=y
> CONFIG_SAMSUNG_Q10=y
> CONFIG_APPLE_GMUX=y
> 
> #
> # Hardware Spinlock drivers
> #
> CONFIG_CLKEVT_I8253=y
> CONFIG_I8253_LOCK=y
> CONFIG_CLKBLD_I8253=y
> CONFIG_IOMMU_API=y
> CONFIG_IOMMU_SUPPORT=y
> CONFIG_AMD_IOMMU=y
> CONFIG_AMD_IOMMU_STATS=y
> CONFIG_AMD_IOMMU_V2=y
> CONFIG_DMAR_TABLE=y
> CONFIG_INTEL_IOMMU=y
> CONFIG_INTEL_IOMMU_DEFAULT_ON=y
> CONFIG_INTEL_IOMMU_FLOPPY_WA=y
> CONFIG_IRQ_REMAP=y
> 
> #
> # Remoteproc drivers (EXPERIMENTAL)
> #
> 
> #
> # Rpmsg drivers (EXPERIMENTAL)
> #
> CONFIG_VIRT_DRIVERS=y
> CONFIG_PM_DEVFREQ=y
> 
> #
> # DEVFREQ Governors
> #
> CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
> CONFIG_DEVFREQ_GOV_PERFORMANCE=y
> CONFIG_DEVFREQ_GOV_POWERSAVE=y
> CONFIG_DEVFREQ_GOV_USERSPACE=y
> 
> #
> # DEVFREQ Drivers
> #
> CONFIG_EXTCON=y
> 
> #
> # Extcon Device Drivers
> #
> CONFIG_EXTCON_GPIO=y
> # CONFIG_EXTCON_ADC_JACK is not set
> CONFIG_EXTCON_MAX77693=y
> # CONFIG_EXTCON_MAX8997 is not set
> CONFIG_EXTCON_ARIZONA=y
> CONFIG_MEMORY=y
> CONFIG_IIO=y
> CONFIG_IIO_BUFFER=y
> CONFIG_IIO_KFIFO_BUF=y
> CONFIG_IIO_TRIGGERED_BUFFER=y
> CONFIG_IIO_TRIGGER=y
> CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
> 
> #
> # Accelerometers
> #
> 
> #
> # Analog to digital converters
> #
> CONFIG_AD_SIGMA_DELTA=y
> CONFIG_AD7266=y
> CONFIG_AD7791=y
> CONFIG_AD7476=y
> 
> #
> # Amplifiers
> #
> CONFIG_AD8366=y
> 
> #
> # Light sensors
> #
> CONFIG_ADJD_S311=y
> CONFIG_SENSORS_LM3533=y
> CONFIG_VCNL4000=y
> 
> #
> # Frequency Synthesizers DDS/PLL
> #
> 
> #
> # Clock Generator/Distribution
> #
> CONFIG_AD9523=y
> 
> #
> # Phase-Locked Loop (PLL) frequency synthesizers
> #
> CONFIG_ADF4350=y
> 
> #
> # Digital to analog converters
> #
> CONFIG_AD5064=y
> CONFIG_AD5360=y
> CONFIG_AD5380=y
> CONFIG_AD5421=y
> CONFIG_AD5624R_SPI=y
> CONFIG_AD5446=y
> CONFIG_AD5504=y
> CONFIG_AD5755=y
> CONFIG_AD5764=y
> CONFIG_AD5791=y
> CONFIG_AD5686=y
> CONFIG_MAX517=y
> CONFIG_MCP4725=y
> 
> #
> # Hid Sensor IIO Common
> #
> 
> #
> # Digital gyroscope sensors
> #
> 
> #
> # Light sensors
> #
> 
> #
> # Magnetometer sensors
> #
> CONFIG_VME_BUS=y
> 
> #
> # VME Bridge Drivers
> #
> CONFIG_VME_CA91CX42=y
> CONFIG_VME_TSI148=y
> 
> #
> # VME Board Drivers
> #
> CONFIG_VMIVME_7805=y
> 
> #
> # VME Device Drivers
> #
> CONFIG_VME_USER=y
> CONFIG_VME_PIO2=y
> CONFIG_PWM=y
> CONFIG_PWM_TWL6030=y
> 
> #
> # Firmware Drivers
> #
> CONFIG_EDD=y
> # CONFIG_EDD_OFF is not set
> CONFIG_FIRMWARE_MEMMAP=y
> CONFIG_EFI_VARS=y
> CONFIG_DELL_RBU=y
> CONFIG_DCDBAS=y
> CONFIG_DMIID=y
> CONFIG_DMI_SYSFS=y
> CONFIG_ISCSI_IBFT_FIND=y
> CONFIG_ISCSI_IBFT=y
> CONFIG_GOOGLE_FIRMWARE=y
> 
> #
> # Google Firmware Drivers
> #
> CONFIG_GOOGLE_SMI=y
> CONFIG_GOOGLE_MEMCONSOLE=y
> 
> #
> # File systems
> #
> CONFIG_DCACHE_WORD_ACCESS=y
> CONFIG_EXT2_FS=y
> CONFIG_EXT2_FS_XATTR=y
> CONFIG_EXT2_FS_POSIX_ACL=y
> CONFIG_EXT2_FS_SECURITY=y
> CONFIG_EXT2_FS_XIP=y
> CONFIG_EXT3_FS=y
> CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
> CONFIG_EXT3_FS_XATTR=y
> CONFIG_EXT3_FS_POSIX_ACL=y
> CONFIG_EXT3_FS_SECURITY=y
> CONFIG_EXT4_FS=y
> CONFIG_EXT4_FS_XATTR=y
> CONFIG_EXT4_FS_POSIX_ACL=y
> CONFIG_EXT4_FS_SECURITY=y
> CONFIG_EXT4_DEBUG=y
> CONFIG_FS_XIP=y
> CONFIG_JBD=y
> CONFIG_JBD_DEBUG=y
> CONFIG_JBD2=y
> CONFIG_JBD2_DEBUG=y
> CONFIG_FS_MBCACHE=y
> CONFIG_REISERFS_FS=y
> CONFIG_REISERFS_CHECK=y
> CONFIG_REISERFS_PROC_INFO=y
> CONFIG_REISERFS_FS_XATTR=y
> CONFIG_REISERFS_FS_POSIX_ACL=y
> CONFIG_REISERFS_FS_SECURITY=y
> CONFIG_JFS_FS=y
> CONFIG_JFS_POSIX_ACL=y
> CONFIG_JFS_SECURITY=y
> CONFIG_JFS_DEBUG=y
> CONFIG_JFS_STATISTICS=y
> CONFIG_XFS_FS=y
> CONFIG_XFS_QUOTA=y
> CONFIG_XFS_POSIX_ACL=y
> CONFIG_XFS_RT=y
> CONFIG_XFS_DEBUG=y
> CONFIG_GFS2_FS=y
> CONFIG_GFS2_FS_LOCKING_DLM=y
> CONFIG_OCFS2_FS=y
> CONFIG_OCFS2_FS_O2CB=y
> CONFIG_OCFS2_FS_USERSPACE_CLUSTER=y
> CONFIG_OCFS2_FS_STATS=y
> CONFIG_OCFS2_DEBUG_MASKLOG=y
> CONFIG_OCFS2_DEBUG_FS=y
> CONFIG_BTRFS_FS=y
> CONFIG_BTRFS_FS_POSIX_ACL=y
> CONFIG_BTRFS_FS_CHECK_INTEGRITY=y
> CONFIG_NILFS2_FS=y
> CONFIG_FS_POSIX_ACL=y
> CONFIG_EXPORTFS=y
> CONFIG_FILE_LOCKING=y
> CONFIG_FSNOTIFY=y
> CONFIG_DNOTIFY=y
> CONFIG_INOTIFY_USER=y
> CONFIG_FANOTIFY=y
> CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
> CONFIG_QUOTA=y
> CONFIG_QUOTA_NETLINK_INTERFACE=y
> # CONFIG_PRINT_QUOTA_WARNING is not set
> CONFIG_QUOTA_DEBUG=y
> CONFIG_QUOTA_TREE=y
> CONFIG_QFMT_V1=y
> CONFIG_QFMT_V2=y
> CONFIG_QUOTACTL=y
> CONFIG_QUOTACTL_COMPAT=y
> CONFIG_AUTOFS4_FS=y
> CONFIG_FUSE_FS=y
> CONFIG_CUSE=y
> CONFIG_GENERIC_ACL=y
> 
> #
> # Caches
> #
> CONFIG_FSCACHE=y
> CONFIG_FSCACHE_STATS=y
> CONFIG_FSCACHE_HISTOGRAM=y
> CONFIG_FSCACHE_DEBUG=y
> CONFIG_FSCACHE_OBJECT_LIST=y
> CONFIG_CACHEFILES=y
> CONFIG_CACHEFILES_DEBUG=y
> CONFIG_CACHEFILES_HISTOGRAM=y
> 
> #
> # CD-ROM/DVD Filesystems
> #
> CONFIG_ISO9660_FS=y
> CONFIG_JOLIET=y
> CONFIG_ZISOFS=y
> CONFIG_UDF_FS=y
> CONFIG_UDF_NLS=y
> 
> #
> # DOS/FAT/NT Filesystems
> #
> CONFIG_FAT_FS=y
> CONFIG_MSDOS_FS=y
> CONFIG_VFAT_FS=y
> CONFIG_FAT_DEFAULT_CODEPAGE=437
> CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
> CONFIG_NTFS_FS=y
> CONFIG_NTFS_DEBUG=y
> CONFIG_NTFS_RW=y
> 
> #
> # Pseudo filesystems
> #
> CONFIG_PROC_FS=y
> CONFIG_PROC_KCORE=y
> CONFIG_PROC_VMCORE=y
> CONFIG_PROC_SYSCTL=y
> CONFIG_PROC_PAGE_MONITOR=y
> CONFIG_SYSFS=y
> CONFIG_TMPFS=y
> CONFIG_TMPFS_POSIX_ACL=y
> CONFIG_TMPFS_XATTR=y
> CONFIG_HUGETLBFS=y
> CONFIG_HUGETLB_PAGE=y
> CONFIG_CONFIGFS_FS=y
> CONFIG_MISC_FILESYSTEMS=y
> CONFIG_ADFS_FS=y
> CONFIG_ADFS_FS_RW=y
> CONFIG_AFFS_FS=y
> CONFIG_ECRYPT_FS=y
> CONFIG_HFS_FS=y
> CONFIG_HFSPLUS_FS=y
> CONFIG_BEFS_FS=y
> CONFIG_BEFS_DEBUG=y
> CONFIG_BFS_FS=y
> CONFIG_EFS_FS=y
> CONFIG_JFFS2_FS=y
> CONFIG_JFFS2_FS_DEBUG=0
> CONFIG_JFFS2_FS_WRITEBUFFER=y
> CONFIG_JFFS2_FS_WBUF_VERIFY=y
> CONFIG_JFFS2_SUMMARY=y
> CONFIG_JFFS2_FS_XATTR=y
> CONFIG_JFFS2_FS_POSIX_ACL=y
> CONFIG_JFFS2_FS_SECURITY=y
> CONFIG_JFFS2_COMPRESSION_OPTIONS=y
> CONFIG_JFFS2_ZLIB=y
> CONFIG_JFFS2_LZO=y
> CONFIG_JFFS2_RTIME=y
> CONFIG_JFFS2_RUBIN=y
> # CONFIG_JFFS2_CMODE_NONE is not set
> CONFIG_JFFS2_CMODE_PRIORITY=y
> # CONFIG_JFFS2_CMODE_SIZE is not set
> # CONFIG_JFFS2_CMODE_FAVOURLZO is not set
> CONFIG_UBIFS_FS=y
> CONFIG_UBIFS_FS_ADVANCED_COMPR=y
> CONFIG_UBIFS_FS_LZO=y
> CONFIG_UBIFS_FS_ZLIB=y
> CONFIG_LOGFS=y
> CONFIG_CRAMFS=y
> CONFIG_SQUASHFS=y
> CONFIG_SQUASHFS_XATTR=y
> CONFIG_SQUASHFS_ZLIB=y
> CONFIG_SQUASHFS_LZO=y
> CONFIG_SQUASHFS_XZ=y
> CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
> CONFIG_SQUASHFS_EMBEDDED=y
> CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
> CONFIG_VXFS_FS=y
> CONFIG_MINIX_FS=y
> CONFIG_OMFS_FS=y
> CONFIG_HPFS_FS=y
> CONFIG_QNX4FS_FS=y
> CONFIG_QNX6FS_FS=y
> CONFIG_QNX6FS_DEBUG=y
> CONFIG_ROMFS_FS=y
> # CONFIG_ROMFS_BACKED_BY_BLOCK is not set
> # CONFIG_ROMFS_BACKED_BY_MTD is not set
> CONFIG_ROMFS_BACKED_BY_BOTH=y
> CONFIG_ROMFS_ON_BLOCK=y
> CONFIG_ROMFS_ON_MTD=y
> CONFIG_PSTORE=y
> CONFIG_PSTORE_CONSOLE=y
> CONFIG_PSTORE_RAM=y
> CONFIG_SYSV_FS=y
> CONFIG_UFS_FS=y
> CONFIG_UFS_FS_WRITE=y
> CONFIG_UFS_DEBUG=y
> CONFIG_EXOFS_FS=y
> CONFIG_EXOFS_DEBUG=y
> CONFIG_ORE=y
> CONFIG_NETWORK_FILESYSTEMS=y
> CONFIG_NFS_FS=y
> CONFIG_NFS_V2=y
> CONFIG_NFS_V3=y
> CONFIG_NFS_V3_ACL=y
> CONFIG_NFS_V4=y
> CONFIG_NFS_SWAP=y
> CONFIG_NFS_V4_1=y
> CONFIG_PNFS_FILE_LAYOUT=y
> CONFIG_PNFS_BLOCK=y
> CONFIG_PNFS_OBJLAYOUT=y
> CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="y"
> CONFIG_ROOT_NFS=y
> CONFIG_NFS_FSCACHE=y
> CONFIG_NFS_USE_LEGACY_DNS=y
> CONFIG_NFS_DEBUG=y
> CONFIG_NFSD=y
> CONFIG_NFSD_V2_ACL=y
> CONFIG_NFSD_V3=y
> CONFIG_NFSD_V3_ACL=y
> CONFIG_NFSD_V4=y
> CONFIG_NFSD_FAULT_INJECTION=y
> CONFIG_LOCKD=y
> CONFIG_LOCKD_V4=y
> CONFIG_NFS_ACL_SUPPORT=y
> CONFIG_NFS_COMMON=y
> CONFIG_SUNRPC=y
> CONFIG_SUNRPC_GSS=y
> CONFIG_SUNRPC_BACKCHANNEL=y
> CONFIG_SUNRPC_XPRT_RDMA=y
> CONFIG_SUNRPC_SWAP=y
> CONFIG_RPCSEC_GSS_KRB5=y
> CONFIG_SUNRPC_DEBUG=y
> CONFIG_CEPH_FS=y
> CONFIG_CIFS=y
> CONFIG_CIFS_STATS=y
> CONFIG_CIFS_STATS2=y
> CONFIG_CIFS_WEAK_PW_HASH=y
> CONFIG_CIFS_UPCALL=y
> CONFIG_CIFS_XATTR=y
> CONFIG_CIFS_POSIX=y
> CONFIG_CIFS_DEBUG2=y
> CONFIG_CIFS_DFS_UPCALL=y
> CONFIG_CIFS_FSCACHE=y
> CONFIG_CIFS_ACL=y
> CONFIG_CIFS_SMB2=y
> CONFIG_NCP_FS=y
> CONFIG_NCPFS_PACKET_SIGNING=y
> CONFIG_NCPFS_IOCTL_LOCKING=y
> CONFIG_NCPFS_STRONG=y
> CONFIG_NCPFS_NFS_NS=y
> CONFIG_NCPFS_OS2_NS=y
> CONFIG_NCPFS_SMALLDOS=y
> CONFIG_NCPFS_NLS=y
> CONFIG_NCPFS_EXTRAS=y
> CONFIG_CODA_FS=y
> CONFIG_AFS_FS=y
> CONFIG_AFS_DEBUG=y
> CONFIG_AFS_FSCACHE=y
> CONFIG_9P_FS=y
> CONFIG_9P_FSCACHE=y
> CONFIG_9P_FS_POSIX_ACL=y
> CONFIG_NLS=y
> CONFIG_NLS_DEFAULT="utf8"
> CONFIG_NLS_CODEPAGE_437=y
> CONFIG_NLS_CODEPAGE_737=y
> CONFIG_NLS_CODEPAGE_775=y
> CONFIG_NLS_CODEPAGE_850=y
> CONFIG_NLS_CODEPAGE_852=y
> CONFIG_NLS_CODEPAGE_855=y
> CONFIG_NLS_CODEPAGE_857=y
> CONFIG_NLS_CODEPAGE_860=y
> CONFIG_NLS_CODEPAGE_861=y
> CONFIG_NLS_CODEPAGE_862=y
> CONFIG_NLS_CODEPAGE_863=y
> CONFIG_NLS_CODEPAGE_864=y
> CONFIG_NLS_CODEPAGE_865=y
> CONFIG_NLS_CODEPAGE_866=y
> CONFIG_NLS_CODEPAGE_869=y
> CONFIG_NLS_CODEPAGE_936=y
> CONFIG_NLS_CODEPAGE_950=y
> CONFIG_NLS_CODEPAGE_932=y
> CONFIG_NLS_CODEPAGE_949=y
> CONFIG_NLS_CODEPAGE_874=y
> CONFIG_NLS_ISO8859_8=y
> CONFIG_NLS_CODEPAGE_1250=y
> CONFIG_NLS_CODEPAGE_1251=y
> CONFIG_NLS_ASCII=y
> CONFIG_NLS_ISO8859_1=y
> CONFIG_NLS_ISO8859_2=y
> CONFIG_NLS_ISO8859_3=y
> CONFIG_NLS_ISO8859_4=y
> CONFIG_NLS_ISO8859_5=y
> CONFIG_NLS_ISO8859_6=y
> CONFIG_NLS_ISO8859_7=y
> CONFIG_NLS_ISO8859_9=y
> CONFIG_NLS_ISO8859_13=y
> CONFIG_NLS_ISO8859_14=y
> CONFIG_NLS_ISO8859_15=y
> CONFIG_NLS_KOI8_R=y
> CONFIG_NLS_KOI8_U=y
> CONFIG_NLS_MAC_ROMAN=y
> CONFIG_NLS_MAC_CELTIC=y
> CONFIG_NLS_MAC_CENTEURO=y
> CONFIG_NLS_MAC_CROATIAN=y
> CONFIG_NLS_MAC_CYRILLIC=y
> CONFIG_NLS_MAC_GAELIC=y
> CONFIG_NLS_MAC_GREEK=y
> CONFIG_NLS_MAC_ICELAND=y
> CONFIG_NLS_MAC_INUIT=y
> CONFIG_NLS_MAC_ROMANIAN=y
> CONFIG_NLS_MAC_TURKISH=y
> CONFIG_NLS_UTF8=y
> CONFIG_DLM=y
> CONFIG_DLM_DEBUG=y
> 
> #
> # Kernel hacking
> #
> CONFIG_TRACE_IRQFLAGS_SUPPORT=y
> CONFIG_PRINTK_TIME=y
> CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
> # CONFIG_ENABLE_WARN_DEPRECATED is not set
> CONFIG_ENABLE_MUST_CHECK=y
> CONFIG_FRAME_WARN=2048
> CONFIG_MAGIC_SYSRQ=y
> # CONFIG_STRIP_ASM_SYMS is not set
> CONFIG_READABLE_ASM=y
> CONFIG_UNUSED_SYMBOLS=y
> CONFIG_DEBUG_FS=y
> # CONFIG_HEADERS_CHECK is not set
> CONFIG_DEBUG_SECTION_MISMATCH=y
> CONFIG_DEBUG_KERNEL=y
> CONFIG_DEBUG_SHIRQ=y
> CONFIG_LOCKUP_DETECTOR=y
> CONFIG_HARDLOCKUP_DETECTOR=y
> # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
> CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
> # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
> CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
> # CONFIG_PANIC_ON_OOPS is not set
> CONFIG_PANIC_ON_OOPS_VALUE=0
> CONFIG_DETECT_HUNG_TASK=y
> CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
> # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
> CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
> CONFIG_SCHED_DEBUG=y
> CONFIG_SCHEDSTATS=y
> CONFIG_TIMER_STATS=y
> CONFIG_DEBUG_OBJECTS=y
> CONFIG_DEBUG_OBJECTS_SELFTEST=y
> CONFIG_DEBUG_OBJECTS_FREE=y
> CONFIG_DEBUG_OBJECTS_TIMERS=y
> CONFIG_DEBUG_OBJECTS_WORK=y
> CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
> CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
> CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
> # CONFIG_SLUB_DEBUG_ON is not set
> CONFIG_SLUB_STATS=y
> CONFIG_DEBUG_KMEMLEAK=y
> CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=400
> # CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF is not set
> CONFIG_DEBUG_PREEMPT=y
> CONFIG_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=y
> CONFIG_PROVE_RCU=y
> CONFIG_PROVE_RCU_REPEATEDLY=y
> CONFIG_PROVE_RCU_DELAY=y
> CONFIG_SPARSE_RCU_POINTER=y
> CONFIG_LOCKDEP=y
> CONFIG_LOCK_STAT=y
> CONFIG_DEBUG_LOCKDEP=y
> CONFIG_TRACE_IRQFLAGS=y
> CONFIG_DEBUG_ATOMIC_SLEEP=y
> CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
> CONFIG_STACKTRACE=y
> CONFIG_DEBUG_STACK_USAGE=y
> CONFIG_DEBUG_KOBJECT=y
> CONFIG_DEBUG_BUGVERBOSE=y
> CONFIG_DEBUG_INFO=y
> # CONFIG_DEBUG_INFO_REDUCED is not set
> CONFIG_DEBUG_VM=y
> CONFIG_DEBUG_VM_RB=y
> CONFIG_DEBUG_VIRTUAL=y
> CONFIG_DEBUG_WRITECOUNT=y
> CONFIG_DEBUG_MEMORY_INIT=y
> CONFIG_DEBUG_LIST=y
> CONFIG_TEST_LIST_SORT=y
> CONFIG_DEBUG_SG=y
> CONFIG_DEBUG_NOTIFIERS=y
> CONFIG_DEBUG_CREDENTIALS=y
> CONFIG_ARCH_WANT_FRAME_POINTERS=y
> CONFIG_FRAME_POINTER=y
> # CONFIG_BOOT_PRINTK_DELAY is not set
> CONFIG_RCU_TORTURE_TEST=y
> CONFIG_RCU_TORTURE_TEST_RUNNABLE=y
> CONFIG_RCU_CPU_STALL_TIMEOUT=60
> CONFIG_RCU_CPU_STALL_VERBOSE=y
> CONFIG_RCU_CPU_STALL_INFO=y
> CONFIG_RCU_TRACE=y
> CONFIG_BACKTRACE_SELF_TEST=y
> CONFIG_DEBUG_BLOCK_EXT_DEVT=y
> CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
> CONFIG_DEBUG_PER_CPU_MAPS=y
> CONFIG_LKDTM=y
> CONFIG_NOTIFIER_ERROR_INJECTION=y
> CONFIG_CPU_NOTIFIER_ERROR_INJECT=y
> CONFIG_PM_NOTIFIER_ERROR_INJECT=y
> CONFIG_MEMORY_NOTIFIER_ERROR_INJECT=y
> CONFIG_FAULT_INJECTION=y
> CONFIG_FAILSLAB=y
> CONFIG_FAIL_PAGE_ALLOC=y
> CONFIG_FAIL_MAKE_REQUEST=y
> CONFIG_FAIL_IO_TIMEOUT=y
> CONFIG_FAIL_MMC_REQUEST=y
> CONFIG_FAULT_INJECTION_DEBUG_FS=y
> CONFIG_LATENCYTOP=y
> CONFIG_DEBUG_PAGEALLOC=y
> CONFIG_WANT_PAGE_DEBUG_FLAGS=y
> CONFIG_PAGE_GUARD=y
> CONFIG_USER_STACKTRACE_SUPPORT=y
> CONFIG_NOP_TRACER=y
> CONFIG_HAVE_FUNCTION_TRACER=y
> CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
> CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
> CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
> CONFIG_HAVE_DYNAMIC_FTRACE=y
> CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
> CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
> CONFIG_HAVE_FENTRY=y
> CONFIG_HAVE_C_RECORDMCOUNT=y
> CONFIG_TRACE_CLOCK=y
> CONFIG_RING_BUFFER=y
> CONFIG_EVENT_TRACING=y
> CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
> CONFIG_CONTEXT_SWITCH_TRACER=y
> CONFIG_RING_BUFFER_ALLOW_SWAP=y
> CONFIG_TRACING=y
> CONFIG_TRACING_SUPPORT=y
> CONFIG_FTRACE=y
> # CONFIG_FUNCTION_TRACER is not set
> # CONFIG_IRQSOFF_TRACER is not set
> # CONFIG_PREEMPT_TRACER is not set
> # CONFIG_SCHED_TRACER is not set
> # CONFIG_ENABLE_DEFAULT_TRACERS is not set
> # CONFIG_FTRACE_SYSCALLS is not set
> CONFIG_BRANCH_PROFILE_NONE=y
> # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
> # CONFIG_PROFILE_ALL_BRANCHES is not set
> # CONFIG_STACK_TRACER is not set
> # CONFIG_BLK_DEV_IO_TRACE is not set
> CONFIG_UPROBE_EVENT=y
> CONFIG_PROBE_EVENTS=y
> # CONFIG_MMIOTRACE is not set
> # CONFIG_RING_BUFFER_BENCHMARK is not set
> CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
> CONFIG_FIREWIRE_OHCI_REMOTE_DMA=y
> CONFIG_DYNAMIC_DEBUG=y
> CONFIG_DMA_API_DEBUG=y
> CONFIG_ATOMIC64_SELFTEST=y
> CONFIG_ASYNC_RAID6_TEST=y
> # CONFIG_SAMPLES is not set
> CONFIG_HAVE_ARCH_KGDB=y
> CONFIG_KGDB=y
> CONFIG_KGDB_SERIAL_CONSOLE=y
> CONFIG_KGDB_TESTS=y
> # CONFIG_KGDB_TESTS_ON_BOOT is not set
> CONFIG_KGDB_LOW_LEVEL_TRAP=y
> CONFIG_KGDB_KDB=y
> CONFIG_KDB_KEYBOARD=y
> CONFIG_HAVE_ARCH_KMEMCHECK=y
> # CONFIG_KMEMCHECK is not set
> CONFIG_TEST_KSTRTOX=y
> # CONFIG_STRICT_DEVMEM is not set
> CONFIG_X86_VERBOSE_BOOTUP=y
> CONFIG_EARLY_PRINTK=y
> CONFIG_EARLY_PRINTK_DBGP=y
> CONFIG_DEBUG_STACKOVERFLOW=y
> CONFIG_X86_PTDUMP=y
> CONFIG_DEBUG_RODATA=y
> CONFIG_DEBUG_RODATA_TEST=y
> CONFIG_DEBUG_TLBFLUSH=y
> CONFIG_IOMMU_DEBUG=y
> CONFIG_IOMMU_STRESS=y
> CONFIG_IOMMU_LEAK=y
> CONFIG_HAVE_MMIOTRACE_SUPPORT=y
> CONFIG_IO_DELAY_TYPE_0X80=0
> CONFIG_IO_DELAY_TYPE_0XED=1
> CONFIG_IO_DELAY_TYPE_UDELAY=2
> CONFIG_IO_DELAY_TYPE_NONE=3
> CONFIG_IO_DELAY_0X80=y
> # CONFIG_IO_DELAY_0XED is not set
> # CONFIG_IO_DELAY_UDELAY is not set
> # CONFIG_IO_DELAY_NONE is not set
> CONFIG_DEFAULT_IO_DELAY_TYPE=0
> CONFIG_DEBUG_BOOT_PARAMS=y
> CONFIG_CPA_DEBUG=y
> CONFIG_OPTIMIZE_INLINING=y
> CONFIG_DEBUG_STRICT_USER_COPY_CHECKS=y
> CONFIG_DEBUG_NMI_SELFTEST=y
> 
> #
> # Security options
> #
> CONFIG_KEYS=y
> CONFIG_TRUSTED_KEYS=y
> CONFIG_ENCRYPTED_KEYS=y
> CONFIG_KEYS_DEBUG_PROC_KEYS=y
> CONFIG_SECURITY_DMESG_RESTRICT=y
> CONFIG_SECURITY=y
> CONFIG_SECURITYFS=y
> CONFIG_SECURITY_NETWORK=y
> CONFIG_SECURITY_NETWORK_XFRM=y
> CONFIG_SECURITY_PATH=y
> CONFIG_INTEL_TXT=y
> CONFIG_LSM_MMAP_MIN_ADDR=65536
> CONFIG_SECURITY_SELINUX=y
> CONFIG_SECURITY_SELINUX_BOOTPARAM=y
> CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
> CONFIG_SECURITY_SELINUX_DISABLE=y
> CONFIG_SECURITY_SELINUX_DEVELOP=y
> CONFIG_SECURITY_SELINUX_AVC_STATS=y
> CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
> CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX=y
> CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX_VALUE=19
> CONFIG_SECURITY_SMACK=y
> CONFIG_SECURITY_TOMOYO=y
> CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
> CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
> CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER=y
> CONFIG_SECURITY_APPARMOR=y
> CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
> CONFIG_SECURITY_YAMA=y
> CONFIG_SECURITY_YAMA_STACKED=y
> CONFIG_INTEGRITY=y
> CONFIG_INTEGRITY_SIGNATURE=y
> CONFIG_IMA=y
> CONFIG_IMA_MEASURE_PCR_IDX=10
> CONFIG_IMA_AUDIT=y
> CONFIG_IMA_LSM_RULES=y
> CONFIG_IMA_APPRAISE=y
> CONFIG_EVM=y
> # CONFIG_DEFAULT_SECURITY_SELINUX is not set
> # CONFIG_DEFAULT_SECURITY_SMACK is not set
> # CONFIG_DEFAULT_SECURITY_TOMOYO is not set
> # CONFIG_DEFAULT_SECURITY_APPARMOR is not set
> # CONFIG_DEFAULT_SECURITY_YAMA is not set
> CONFIG_DEFAULT_SECURITY_DAC=y
> CONFIG_DEFAULT_SECURITY=""
> CONFIG_XOR_BLOCKS=y
> CONFIG_ASYNC_CORE=y
> CONFIG_ASYNC_MEMCPY=y
> CONFIG_ASYNC_XOR=y
> CONFIG_ASYNC_PQ=y
> CONFIG_ASYNC_RAID6_RECOV=y
> CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
> CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
> CONFIG_CRYPTO=y
> 
> #
> # Crypto core or helper
> #
> CONFIG_CRYPTO_ALGAPI=y
> CONFIG_CRYPTO_ALGAPI2=y
> CONFIG_CRYPTO_AEAD=y
> CONFIG_CRYPTO_AEAD2=y
> CONFIG_CRYPTO_BLKCIPHER=y
> CONFIG_CRYPTO_BLKCIPHER2=y
> CONFIG_CRYPTO_HASH=y
> CONFIG_CRYPTO_HASH2=y
> CONFIG_CRYPTO_RNG=y
> CONFIG_CRYPTO_RNG2=y
> CONFIG_CRYPTO_PCOMP=y
> CONFIG_CRYPTO_PCOMP2=y
> CONFIG_CRYPTO_MANAGER=y
> CONFIG_CRYPTO_MANAGER2=y
> CONFIG_CRYPTO_USER=y
> CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
> CONFIG_CRYPTO_GF128MUL=y
> CONFIG_CRYPTO_NULL=y
> CONFIG_CRYPTO_PCRYPT=y
> CONFIG_CRYPTO_WORKQUEUE=y
> CONFIG_CRYPTO_CRYPTD=y
> CONFIG_CRYPTO_AUTHENC=y
> CONFIG_CRYPTO_ABLK_HELPER_X86=y
> CONFIG_CRYPTO_GLUE_HELPER_X86=y
> 
> #
> # Authenticated Encryption with Associated Data
> #
> CONFIG_CRYPTO_CCM=y
> CONFIG_CRYPTO_GCM=y
> CONFIG_CRYPTO_SEQIV=y
> 
> #
> # Block modes
> #
> CONFIG_CRYPTO_CBC=y
> CONFIG_CRYPTO_CTR=y
> CONFIG_CRYPTO_CTS=y
> CONFIG_CRYPTO_ECB=y
> CONFIG_CRYPTO_LRW=y
> CONFIG_CRYPTO_PCBC=y
> CONFIG_CRYPTO_XTS=y
> 
> #
> # Hash modes
> #
> CONFIG_CRYPTO_HMAC=y
> CONFIG_CRYPTO_XCBC=y
> CONFIG_CRYPTO_VMAC=y
> 
> #
> # Digest
> #
> CONFIG_CRYPTO_CRC32C=y
> CONFIG_CRYPTO_CRC32C_INTEL=y
> CONFIG_CRYPTO_GHASH=y
> CONFIG_CRYPTO_MD4=y
> CONFIG_CRYPTO_MD5=y
> CONFIG_CRYPTO_MICHAEL_MIC=y
> CONFIG_CRYPTO_RMD128=y
> CONFIG_CRYPTO_RMD160=y
> CONFIG_CRYPTO_RMD256=y
> CONFIG_CRYPTO_RMD320=y
> CONFIG_CRYPTO_SHA1=y
> CONFIG_CRYPTO_SHA1_SSSE3=y
> CONFIG_CRYPTO_SHA256=y
> CONFIG_CRYPTO_SHA512=y
> CONFIG_CRYPTO_TGR192=y
> CONFIG_CRYPTO_WP512=y
> CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=y
> 
> #
> # Ciphers
> #
> CONFIG_CRYPTO_AES=y
> CONFIG_CRYPTO_AES_X86_64=y
> CONFIG_CRYPTO_AES_NI_INTEL=y
> CONFIG_CRYPTO_ANUBIS=y
> CONFIG_CRYPTO_ARC4=y
> CONFIG_CRYPTO_BLOWFISH=y
> CONFIG_CRYPTO_BLOWFISH_COMMON=y
> CONFIG_CRYPTO_BLOWFISH_X86_64=y
> CONFIG_CRYPTO_CAMELLIA=y
> CONFIG_CRYPTO_CAMELLIA_X86_64=y
> CONFIG_CRYPTO_CAST5=y
> CONFIG_CRYPTO_CAST5_AVX_X86_64=y
> CONFIG_CRYPTO_CAST6=y
> CONFIG_CRYPTO_CAST6_AVX_X86_64=y
> CONFIG_CRYPTO_DES=y
> # CONFIG_CRYPTO_DES_SPARC64 is not set
> CONFIG_CRYPTO_FCRYPT=y
> CONFIG_CRYPTO_KHAZAD=y
> CONFIG_CRYPTO_SALSA20=y
> CONFIG_CRYPTO_SALSA20_X86_64=y
> CONFIG_CRYPTO_SEED=y
> CONFIG_CRYPTO_SERPENT=y
> CONFIG_CRYPTO_SERPENT_SSE2_X86_64=y
> CONFIG_CRYPTO_SERPENT_AVX_X86_64=y
> CONFIG_CRYPTO_TEA=y
> CONFIG_CRYPTO_TWOFISH=y
> CONFIG_CRYPTO_TWOFISH_COMMON=y
> CONFIG_CRYPTO_TWOFISH_X86_64=y
> CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=y
> CONFIG_CRYPTO_TWOFISH_AVX_X86_64=y
> 
> #
> # Compression
> #
> CONFIG_CRYPTO_DEFLATE=y
> CONFIG_CRYPTO_ZLIB=y
> CONFIG_CRYPTO_LZO=y
> 
> #
> # Random Number Generation
> #
> CONFIG_CRYPTO_ANSI_CPRNG=y
> CONFIG_CRYPTO_USER_API=y
> CONFIG_CRYPTO_USER_API_HASH=y
> CONFIG_CRYPTO_USER_API_SKCIPHER=y
> CONFIG_CRYPTO_HW=y
> CONFIG_CRYPTO_DEV_PADLOCK=y
> CONFIG_CRYPTO_DEV_PADLOCK_AES=y
> CONFIG_CRYPTO_DEV_PADLOCK_SHA=y
> CONFIG_HAVE_KVM=y
> CONFIG_HAVE_KVM_IRQCHIP=y
> CONFIG_HAVE_KVM_EVENTFD=y
> CONFIG_KVM_APIC_ARCHITECTURE=y
> CONFIG_KVM_MMIO=y
> CONFIG_KVM_ASYNC_PF=y
> CONFIG_HAVE_KVM_MSI=y
> CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
> CONFIG_VIRTUALIZATION=y
> CONFIG_KVM=y
> CONFIG_KVM_INTEL=y
> CONFIG_KVM_AMD=y
> CONFIG_KVM_MMU_AUDIT=y
> CONFIG_VHOST_NET=y
> CONFIG_BINARY_PRINTF=y
> 
> #
> # Library routines
> #
> CONFIG_RAID6_PQ=y
> CONFIG_BITREVERSE=y
> CONFIG_GENERIC_STRNCPY_FROM_USER=y
> CONFIG_GENERIC_STRNLEN_USER=y
> CONFIG_GENERIC_FIND_FIRST_BIT=y
> CONFIG_GENERIC_PCI_IOMAP=y
> CONFIG_GENERIC_IOMAP=y
> CONFIG_GENERIC_IO=y
> CONFIG_CRC_CCITT=y
> CONFIG_CRC16=y
> CONFIG_CRC_T10DIF=y
> CONFIG_CRC_ITU_T=y
> CONFIG_CRC32=y
> CONFIG_CRC32_SELFTEST=y
> CONFIG_CRC32_SLICEBY8=y
> # CONFIG_CRC32_SLICEBY4 is not set
> # CONFIG_CRC32_SARWATE is not set
> # CONFIG_CRC32_BIT is not set
> CONFIG_CRC7=y
> CONFIG_LIBCRC32C=y
> CONFIG_CRC8=y
> CONFIG_ZLIB_INFLATE=y
> CONFIG_ZLIB_DEFLATE=y
> CONFIG_LZO_COMPRESS=y
> CONFIG_LZO_DECOMPRESS=y
> CONFIG_XZ_DEC=y
> CONFIG_XZ_DEC_X86=y
> CONFIG_XZ_DEC_POWERPC=y
> CONFIG_XZ_DEC_IA64=y
> CONFIG_XZ_DEC_ARM=y
> CONFIG_XZ_DEC_ARMTHUMB=y
> CONFIG_XZ_DEC_SPARC=y
> CONFIG_XZ_DEC_BCJ=y
> CONFIG_XZ_DEC_TEST=y
> CONFIG_GENERIC_ALLOCATOR=y
> CONFIG_REED_SOLOMON=y
> CONFIG_REED_SOLOMON_ENC8=y
> CONFIG_REED_SOLOMON_DEC8=y
> CONFIG_REED_SOLOMON_DEC16=y
> CONFIG_BCH=y
> CONFIG_BCH_CONST_PARAMS=y
> CONFIG_TEXTSEARCH=y
> CONFIG_TEXTSEARCH_KMP=y
> CONFIG_TEXTSEARCH_BM=y
> CONFIG_TEXTSEARCH_FSM=y
> CONFIG_BTREE=y
> CONFIG_HAS_IOMEM=y
> CONFIG_HAS_IOPORT=y
> CONFIG_HAS_DMA=y
> CONFIG_CHECK_SIGNATURE=y
> CONFIG_CPUMASK_OFFSTACK=y
> CONFIG_CPU_RMAP=y
> CONFIG_DQL=y
> CONFIG_NLATTR=y
> CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
> CONFIG_LRU_CACHE=y
> CONFIG_AVERAGE=y
> CONFIG_CLZ_TAB=y
> CONFIG_CORDIC=y
> CONFIG_DDR=y
> CONFIG_MPILIB=y
> CONFIG_SIGNATURE=y


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-22 15:56                             ` Paul E. McKenney
@ 2012-09-22 17:50                               ` Sasha Levin
  2012-09-22 21:27                                 ` Paul E. McKenney
  0 siblings, 1 reply; 41+ messages in thread
From: Sasha Levin @ 2012-09-22 17:50 UTC (permalink / raw)
  To: paulmck; +Cc: Michael Wang, Dave Jones, linux-kernel, fweisbec

On 09/22/2012 05:56 PM, Paul E. McKenney wrote:
> And now the prime suspect is the new CONFIG_RCU_USER_QS=y.  Do these
> warnings ever show up with CONFIG_RCU_USER_QS=n?

It seems that disabling that does make the warnings go away.

I'll keep the tests running in case it just reduces the chances or something
like that.


Thanks,
Sasha

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-22 17:50                               ` Sasha Levin
@ 2012-09-22 21:27                                 ` Paul E. McKenney
  2012-09-23  0:21                                   ` Paul E. McKenney
  0 siblings, 1 reply; 41+ messages in thread
From: Paul E. McKenney @ 2012-09-22 21:27 UTC (permalink / raw)
  To: Sasha Levin; +Cc: Michael Wang, Dave Jones, linux-kernel, fweisbec

On Sat, Sep 22, 2012 at 07:50:29PM +0200, Sasha Levin wrote:
> On 09/22/2012 05:56 PM, Paul E. McKenney wrote:
> > And now the prime suspect is the new CONFIG_RCU_USER_QS=y.  Do these
> > warnings ever show up with CONFIG_RCU_USER_QS=n?
> 
> It seems that disabling that does make the warnings go away.
> 
> I'll keep the tests running in case it just reduces the chances or something
> like that.

Thank you for testing this!

And of course the reason that I didn't see these problems is that I
failed to update my tests to enable CONFIG_RCU_USER_QS.  :-/

							Thanx, Paul


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-22 21:27                                 ` Paul E. McKenney
@ 2012-09-23  0:21                                   ` Paul E. McKenney
  2012-09-23  5:39                                     ` Sasha Levin
  0 siblings, 1 reply; 41+ messages in thread
From: Paul E. McKenney @ 2012-09-23  0:21 UTC (permalink / raw)
  To: Sasha Levin; +Cc: Michael Wang, Dave Jones, linux-kernel, fweisbec

On Sat, Sep 22, 2012 at 02:27:35PM -0700, Paul E. McKenney wrote:
> On Sat, Sep 22, 2012 at 07:50:29PM +0200, Sasha Levin wrote:
> > On 09/22/2012 05:56 PM, Paul E. McKenney wrote:
> > > And now the prime suspect is the new CONFIG_RCU_USER_QS=y.  Do these
> > > warnings ever show up with CONFIG_RCU_USER_QS=n?
> > 
> > It seems that disabling that does make the warnings go away.
> > 
> > I'll keep the tests running in case it just reduces the chances or something
> > like that.
> 
> Thank you for testing this!
> 
> And of course the reason that I didn't see these problems is that I
> failed to update my tests to enable CONFIG_RCU_USER_QS.  :-/

Also the fact that I run 32-bit guests on x86.  Sigh!

I take it that you are running 64-bit guests?

							Thanx, Paul


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-23  0:21                                   ` Paul E. McKenney
@ 2012-09-23  5:39                                     ` Sasha Levin
  2012-09-24 21:29                                       ` Frederic Weisbecker
  0 siblings, 1 reply; 41+ messages in thread
From: Sasha Levin @ 2012-09-23  5:39 UTC (permalink / raw)
  To: paulmck; +Cc: Michael Wang, Dave Jones, linux-kernel, fweisbec

On 09/23/2012 02:21 AM, Paul E. McKenney wrote:
> On Sat, Sep 22, 2012 at 02:27:35PM -0700, Paul E. McKenney wrote:
>> On Sat, Sep 22, 2012 at 07:50:29PM +0200, Sasha Levin wrote:
>>> On 09/22/2012 05:56 PM, Paul E. McKenney wrote:
>>>> And now the prime suspect is the new CONFIG_RCU_USER_QS=y.  Do these
>>>> warnings ever show up with CONFIG_RCU_USER_QS=n?
>>>
>>> It seems that disabling that does make the warnings go away.
>>>
>>> I'll keep the tests running in case it just reduces the chances or something
>>> like that.
>>
>> Thank you for testing this!
>>
>> And of course the reason that I didn't see these problems is that I
>> failed to update my tests to enable CONFIG_RCU_USER_QS.  :-/
> 
> Also the fact that I run 32-bit guests on x86.  Sigh!
> 
> I take it that you are running 64-bit guests?

Yes, that's correct.


Thanks,
Sasha


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-23  5:39                                     ` Sasha Levin
@ 2012-09-24 21:29                                       ` Frederic Weisbecker
  2012-09-24 22:47                                         ` Sasha Levin
  0 siblings, 1 reply; 41+ messages in thread
From: Frederic Weisbecker @ 2012-09-24 21:29 UTC (permalink / raw)
  To: Sasha Levin; +Cc: paulmck, Michael Wang, Dave Jones, linux-kernel

2012/9/23 Sasha Levin <levinsasha928@gmail.com>:
> On 09/23/2012 02:21 AM, Paul E. McKenney wrote:
>> On Sat, Sep 22, 2012 at 02:27:35PM -0700, Paul E. McKenney wrote:
>>> On Sat, Sep 22, 2012 at 07:50:29PM +0200, Sasha Levin wrote:
>>>> On 09/22/2012 05:56 PM, Paul E. McKenney wrote:
>>>>> And now the prime suspect is the new CONFIG_RCU_USER_QS=y.  Do these
>>>>> warnings ever show up with CONFIG_RCU_USER_QS=n?
>>>>
>>>> It seems that disabling that does make the warnings go away.
>>>>
>>>> I'll keep the tests running in case it just reduces the chances or something
>>>> like that.
>>>
>>> Thank you for testing this!
>>>
>>> And of course the reason that I didn't see these problems is that I
>>> failed to update my tests to enable CONFIG_RCU_USER_QS.  :-/
>>
>> Also the fact that I run 32-bit guests on x86.  Sigh!
>>
>> I take it that you are running 64-bit guests?
>
> Yes, that's correct.

Sasha,

Can you please test the following branch:

git://github.com/fweisbec/linux-dynticks.git  rcu/idle-for-v3.7-take3

with CONFIG_RCU_USER_QS and CONFIG_RCU_USER_QS_FORCE enabled.

I hope this fixes the warning.
The changes are:

* add "x86: Unspaghettize do_general_protection()"
* updated "x86: Exception hooks for userspace RCU extended QS" to
handle some missed trap handlers. Especially do_general_protection()
because I can see the problem triggered there in Sasha's warnings. I
fixed more handlers in the way.

Thanks.

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-24 21:29                                       ` Frederic Weisbecker
@ 2012-09-24 22:47                                         ` Sasha Levin
  2012-09-24 22:54                                           ` Sasha Levin
  0 siblings, 1 reply; 41+ messages in thread
From: Sasha Levin @ 2012-09-24 22:47 UTC (permalink / raw)
  To: Frederic Weisbecker; +Cc: paulmck, Michael Wang, Dave Jones, linux-kernel

Hi Frederic,

On 09/24/2012 11:29 PM, Frederic Weisbecker wrote:
> Sasha,
> 
> Can you please test the following branch:
> 
> git://github.com/fweisbec/linux-dynticks.git  rcu/idle-for-v3.7-take3
> 
> with CONFIG_RCU_USER_QS and CONFIG_RCU_USER_QS_FORCE enabled.
> 
> I hope this fixes the warning.
> The changes are:
> 
> * add "x86: Unspaghettize do_general_protection()"
> * updated "x86: Exception hooks for userspace RCU extended QS" to
> handle some missed trap handlers. Especially do_general_protection()
> because I can see the problem triggered there in Sasha's warnings. I
> fixed more handlers in the way.

I've tested the branch above, and noticed two things:

 - I had merge conflicts when pulling it on top of latest linux-next which I've resolved:

diff --cc arch/x86/kernel/traps.c
index 1ba4850,cb20776..386b079
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@@ -644,8 -646,7 +647,9 @@@ EXPORT_SYMBOL_GPL(math_state_restore)
  dotraplinkage void __kprobes
  do_device_not_available(struct pt_regs *regs, long error_code)
  {
 +      BUG_ON(use_eager_fpu());
 +
+       exception_enter(regs);
  #ifdef CONFIG_MATH_EMULATION
        if (read_cr0() & X86_CR0_EM) {
                struct math_emu_info info = { };

 - While I no longer see the warnings I've originally noticed, if I run with Paul's last debug patch I see the following warning:

[  212.200137] WARNING: at arch/x86/kernel/process.c:392 cpu_idle+0x12a/0x1f0()
[  212.200141] Pid: 0, comm: swapper/3 Tainted: G        W    3.6.0-rc6-next-20120924-sasha-00030-g71f256c #5
[  212.200142] Call Trace:
[  212.200146]  [<ffffffff810799da>] ? cpu_idle+0x12a/0x1f0
[  212.200150]  [<ffffffff811078b6>] warn_slowpath_common+0x86/0xb0
[  212.200153]  [<ffffffff811079a5>] warn_slowpath_null+0x15/0x20
[  212.200156]  [<ffffffff810799da>] cpu_idle+0x12a/0x1f0
[  212.200160]  [<ffffffff839a3ee8>] ? setup_APIC_timer+0xb2/0xb6

Which is triggered by:
                        if (cpuidle_idle_call())
                                pm_idle();

                        rcu_idle_exit();
                        WARN_ON(rcu_is_cpu_idle()); <---- THIS
                        start_critical_timings();

                        /* In many cases the interrupt that ended idle
                           has already called exit_idle. But some idle
                           loops can be woken up without interrupt. */
                        WARN_ON(rcu_is_cpu_idle());
                        __exit_idle();
                        WARN_ON(rcu_is_cpu_idle());


Thanks,
Sasha

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-24 22:47                                         ` Sasha Levin
@ 2012-09-24 22:54                                           ` Sasha Levin
  2012-09-24 23:06                                             ` Frederic Weisbecker
  0 siblings, 1 reply; 41+ messages in thread
From: Sasha Levin @ 2012-09-24 22:54 UTC (permalink / raw)
  To: Frederic Weisbecker; +Cc: paulmck, Michael Wang, Dave Jones, linux-kernel

On 09/25/2012 12:47 AM, Sasha Levin wrote:
>  - While I no longer see the warnings I've originally noticed, if I run with Paul's last debug patch I see the following warning:

Correction: Original warnings are still there, they just got buried in the huge spew that was caused by additional debug warnings
so I've missed them initially.

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-24 22:54                                           ` Sasha Levin
@ 2012-09-24 23:06                                             ` Frederic Weisbecker
  2012-09-24 23:10                                               ` Sasha Levin
  0 siblings, 1 reply; 41+ messages in thread
From: Frederic Weisbecker @ 2012-09-24 23:06 UTC (permalink / raw)
  To: Sasha Levin; +Cc: paulmck, Michael Wang, Dave Jones, linux-kernel

2012/9/25 Sasha Levin <levinsasha928@gmail.com>:
> On 09/25/2012 12:47 AM, Sasha Levin wrote:
>>  - While I no longer see the warnings I've originally noticed, if I run with Paul's last debug patch I see the following warning:
>
> Correction: Original warnings are still there, they just got buried in the huge spew that was caused by additional debug warnings
> so I've missed them initially.

Are they the same? Could you send me your dmesg?

Thanks.

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-24 23:06                                             ` Frederic Weisbecker
@ 2012-09-24 23:10                                               ` Sasha Levin
  2012-09-24 23:35                                                 ` Frederic Weisbecker
  2012-09-25 12:06                                                 ` Frederic Weisbecker
  0 siblings, 2 replies; 41+ messages in thread
From: Sasha Levin @ 2012-09-24 23:10 UTC (permalink / raw)
  To: Frederic Weisbecker; +Cc: paulmck, Michael Wang, Dave Jones, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 615 bytes --]

On 09/25/2012 01:06 AM, Frederic Weisbecker wrote:
> 2012/9/25 Sasha Levin <levinsasha928@gmail.com>:
>> On 09/25/2012 12:47 AM, Sasha Levin wrote:
>>>  - While I no longer see the warnings I've originally noticed, if I run with Paul's last debug patch I see the following warning:
>>
>> Correction: Original warnings are still there, they just got buried in the huge spew that was caused by additional debug warnings
>> so I've missed them initially.
> 
> Are they the same? Could you send me your dmesg?
> 
> Thanks.
> 

Log is attached, you can go directly to 168.703017 when the warnings begin.


Thanks,
Sasha

[-- Attachment #2: log.txt.gz --]
[-- Type: application/gzip, Size: 180589 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-24 23:10                                               ` Sasha Levin
@ 2012-09-24 23:35                                                 ` Frederic Weisbecker
  2012-09-24 23:41                                                   ` Frederic Weisbecker
  2012-09-25 12:06                                                 ` Frederic Weisbecker
  1 sibling, 1 reply; 41+ messages in thread
From: Frederic Weisbecker @ 2012-09-24 23:35 UTC (permalink / raw)
  To: Sasha Levin; +Cc: paulmck, Michael Wang, Dave Jones, linux-kernel

2012/9/25 Sasha Levin <levinsasha928@gmail.com>:
> On 09/25/2012 01:06 AM, Frederic Weisbecker wrote:
>> 2012/9/25 Sasha Levin <levinsasha928@gmail.com>:
>>> On 09/25/2012 12:47 AM, Sasha Levin wrote:
>>>>  - While I no longer see the warnings I've originally noticed, if I run with Paul's last debug patch I see the following warning:
>>>
>>> Correction: Original warnings are still there, they just got buried in the huge spew that was caused by additional debug warnings
>>> so I've missed them initially.
>>
>> Are they the same? Could you send me your dmesg?
>>
>> Thanks.
>>
>
> Log is attached, you can go directly to 168.703017 when the warnings begin.

Thanks!

So here is the first relevant warning:

[  168.703017] ------------[ cut here ]------------
[  168.708117] WARNING: at kernel/rcutree.c:502 rcu_eqs_exit_common+0x4a/0x3a0()
[  168.710034] Pid: 7871, comm: trinity-child65 Tainted: G        W
3.6.0-rc6-next-20120924-sasha-00030-g71f256c #5
[  168.710034] Call Trace:
[  168.710034]  <IRQ>  [<ffffffff811c737a>] ? rcu_eqs_exit_common+0x4a/0x3a0
[  168.710034]  [<ffffffff811078b6>] warn_slowpath_common+0x86/0xb0
[  168.710034]  [<ffffffff811079a5>] warn_slowpath_null+0x15/0x20
[  168.710034]  [<ffffffff811c737a>] rcu_eqs_exit_common+0x4a/0x3a0
[  168.710034]  [<ffffffff811c79cc>] rcu_eqs_exit+0x9c/0xb0
[  168.710034]  [<ffffffff811c7a4c>] rcu_user_exit+0x6c/0xd0
[  168.710034]  [<ffffffff8106eb1f>] do_general_protection+0x1f/0x170
[  168.710034]  [<ffffffff83a0e624>] ? restore_args+0x30/0x30
[  168.710034]  [<ffffffff83a0e875>] general_protection+0x25/0x30
[  168.710034]  [<ffffffff810a3f06>] ? native_read_msr_safe+0x6/0x20
[  168.710034]  [<ffffffff81a0b34b>] __rdmsr_safe_on_cpu+0x2b/0x50
[  168.710034]  [<ffffffff819ec971>] ? list_del+0x11/0x40
[  168.710034]  [<ffffffff811886dc>]
generic_smp_call_function_single_interrupt+0xec/0x120
[  168.710034]  [<ffffffff81151147>] ? account_system_vtime+0xd7/0x140
[  168.710034]  [<ffffffff81096f72>]
smp_call_function_single_interrupt+0x22/0x40
[  168.710034]  [<ffffffff83a0fe2f>] call_function_single_interrupt+0x6f/0x80
[  168.710034]  <EOI>  [<ffffffff83a0e5f4>] ? retint_restore_args+0x13/0x13
[  168.710034]  [<ffffffff811c7285>] ? rcu_user_enter+0x105/0x110
[  168.710034]  [<ffffffff8107e06d>] syscall_trace_leave+0xfd/0x150
[  168.710034]  [<ffffffff83a0f1ef>] int_check_syscall_exit_work+0x34/0x3d
[  168.710034] ---[ end trace fd408dd21b70b87c ]---

This is an exception inside an interrupt, and the interrupt
interrupted RCU user mode.
And we have that nesting:

rcu_irq_enter(); <--- irq entry
rcu_user_exit(); <--- exception entry

And rcu_eqs_exit() doesn't handle that very well...

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-24 23:35                                                 ` Frederic Weisbecker
@ 2012-09-24 23:41                                                   ` Frederic Weisbecker
  2012-09-25  4:04                                                     ` Paul E. McKenney
  0 siblings, 1 reply; 41+ messages in thread
From: Frederic Weisbecker @ 2012-09-24 23:41 UTC (permalink / raw)
  To: Sasha Levin; +Cc: paulmck, Michael Wang, Dave Jones, linux-kernel

2012/9/25 Frederic Weisbecker <fweisbec@gmail.com>:
> 2012/9/25 Sasha Levin <levinsasha928@gmail.com>:
>> On 09/25/2012 01:06 AM, Frederic Weisbecker wrote:
>>> 2012/9/25 Sasha Levin <levinsasha928@gmail.com>:
>>>> On 09/25/2012 12:47 AM, Sasha Levin wrote:
>>>>>  - While I no longer see the warnings I've originally noticed, if I run with Paul's last debug patch I see the following warning:
>>>>
>>>> Correction: Original warnings are still there, they just got buried in the huge spew that was caused by additional debug warnings
>>>> so I've missed them initially.
>>>
>>> Are they the same? Could you send me your dmesg?
>>>
>>> Thanks.
>>>
>>
>> Log is attached, you can go directly to 168.703017 when the warnings begin.
>
> Thanks!
>
> So here is the first relevant warning:
>
> [  168.703017] ------------[ cut here ]------------
> [  168.708117] WARNING: at kernel/rcutree.c:502 rcu_eqs_exit_common+0x4a/0x3a0()
> [  168.710034] Pid: 7871, comm: trinity-child65 Tainted: G        W
> 3.6.0-rc6-next-20120924-sasha-00030-g71f256c #5
> [  168.710034] Call Trace:
> [  168.710034]  <IRQ>  [<ffffffff811c737a>] ? rcu_eqs_exit_common+0x4a/0x3a0
> [  168.710034]  [<ffffffff811078b6>] warn_slowpath_common+0x86/0xb0
> [  168.710034]  [<ffffffff811079a5>] warn_slowpath_null+0x15/0x20
> [  168.710034]  [<ffffffff811c737a>] rcu_eqs_exit_common+0x4a/0x3a0
> [  168.710034]  [<ffffffff811c79cc>] rcu_eqs_exit+0x9c/0xb0
> [  168.710034]  [<ffffffff811c7a4c>] rcu_user_exit+0x6c/0xd0
> [  168.710034]  [<ffffffff8106eb1f>] do_general_protection+0x1f/0x170
> [  168.710034]  [<ffffffff83a0e624>] ? restore_args+0x30/0x30
> [  168.710034]  [<ffffffff83a0e875>] general_protection+0x25/0x30
> [  168.710034]  [<ffffffff810a3f06>] ? native_read_msr_safe+0x6/0x20
> [  168.710034]  [<ffffffff81a0b34b>] __rdmsr_safe_on_cpu+0x2b/0x50
> [  168.710034]  [<ffffffff819ec971>] ? list_del+0x11/0x40
> [  168.710034]  [<ffffffff811886dc>]
> generic_smp_call_function_single_interrupt+0xec/0x120
> [  168.710034]  [<ffffffff81151147>] ? account_system_vtime+0xd7/0x140
> [  168.710034]  [<ffffffff81096f72>]
> smp_call_function_single_interrupt+0x22/0x40
> [  168.710034]  [<ffffffff83a0fe2f>] call_function_single_interrupt+0x6f/0x80
> [  168.710034]  <EOI>  [<ffffffff83a0e5f4>] ? retint_restore_args+0x13/0x13
> [  168.710034]  [<ffffffff811c7285>] ? rcu_user_enter+0x105/0x110
> [  168.710034]  [<ffffffff8107e06d>] syscall_trace_leave+0xfd/0x150
> [  168.710034]  [<ffffffff83a0f1ef>] int_check_syscall_exit_work+0x34/0x3d
> [  168.710034] ---[ end trace fd408dd21b70b87c ]---
>
> This is an exception inside an interrupt, and the interrupt
> interrupted RCU user mode.
> And we have that nesting:
>
> rcu_irq_enter(); <--- irq entry
> rcu_user_exit(); <--- exception entry
>
> And rcu_eqs_exit() doesn't handle that very well...

So either I should return immediately from rcu_user_exit() if
we are in an interrupt, or we make rcu_user_exit() able to nest
on rcu_irq_enter()   :)

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-24 23:41                                                   ` Frederic Weisbecker
@ 2012-09-25  4:04                                                     ` Paul E. McKenney
  2012-09-25 11:59                                                       ` Frederic Weisbecker
  0 siblings, 1 reply; 41+ messages in thread
From: Paul E. McKenney @ 2012-09-25  4:04 UTC (permalink / raw)
  To: Frederic Weisbecker; +Cc: Sasha Levin, Michael Wang, Dave Jones, linux-kernel

On Tue, Sep 25, 2012 at 01:41:18AM +0200, Frederic Weisbecker wrote:
> 2012/9/25 Frederic Weisbecker <fweisbec@gmail.com>:
> > 2012/9/25 Sasha Levin <levinsasha928@gmail.com>:
> >> On 09/25/2012 01:06 AM, Frederic Weisbecker wrote:
> >>> 2012/9/25 Sasha Levin <levinsasha928@gmail.com>:
> >>>> On 09/25/2012 12:47 AM, Sasha Levin wrote:
> >>>>>  - While I no longer see the warnings I've originally noticed, if I run with Paul's last debug patch I see the following warning:
> >>>>
> >>>> Correction: Original warnings are still there, they just got buried in the huge spew that was caused by additional debug warnings
> >>>> so I've missed them initially.
> >>>
> >>> Are they the same? Could you send me your dmesg?
> >>>
> >>> Thanks.
> >>>
> >>
> >> Log is attached, you can go directly to 168.703017 when the warnings begin.
> >
> > Thanks!
> >
> > So here is the first relevant warning:
> >
> > [  168.703017] ------------[ cut here ]------------
> > [  168.708117] WARNING: at kernel/rcutree.c:502 rcu_eqs_exit_common+0x4a/0x3a0()
> > [  168.710034] Pid: 7871, comm: trinity-child65 Tainted: G        W
> > 3.6.0-rc6-next-20120924-sasha-00030-g71f256c #5
> > [  168.710034] Call Trace:
> > [  168.710034]  <IRQ>  [<ffffffff811c737a>] ? rcu_eqs_exit_common+0x4a/0x3a0
> > [  168.710034]  [<ffffffff811078b6>] warn_slowpath_common+0x86/0xb0
> > [  168.710034]  [<ffffffff811079a5>] warn_slowpath_null+0x15/0x20
> > [  168.710034]  [<ffffffff811c737a>] rcu_eqs_exit_common+0x4a/0x3a0
> > [  168.710034]  [<ffffffff811c79cc>] rcu_eqs_exit+0x9c/0xb0
> > [  168.710034]  [<ffffffff811c7a4c>] rcu_user_exit+0x6c/0xd0
> > [  168.710034]  [<ffffffff8106eb1f>] do_general_protection+0x1f/0x170
> > [  168.710034]  [<ffffffff83a0e624>] ? restore_args+0x30/0x30
> > [  168.710034]  [<ffffffff83a0e875>] general_protection+0x25/0x30
> > [  168.710034]  [<ffffffff810a3f06>] ? native_read_msr_safe+0x6/0x20
> > [  168.710034]  [<ffffffff81a0b34b>] __rdmsr_safe_on_cpu+0x2b/0x50
> > [  168.710034]  [<ffffffff819ec971>] ? list_del+0x11/0x40
> > [  168.710034]  [<ffffffff811886dc>]
> > generic_smp_call_function_single_interrupt+0xec/0x120
> > [  168.710034]  [<ffffffff81151147>] ? account_system_vtime+0xd7/0x140
> > [  168.710034]  [<ffffffff81096f72>]
> > smp_call_function_single_interrupt+0x22/0x40
> > [  168.710034]  [<ffffffff83a0fe2f>] call_function_single_interrupt+0x6f/0x80
> > [  168.710034]  <EOI>  [<ffffffff83a0e5f4>] ? retint_restore_args+0x13/0x13
> > [  168.710034]  [<ffffffff811c7285>] ? rcu_user_enter+0x105/0x110
> > [  168.710034]  [<ffffffff8107e06d>] syscall_trace_leave+0xfd/0x150
> > [  168.710034]  [<ffffffff83a0f1ef>] int_check_syscall_exit_work+0x34/0x3d
> > [  168.710034] ---[ end trace fd408dd21b70b87c ]---
> >
> > This is an exception inside an interrupt, and the interrupt
> > interrupted RCU user mode.
> > And we have that nesting:
> >
> > rcu_irq_enter(); <--- irq entry
> > rcu_user_exit(); <--- exception entry
> >
> > And rcu_eqs_exit() doesn't handle that very well...
> 
> So either I should return immediately from rcu_user_exit() if
> we are in an interrupt, or we make rcu_user_exit() able to nest
> on rcu_irq_enter()   :)

Both of the two are eminently doable, with varying degrees of hackery.

What makes the most sense from an adaptive-idle viewpoint?

							Thanx, Paul


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-25  4:04                                                     ` Paul E. McKenney
@ 2012-09-25 11:59                                                       ` Frederic Weisbecker
  2012-09-25 13:04                                                         ` Paul E. McKenney
  0 siblings, 1 reply; 41+ messages in thread
From: Frederic Weisbecker @ 2012-09-25 11:59 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: Sasha Levin, Michael Wang, Dave Jones, linux-kernel

On Mon, Sep 24, 2012 at 09:04:20PM -0700, Paul E. McKenney wrote:
> On Tue, Sep 25, 2012 at 01:41:18AM +0200, Frederic Weisbecker wrote:
> > >
> > > [  168.703017] ------------[ cut here ]------------
> > > [  168.708117] WARNING: at kernel/rcutree.c:502 rcu_eqs_exit_common+0x4a/0x3a0()
> > > [  168.710034] Pid: 7871, comm: trinity-child65 Tainted: G        W
> > > 3.6.0-rc6-next-20120924-sasha-00030-g71f256c #5
> > > [  168.710034] Call Trace:
> > > [  168.710034]  <IRQ>  [<ffffffff811c737a>] ? rcu_eqs_exit_common+0x4a/0x3a0
> > > [  168.710034]  [<ffffffff811078b6>] warn_slowpath_common+0x86/0xb0
> > > [  168.710034]  [<ffffffff811079a5>] warn_slowpath_null+0x15/0x20
> > > [  168.710034]  [<ffffffff811c737a>] rcu_eqs_exit_common+0x4a/0x3a0
> > > [  168.710034]  [<ffffffff811c79cc>] rcu_eqs_exit+0x9c/0xb0
> > > [  168.710034]  [<ffffffff811c7a4c>] rcu_user_exit+0x6c/0xd0
> > > [  168.710034]  [<ffffffff8106eb1f>] do_general_protection+0x1f/0x170
> > > [  168.710034]  [<ffffffff83a0e624>] ? restore_args+0x30/0x30
> > > [  168.710034]  [<ffffffff83a0e875>] general_protection+0x25/0x30
> > > [  168.710034]  [<ffffffff810a3f06>] ? native_read_msr_safe+0x6/0x20
> > > [  168.710034]  [<ffffffff81a0b34b>] __rdmsr_safe_on_cpu+0x2b/0x50
> > > [  168.710034]  [<ffffffff819ec971>] ? list_del+0x11/0x40
> > > [  168.710034]  [<ffffffff811886dc>]
> > > generic_smp_call_function_single_interrupt+0xec/0x120
> > > [  168.710034]  [<ffffffff81151147>] ? account_system_vtime+0xd7/0x140
> > > [  168.710034]  [<ffffffff81096f72>]
> > > smp_call_function_single_interrupt+0x22/0x40
> > > [  168.710034]  [<ffffffff83a0fe2f>] call_function_single_interrupt+0x6f/0x80
> > > [  168.710034]  <EOI>  [<ffffffff83a0e5f4>] ? retint_restore_args+0x13/0x13
> > > [  168.710034]  [<ffffffff811c7285>] ? rcu_user_enter+0x105/0x110
> > > [  168.710034]  [<ffffffff8107e06d>] syscall_trace_leave+0xfd/0x150
> > > [  168.710034]  [<ffffffff83a0f1ef>] int_check_syscall_exit_work+0x34/0x3d
> > > [  168.710034] ---[ end trace fd408dd21b70b87c ]---
> > >
> > > This is an exception inside an interrupt, and the interrupt
> > > interrupted RCU user mode.
> > > And we have that nesting:
> > >
> > > rcu_irq_enter(); <--- irq entry
> > > rcu_user_exit(); <--- exception entry
> > >
> > > And rcu_eqs_exit() doesn't handle that very well...
> > 
> > So either I should return immediately from rcu_user_exit() if
> > we are in an interrupt, or we make rcu_user_exit() able to nest
> > on rcu_irq_enter()   :)
> 
> Both of the two are eminently doable, with varying degrees of hackery.
> 
> What makes the most sense from an adaptive-idle viewpoint?

Given that we have:

rcu_irq_enter()
	rcu_user_exit()
	rcu_user_enter()
rcu_irq_exit()

And we already have rcu_user_exit_after_irq(), this starts to be confusing
if we allow that nesting. Although if we find a solution that, in the end,
merge rcu_user_exit() with rcu_user_exit_after_irq() and same for the enter version,
this would probably be a good thing. Provided this doesn't involve some more
complicated rdtp->dyntick_nesting trickies nor more overhead.

Otherwise we could avoid to call rcu_user_* when we are in an irq. When we'll have
the user_hooks layer, we can perhaps manage that from that place. For
now may be we can return after in_interrupt() in the rcu user apis.

Let's first ensure I diagnosed it well and we don't have other problems detected
by Sasha. I'm cooking a testing patch.

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-24 23:10                                               ` Sasha Levin
  2012-09-24 23:35                                                 ` Frederic Weisbecker
@ 2012-09-25 12:06                                                 ` Frederic Weisbecker
  2012-09-25 18:28                                                   ` Sasha Levin
  1 sibling, 1 reply; 41+ messages in thread
From: Frederic Weisbecker @ 2012-09-25 12:06 UTC (permalink / raw)
  To: Sasha Levin; +Cc: paulmck, Michael Wang, Dave Jones, linux-kernel

On Tue, Sep 25, 2012 at 01:10:27AM +0200, Sasha Levin wrote:
> On 09/25/2012 01:06 AM, Frederic Weisbecker wrote:
> > 2012/9/25 Sasha Levin <levinsasha928@gmail.com>:
> >> On 09/25/2012 12:47 AM, Sasha Levin wrote:
> >>>  - While I no longer see the warnings I've originally noticed, if I run with Paul's last debug patch I see the following warning:
> >>
> >> Correction: Original warnings are still there, they just got buried in the huge spew that was caused by additional debug warnings
> >> so I've missed them initially.
> > 
> > Are they the same? Could you send me your dmesg?
> > 
> > Thanks.
> > 
> 
> Log is attached, you can go directly to 168.703017 when the warnings begin.

Sasha, sorry to burden you with more testing request.
Could you please try out this new branch? It includes some fixes after Wu Fenguang and
Dan Carpenter reports (not related to your warnings though) and a patch on the top
of the pile to ensure I diagnosed well the problem, which return immediately from
rcu_user_*() APIs if we are in an interrupt.

This way we'll have a clearer view. I also would like to know if there are other
problems with the rcu user mode.

Thanks!

Branch is:

git://github.com/fweisbec/linux-dynticks.git
	rcu/idle-for-v3.7-take4

Diff is:

diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index cb20776..3789675 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -232,8 +232,8 @@ DO_ERROR_INFO(X86_TRAP_AC, SIGBUS, "alignment check", alignment_check,
 dotraplinkage void do_stack_segment(struct pt_regs *regs, long error_code)
 {
 	exception_enter(regs);
-	if (!notify_die(DIE_TRAP, "stack segment", regs, error_code,
-		       X86_TRAP_SS, SIGBUS) == NOTIFY_STOP) {
+	if (notify_die(DIE_TRAP, "stack segment", regs, error_code,
+		       X86_TRAP_SS, SIGBUS) != NOTIFY_STOP) {
 		preempt_conditional_sti(regs);
 		do_trap(X86_TRAP_SS, SIGBUS, "stack segment", regs, error_code, NULL);
 		preempt_conditional_cli(regs);
@@ -285,8 +285,8 @@ do_general_protection(struct pt_regs *regs, long error_code)
 
 		tsk->thread.error_code = error_code;
 		tsk->thread.trap_nr = X86_TRAP_GP;
-		if (!notify_die(DIE_GPF, "general protection fault", regs, error_code,
-			       X86_TRAP_GP, SIGSEGV) == NOTIFY_STOP)
+		if (notify_die(DIE_GPF, "general protection fault", regs, error_code,
+			       X86_TRAP_GP, SIGSEGV) != NOTIFY_STOP)
 			die("general protection fault", regs, error_code);
 		goto exit;
 	}
@@ -678,8 +678,8 @@ dotraplinkage void do_iret_error(struct pt_regs *regs, long error_code)
 	info.si_errno = 0;
 	info.si_code = ILL_BADSTK;
 	info.si_addr = NULL;
-	if (!notify_die(DIE_TRAP, "iret exception", regs, error_code,
-			X86_TRAP_IRET, SIGILL) == NOTIFY_STOP) {
+	if (notify_die(DIE_TRAP, "iret exception", regs, error_code,
+			X86_TRAP_IRET, SIGILL) != NOTIFY_STOP) {
 		do_trap(X86_TRAP_IRET, SIGILL, "iret exception", regs, error_code,
 			&info);
 	}
diff --git a/kernel/rcutree.c b/kernel/rcutree.c
index d249719..e0500c6 100644
--- a/kernel/rcutree.c
+++ b/kernel/rcutree.c
@@ -446,6 +446,9 @@ void rcu_user_enter(void)
 
 	WARN_ON_ONCE(!current->mm);
 
+	if (in_interrupt())
+		return;
+
 	local_irq_save(flags);
 	rdtp = &__get_cpu_var(rcu_dynticks);
 	if (!rdtp->ignore_user_qs && !rdtp->in_user) {
@@ -592,6 +595,9 @@ void rcu_user_exit(void)
 	unsigned long flags;
 	struct rcu_dynticks *rdtp;
 
+	if (in_interrupt())
+		return;
+
 	local_irq_save(flags);
 	rdtp = &__get_cpu_var(rcu_dynticks);
 	if (rdtp->in_user) {


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-25 11:59                                                       ` Frederic Weisbecker
@ 2012-09-25 13:04                                                         ` Paul E. McKenney
  2012-09-26 14:56                                                           ` Frederic Weisbecker
  0 siblings, 1 reply; 41+ messages in thread
From: Paul E. McKenney @ 2012-09-25 13:04 UTC (permalink / raw)
  To: Frederic Weisbecker; +Cc: Sasha Levin, Michael Wang, Dave Jones, linux-kernel

On Tue, Sep 25, 2012 at 01:59:26PM +0200, Frederic Weisbecker wrote:
> On Mon, Sep 24, 2012 at 09:04:20PM -0700, Paul E. McKenney wrote:
> > On Tue, Sep 25, 2012 at 01:41:18AM +0200, Frederic Weisbecker wrote:
> > > >
> > > > [  168.703017] ------------[ cut here ]------------
> > > > [  168.708117] WARNING: at kernel/rcutree.c:502 rcu_eqs_exit_common+0x4a/0x3a0()
> > > > [  168.710034] Pid: 7871, comm: trinity-child65 Tainted: G        W
> > > > 3.6.0-rc6-next-20120924-sasha-00030-g71f256c #5
> > > > [  168.710034] Call Trace:
> > > > [  168.710034]  <IRQ>  [<ffffffff811c737a>] ? rcu_eqs_exit_common+0x4a/0x3a0
> > > > [  168.710034]  [<ffffffff811078b6>] warn_slowpath_common+0x86/0xb0
> > > > [  168.710034]  [<ffffffff811079a5>] warn_slowpath_null+0x15/0x20
> > > > [  168.710034]  [<ffffffff811c737a>] rcu_eqs_exit_common+0x4a/0x3a0
> > > > [  168.710034]  [<ffffffff811c79cc>] rcu_eqs_exit+0x9c/0xb0
> > > > [  168.710034]  [<ffffffff811c7a4c>] rcu_user_exit+0x6c/0xd0
> > > > [  168.710034]  [<ffffffff8106eb1f>] do_general_protection+0x1f/0x170
> > > > [  168.710034]  [<ffffffff83a0e624>] ? restore_args+0x30/0x30
> > > > [  168.710034]  [<ffffffff83a0e875>] general_protection+0x25/0x30
> > > > [  168.710034]  [<ffffffff810a3f06>] ? native_read_msr_safe+0x6/0x20
> > > > [  168.710034]  [<ffffffff81a0b34b>] __rdmsr_safe_on_cpu+0x2b/0x50
> > > > [  168.710034]  [<ffffffff819ec971>] ? list_del+0x11/0x40
> > > > [  168.710034]  [<ffffffff811886dc>]
> > > > generic_smp_call_function_single_interrupt+0xec/0x120
> > > > [  168.710034]  [<ffffffff81151147>] ? account_system_vtime+0xd7/0x140
> > > > [  168.710034]  [<ffffffff81096f72>]
> > > > smp_call_function_single_interrupt+0x22/0x40
> > > > [  168.710034]  [<ffffffff83a0fe2f>] call_function_single_interrupt+0x6f/0x80
> > > > [  168.710034]  <EOI>  [<ffffffff83a0e5f4>] ? retint_restore_args+0x13/0x13
> > > > [  168.710034]  [<ffffffff811c7285>] ? rcu_user_enter+0x105/0x110
> > > > [  168.710034]  [<ffffffff8107e06d>] syscall_trace_leave+0xfd/0x150
> > > > [  168.710034]  [<ffffffff83a0f1ef>] int_check_syscall_exit_work+0x34/0x3d
> > > > [  168.710034] ---[ end trace fd408dd21b70b87c ]---
> > > >
> > > > This is an exception inside an interrupt, and the interrupt
> > > > interrupted RCU user mode.
> > > > And we have that nesting:
> > > >
> > > > rcu_irq_enter(); <--- irq entry
> > > > rcu_user_exit(); <--- exception entry
> > > >
> > > > And rcu_eqs_exit() doesn't handle that very well...
> > > 
> > > So either I should return immediately from rcu_user_exit() if
> > > we are in an interrupt, or we make rcu_user_exit() able to nest
> > > on rcu_irq_enter()   :)
> > 
> > Both of the two are eminently doable, with varying degrees of hackery.
> > 
> > What makes the most sense from an adaptive-idle viewpoint?
> 
> Given that we have:
> 
> rcu_irq_enter()
> 	rcu_user_exit()
> 	rcu_user_enter()
> rcu_irq_exit()

Indeed, the code to deal with irq misnestings won't like that at all.
And we are in the kernel between rcu_user_exit() and rcu_user_enter()
(right?), so we could in fact see irq misnestings.

> And we already have rcu_user_exit_after_irq(), this starts to be confusing
> if we allow that nesting. Although if we find a solution that, in the end,
> merge rcu_user_exit() with rcu_user_exit_after_irq() and same for the enter version,
> this would probably be a good thing. Provided this doesn't involve some more
> complicated rdtp->dyntick_nesting trickies nor more overhead.
> 
> Otherwise we could avoid to call rcu_user_* when we are in an irq. When we'll have
> the user_hooks layer, we can perhaps manage that from that place. For
> now may be we can return after in_interrupt() in the rcu user apis.

This last sounds best.

My main concern is irq misnesting.  We might need to do something ugly
like record the interrupt nesting level at rcu_user_exit() and restore
it at rcu_user_enter().  Sigh!!!

> Let's first ensure I diagnosed it well and we don't have other problems detected
> by Sasha. I'm cooking a testing patch.

Excellent point!

							Thanx, Paul


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-25 12:06                                                 ` Frederic Weisbecker
@ 2012-09-25 18:28                                                   ` Sasha Levin
  2012-09-25 18:36                                                     ` Paul E. McKenney
  2012-09-26 14:58                                                     ` Frederic Weisbecker
  0 siblings, 2 replies; 41+ messages in thread
From: Sasha Levin @ 2012-09-25 18:28 UTC (permalink / raw)
  To: Frederic Weisbecker; +Cc: paulmck, Michael Wang, Dave Jones, linux-kernel

On 09/25/2012 02:06 PM, Frederic Weisbecker wrote:
> Sasha, sorry to burden you with more testing request.
> Could you please try out this new branch? It includes some fixes after Wu Fenguang and
> Dan Carpenter reports (not related to your warnings though) and a patch on the top
> of the pile to ensure I diagnosed well the problem, which return immediately from
> rcu_user_*() APIs if we are in an interrupt.
> 
> This way we'll have a clearer view. I also would like to know if there are other
> problems with the rcu user mode.
> 
> Thanks!

Alrighty, I don't see any warnings anymore.

I'll keep everything running just in case.


Thanks,
Sasha

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-25 18:28                                                   ` Sasha Levin
@ 2012-09-25 18:36                                                     ` Paul E. McKenney
  2012-09-26 15:46                                                       ` Frederic Weisbecker
  2012-09-26 14:58                                                     ` Frederic Weisbecker
  1 sibling, 1 reply; 41+ messages in thread
From: Paul E. McKenney @ 2012-09-25 18:36 UTC (permalink / raw)
  To: Sasha Levin; +Cc: Frederic Weisbecker, Michael Wang, Dave Jones, linux-kernel

On Tue, Sep 25, 2012 at 08:28:23PM +0200, Sasha Levin wrote:
> On 09/25/2012 02:06 PM, Frederic Weisbecker wrote:
> > Sasha, sorry to burden you with more testing request.
> > Could you please try out this new branch? It includes some fixes after Wu Fenguang and
> > Dan Carpenter reports (not related to your warnings though) and a patch on the top
> > of the pile to ensure I diagnosed well the problem, which return immediately from
> > rcu_user_*() APIs if we are in an interrupt.
> > 
> > This way we'll have a clearer view. I also would like to know if there are other
> > problems with the rcu user mode.
> > 
> > Thanks!
> 
> Alrighty, I don't see any warnings anymore.
> 
> I'll keep everything running just in case.

Very good news!!!  Thank you both!!!

							Thanx, Paul


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-25 13:04                                                         ` Paul E. McKenney
@ 2012-09-26 14:56                                                           ` Frederic Weisbecker
  2012-09-26 16:26                                                             ` Paul E. McKenney
  0 siblings, 1 reply; 41+ messages in thread
From: Frederic Weisbecker @ 2012-09-26 14:56 UTC (permalink / raw)
  To: paulmck; +Cc: Sasha Levin, Michael Wang, Dave Jones, linux-kernel

2012/9/25 Paul E. McKenney <paulmck@linux.vnet.ibm.com>:
> On Tue, Sep 25, 2012 at 01:59:26PM +0200, Frederic Weisbecker wrote:
>> Given that we have:
>>
>> rcu_irq_enter()
>>       rcu_user_exit()
>>       rcu_user_enter()
>> rcu_irq_exit()
>
> Indeed, the code to deal with irq misnestings won't like that at all.
> And we are in the kernel between rcu_user_exit() and rcu_user_enter()
> (right?), so we could in fact see irq misnestings.

Exactly.

>
>> And we already have rcu_user_exit_after_irq(), this starts to be confusing
>> if we allow that nesting. Although if we find a solution that, in the end,
>> merge rcu_user_exit() with rcu_user_exit_after_irq() and same for the enter version,
>> this would probably be a good thing. Provided this doesn't involve some more
>> complicated rdtp->dyntick_nesting trickies nor more overhead.
>>
>> Otherwise we could avoid to call rcu_user_* when we are in an irq. When we'll have
>> the user_hooks layer, we can perhaps manage that from that place. For
>> now may be we can return after in_interrupt() in the rcu user apis.
>
> This last sounds best.

Ok.

>
> My main concern is irq misnesting.  We might need to do something ugly
> like record the interrupt nesting level at rcu_user_exit() and restore
> it at rcu_user_enter().  Sigh!!!

Right, but that doesn't seem to apply in x86? I suggest we start
simple and think
about some wider solution when more architecture implement this.

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-25 18:28                                                   ` Sasha Levin
  2012-09-25 18:36                                                     ` Paul E. McKenney
@ 2012-09-26 14:58                                                     ` Frederic Weisbecker
  1 sibling, 0 replies; 41+ messages in thread
From: Frederic Weisbecker @ 2012-09-26 14:58 UTC (permalink / raw)
  To: Sasha Levin; +Cc: paulmck, Michael Wang, Dave Jones, linux-kernel

2012/9/25 Sasha Levin <levinsasha928@gmail.com>:
> On 09/25/2012 02:06 PM, Frederic Weisbecker wrote:
>> Sasha, sorry to burden you with more testing request.
>> Could you please try out this new branch? It includes some fixes after Wu Fenguang and
>> Dan Carpenter reports (not related to your warnings though) and a patch on the top
>> of the pile to ensure I diagnosed well the problem, which return immediately from
>> rcu_user_*() APIs if we are in an interrupt.
>>
>> This way we'll have a clearer view. I also would like to know if there are other
>> problems with the rcu user mode.
>>
>> Thanks!
>
> Alrighty, I don't see any warnings anymore.
>
> I'll keep everything running just in case.

Cool! I'm pushing the fix tree to Paul then.

Thanks a lot for your testing!

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-25 18:36                                                     ` Paul E. McKenney
@ 2012-09-26 15:46                                                       ` Frederic Weisbecker
  2012-09-26 16:59                                                         ` Paul E. McKenney
  0 siblings, 1 reply; 41+ messages in thread
From: Frederic Weisbecker @ 2012-09-26 15:46 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: Sasha Levin, Michael Wang, Dave Jones, linux-kernel

On Tue, Sep 25, 2012 at 11:36:54AM -0700, Paul E. McKenney wrote:
> On Tue, Sep 25, 2012 at 08:28:23PM +0200, Sasha Levin wrote:
> > On 09/25/2012 02:06 PM, Frederic Weisbecker wrote:
> > > Sasha, sorry to burden you with more testing request.
> > > Could you please try out this new branch? It includes some fixes after Wu Fenguang and
> > > Dan Carpenter reports (not related to your warnings though) and a patch on the top
> > > of the pile to ensure I diagnosed well the problem, which return immediately from
> > > rcu_user_*() APIs if we are in an interrupt.
> > > 
> > > This way we'll have a clearer view. I also would like to know if there are other
> > > problems with the rcu user mode.
> > > 
> > > Thanks!
> > 
> > Alrighty, I don't see any warnings anymore.
> > 
> > I'll keep everything running just in case.
> 
> Very good news!!!  Thank you both!!!

So, I've pushed the fixes in a new branch.

Changes are:

* Added in_interrupt() checks in "rcu: New rcu_user_enter() and rcu_user_exit() APIs"
so that rcu_user_enter/exit() don't nest in rcu_irq_enter/exit().

We'll need a longer term solution I guess because of:
	- Irq bad nesting
	- An exception could happen in the middle of irq_exit(), although that's quite
	  unlikely (ie: between sub_preempt_count(HARDIRQ) and add_preempt_count(SOFTIRQ) or between
	  sub_preempt_count(SOFTIRQ or HARDIRQ) and rcu_irq_exit().
	  May be I should rather check for (rdtp->dynticks_nesting & (DYNTICK_TASK_FLAG -1))
	  to find out if we are in the middle of an irq from an RCU POV.


* Fix the !notifie_die(...) == NOTIFY_STOP to become notifie_die(...) != NOTIFY_STOP.
Reported by Wu Fenguang and Dan Carpenter. Fixes are folded inside:
"x86: Exception hooks for userspace RCU extended QS".

The branch (rebase on top of your rcu/idle) is:

git://github.com/fweisbec/linux-dynticks.git
	rcu/idle-for-v3.7-take5

Diff against your rcu/idle:

diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index cb20776..3789675 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -232,8 +232,8 @@ DO_ERROR_INFO(X86_TRAP_AC, SIGBUS, "alignment check", alignment_check,
 dotraplinkage void do_stack_segment(struct pt_regs *regs, long error_code)
 {
 	exception_enter(regs);
-	if (!notify_die(DIE_TRAP, "stack segment", regs, error_code,
-		       X86_TRAP_SS, SIGBUS) == NOTIFY_STOP) {
+	if (notify_die(DIE_TRAP, "stack segment", regs, error_code,
+		       X86_TRAP_SS, SIGBUS) != NOTIFY_STOP) {
 		preempt_conditional_sti(regs);
 		do_trap(X86_TRAP_SS, SIGBUS, "stack segment", regs, error_code, NULL);
 		preempt_conditional_cli(regs);
@@ -285,8 +285,8 @@ do_general_protection(struct pt_regs *regs, long error_code)
 
 		tsk->thread.error_code = error_code;
 		tsk->thread.trap_nr = X86_TRAP_GP;
-		if (!notify_die(DIE_GPF, "general protection fault", regs, error_code,
-			       X86_TRAP_GP, SIGSEGV) == NOTIFY_STOP)
+		if (notify_die(DIE_GPF, "general protection fault", regs, error_code,
+			       X86_TRAP_GP, SIGSEGV) != NOTIFY_STOP)
 			die("general protection fault", regs, error_code);
 		goto exit;
 	}
@@ -678,8 +678,8 @@ dotraplinkage void do_iret_error(struct pt_regs *regs, long error_code)
 	info.si_errno = 0;
 	info.si_code = ILL_BADSTK;
 	info.si_addr = NULL;
-	if (!notify_die(DIE_TRAP, "iret exception", regs, error_code,
-			X86_TRAP_IRET, SIGILL) == NOTIFY_STOP) {
+	if (notify_die(DIE_TRAP, "iret exception", regs, error_code,
+			X86_TRAP_IRET, SIGILL) != NOTIFY_STOP) {
 		do_trap(X86_TRAP_IRET, SIGILL, "iret exception", regs, error_code,
 			&info);
 	}
diff --git a/kernel/rcutree.c b/kernel/rcutree.c
index 72453cf..4fb2376 100644
--- a/kernel/rcutree.c
+++ b/kernel/rcutree.c
@@ -418,6 +418,17 @@ void rcu_user_enter(void)
 	unsigned long flags;
 	struct rcu_dynticks *rdtp;
 
+	/*
+	 * Some contexts may involve an exception occuring in an irq,
+	 * leading to that nesting:
+	 * rcu_irq_enter() rcu_user_exit() rcu_user_exit() rcu_irq_exit()
+	 * This would mess up the dyntick_nesting count though. And rcu_irq_*()
+	 * helpers are enough to protect RCU uses inside the exception. So
+	 * just return immediately if we detect we are in an IRQ.
+	 */
+	if (in_interrupt())
+		return;
+
 	WARN_ON_ONCE(!current->mm);
 
 	local_irq_save(flags);
@@ -566,6 +577,17 @@ void rcu_user_exit(void)
 	unsigned long flags;
 	struct rcu_dynticks *rdtp;
 
+	/*
+	 * Some contexts may involve an exception occuring in an irq,
+	 * leading to that nesting:
+	 * rcu_irq_enter() rcu_user_exit() rcu_user_exit() rcu_irq_exit()
+	 * This would mess up the dyntick_nesting count though. And rcu_irq_*()
+	 * helpers are enough to protect RCU uses inside the exception. So
+	 * just return immediately if we detect we are in an IRQ.
+	 */
+	if (in_interrupt())
+		return;
+
 	local_irq_save(flags);
 	rdtp = &__get_cpu_var(rcu_dynticks);
 	if (rdtp->in_user) {


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-26 14:56                                                           ` Frederic Weisbecker
@ 2012-09-26 16:26                                                             ` Paul E. McKenney
  0 siblings, 0 replies; 41+ messages in thread
From: Paul E. McKenney @ 2012-09-26 16:26 UTC (permalink / raw)
  To: Frederic Weisbecker; +Cc: Sasha Levin, Michael Wang, Dave Jones, linux-kernel

On Wed, Sep 26, 2012 at 04:56:55PM +0200, Frederic Weisbecker wrote:
> 2012/9/25 Paul E. McKenney <paulmck@linux.vnet.ibm.com>:
> > On Tue, Sep 25, 2012 at 01:59:26PM +0200, Frederic Weisbecker wrote:
> >> Given that we have:
> >>
> >> rcu_irq_enter()
> >>       rcu_user_exit()
> >>       rcu_user_enter()
> >> rcu_irq_exit()
> >
> > Indeed, the code to deal with irq misnestings won't like that at all.
> > And we are in the kernel between rcu_user_exit() and rcu_user_enter()
> > (right?), so we could in fact see irq misnestings.
> 
> Exactly.
> 
> >> And we already have rcu_user_exit_after_irq(), this starts to be confusing
> >> if we allow that nesting. Although if we find a solution that, in the end,
> >> merge rcu_user_exit() with rcu_user_exit_after_irq() and same for the enter version,
> >> this would probably be a good thing. Provided this doesn't involve some more
> >> complicated rdtp->dyntick_nesting trickies nor more overhead.
> >>
> >> Otherwise we could avoid to call rcu_user_* when we are in an irq. When we'll have
> >> the user_hooks layer, we can perhaps manage that from that place. For
> >> now may be we can return after in_interrupt() in the rcu user apis.
> >
> > This last sounds best.
> 
> Ok.
> 
> > My main concern is irq misnesting.  We might need to do something ugly
> > like record the interrupt nesting level at rcu_user_exit() and restore
> > it at rcu_user_enter().  Sigh!!!
> 
> Right, but that doesn't seem to apply in x86? I suggest we start
> simple and think
> about some wider solution when more architecture implement this.

Fair enough -- for one thing, we will better understand what is required
when the problems are actually encountered.  Which will hopefully be
sooner rather than later.  ;-)

							Thanx, Paul


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: RCU idle CPU detection is broken in linux-next
  2012-09-26 15:46                                                       ` Frederic Weisbecker
@ 2012-09-26 16:59                                                         ` Paul E. McKenney
  0 siblings, 0 replies; 41+ messages in thread
From: Paul E. McKenney @ 2012-09-26 16:59 UTC (permalink / raw)
  To: Frederic Weisbecker; +Cc: Sasha Levin, Michael Wang, Dave Jones, linux-kernel

On Wed, Sep 26, 2012 at 05:46:13PM +0200, Frederic Weisbecker wrote:
> On Tue, Sep 25, 2012 at 11:36:54AM -0700, Paul E. McKenney wrote:
> > On Tue, Sep 25, 2012 at 08:28:23PM +0200, Sasha Levin wrote:
> > > On 09/25/2012 02:06 PM, Frederic Weisbecker wrote:
> > > > Sasha, sorry to burden you with more testing request.
> > > > Could you please try out this new branch? It includes some fixes after Wu Fenguang and
> > > > Dan Carpenter reports (not related to your warnings though) and a patch on the top
> > > > of the pile to ensure I diagnosed well the problem, which return immediately from
> > > > rcu_user_*() APIs if we are in an interrupt.
> > > > 
> > > > This way we'll have a clearer view. I also would like to know if there are other
> > > > problems with the rcu user mode.
> > > > 
> > > > Thanks!
> > > 
> > > Alrighty, I don't see any warnings anymore.
> > > 
> > > I'll keep everything running just in case.
> > 
> > Very good news!!!  Thank you both!!!
> 
> So, I've pushed the fixes in a new branch.
> 
> Changes are:
> 
> * Added in_interrupt() checks in "rcu: New rcu_user_enter() and rcu_user_exit() APIs"
> so that rcu_user_enter/exit() don't nest in rcu_irq_enter/exit().
> 
> We'll need a longer term solution I guess because of:
> 	- Irq bad nesting
> 	- An exception could happen in the middle of irq_exit(), although that's quite
> 	  unlikely (ie: between sub_preempt_count(HARDIRQ) and add_preempt_count(SOFTIRQ) or between
> 	  sub_preempt_count(SOFTIRQ or HARDIRQ) and rcu_irq_exit().
> 	  May be I should rather check for (rdtp->dynticks_nesting & (DYNTICK_TASK_FLAG -1))
> 	  to find out if we are in the middle of an irq from an RCU POV.
> 
> 
> * Fix the !notifie_die(...) == NOTIFY_STOP to become notifie_die(...) != NOTIFY_STOP.
> Reported by Wu Fenguang and Dan Carpenter. Fixes are folded inside:
> "x86: Exception hooks for userspace RCU extended QS".
> 
> The branch (rebase on top of your rcu/idle) is:
> 
> git://github.com/fweisbec/linux-dynticks.git
> 	rcu/idle-for-v3.7-take5

Thank you, Frederic!  I have pushed this to rcu/idle in -rcu, and am
testing in parallel.

							Thanx, Paul

> Diff against your rcu/idle:
> 
> diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
> index cb20776..3789675 100644
> --- a/arch/x86/kernel/traps.c
> +++ b/arch/x86/kernel/traps.c
> @@ -232,8 +232,8 @@ DO_ERROR_INFO(X86_TRAP_AC, SIGBUS, "alignment check", alignment_check,
>  dotraplinkage void do_stack_segment(struct pt_regs *regs, long error_code)
>  {
>  	exception_enter(regs);
> -	if (!notify_die(DIE_TRAP, "stack segment", regs, error_code,
> -		       X86_TRAP_SS, SIGBUS) == NOTIFY_STOP) {
> +	if (notify_die(DIE_TRAP, "stack segment", regs, error_code,
> +		       X86_TRAP_SS, SIGBUS) != NOTIFY_STOP) {
>  		preempt_conditional_sti(regs);
>  		do_trap(X86_TRAP_SS, SIGBUS, "stack segment", regs, error_code, NULL);
>  		preempt_conditional_cli(regs);
> @@ -285,8 +285,8 @@ do_general_protection(struct pt_regs *regs, long error_code)
> 
>  		tsk->thread.error_code = error_code;
>  		tsk->thread.trap_nr = X86_TRAP_GP;
> -		if (!notify_die(DIE_GPF, "general protection fault", regs, error_code,
> -			       X86_TRAP_GP, SIGSEGV) == NOTIFY_STOP)
> +		if (notify_die(DIE_GPF, "general protection fault", regs, error_code,
> +			       X86_TRAP_GP, SIGSEGV) != NOTIFY_STOP)
>  			die("general protection fault", regs, error_code);
>  		goto exit;
>  	}
> @@ -678,8 +678,8 @@ dotraplinkage void do_iret_error(struct pt_regs *regs, long error_code)
>  	info.si_errno = 0;
>  	info.si_code = ILL_BADSTK;
>  	info.si_addr = NULL;
> -	if (!notify_die(DIE_TRAP, "iret exception", regs, error_code,
> -			X86_TRAP_IRET, SIGILL) == NOTIFY_STOP) {
> +	if (notify_die(DIE_TRAP, "iret exception", regs, error_code,
> +			X86_TRAP_IRET, SIGILL) != NOTIFY_STOP) {
>  		do_trap(X86_TRAP_IRET, SIGILL, "iret exception", regs, error_code,
>  			&info);
>  	}
> diff --git a/kernel/rcutree.c b/kernel/rcutree.c
> index 72453cf..4fb2376 100644
> --- a/kernel/rcutree.c
> +++ b/kernel/rcutree.c
> @@ -418,6 +418,17 @@ void rcu_user_enter(void)
>  	unsigned long flags;
>  	struct rcu_dynticks *rdtp;
> 
> +	/*
> +	 * Some contexts may involve an exception occuring in an irq,
> +	 * leading to that nesting:
> +	 * rcu_irq_enter() rcu_user_exit() rcu_user_exit() rcu_irq_exit()
> +	 * This would mess up the dyntick_nesting count though. And rcu_irq_*()
> +	 * helpers are enough to protect RCU uses inside the exception. So
> +	 * just return immediately if we detect we are in an IRQ.
> +	 */
> +	if (in_interrupt())
> +		return;
> +
>  	WARN_ON_ONCE(!current->mm);
> 
>  	local_irq_save(flags);
> @@ -566,6 +577,17 @@ void rcu_user_exit(void)
>  	unsigned long flags;
>  	struct rcu_dynticks *rdtp;
> 
> +	/*
> +	 * Some contexts may involve an exception occuring in an irq,
> +	 * leading to that nesting:
> +	 * rcu_irq_enter() rcu_user_exit() rcu_user_exit() rcu_irq_exit()
> +	 * This would mess up the dyntick_nesting count though. And rcu_irq_*()
> +	 * helpers are enough to protect RCU uses inside the exception. So
> +	 * just return immediately if we detect we are in an IRQ.
> +	 */
> +	if (in_interrupt())
> +		return;
> +
>  	local_irq_save(flags);
>  	rdtp = &__get_cpu_var(rcu_dynticks);
>  	if (rdtp->in_user) {
> 


^ permalink raw reply	[flat|nested] 41+ messages in thread

end of thread, other threads:[~2012-09-26 17:00 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-12 17:56 RCU idle CPU detection is broken in linux-next Sasha Levin
2012-09-19 15:39 ` Paul E. McKenney
2012-09-19 16:35   ` Sasha Levin
2012-09-19 17:06     ` Paul E. McKenney
2012-09-19 22:27       ` Sasha Levin
2012-09-20  7:33       ` Michael Wang
2012-09-20  7:44         ` Sasha Levin
2012-09-20  8:14           ` Michael Wang
2012-09-20 15:23           ` Paul E. McKenney
2012-09-21  9:30             ` Sasha Levin
2012-09-21 12:13               ` Paul E. McKenney
2012-09-21 13:26                 ` Sasha Levin
2012-09-21 15:12                   ` Paul E. McKenney
2012-09-21 15:18                     ` Sasha Levin
2012-09-22  8:26                       ` Sasha Levin
2012-09-22 15:09                         ` Paul E. McKenney
2012-09-22 15:20                           ` Paul E. McKenney
2012-09-22 15:40                           ` Sasha Levin
2012-09-22 15:56                             ` Paul E. McKenney
2012-09-22 17:50                               ` Sasha Levin
2012-09-22 21:27                                 ` Paul E. McKenney
2012-09-23  0:21                                   ` Paul E. McKenney
2012-09-23  5:39                                     ` Sasha Levin
2012-09-24 21:29                                       ` Frederic Weisbecker
2012-09-24 22:47                                         ` Sasha Levin
2012-09-24 22:54                                           ` Sasha Levin
2012-09-24 23:06                                             ` Frederic Weisbecker
2012-09-24 23:10                                               ` Sasha Levin
2012-09-24 23:35                                                 ` Frederic Weisbecker
2012-09-24 23:41                                                   ` Frederic Weisbecker
2012-09-25  4:04                                                     ` Paul E. McKenney
2012-09-25 11:59                                                       ` Frederic Weisbecker
2012-09-25 13:04                                                         ` Paul E. McKenney
2012-09-26 14:56                                                           ` Frederic Weisbecker
2012-09-26 16:26                                                             ` Paul E. McKenney
2012-09-25 12:06                                                 ` Frederic Weisbecker
2012-09-25 18:28                                                   ` Sasha Levin
2012-09-25 18:36                                                     ` Paul E. McKenney
2012-09-26 15:46                                                       ` Frederic Weisbecker
2012-09-26 16:59                                                         ` Paul E. McKenney
2012-09-26 14:58                                                     ` Frederic Weisbecker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).