x86: don't ever patch back to UP if we unplug cpus.
Subsystems (4)
PATCH 1/1 x86: don't ever patch back to UP if we unplug cpus.
Paul McKenney points out:
mean offline overhead is 6251/48=130.2 milliseconds.
If I remove the alternatives_smp_switch() from the offline path [...] the mean offline overhead is 550/42=13.1 milliseconds
Basically, we're never going to get those 120ms back, and the code is pretty messy.
We get rid of:
1) The "smp-alt-once" boot option. It's actually "smp-alt-boot", the documentation is wrong. It's now the default.
2) The skip_smp_alternatives flag used by suspend.
3) arch_disable_nonboot_cpus_begin() and arch_disable_nonboot_cpus_end() which were only used to set this one flag.
--- Documentation/kernel-parameters.txt | 3 - arch/x86/include/asm/alternative.h | 4 - arch/x86/kernel/alternative.c | 104 +++++++----------------------------- arch/x86/kernel/smpboot.c | 20 ------ kernel/cpu.c | 11 --- 5 files changed, 27 insertions(+), 115 deletions(-)
Documentation/kernel-parameters.txt +0 -3
@@ -2638,9 +2638,6 @@ bytes respectively. Such letter suffixes smart2= [HW] Format: <io1>[,<io2>[,...,<io8>]] - smp-alt-once [X86-32,SMP] On a hotplug CPU system, only - attempt to substitute SMP alternatives once at boot. - smsc-ircc2.nopnp [HW] Don't use PNP to discover SMC devices smsc-ircc2.ircc_cfg= [HW] Device configuration I/O port smsc-ircc2.ircc_sir= [HW] SIR base I/O port
arch/x86/include/asm/alternative.h +2 -2
@@ -60,7 +60,7 @@ extern void alternatives_smp_module_add( void *locks, void *locks_end, void *text, void *text_end);extern void alternatives_smp_module_del (struct module *mod); -extern void alternatives_smp_switch (int smp); +extern void alternatives_enable_smp (void );extern int alternatives_text_reserved (void *start,void *end);extern bool skip_smp_alternatives;#else
@@ -68,7 +68,7 @@ static inline void alternatives_smp_modu void *locks, void *locks_end, void *text, void *text_end) {} static inline void alternatives_smp_module_del(struct module *mod) {} -static inline void alternatives_smp_switch(int smp) {} +static inline void alternatives_enable_smp(void) {} static inline int alternatives_text_reserved(void *start, void *end) { return 0;
arch/x86/kernel/alternative.c +23 -81
183 lines not on this page · raw message
arch/x86/kernel/smpboot.c +2 -18
@@ -665,7 +665,8 @@ static int __cpuinit do_boot_cpu(int apiunsigned long boot_error =0 ;int timeout; -alternatives_smp_switch (1 ); +/* Just in case we booted with a single CPU. */ +alternatives_enable_smp (); idle->thread.sp = (unsigned long ) (((struct pt_regs *) (THREAD_SIZE +task_stack_page (idle))) -1 );
@@ -1053,20 +1054,6 @@ out:preempt_enable (); } -void arch_disable_nonboot_cpus_begin (void ) -{ -/* -* Avoid the smp alternatives switch during the disable_nonboot_cpus(). -* In the suspend path, we will be back in the SMP mode shortly anyways. -*/ - skip_smp_alternatives = true; -} - -void arch_disable_nonboot_cpus_end (void ) -{ - skip_smp_alternatives = false; -} -void arch_enable_nonboot_cpus_begin (void ) {set_mtrr_aps_delayed_init ();
@@ -1256,9 +1243,6 @@ void native_cpu_die(unsigned int cpu)if (per_cpu (cpu_state, cpu) ==CPU_DEAD ) {if (system_state ==SYSTEM_RUNNING )pr_info ("CPU %u is now offline\n" , cpu); - -if (1 ==num_online_cpus ()) -alternatives_smp_switch (0 );return ; }msleep (100 );
kernel/cpu.c +0 -11
@@ -439,14 +439,6 @@ EXPORT_SYMBOL_GPL(cpu_up);#ifdef CONFIG_PM_SLEEP_SMP static cpumask_var_t frozen_cpus; -void __weak arch_disable_nonboot_cpus_begin (void ) -{ -} - -void __weak arch_disable_nonboot_cpus_end (void ) -{ -} -int disable_nonboot_cpus (void ) {int cpu, first_cpu, error =0 ;
@@ -458,7 +450,6 @@ int disable_nonboot_cpus(void)* with the userspace trying to use the CPU hotplug at the same time */ cpumask_clear (frozen_cpus); -arch_disable_nonboot_cpus_begin ();printk ("Disabling non-boot CPUs ...\n" );for_each_online_cpu (cpu) {
@@ -474,8 +465,6 @@ int disable_nonboot_cpus(void) } } -arch_disable_nonboot_cpus_end (); -if (!error) {BUG_ON (num_online_cpus () >1 );/* Make sure the CPUs won't be enabled by someone else */
Quoted 9 lines · Rusty Russell
Paul McKenney points out:
mean offline overhead is 6251/48=130.2 milliseconds.
If I remove the
alternatives_smp_switch()from the offline path [...] the mean offline overhead is 550/42=13.1 millisecondsBasically, we're never going to get those 120ms back, and the code is pretty messy.
I am ok with this proposal. If I follow correctly, you are still allowing the patching to UP happen on boot if there is only one online cpu currently but a possiblity of multiple cpu's that can come online later. Perhaps make this little more explicit in the changelog.
Also,
arch/x86/kernel/alternative.c void __init alternative_instructions(voi · line 507
Quoted 2 lines
arch/x86/kernel/alternative.c +2
-0+/* Patch to UP if other cpus not imminent. */ +if (noreplace_smp ||num_present_cpus () ==1 || setup_max_cpus <=1 ) {
shouldn't this be
if (!noreplace_smp && (num_present_cpus() == 1 || setup_max_cpus <= 1))
also, to be consistent with other checks, may be just use "num_possible_cpus() == 1" check instead of "setup_max_cpus <= 1".
thanks,
suresh
Quoted 96 lines
arch/x86/kernel/alternative.c +2
-6+ uniproc_patched = true;alternatives_smp_module_add (NULL ,"core kernel" , __smp_locks, __smp_locks_end, _text, _etext); - -/* Only switch to UP mode if we don't immediately boot others */ -if (num_present_cpus () ==1 || setup_max_cpus <=1 ) - alternatives_smp_switch(0); } -#endif apply_paravirt (__parainstructions, __parainstructions_end); -if (smp_alt_once) +if (!uniproc_patched ||num_possible_cpus () ==1 )free_init_pages ("SMP alternatives" , (unsigned long )__smp_locks, (unsigned long )__smp_locks_end);arch/x86/kernel/smpboot.c +2
-18@@ -665,7 +665,8 @@ static int __cpuinit do_boot_cpu(int apiunsigned long boot_error =0 ;int timeout; -alternatives_smp_switch (1 ); +/* Just in case we booted with a single CPU. */ +alternatives_enable_smp (); idle->thread.sp = (unsigned long ) (((struct pt_regs *) (THREAD_SIZE +task_stack_page (idle))) -1 );@@ -1053,20 +1054,6 @@ out:preempt_enable (); } -void arch_disable_nonboot_cpus_begin (void ) -{ -/* -* Avoid the smp alternatives switch during the disable_nonboot_cpus(). -* In the suspend path, we will be back in the SMP mode shortly anyways. -*/ - skip_smp_alternatives = true; -} - -void arch_disable_nonboot_cpus_end (void ) -{ - skip_smp_alternatives = false; -} -void arch_enable_nonboot_cpus_begin (void ) {set_mtrr_aps_delayed_init ();@@ -1256,9 +1243,6 @@ void native_cpu_die(unsigned int cpu)if (per_cpu (cpu_state, cpu) ==CPU_DEAD ) {if (system_state ==SYSTEM_RUNNING )pr_info ("CPU %u is now offline\n" , cpu); - -if (1 ==num_online_cpus ()) -alternatives_smp_switch (0 );return ; }msleep (100 );kernel/cpu.c +0
-11@@ -439,14 +439,6 @@ EXPORT_SYMBOL_GPL(cpu_up);#ifdef CONFIG_PM_SLEEP_SMP static cpumask_var_t frozen_cpus; -void __weak arch_disable_nonboot_cpus_begin (void ) -{ -} - -void __weak arch_disable_nonboot_cpus_end (void ) -{ -} -int disable_nonboot_cpus (void ) {int cpu, first_cpu, error =0 ;@@ -458,7 +450,6 @@ int disable_nonboot_cpus(void)* with the userspace trying to use the CPU hotplug at the same time */ cpumask_clear (frozen_cpus); -arch_disable_nonboot_cpus_begin ();printk ("Disabling non-boot CPUs ...\n" );for_each_online_cpu (cpu) {@@ -474,8 +465,6 @@ int disable_nonboot_cpus(void) } } -arch_disable_nonboot_cpus_end (); -if (!error) {BUG_ON (num_online_cpus () >1 );/* Make sure the CPUs won't be enabled by someone else */
Quoted 8 lines · Suresh Siddha
Quoted 7 lines · Rusty Russell
Paul McKenney points out:
mean offline overhead is 6251/48=130.2 milliseconds.
If I remove the
alternatives_smp_switch()from the offline path [...] the mean offline overhead is 550/42=13.1 milliseconds
Quoted 7 lines
Quoted 2 lines
Basically, we're never going to get those 120ms back, and the code is pretty messy.
I am ok with this proposal. If I follow correctly, you are still allowing the patching to UP happen on boot if there is only one online cpu currently but a possiblity of multiple cpu's that can come online later. Perhaps make this little more explicit in the changelog.
That's right. How's this:
Subject: x86: don't ever patch back to UP if we unplug cpus.
We still patch SMP instructions to UP variants if we boot with a single CPU, but not at any other time. In particular, not if we unplug CPUs to return to a single cpu.
Paul McKenney points out:
mean offline overhead is 6251/48=130.2 milliseconds.
If I remove the alternatives_smp_switch() from the offline path [...] the mean offline overhead is 550/42=13.1 milliseconds
Basically, we're never going to get those 120ms back, and the code is pretty messy.
We get rid of:
1) The "smp-alt-once" boot option. It's actually "smp-alt-boot", the documentation is wrong. It's now the default.
2) The skip_smp_alternatives flag used by suspend.
3) arch_disable_nonboot_cpus_begin() and arch_disable_nonboot_cpus_end() which were only used to set this one flag.
Quoted 8 lines
Also,
arch/x86/kernel/alternative.c void __init alternative_instructions(voi · line 507
Quoted 2 lines
arch/x86/kernel/alternative.c +2
-0+/* Patch to UP if other cpus not imminent. */ +if (noreplace_smp ||num_present_cpus () ==1 || setup_max_cpus <=1 ) {shouldn't this be
if (!noreplace_smp && (num_present_cpus() == 1 || setup_max_cpus <= 1))
Yes, good point.
Quoted 2 lines
also, to be consistent with other checks, may be just use "
num_possible_cpus()== 1" check instead of "setup_max_cpus<= 1".
I think that should work. Will test variations...
Thanks,
Rusty.
PATCH v2 1/1 x86: don't ever patch back to UP if we unplug cpus.
We still patch SMP instructions to UP variants if we boot with a single CPU, but not at any other time. In particular, not if we unplug CPUs to return to a single cpu.
Paul McKenney points out:
mean offline overhead is 6251/48=130.2 milliseconds.
If I remove the alternatives_smp_switch() from the offline path [...] the mean offline overhead is 550/42=13.1 milliseconds
Basically, we're never going to get those 120ms back, and the code is pretty messy.
We get rid of:
1) The "smp-alt-once" boot option. It's actually "smp-alt-boot", the documentation is wrong. It's now the default.
2) The skip_smp_alternatives flag used by suspend.
3) arch_disable_nonboot_cpus_begin() and arch_disable_nonboot_cpus_end() which were only used to set this one flag.
--- Documentation/kernel-parameters.txt | 3 - arch/x86/include/asm/alternative.h | 4 - arch/x86/kernel/alternative.c | 104 +++++++----------------------------- arch/x86/kernel/smpboot.c | 20 ------ kernel/cpu.c | 11 --- 5 files changed, 27 insertions(+), 115 deletions(-)
Documentation/kernel-parameters.txt +0 -3
@@ -2638,9 +2638,6 @@ bytes respectively. Such letter suffixes smart2= [HW] Format: <io1>[,<io2>[,...,<io8>]] - smp-alt-once [X86-32,SMP] On a hotplug CPU system, only - attempt to substitute SMP alternatives once at boot. - smsc-ircc2.nopnp [HW] Don't use PNP to discover SMC devices smsc-ircc2.ircc_cfg= [HW] Device configuration I/O port smsc-ircc2.ircc_sir= [HW] SIR base I/O port
arch/x86/include/asm/alternative.h +2 -2
@@ -60,7 +60,7 @@ extern void alternatives_smp_module_add( void *locks, void *locks_end, void *text, void *text_end);extern void alternatives_smp_module_del (struct module *mod); -extern void alternatives_smp_switch (int smp); +extern void alternatives_enable_smp (void );extern int alternatives_text_reserved (void *start,void *end);extern bool skip_smp_alternatives;#else
@@ -68,7 +68,7 @@ static inline void alternatives_smp_modu void *locks, void *locks_end, void *text, void *text_end) {} static inline void alternatives_smp_module_del(struct module *mod) {} -static inline void alternatives_smp_switch(int smp) {} +static inline void alternatives_enable_smp(void) {} static inline int alternatives_text_reserved(void *start, void *end) { return 0;
arch/x86/kernel/alternative.c +23 -81
183 lines not on this page · raw message
arch/x86/kernel/smpboot.c +2 -18
@@ -665,7 +665,8 @@ static int __cpuinit do_boot_cpu(int apiunsigned long boot_error =0 ;int timeout; -alternatives_smp_switch (1 ); +/* Just in case we booted with a single CPU. */ +alternatives_enable_smp (); idle->thread.sp = (unsigned long ) (((struct pt_regs *) (THREAD_SIZE +task_stack_page (idle))) -1 );
@@ -1053,20 +1054,6 @@ out:preempt_enable (); } -void arch_disable_nonboot_cpus_begin (void ) -{ -/* -* Avoid the smp alternatives switch during the disable_nonboot_cpus(). -* In the suspend path, we will be back in the SMP mode shortly anyways. -*/ - skip_smp_alternatives = true; -} - -void arch_disable_nonboot_cpus_end (void ) -{ - skip_smp_alternatives = false; -} -void arch_enable_nonboot_cpus_begin (void ) {set_mtrr_aps_delayed_init ();
@@ -1256,9 +1243,6 @@ void native_cpu_die(unsigned int cpu)if (per_cpu (cpu_state, cpu) ==CPU_DEAD ) {if (system_state ==SYSTEM_RUNNING )pr_info ("CPU %u is now offline\n" , cpu); - -if (1 ==num_online_cpus ()) -alternatives_smp_switch (0 );return ; }msleep (100 );
kernel/cpu.c +0 -11
@@ -439,14 +439,6 @@ EXPORT_SYMBOL_GPL(cpu_up);#ifdef CONFIG_PM_SLEEP_SMP static cpumask_var_t frozen_cpus; -void __weak arch_disable_nonboot_cpus_begin (void ) -{ -} - -void __weak arch_disable_nonboot_cpus_end (void ) -{ -} -int disable_nonboot_cpus (void ) {int cpu, first_cpu, error =0 ;
@@ -458,7 +450,6 @@ int disable_nonboot_cpus(void)* with the userspace trying to use the CPU hotplug at the same time */ cpumask_clear (frozen_cpus); -arch_disable_nonboot_cpus_begin ();printk ("Disabling non-boot CPUs ...\n" );for_each_online_cpu (cpu) {
@@ -474,8 +465,6 @@ int disable_nonboot_cpus(void) } } -arch_disable_nonboot_cpus_end (); -if (!error) {BUG_ON (num_online_cpus () >1 );/* Make sure the CPUs won't be enabled by someone else */
Quoted 14 lines · Rusty Russell
We still patch SMP instructions to UP variants if we boot with a single CPU, but not at any other time. In particular, not if we unplug CPUs to return to a single cpu.
Paul McKenney points out:
mean offline overhead is 6251/48=130.2 milliseconds.
If I remove the
alternatives_smp_switch()from the offline path [...] the mean offline overhead is 550/42=13.1 millisecondsBasically, we're never going to get those 120ms back, and the code is pretty messy.
Quoted 8 lines
We get rid of:
1) The "smp-alt-once" boot option. It's actually "smp-alt-boot", the documentation is wrong. It's now the default.
2) Theskip_smp_alternativesflag used by suspend.
3)arch_disable_nonboot_cpus_begin()andarch_disable_nonboot_cpus_end()which were only used to set this one flag.Signed-off-by Rusty Russell <[email protected]>
Quoted 21 lines · Rusty Russell
We still patch SMP instructions to UP variants if we boot with a single CPU, but not at any other time. In particular, not if we unplug CPUs to return to a single cpu.
Paul McKenney points out:
mean offline overhead is 6251/48=130.2 milliseconds.
If I remove the
alternatives_smp_switch()from the offline path [...] the mean offline overhead is 550/42=13.1 millisecondsBasically, we're never going to get those 120ms back, and the code is pretty messy.
We get rid of:
1) The "smp-alt-once" boot option. It's actually "smp-alt-boot", the documentation is wrong. It's now the default.
2) Theskip_smp_alternativesflag used by suspend.
3)arch_disable_nonboot_cpus_begin()andarch_disable_nonboot_cpus_end()which were only used to set this one flag.
Quoted 8 lines
Signed-off-by Rusty Russell <[email protected]>--- Documentation/kernel-parameters.txt | 3 - arch/x86/include/asm/alternative.h | 4 - arch/x86/kernel/alternative.c | 104 +++++++----------------------------- arch/x86/kernel/smpboot.c | 20 ------ kernel/cpu.c | 11 --- 5 files changed, 27 insertions(+), 115 deletions(-)
and this version breaks the build on allyesconfig-x86-64:
arch/x86/xen/smp.c:380:3: error: implicit declaration of function ‘alternatives_smp_switch’ [-Werror=implicit-function-declaration]
Thanks,
Ingo
Quoted 33 lines · Ingo Molnar
Quoted 21 lines · Rusty Russell
We still patch SMP instructions to UP variants if we boot with a single CPU, but not at any other time. In particular, not if we unplug CPUs to return to a single cpu.
Paul McKenney points out:
mean offline overhead is 6251/48=130.2 milliseconds.
If I remove the
alternatives_smp_switch()from the offline path [...] the mean offline overhead is 550/42=13.1 millisecondsBasically, we're never going to get those 120ms back, and the code is pretty messy.
We get rid of:
1) The "smp-alt-once" boot option. It's actually "smp-alt-boot", the documentation is wrong. It's now the default.
2) Theskip_smp_alternativesflag used by suspend.
3)arch_disable_nonboot_cpus_begin()andarch_disable_nonboot_cpus_end()which were only used to set this one flag.Quoted 8 lines
Signed-off-by Rusty Russell <[email protected]>--- Documentation/kernel-parameters.txt | 3 - arch/x86/include/asm/alternative.h | 4 - arch/x86/kernel/alternative.c | 104 +++++++----------------------------- arch/x86/kernel/smpboot.c | 20 ------ kernel/cpu.c | 11 --- 5 files changed, 27 insertions(+), 115 deletions(-)
Quoted 3 lines
and this version breaks the build on allyesconfig-x86-64:
arch/x86/xen/smp.c:380:3: error: implicit declaration of function ‘alternatives_smp_switch’ [-Werror=implicit-function-declaration]
Thanks, grepped harder. Xen fixed now, thanks.
Cheers,
Rusty.
Subject: x86/smp: Don't ever patch back to UP if we unplug cpus
We still patch SMP instructions to UP variants if we boot with a single CPU, but not at any other time. In particular, not if we unplug CPUs to return to a single cpu.
Paul McKenney points out:
mean offline overhead is 6251/48=130.2 milliseconds.
If I remove the alternatives_smp_switch() from the offline path [...] the mean offline overhead is 550/42=13.1 milliseconds
Basically, we're never going to get those 120ms back, and the code is pretty messy.
We get rid of:
1) The "smp-alt-once" boot option. It's actually "smp-alt-boot", the documentation is wrong. It's now the default.
2) The skip_smp_alternatives flag used by suspend.
3) arch_disable_nonboot_cpus_begin() and arch_disable_nonboot_cpus_end() which were only used to set this one flag.
Documentation/kernel-parameters.txt +0 -3
@@ -2638,9 +2638,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted. smart2= [HW] Format: <io1>[,<io2>[,...,<io8>]] - smp-alt-once [X86-32,SMP] On a hotplug CPU system, only - attempt to substitute SMP alternatives once at boot. - smsc-ircc2.nopnp [HW] Don't use PNP to discover SMC devices smsc-ircc2.ircc_cfg= [HW] Device configuration I/O port smsc-ircc2.ircc_sir= [HW] SIR base I/O port
arch/x86/include/asm/alternative.h +2 -2
@@ -60,7 +60,7 @@ extern void alternatives_smp_module_add(struct module *mod, char *name, void *locks, void *locks_end, void *text, void *text_end);extern void alternatives_smp_module_del (struct module *mod); -extern void alternatives_smp_switch (int smp); +extern void alternatives_enable_smp (void );extern int alternatives_text_reserved (void *start,void *end);extern bool skip_smp_alternatives;#else
@@ -68,7 +68,7 @@ static inline void alternatives_smp_module_add(struct module *mod, char *name, void *locks, void *locks_end, void *text, void *text_end) {} static inline void alternatives_smp_module_del(struct module *mod) {} -static inline void alternatives_smp_switch(int smp) {} +static inline void alternatives_enable_smp(void) {} static inline int alternatives_text_reserved(void *start, void *end) { return 0;
arch/x86/kernel/alternative.c +26 -81
189 lines not on this page · raw message
arch/x86/kernel/smpboot.c +2 -18
@@ -665,7 +665,8 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu, struct task_struct *idle)unsigned long boot_error =0 ;int timeout; -alternatives_smp_switch (1 ); +/* Just in case we booted with a single CPU. */ +alternatives_enable_smp (); idle->thread.sp = (unsigned long ) (((struct pt_regs *) (THREAD_SIZE +task_stack_page (idle))) -1 );
@@ -1053,20 +1054,6 @@ out:preempt_enable (); } -void arch_disable_nonboot_cpus_begin (void ) -{ -/* -* Avoid the smp alternatives switch during the disable_nonboot_cpus(). -* In the suspend path, we will be back in the SMP mode shortly anyways. -*/ - skip_smp_alternatives = true; -} - -void arch_disable_nonboot_cpus_end (void ) -{ - skip_smp_alternatives = false; -} -void arch_enable_nonboot_cpus_begin (void ) {set_mtrr_aps_delayed_init ();
@@ -1256,9 +1243,6 @@ void native_cpu_die(unsigned int cpu)if (per_cpu (cpu_state, cpu) ==CPU_DEAD ) {if (system_state ==SYSTEM_RUNNING )pr_info ("CPU %u is now offline\n" , cpu); - -if (1 ==num_online_cpus ()) -alternatives_smp_switch (0 );return ; }msleep (100 );
arch/x86/xen/smp.c +2 -4
@@ -377,7 +377,8 @@ static int __cpuinit xen_cpu_up(unsigned int cpu, struct task_struct *idle)return rc;if (num_online_cpus () ==1 ) -alternatives_smp_switch (1 ); +/* Just in case we booted with a single CPU. */ +alternatives_enable_smp (); rc =xen_smp_intr_init (cpu);if (rc)
@@ -424,9 +425,6 @@ static void xen_cpu_die(unsigned int cpu)unbind_from_irqhandler (per_cpu (xen_irq_work, cpu),NULL );xen_uninit_lock_cpu (cpu);xen_teardown_timer (cpu); - -if (num_online_cpus () ==1 ) -alternatives_smp_switch (0 ); }static void __cpuinit xen_play_dead (void )/* used only with HOTPLUG_CPU */
kernel/cpu.c +0 -11
@@ -447,14 +447,6 @@ EXPORT_SYMBOL_GPL(cpu_up);#ifdef CONFIG_PM_SLEEP_SMP static cpumask_var_t frozen_cpus; -void __weak arch_disable_nonboot_cpus_begin (void ) -{ -} - -void __weak arch_disable_nonboot_cpus_end (void ) -{ -} -int disable_nonboot_cpus (void ) {int cpu, first_cpu, error =0 ;
@@ -466,7 +458,6 @@ int disable_nonboot_cpus(void)* with the userspace trying to use the CPU hotplug at the same time */ cpumask_clear (frozen_cpus); -arch_disable_nonboot_cpus_begin ();printk ("Disabling non-boot CPUs ...\n" );for_each_online_cpu (cpu) {
@@ -482,8 +473,6 @@ int disable_nonboot_cpus(void) } } -arch_disable_nonboot_cpus_end (); -if (!error) {BUG_ON (num_online_cpus () >1 );/* Make sure the CPUs won't be enabled by someone else */
Quoted 4 lines · Suresh Siddha
if (!noreplace_smp && (num_present_cpus() == 1 || setup_max_cpus <= 1))also, to be consistent with other checks, may be just use "
num_possible_cpus()== 1" check instead of "setup_max_cpus<= 1".
Actually, if you specify "maxcpus=1" on the kernel command line, you get num_possible_cpus() == 4, even though only one gets online.
So the setup_max_cpus check is in fact correct here.
Thanks!
Rusty.
Quoted 17 lines · Rusty Russell
Paul McKenney points out:
mean offline overhead is 6251/48=130.2 milliseconds.
If I remove the
alternatives_smp_switch()from the offline path [...] the mean offline overhead is 550/42=13.1 millisecondsBasically, we're never going to get those 120ms back, and the code is pretty messy.
We get rid of:
1) The "smp-alt-once" boot option. It's actually "smp-alt-boot", the documentation is wrong. It's now the default.
2) Theskip_smp_alternativesflag used by suspend.
3)arch_disable_nonboot_cpus_begin()andarch_disable_nonboot_cpus_end()which were only used to set this one flag.
Quoted 8 lines
Signed-off-by Rusty Russell <[email protected]>--- Documentation/kernel-parameters.txt | 3 - arch/x86/include/asm/alternative.h | 4 - arch/x86/kernel/alternative.c | 104 +++++++----------------------------- arch/x86/kernel/smpboot.c | 20 ------ kernel/cpu.c | 11 --- 5 files changed, 27 insertions(+), 115 deletions(-)
triggers this build failure:
arch/x86/kernel/alternative.c:507:36: error: ‘setup_max_cpus’ undeclared (first use in this function) arch/x86/kernel/alternative.c:508:3: error: ‘uniproc_patched’ undeclared (first use in this function)
on the attached UP config.
Thanks,
Ingo
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 3.5.0 Kernel Configuration
#CONFIG_64BIT=y
# CONFIG_X86_32 is not setCONFIG_X86_64=yCONFIG_X86=yCONFIG_INSTRUCTION_DECODER=yCONFIG_OUTPUT_FORMAT="elf64-x86-64"CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"CONFIG_LOCKDEP_SUPPORT=yCONFIG_STACKTRACE_SUPPORT=yCONFIG_HAVE_LATENCYTOP_SUPPORT=yCONFIG_MMU=yCONFIG_NEED_DMA_MAP_STATE=yCONFIG_NEED_SG_DMA_LENGTH=yCONFIG_GENERIC_ISA_DMA=yCONFIG_GENERIC_BUG=yCONFIG_GENERIC_BUG_RELATIVE_POINTERS=yCONFIG_GENERIC_HWEIGHT=yCONFIG_GENERIC_GPIO=yCONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not setCONFIG_RWSEM_XCHGADD_ALGORITHM=yCONFIG_GENERIC_CALIBRATE_DELAY=yCONFIG_ARCH_HAS_CPU_RELAX=yCONFIG_ARCH_HAS_DEFAULT_IDLE=yCONFIG_ARCH_HAS_CACHE_LINE_SIZE=yCONFIG_ARCH_HAS_CPU_AUTOPROBE=yCONFIG_HAVE_SETUP_PER_CPU_AREA=yCONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=yCONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=yCONFIG_ARCH_HIBERNATION_POSSIBLE=yCONFIG_ARCH_SUSPEND_POSSIBLE=yCONFIG_ZONE_DMA32=yCONFIG_AUDIT_ARCH=yCONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=yCONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=yCONFIG_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_BOOTPARAM_SUPPORT_NOT_WANTED=yCONFIG_ARCH_SUPPORTS_UPROBES=yCONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"CONFIG_HAVE_IRQ_WORK=yCONFIG_IRQ_WORK=yCONFIG_BUILDTIME_EXTABLE_SORT=y
#
# General setup
#CONFIG_EXPERIMENTAL=yCONFIG_BROKEN_BOOT_ALLOWED4=yCONFIG_BROKEN_BOOT_ALLOWED3=yCONFIG_BROKEN_BOOT_ALLOWED2=y
# CONFIG_BROKEN_BOOT_DISALLOWED is not set
# CONFIG_BROKEN_BOOT_ALLOWED is not setCONFIG_BROKEN_BOOT_EUROPE=yCONFIG_BROKEN_BOOT_TITAN=yCONFIG_BROKEN_ON_SMP=yCONFIG_INIT_ENV_ARG_LIMIT=32CONFIG_CROSS_COMPILE=""CONFIG_LOCALVERSION=""CONFIG_LOCALVERSION_AUTO=yCONFIG_HAVE_KERNEL_GZIP=yCONFIG_HAVE_KERNEL_BZIP2=yCONFIG_HAVE_KERNEL_LZMA=yCONFIG_HAVE_KERNEL_XZ=yCONFIG_HAVE_KERNEL_LZO=y
# CONFIG_KERNEL_GZIP is not set
# CONFIG_KERNEL_BZIP2 is not setCONFIG_KERNEL_LZMA=y
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not setCONFIG_DEFAULT_HOSTNAME="(none)"CONFIG_SWAP=yCONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_FHANDLE is not setCONFIG_TASKSTATS=y
# CONFIG_TASK_DELAY_ACCT is not set
# CONFIG_TASK_XACCT is not set
# CONFIG_AUDIT is not setCONFIG_HAVE_GENERIC_HARDIRQS=y
#
# IRQ subsystem
#CONFIG_GENERIC_HARDIRQS=yCONFIG_GENERIC_IRQ_PROBE=yCONFIG_GENERIC_IRQ_SHOW=yCONFIG_GENERIC_IRQ_CHIP=yCONFIG_IRQ_DOMAIN=y
# CONFIG_IRQ_DOMAIN_DEBUG is not setCONFIG_IRQ_FORCED_THREADING=yCONFIG_SPARSE_IRQ=yCONFIG_CLOCKSOURCE_WATCHDOG=yCONFIG_ARCH_CLOCKSOURCE_DATA=yCONFIG_GENERIC_TIME_VSYSCALL=yCONFIG_GENERIC_CLOCKEVENTS=yCONFIG_GENERIC_CLOCKEVENTS_BUILD=yCONFIG_GENERIC_CLOCKEVENTS_BROADCAST=yCONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=yCONFIG_GENERIC_CMOS_UPDATE=y
#
# Timers subsystem
#
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set
#
# RCU Subsystem
#CONFIG_TINY_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_TREE_RCU_TRACE is not setCONFIG_IKCONFIG=m
# CONFIG_IKCONFIG_PROC is not setCONFIG_LOG_BUF_SHIFT=20CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=yCONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_CGROUP_FREEZER is not set
# CONFIG_CGROUP_DEVICE is not set
# CONFIG_CPUSETS is not set
# CONFIG_CGROUP_CPUACCT is not setCONFIG_RESOURCE_COUNTERS=y
# CONFIG_CGROUP_MEM_RES_CTLR is not setCONFIG_CGROUP_PERF=y
# CONFIG_CGROUP_SCHED is not setCONFIG_BLK_CGROUP=y
# CONFIG_DEBUG_BLK_CGROUP is not set
# CONFIG_CHECKPOINT_RESTORE is not set
# CONFIG_NAMESPACES is not set
# CONFIG_SCHED_AUTOGROUP is not setCONFIG_SYSFS_DEPRECATED=y
# CONFIG_SYSFS_DEPRECATED_V2 is not setCONFIG_RELAY=y
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not setCONFIG_ANON_INODES=yCONFIG_EXPERT=yCONFIG_UID16=yCONFIG_KALLSYMS=yCONFIG_KALLSYMS_ALL=yCONFIG_HOTPLUG=yCONFIG_PRINTK=yCONFIG_BUG=yCONFIG_ELF_CORE=y
# CONFIG_PCSPKR_PLATFORM is not setCONFIG_HAVE_PCSPKR_PLATFORM=y
# CONFIG_BASE_FULL is not setCONFIG_FUTEX=y
# CONFIG_EPOLL is not setCONFIG_SIGNALFD=yCONFIG_TIMERFD=yCONFIG_EVENTFD=y
# CONFIG_SHMEM is not setCONFIG_AIO=y
# CONFIG_EMBEDDED is not setCONFIG_HAVE_PERF_EVENTS=y
#
# Kernel Performance Events And Counters
#CONFIG_PERF_EVENTS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not setCONFIG_VM_EVENT_COUNTERS=yCONFIG_PCI_QUIRKS=yCONFIG_SLUB_DEBUG=yCONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not setCONFIG_SLUB=y
# CONFIG_SLOB is not setCONFIG_PROFILING=yCONFIG_TRACEPOINTS=yCONFIG_OPROFILE=mCONFIG_OPROFILE_EVENT_MULTIPLEX=yCONFIG_HAVE_OPROFILE=yCONFIG_OPROFILE_NMI_TIMER=yCONFIG_KPROBES=y
# CONFIG_JUMP_LABEL is not setCONFIG_OPTPROBES=yCONFIG_UPROBES=yCONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=yCONFIG_KRETPROBES=yCONFIG_HAVE_IOREMAP_PROT=yCONFIG_HAVE_KPROBES=yCONFIG_HAVE_KRETPROBES=yCONFIG_HAVE_OPTPROBES=yCONFIG_HAVE_ARCH_TRACEHOOK=yCONFIG_HAVE_DMA_ATTRS=yCONFIG_GENERIC_SMP_IDLE_THREAD=yCONFIG_HAVE_REGS_AND_STACK_ACCESS_API=yCONFIG_HAVE_DMA_API_DEBUG=yCONFIG_HAVE_HW_BREAKPOINT=yCONFIG_HAVE_MIXED_BREAKPOINTS_REGS=yCONFIG_HAVE_USER_RETURN_NOTIFIER=yCONFIG_HAVE_PERF_EVENTS_NMI=yCONFIG_HAVE_ARCH_JUMP_LABEL=yCONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=yCONFIG_HAVE_ALIGNED_STRUCT_PAGE=yCONFIG_HAVE_CMPXCHG_LOCAL=yCONFIG_HAVE_CMPXCHG_DOUBLE=yCONFIG_ARCH_WANT_OLD_COMPAT_IPC=yCONFIG_HAVE_ARCH_SECCOMP_FILTER=y
#
# GCOV-based kernel profiling
#
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not setCONFIG_SLABINFO=yCONFIG_RT_MUTEXES=yCONFIG_BASE_SMALL=1CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not setCONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not setCONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not setCONFIG_BLOCK=yCONFIG_BLK_DEV_BSG=yCONFIG_BLK_DEV_BSGLIB=yCONFIG_BLK_DEV_INTEGRITY=yCONFIG_BLK_DEV_THROTTLING=y
#
# Partition Types
#CONFIG_PARTITION_ADVANCED=yCONFIG_ACORN_PARTITION=y
# CONFIG_ACORN_PARTITION_CUMANA is not setCONFIG_ACORN_PARTITION_EESOX=yCONFIG_ACORN_PARTITION_ICS=yCONFIG_ACORN_PARTITION_ADFS=yCONFIG_ACORN_PARTITION_POWERTEC=yCONFIG_ACORN_PARTITION_RISCIX=yCONFIG_OSF_PARTITION=yCONFIG_AMIGA_PARTITION=yCONFIG_ATARI_PARTITION=yCONFIG_MAC_PARTITION=yCONFIG_MSDOS_PARTITION=yCONFIG_BSD_DISKLABEL=y
# CONFIG_MINIX_SUBPARTITION is not setCONFIG_SOLARIS_X86_PARTITION=yCONFIG_UNIXWARE_DISKLABEL=y
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not setCONFIG_ULTRIX_PARTITION=y
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not setCONFIG_EFI_PARTITION=yCONFIG_SYSV68_PARTITION=yCONFIG_BLOCK_COMPAT=y
#
# IO Schedulers
#CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_DEADLINE=m CONFIG_IOSCHED_CFQ=m
# CONFIG_CFQ_GROUP_IOSCHED is not set CONFIG_DEFAULT_NOOP=y CONFIG_DEFAULT_IOSCHED="noop"
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set # CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set CONFIG_UNINLINE_SPIN_UNLOCK=y
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set # CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set # CONFIG_INLINE_READ_UNLOCK is not set
# CONFIG_INLINE_READ_UNLOCK_BH is not set # CONFIG_INLINE_READ_UNLOCK_IRQ is not set # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set # CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set # CONFIG_INLINE_WRITE_UNLOCK is not set
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set # CONFIG_MUTEX_SPIN_ON_OWNER is not set CONFIG_FREEZER=y
#
# Processor type and features
#CONFIG_ZONE_DMA=y
# CONFIG_SMP_SUPPORT is not setCONFIG_X86_MPPARSE=yCONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_SCHED_OMIT_FRAME_POINTER is not set
# CONFIG_KVMTOOL_TEST_ENABLE is not set
# CONFIG_PARAVIRT_GUEST is not setCONFIG_NO_BOOTMEM=yCONFIG_MEMTEST=y
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not setCONFIG_GENERIC_CPU=yCONFIG_X86_INTERNODE_CACHE_SHIFT=6CONFIG_X86_CMPXCHG=yCONFIG_X86_L1_CACHE_SHIFT=6CONFIG_X86_XADD=yCONFIG_X86_WP_WORKS_OK=yCONFIG_X86_TSC=yCONFIG_X86_CMPXCHG64=yCONFIG_X86_CMOV=yCONFIG_X86_MINIMUM_CPU_FAMILY=64CONFIG_X86_DEBUGCTLMSR=y
# CONFIG_PROCESSOR_SELECT is not setCONFIG_CPU_SUP_INTEL=yCONFIG_CPU_SUP_AMD=yCONFIG_CPU_SUP_CENTAUR=yCONFIG_HPET_TIMER=yCONFIG_HPET_EMULATE_RTC=y
# CONFIG_DMI is not set
# CONFIG_GART_IOMMU is not set
# CONFIG_CALGARY_IOMMU is not setCONFIG_SWIOTLB=yCONFIG_IOMMU_HELPER=yCONFIG_NR_CPUS=1
# CONFIG_IRQ_TIME_ACCOUNTING is not setCONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not setCONFIG_X86_LOCAL_APIC=yCONFIG_X86_IO_APIC=yCONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
# CONFIG_X86_MCE is not setCONFIG_I8K=m
# CONFIG_MICROCODE is not set
# CONFIG_X86_MSR is not setCONFIG_X86_CPUID=mCONFIG_UP_WANTED_1=yCONFIG_UP_WANTED_2=yCONFIG_UP_WANTED=yCONFIG_ARCH_PHYS_ADDR_T_64BIT=yCONFIG_ARCH_DMA_ADDR_T_64BIT=yCONFIG_DIRECT_GBPAGES=yCONFIG_ARCH_SPARSEMEM_ENABLE=yCONFIG_ARCH_SPARSEMEM_DEFAULT=yCONFIG_ARCH_SELECT_MEMORY_MODEL=yCONFIG_ARCH_PROC_KCORE_TEXT=yCONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000CONFIG_SELECT_MEMORY_MODEL=yCONFIG_SPARSEMEM_MANUAL=yCONFIG_SPARSEMEM=yCONFIG_HAVE_MEMORY_PRESENT=yCONFIG_SPARSEMEM_EXTREME=yCONFIG_SPARSEMEM_VMEMMAP_ENABLE=yCONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
# CONFIG_SPARSEMEM_VMEMMAP is not setCONFIG_HAVE_MEMBLOCK=yCONFIG_HAVE_MEMBLOCK_NODE_MAP=yCONFIG_ARCH_DISCARD_MEMBLOCK=y
# CONFIG_MEMORY_HOTPLUG is not setCONFIG_PAGEFLAGS_EXTENDED=yCONFIG_SPLIT_PTLOCK_CPUS=999999CONFIG_COMPACTION=yCONFIG_MIGRATION=yCONFIG_PHYS_ADDR_T_64BIT=yCONFIG_ZONE_DMA_FLAG=1CONFIG_BOUNCE=yCONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not setCONFIG_DEFAULT_MMAP_MIN_ADDR=4096
# CONFIG_TRANSPARENT_HUGEPAGE is not setCONFIG_CROSS_MEMORY_ATTACH=yCONFIG_NEED_PER_CPU_KM=y
# CONFIG_CLEANCACHE is not setCONFIG_FRONTSWAP=yCONFIG_X86_CHECK_BIOS_CORRUPTION=yCONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=yCONFIG_X86_RESERVE_LOW=64CONFIG_MTRR=yCONFIG_MTRR_SANITIZER=yCONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1CONFIG_X86_PAT=yCONFIG_ARCH_USES_PG_UNCACHED=yCONFIG_ARCH_RANDOM=y
# CONFIG_SECCOMP is not set
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_HZ_100 is not setCONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not setCONFIG_HZ=250
# CONFIG_SCHED_HRTICK is not setCONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not setCONFIG_KEXEC_JUMP=yCONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not setCONFIG_PHYSICAL_ALIGN=0x1000000
# CONFIG_COMPAT_VDSO is not setCONFIG_CMDLINE_BOOL=yCONFIG_CMDLINE=""CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
#
# Power management and ACPI options
#CONFIG_ARCH_HIBERNATION_HEADER=yCONFIG_SUSPEND=yCONFIG_SUSPEND_FREEZER=yCONFIG_HIBERNATE_CALLBACKS=yCONFIG_HIBERNATION=yCONFIG_PM_STD_PARTITION=""CONFIG_PM_SLEEP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not setCONFIG_PM_RUNTIME=yCONFIG_PM=yCONFIG_PM_DEBUG=yCONFIG_PM_ADVANCED_DEBUG=yCONFIG_CAN_PM_TRACE=yCONFIG_PM_TRACE=yCONFIG_PM_TRACE_RTC=y
# CONFIG_ACPI is not set
# CONFIG_SFI is not set
#
# CPU Frequency scaling
#CONFIG_CPU_FREQ=y
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y
# 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=m CONFIG_CPU_FREQ_GOV_POWERSAVE=y
# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
#
# x86 CPU frequency scaling drivers # # CONFIG_X86_P4_CLOCKMOD is not set
#
# shared options # # CONFIG_X86_SPEEDSTEP_LIB is not set # CONFIG_CPU_IDLE is not set
#
# Memory power savings
#
# CONFIG_I7300_IDLE is not set
#
# Bus options (PCI etc.)
#CONFIG_PCI=yCONFIG_PCI_DIRECT=yCONFIG_PCI_DOMAINS=yCONFIG_PCI_CNB20LE_QUIRK=yCONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not setCONFIG_PCI_DEBUG=yCONFIG_PCI_REALLOC_ENABLE_AUTO=yCONFIG_PCI_STUB=m
# CONFIG_HT_IRQ is not setCONFIG_PCI_ATS=yCONFIG_PCI_IOV=yCONFIG_PCI_PRI=yCONFIG_PCI_PASID=yCONFIG_ISA_DMA_API=yCONFIG_AMD_NB=y
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not setCONFIG_RAPIDIO=yCONFIG_RAPIDIO_DISC_TIMEOUT=30
# CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not setCONFIG_RAPIDIO_DMA_ENGINE=y
# CONFIG_RAPIDIO_DEBUG is not setCONFIG_RAPIDIO_TSI57X=y
# CONFIG_RAPIDIO_CPS_XX is not set
# CONFIG_RAPIDIO_TSI568 is not setCONFIG_RAPIDIO_CPS_GEN2=yCONFIG_RAPIDIO_TSI500=y
#
# Executable file formats / Emulations
#CONFIG_BINFMT_ELF=yCONFIG_COMPAT_BINFMT_ELF=yCONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
# CONFIG_HAVE_AOUT is not setCONFIG_BINFMT_MISC=mCONFIG_IA32_EMULATION=yCONFIG_IA32_AOUT=mCONFIG_X86_X32=yCONFIG_COMPAT=yCONFIG_COMPAT_FOR_U64_ALIGNMENT=yCONFIG_SYSVIPC_COMPAT=yCONFIG_KEYS_COMPAT=yCONFIG_HAVE_TEXT_POKE_SMP=yCONFIG_X86_DEV_DMA_OPS=yCONFIG_NET=yCONFIG_COMPAT_NETLINK_MESSAGES=y
#
# Networking options
#CONFIG_PACKET=yCONFIG_UNIX=y
# CONFIG_UNIX_DIAG is not setCONFIG_XFRM=yCONFIG_XFRM_ALGO=mCONFIG_XFRM_USER=mCONFIG_XFRM_SUB_POLICY=y CONFIG_XFRM_MIGRATE=y
# CONFIG_XFRM_STATISTICS is not set CONFIG_XFRM_IPCOMP=m
# CONFIG_NET_KEY is not setCONFIG_INET=yCONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set CONFIG_IP_PNP=y
# CONFIG_IP_PNP_DHCP is not set
# CONFIG_IP_PNP_BOOTP is not set
# CONFIG_IP_PNP_RARP is not set CONFIG_NET_IPIP=mCONFIG_NET_IPGRE_DEMUX=m
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not setCONFIG_SYN_COOKIES=yCONFIG_INET_AH=mCONFIG_INET_ESP=m
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set CONFIG_INET_TUNNEL=m
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set # CONFIG_INET_XFRM_MODE_TUNNEL is not set CONFIG_INET_XFRM_MODE_BEET=m CONFIG_INET_LRO=mCONFIG_INET_DIAG=mCONFIG_INET_TCP_DIAG=mCONFIG_INET_UDP_DIAG=m CONFIG_TCP_CONG_ADVANCED=y CONFIG_TCP_CONG_BIC=mCONFIG_TCP_CONG_CUBIC=m CONFIG_TCP_CONG_WESTWOOD=m
# CONFIG_TCP_CONG_HTCP is not set CONFIG_TCP_CONG_HSTCP=m CONFIG_TCP_CONG_HYBLA=m
# CONFIG_TCP_CONG_VEGAS is not set CONFIG_TCP_CONG_SCALABLE=m
# CONFIG_TCP_CONG_LP is not set
# CONFIG_TCP_CONG_VENO is not set
# CONFIG_TCP_CONG_YEAH is not set CONFIG_TCP_CONG_ILLINOIS=m CONFIG_DEFAULT_RENO=y CONFIG_DEFAULT_TCP_CONG="reno" CONFIG_TCP_MD5SIG=yCONFIG_IPV6=m
# CONFIG_IPV6_PRIVACY is not set
# CONFIG_IPV6_ROUTER_PREF is not set CONFIG_IPV6_OPTIMISTIC_DAD=y CONFIG_INET6_AH=m
# CONFIG_INET6_ESP is not set CONFIG_INET6_IPCOMP=mCONFIG_IPV6_MIP6=mCONFIG_INET6_XFRM_TUNNEL=m CONFIG_INET6_TUNNEL=m CONFIG_INET6_XFRM_MODE_TRANSPORT=m CONFIG_INET6_XFRM_MODE_TUNNEL=m CONFIG_INET6_XFRM_MODE_BEET=m
# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set CONFIG_IPV6_SIT=mCONFIG_IPV6_SIT_6RD=y CONFIG_IPV6_NDISC_NODETYPE=y CONFIG_IPV6_TUNNEL=m CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=yCONFIG_IPV6_MROUTE=y
# CONFIG_IPV6_MROUTE_MULTIPLE_TABLES is not set # CONFIG_IPV6_PIMSM_V2 is not set
# CONFIG_NETLABEL is not set CONFIG_NETWORK_SECMARK=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set # CONFIG_NETFILTER is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_RDS is not setCONFIG_TIPC=mCONFIG_TIPC_ADVANCED=yCONFIG_TIPC_PORTS=8191CONFIG_TIPC_LOG=0CONFIG_TIPC_DEBUG=y
# CONFIG_ATM is not set
# CONFIG_L2TP is not set
# CONFIG_BRIDGE is not set
# CONFIG_NET_DSA is not set
# CONFIG_VLAN_8021Q is not set CONFIG_DECNET=mCONFIG_DECNET_ROUTER=yCONFIG_LLC=m
# CONFIG_LLC2 is not set
# CONFIG_IPX is not setCONFIG_ATALK=m
# CONFIG_DEV_APPLETALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_PHONET is not set
# CONFIG_IEEE802154 is not set CONFIG_NET_SCHED=y
#
# Queueing/Scheduling
#
# CONFIG_NET_SCH_CBQ is not set
# CONFIG_NET_SCH_HTB is not set
# CONFIG_NET_SCH_HFSC is not set
# CONFIG_NET_SCH_PRIO is not set
# CONFIG_NET_SCH_MULTIQ is not setCONFIG_NET_SCH_RED=mCONFIG_NET_SCH_SFB=mCONFIG_NET_SCH_SFQ=m
# CONFIG_NET_SCH_TEQL is not setCONFIG_NET_SCH_TBF=m
# CONFIG_NET_SCH_GRED is not set
# CONFIG_NET_SCH_DSMARK is not setCONFIG_NET_SCH_NETEM=m
# CONFIG_NET_SCH_DRR is not setCONFIG_NET_SCH_MQPRIO=mCONFIG_NET_SCH_CHOKE=mCONFIG_NET_SCH_QFQ=m
# CONFIG_NET_SCH_CODEL is not set
# CONFIG_NET_SCH_FQ_CODEL is not set
# CONFIG_NET_SCH_INGRESS is not set
# CONFIG_NET_SCH_PLUG is not set
#
# Classification
#CONFIG_NET_CLS=yCONFIG_NET_CLS_BASIC=m
# CONFIG_NET_CLS_TCINDEX is not set
# CONFIG_NET_CLS_ROUTE4 is not set
# CONFIG_NET_CLS_FW is not set
# CONFIG_NET_CLS_U32 is not set
# CONFIG_NET_CLS_RSVP is not set
# CONFIG_NET_CLS_RSVP6 is not set
# CONFIG_NET_CLS_FLOW is not setCONFIG_NET_CLS_CGROUP=m
# CONFIG_NET_EMATCH is not setCONFIG_NET_CLS_ACT=y
# CONFIG_NET_ACT_POLICE is not set
# CONFIG_NET_ACT_GACT is not setCONFIG_NET_ACT_MIRRED=mCONFIG_NET_ACT_NAT=m
# CONFIG_NET_ACT_PEDIT is not set
# CONFIG_NET_ACT_SIMP is not setCONFIG_NET_ACT_SKBEDIT=m
# CONFIG_NET_ACT_CSUM is not setCONFIG_NET_SCH_FIFO=y
# CONFIG_DCB is not setCONFIG_DNS_RESOLVER=m
# CONFIG_BATMAN_ADV is not set
# CONFIG_OPENVSWITCH is not set
# CONFIG_NETPRIO_CGROUP is not setCONFIG_BQL=y
# CONFIG_BPF_JIT is not set
#
# Network testing
#CONFIG_NET_PKTGEN=mCONFIG_NET_TCPPROBE=mCONFIG_NET_DROP_MONITOR=mCONFIG_HAMRADIO=y
#
# Packet Radio protocols
#
# CONFIG_AX25 is not setCONFIG_CAN=m
# CONFIG_CAN_RAW is not setCONFIG_CAN_BCM=m
# CONFIG_CAN_GW is not set
#
# CAN Device Drivers
#CONFIG_CAN_VCAN=m
# CONFIG_CAN_SLCAN is not setCONFIG_CAN_DEV=m
# CONFIG_CAN_CALC_BITTIMING is not set
# CONFIG_CAN_MCP251X is not setCONFIG_CAN_JANZ_ICAN3=m
# CONFIG_PCH_CAN is not setCONFIG_CAN_SJA1000=mCONFIG_CAN_SJA1000_ISA=mCONFIG_CAN_SJA1000_PLATFORM=mCONFIG_CAN_EMS_PCI=m
# CONFIG_CAN_PEAK_PCI is not setCONFIG_CAN_KVASER_PCI=m
# CONFIG_CAN_PLX_PCI is not set
# CONFIG_CAN_C_CAN is not setCONFIG_CAN_CC770=mCONFIG_CAN_CC770_ISA=mCONFIG_CAN_CC770_PLATFORM=m
#
# CAN USB interfaces
#CONFIG_CAN_EMS_USB=m
# CONFIG_CAN_ESD_USB2 is not setCONFIG_CAN_PEAK_USB=m
# CONFIG_CAN_SOFTING is not set
# CONFIG_CAN_DEBUG_DEVICES is not setCONFIG_IRDA=m
#
# IrDA protocols
#CONFIG_IRLAN=mCONFIG_IRCOMM=mCONFIG_IRDA_ULTRA=y
#
# IrDA options
#CONFIG_IRDA_CACHE_LAST_LSAP=yCONFIG_IRDA_FAST_RR=y
# CONFIG_IRDA_DEBUG is not set
#
# Infrared-port device drivers
#
#
# SIR device drivers
#
# CONFIG_IRTTY_SIR is not set
#
# Dongle support
#CONFIG_KINGSUN_DONGLE=mCONFIG_KSDAZZLE_DONGLE=m
# CONFIG_KS959_DONGLE is not set
#
# FIR device drivers
#
# CONFIG_USB_IRDA is not setCONFIG_SIGMATEL_FIR=mCONFIG_NSC_FIR=mCONFIG_WINBOND_FIR=mCONFIG_SMC_IRCC_FIR=m
# CONFIG_ALI_FIR is not setCONFIG_VLSI_FIR=mCONFIG_VIA_FIR=mCONFIG_MCS_FIR=m
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not setCONFIG_FIB_RULES=yCONFIG_WIRELESS=yCONFIG_WEXT_CORE=yCONFIG_WEXT_PROC=yCONFIG_CFG80211=m
# CONFIG_NL80211_TESTMODE is not setCONFIG_CFG80211_DEVELOPER_WARNINGS=yCONFIG_CFG80211_REG_DEBUG=yCONFIG_CFG80211_DEFAULT_PS=yCONFIG_CFG80211_DEBUGFS=y
# CONFIG_CFG80211_INTERNAL_REGDB is not setCONFIG_CFG80211_WEXT=yCONFIG_WIRELESS_EXT_SYSFS=yCONFIG_LIB80211=mCONFIG_LIB80211_DEBUG=y
# CONFIG_MAC80211 is not set
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not setCONFIG_RFKILL_REGULATOR=mCONFIG_NET_9P=mCONFIG_NET_9P_VIRTIO=mCONFIG_NET_9P_DEBUG=yCONFIG_CAIF=m
# CONFIG_CAIF_DEBUG is not set
# CONFIG_CAIF_NETDEV is not set
# CONFIG_CAIF_USB is not setCONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_PRETTYDEBUG is not setCONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
# CONFIG_NFC is not setCONFIG_HAVE_BPF_JIT=y
#
# Device Drivers
#
#
# Generic Driver Options
#CONFIG_UEVENT_HELPER_PATH=""
# CONFIG_DEVTMPFS is not setCONFIG_STANDALONE=yCONFIG_PREVENT_FIRMWARE_BUILD=yCONFIG_FW_LOADER=mCONFIG_FIRMWARE_IN_KERNEL=yCONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not setCONFIG_DEBUG_DEVRES=y
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_GENERIC_CPU_DEVICES is not setCONFIG_REGMAP=yCONFIG_REGMAP_I2C=mCONFIG_REGMAP_SPI=y
# CONFIG_DMA_SHARED_BUFFER is not set
# CONFIG_CONNECTOR is not setCONFIG_PARPORT=mCONFIG_PARPORT_PC=mCONFIG_PARPORT_SERIAL=m
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_GSC is not set
# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT_1284 is not setCONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not setCONFIG_BLK_CPQ_DA=yCONFIG_BLK_CPQ_CISS_DA=mCONFIG_CISS_SCSI_TAPE=yCONFIG_BLK_DEV_DAC960=mCONFIG_BLK_DEV_UMEM=m
# CONFIG_BLK_DEV_COW_COMMON is not set
# CONFIG_BLK_DEV_LOOP is not set
#
# DRBD disabled because PROC_FS, INET or CONNECTOR not selected #
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not setCONFIG_VIRTIO_BLK=mCONFIG_BLK_DEV_HD=y
# CONFIG_BLK_DEV_RBD is not set
#
# Misc devices
#CONFIG_SENSORS_LIS3LV02D=mCONFIG_AD525X_DPOT=m
# CONFIG_AD525X_DPOT_I2C is not setCONFIG_AD525X_DPOT_SPI=mCONFIG_IBM_ASM=mCONFIG_PHANTOM=mCONFIG_INTEL_MID_PTI=m
# CONFIG_SGI_IOC4 is not setCONFIG_TIFM_CORE=mCONFIG_TIFM_7XX1=m
# CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not setCONFIG_CS5535_MFGPT=mCONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
# CONFIG_CS5535_CLOCK_EVENT_SRC is not set
# CONFIG_HP_ILO is not set
# CONFIG_APDS9802ALS is not setCONFIG_ISL29003=m
# CONFIG_ISL29020 is not setCONFIG_SENSORS_TSL2550=m
# CONFIG_SENSORS_BH1780 is not setCONFIG_SENSORS_BH1770=m
# CONFIG_SENSORS_APDS990X is not set
# CONFIG_HMC6352 is not setCONFIG_DS1682=mCONFIG_TI_DAC7512=m
# CONFIG_VMWARE_BALLOON is not set
# CONFIG_BMP085_I2C is not set
# CONFIG_BMP085_SPI is not setCONFIG_PCH_PHUB=mCONFIG_USB_SWITCH_FSA9480=m
# CONFIG_C2PORT is not set
#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_AT25 is not set
# CONFIG_EEPROM_LEGACY is not setCONFIG_EEPROM_MAX6875=mCONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
# CONFIG_CB710_CORE is not setCONFIG_IWMC3200TOP=mCONFIG_IWMC3200TOP_DEBUG=yCONFIG_IWMC3200TOP_DEBUGFS=y
#
# Texas Instruments shared transport line discipline #
# CONFIG_TI_ST is not set
# CONFIG_SENSORS_LIS3_SPI is not set CONFIG_SENSORS_LIS3_I2C=m
#
# Altera FPGA firmware download module
#
# CONFIG_ALTERA_STAPL is not setCONFIG_HAVE_IDE=y
#
# SCSI device support
#CONFIG_SCSI_MOD=yCONFIG_RAID_ATTRS=mCONFIG_SCSI=yCONFIG_SCSI_DMA=yCONFIG_SCSI_TGT=mCONFIG_SCSI_NETLINK=yCONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not setCONFIG_CHR_DEV_SG=m
# CONFIG_CHR_DEV_SCH is not set
# CONFIG_SCSI_MULTI_LUN is not setCONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_SCAN_ASYNC is not setCONFIG_SCSI_WAIT_SCAN=m
#
# SCSI Transports
#CONFIG_SCSI_SPI_ATTRS=yCONFIG_SCSI_FC_ATTRS=m
# CONFIG_SCSI_FC_TGT_ATTRS is not setCONFIG_SCSI_ISCSI_ATTRS=mCONFIG_SCSI_SAS_ATTRS=mCONFIG_SCSI_SAS_LIBSAS=m
# CONFIG_SCSI_SAS_ATA is not set
# CONFIG_SCSI_SAS_HOST_SMP is not setCONFIG_SCSI_LOWLEVEL=yCONFIG_ISCSI_TCP=mCONFIG_ISCSI_BOOT_SYSFS=mCONFIG_SCSI_CXGB3_ISCSI=m
# CONFIG_SCSI_CXGB4_ISCSI is not setCONFIG_SCSI_BNX2_ISCSI=m
# CONFIG_SCSI_BNX2X_FCOE is not setCONFIG_BE2ISCSI=mCONFIG_BLK_DEV_3W_XXXX_RAID=mCONFIG_SCSI_HPSA=mCONFIG_SCSI_3W_9XXX=m
# CONFIG_SCSI_3W_SAS is not set
# CONFIG_SCSI_ACARD is not setCONFIG_SCSI_AACRAID=mCONFIG_SCSI_AIC7XXX=yCONFIG_AIC7XXX_CMDS_PER_DEVICE=32CONFIG_AIC7XXX_RESET_DELAY_MS=5000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not setCONFIG_AIC7XXX_DEBUG_MASK=0
# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_AIC7XXX_OLD is not setCONFIG_SCSI_AIC79XX=mCONFIG_AIC79XX_CMDS_PER_DEVICE=32CONFIG_AIC79XX_RESET_DELAY_MS=5000
# CONFIG_AIC79XX_DEBUG_ENABLE is not setCONFIG_AIC79XX_DEBUG_MASK=0
# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_MVSAS is not setCONFIG_SCSI_MVUMI=mCONFIG_SCSI_DPT_I2O=m
# CONFIG_SCSI_ADVANSYS is not setCONFIG_SCSI_ARCMSR=mCONFIG_MEGARAID_NEWGEN=y
# CONFIG_MEGARAID_MM is not setCONFIG_MEGARAID_LEGACY=m
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_MPT2SAS is not setCONFIG_SCSI_UFSHCD=mCONFIG_SCSI_HPTIOP=m
# CONFIG_SCSI_BUSLOGIC is not setCONFIG_VMWARE_PVSCSI=mCONFIG_LIBFC=mCONFIG_LIBFCOE=m
# CONFIG_FCOE is not setCONFIG_FCOE_FNIC=mCONFIG_SCSI_DMX3191D=mCONFIG_SCSI_EATA=m
# CONFIG_SCSI_EATA_TAGGED_QUEUE is not setCONFIG_SCSI_EATA_LINKED_COMMANDS=yCONFIG_SCSI_EATA_MAX_TAGS=16
# CONFIG_SCSI_FUTURE_DOMAIN is not setCONFIG_SCSI_GDTH=m
# CONFIG_SCSI_ISCI is not set
# CONFIG_SCSI_IPS is not setCONFIG_SCSI_INITIO=m
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_IMM is not setCONFIG_SCSI_STEX=mCONFIG_SCSI_SYM53C8XX_2=mCONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_SYM53C8XX_MMIO is not set
# CONFIG_SCSI_IPR is not setCONFIG_SCSI_QLOGIC_1280=m
# CONFIG_SCSI_QLA_FC is not setCONFIG_SCSI_QLA_ISCSI=mCONFIG_SCSI_LPFC=m
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
# CONFIG_SCSI_DC395x is not setCONFIG_SCSI_DC390T=mCONFIG_SCSI_PMCRAID=m
# CONFIG_SCSI_PM8001 is not setCONFIG_SCSI_SRP=m
# CONFIG_SCSI_BFA_FC is not setCONFIG_SCSI_VIRTIO=m
# CONFIG_SCSI_DH is not setCONFIG_SCSI_OSD_INITIATOR=m
# CONFIG_SCSI_OSD_ULD is not setCONFIG_SCSI_OSD_DPRINT_SENSE=1CONFIG_SCSI_OSD_DEBUG=yCONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
# CONFIG_ATA_VERBOSE_ERROR is not set
# CONFIG_SATA_PMP is not set
#
# Controllers with non-SFF native interface
#CONFIG_SATA_AHCI=yCONFIG_SATA_AHCI_PLATFORM=m
# CONFIG_SATA_INIC162X is not setCONFIG_SATA_ACARD_AHCI=mCONFIG_SATA_SIL24=mCONFIG_ATA_SFF=y
#
# SFF controllers with custom DMA interface
#
# CONFIG_PDC_ADMA is not setCONFIG_SATA_QSTOR=mCONFIG_SATA_SX4=mCONFIG_ATA_BMDMA=y
#
# SATA SFF controllers with BMDMA
#CONFIG_ATA_PIIX=yCONFIG_SATA_MV=mCONFIG_SATA_NV=yCONFIG_SATA_PROMISE=m
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not setCONFIG_SATA_SVW=mCONFIG_SATA_ULI=mCONFIG_SATA_VIA=m
# CONFIG_SATA_VITESSE is not set
#
# PATA SFF controllers with BMDMA
#
# CONFIG_PATA_ALI is not setCONFIG_PATA_AMD=yCONFIG_PATA_ARASAN_CF=mCONFIG_PATA_ARTOP=mCONFIG_PATA_ATIIXP=m
# CONFIG_PATA_ATP867X is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
# CONFIG_PATA_CS5536 is not setCONFIG_PATA_CYPRESS=m
# CONFIG_PATA_EFAR is not set
# CONFIG_PATA_HPT366 is not setCONFIG_PATA_HPT37X=mCONFIG_PATA_HPT3X2N=mCONFIG_PATA_HPT3X3=mCONFIG_PATA_HPT3X3_DMA=y
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_IT821X is not setCONFIG_PATA_JMICRON=m
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not setCONFIG_PATA_NS87415=mCONFIG_PATA_OLDPIIX=yCONFIG_PATA_OPTIDMA=mCONFIG_PATA_PDC2027X=m
# CONFIG_PATA_PDC_OLD is not setCONFIG_PATA_RADISYS=m
# CONFIG_PATA_RDC is not set
# CONFIG_PATA_SC1200 is not set
# CONFIG_PATA_SCH is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_SIL680 is not setCONFIG_PATA_SIS=mCONFIG_PATA_TOSHIBA=m
# CONFIG_PATA_TRIFLEX is not setCONFIG_PATA_VIA=y
# CONFIG_PATA_WINBOND is not set
#
# PIO-only SFF controllers
#CONFIG_PATA_CMD640_PCI=mCONFIG_PATA_MPIIX=mCONFIG_PATA_NS87410=m
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_PLATFORM is not set
# CONFIG_PATA_RZ1000 is not set
#
# Generic fallback / legacy drivers
#
# CONFIG_ATA_GENERIC is not set
# CONFIG_PATA_LEGACY is not set
# CONFIG_MD is not set
# CONFIG_TARGET_CORE is not setCONFIG_FUSION=yCONFIG_FUSION_SPI=mCONFIG_FUSION_FC=m
# CONFIG_FUSION_SAS is not setCONFIG_FUSION_MAX_SGE=128CONFIG_FUSION_CTL=mCONFIG_FUSION_LAN=m
# CONFIG_FUSION_LOGGING is not set
#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_FIREWIRE_NOSY is not set
# CONFIG_I2O is not set
# CONFIG_MACINTOSH_DRIVERS is not setCONFIG_NETDEVICES=yCONFIG_NET_CORE=yCONFIG_BONDING=mCONFIG_DUMMY=mCONFIG_EQUALIZER=mCONFIG_NET_FC=yCONFIG_MII=yCONFIG_IFB=m
# CONFIG_NET_TEAM is not set
# CONFIG_MACVLAN is not setCONFIG_NETCONSOLE=yCONFIG_NETPOLL=y
# CONFIG_NETPOLL_TRAP is not setCONFIG_NET_POLL_CONTROLLER=y
# CONFIG_RIONET is not setCONFIG_TUN=mCONFIG_VETH=mCONFIG_VIRTIO_NET=m
# CONFIG_ARCNET is not set
#
# CAIF transport drivers
#CONFIG_CAIF_TTY=m
# CONFIG_CAIF_SPI_SLAVE is not set
# CONFIG_CAIF_HSI is not setCONFIG_ETHERNET=yCONFIG_MDIO=m
# CONFIG_NET_VENDOR_3COM is not setCONFIG_VORTEX=y
# CONFIG_NET_VENDOR_ADAPTEC is not set
# CONFIG_NET_VENDOR_ALTEON is not set
# CONFIG_NET_VENDOR_AMD is not set
# CONFIG_NET_VENDOR_ATHEROS is not setCONFIG_NET_VENDOR_BROADCOM=yCONFIG_B44=mCONFIG_B44_PCI_AUTOSELECT=yCONFIG_B44_PCICORE_AUTOSELECT=yCONFIG_B44_PCI=yCONFIG_BNX2=mCONFIG_CNIC=mCONFIG_TIGON3=y
# CONFIG_BNX2X is not setCONFIG_NET_VENDOR_BROCADE=y
# CONFIG_BNA is not setCONFIG_NET_CALXEDA_XGMAC=mCONFIG_NET_VENDOR_CHELSIO=yCONFIG_CHELSIO_T1=m
# CONFIG_CHELSIO_T1_1G is not setCONFIG_CHELSIO_T3=mCONFIG_CHELSIO_T4=m
# CONFIG_CHELSIO_T4VF is not set
# CONFIG_NET_VENDOR_CISCO is not set
# CONFIG_DNET is not set
# CONFIG_NET_VENDOR_DEC is not set
# CONFIG_NET_VENDOR_DLINK is not set
# CONFIG_NET_VENDOR_EMULEX is not setCONFIG_NET_VENDOR_EXAR=yCONFIG_S2IO=m
# CONFIG_VXGE is not set
# CONFIG_NET_VENDOR_HP is not set
# CONFIG_NET_VENDOR_INTEL is not setCONFIG_E100=yCONFIG_E1000E=yCONFIG_IP1000=mCONFIG_JME=mCONFIG_NET_VENDOR_MARVELL=yCONFIG_SKGE=y
# CONFIG_SKGE_DEBUG is not setCONFIG_SKGE_GENESIS=y
# CONFIG_SKY2 is not setCONFIG_NET_VENDOR_MELLANOX=y
# CONFIG_MLX4_EN is not set
# CONFIG_MLX4_CORE is not setCONFIG_NET_VENDOR_MICREL=yCONFIG_KS8842=mCONFIG_KS8851=mCONFIG_KS8851_MLL=mCONFIG_KSZ884X_PCI=mCONFIG_NET_VENDOR_MICROCHIP=yCONFIG_ENC28J60=mCONFIG_ENC28J60_WRITEVERIFY=yCONFIG_NET_VENDOR_MYRI=yCONFIG_MYRI10GE=mCONFIG_FEALNX=m
# CONFIG_NET_VENDOR_NATSEMI is not setCONFIG_NET_VENDOR_NVIDIA=yCONFIG_FORCEDETH=yCONFIG_NET_VENDOR_OKI=y
# CONFIG_PCH_GBE is not setCONFIG_ETHOC=m
# CONFIG_NET_PACKET_ENGINE is not set
# CONFIG_NET_VENDOR_QLOGIC is not setCONFIG_NET_VENDOR_REALTEK=y
# CONFIG_ATP is not setCONFIG_8139CP=mCONFIG_8139TOO=y
# CONFIG_8139TOO_PIO is not set
# CONFIG_8139TOO_TUNE_TWISTER is not setCONFIG_8139TOO_8129=yCONFIG_8139_OLD_RX_RESET=y
# CONFIG_R8169 is not setCONFIG_NET_VENDOR_RDC=yCONFIG_R6040=mCONFIG_NET_VENDOR_SEEQ=y
# CONFIG_SEEQ8005 is not setCONFIG_NET_VENDOR_SILAN=y
# CONFIG_SC92031 is not setCONFIG_NET_VENDOR_SIS=y
# CONFIG_SIS900 is not setCONFIG_SIS190=mCONFIG_SFC=mCONFIG_SFC_MCDI_MON=y
# CONFIG_SFC_SRIOV is not setCONFIG_NET_VENDOR_SMSC=y
# CONFIG_EPIC100 is not set
# CONFIG_SMSC9420 is not setCONFIG_NET_VENDOR_STMICRO=yCONFIG_STMMAC_ETH=mCONFIG_STMMAC_PLATFORM=y
# CONFIG_STMMAC_PCI is not setCONFIG_STMMAC_DEBUG_FS=y
# CONFIG_STMMAC_DA is not set
# CONFIG_STMMAC_RING is not setCONFIG_STMMAC_CHAINED=y
# CONFIG_NET_VENDOR_SUN is not setCONFIG_NET_VENDOR_TEHUTI=y
# CONFIG_TEHUTI is not setCONFIG_NET_VENDOR_TI=yCONFIG_TLAN=mCONFIG_NET_VENDOR_VIA=yCONFIG_VIA_RHINE=m
# CONFIG_VIA_RHINE_MMIO is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_NET_VENDOR_WIZNET is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not setCONFIG_PHYLIB=y
#
# MII PHY device drivers
#
# CONFIG_AMD_PHY is not set
# CONFIG_MARVELL_PHY is not setCONFIG_DAVICOM_PHY=mCONFIG_QSEMI_PHY=mCONFIG_LXT_PHY=mCONFIG_CICADA_PHY=m
# CONFIG_VITESSE_PHY is not set
# CONFIG_SMSC_PHY is not setCONFIG_BROADCOM_PHY=m
# CONFIG_ICPLUS_PHY is not set
# CONFIG_REALTEK_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not setCONFIG_MICREL_PHY=m
# CONFIG_FIXED_PHY is not setCONFIG_MDIO_BITBANG=mCONFIG_MDIO_GPIO=mCONFIG_MICREL_KS8995MA=mCONFIG_PLIP=m
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
#
# USB Network Adapters
#CONFIG_USB_CATC=mCONFIG_USB_KAWETH=mCONFIG_USB_PEGASUS=mCONFIG_USB_RTL8150=m
# CONFIG_USB_USBNET is not setCONFIG_USB_IPHETH=m
# CONFIG_WLAN is not set
#
# Enable WiMAX (Networking options) to see the WiMAX drivers #CONFIG_WAN=yCONFIG_LANMEDIA=mCONFIG_HDLC=m
# CONFIG_HDLC_RAW is not set
# CONFIG_HDLC_RAW_ETH is not set
# CONFIG_HDLC_CISCO is not setCONFIG_HDLC_FR=mCONFIG_HDLC_PPP=m
#
# X.25/LAPB support is disabled
#CONFIG_PCI200SYN=m
# CONFIG_WANXL is not setCONFIG_PC300TOO=mCONFIG_FARSYNC=m
# CONFIG_DSCC4 is not set
# CONFIG_DLCI is not set
# CONFIG_SBNI is not set
# CONFIG_VMXNET3 is not set
#
# Input device support
#CONFIG_INPUT=yCONFIG_INPUT_FF_MEMLESS=mCONFIG_INPUT_POLLDEV=yCONFIG_INPUT_SPARSEKMAP=mCONFIG_INPUT_MATRIXKMAP=m
#
# Userland interfaces
#CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not setCONFIG_INPUT_MOUSEDEV_SCREEN_X=1024CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not setCONFIG_INPUT_EVDEV=mCONFIG_INPUT_EVBUG=m
#
# Input Device Drivers
#CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not setCONFIG_KEYBOARD_ADP5589=mCONFIG_KEYBOARD_ATKBD=yCONFIG_KEYBOARD_QT1070=mCONFIG_KEYBOARD_QT2160=m
# CONFIG_KEYBOARD_LKKBD is not setCONFIG_KEYBOARD_GPIO=m
# CONFIG_KEYBOARD_GPIO_POLLED is not setCONFIG_KEYBOARD_TCA6416=m
# CONFIG_KEYBOARD_TCA8418 is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not setCONFIG_KEYBOARD_LM8333=mCONFIG_KEYBOARD_MAX7359=mCONFIG_KEYBOARD_MCS=mCONFIG_KEYBOARD_MPR121=mCONFIG_KEYBOARD_NEWTON=mCONFIG_KEYBOARD_OPENCORES=m
# CONFIG_KEYBOARD_STOWAWAY is not setCONFIG_KEYBOARD_SUNKBD=m
# CONFIG_KEYBOARD_STMPE is not set
# CONFIG_KEYBOARD_OMAP4 is not setCONFIG_KEYBOARD_XTKBD=m
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not setCONFIG_INPUT_TABLET=y
# CONFIG_TABLET_USB_ACECAD is not setCONFIG_TABLET_USB_AIPTEK=mCONFIG_TABLET_USB_GTCO=m
# CONFIG_TABLET_USB_HANWANG is not set
# CONFIG_TABLET_USB_KBTAB is not set
# CONFIG_TABLET_USB_WACOM is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Hardware I/O ports
#CONFIG_SERIO=yCONFIG_SERIO_I8042=yCONFIG_SERIO_SERPORT=m
# CONFIG_SERIO_CT82C710 is not setCONFIG_SERIO_PARKBD=m
# CONFIG_SERIO_PCIPS2 is not setCONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not setCONFIG_SERIO_ALTERA_PS2=mCONFIG_SERIO_PS2MULT=m
# CONFIG_GAMEPORT is not set
#
# Character devices
#CONFIG_VT=yCONFIG_CONSOLE_TRANSLATIONS=yCONFIG_VT_CONSOLE=yCONFIG_VT_CONSOLE_SLEEP=yCONFIG_HW_CONSOLE=yCONFIG_VT_HW_CONSOLE_BINDING=yCONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
# CONFIG_LEGACY_PTYS is not setCONFIG_SERIAL_NONSTANDARD=y
# CONFIG_ROCKETPORT is not set
# CONFIG_CYCLADES is not set
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not setCONFIG_SYNCLINK=mCONFIG_SYNCLINKMP=m
# CONFIG_SYNCLINK_GT is not set
# CONFIG_NOZOMI is not setCONFIG_ISI=m
# CONFIG_N_HDLC is not setCONFIG_N_GSM=m
# CONFIG_TRACE_ROUTER is not setCONFIG_TRACE_SINK=mCONFIG_DEVKMEM=y
# CONFIG_STALDRV is not set
#
# Serial drivers
#CONFIG_SERIAL_8250=yCONFIG_SERIAL_8250_CONSOLE=yCONFIG_FIX_EARLYCON_MEM=yCONFIG_SERIAL_8250_PCI=mCONFIG_SERIAL_8250_NR_UARTS=4CONFIG_SERIAL_8250_RUNTIME_UARTS=4CONFIG_SERIAL_8250_EXTENDED=yCONFIG_SERIAL_8250_MANY_PORTS=yCONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not setCONFIG_SERIAL_8250_RSA=y
#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX3107 is not set
# CONFIG_SERIAL_MFD_HSU is not setCONFIG_SERIAL_UARTLITE=mCONFIG_SERIAL_CORE=yCONFIG_SERIAL_CORE_CONSOLE=yCONFIG_SERIAL_JSM=m
# CONFIG_SERIAL_TIMBERDALE is not setCONFIG_SERIAL_ALTERA_JTAGUART=m
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_IFX6X60 is not setCONFIG_SERIAL_PCH_UART=m
# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_TTY_PRINTK is not set
# CONFIG_PRINTER is not set
# CONFIG_PPDEV is not setCONFIG_HVC_DRIVER=yCONFIG_VIRTIO_CONSOLE=m
# CONFIG_IPMI_HANDLER is not setCONFIG_HW_RANDOM=m
# CONFIG_HW_RANDOM_TIMERIOMEM is not setCONFIG_HW_RANDOM_INTEL=m
# CONFIG_HW_RANDOM_AMD is not setCONFIG_HW_RANDOM_VIA=m
# CONFIG_HW_RANDOM_VIRTIO is not set
# CONFIG_NVRAM is not setCONFIG_RTC=m
# CONFIG_GEN_RTC is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not setCONFIG_MWAVE=m
# CONFIG_RAW_DRIVER is not set
# CONFIG_HANGCHECK_TIMER is not setCONFIG_TCG_TPM=yCONFIG_TCG_TIS=y
# CONFIG_TCG_NSC is not set
# CONFIG_TCG_ATMEL is not set
# CONFIG_TELCLOCK is not setCONFIG_DEVPORT=yCONFIG_I2C=mCONFIG_I2C_BOARDINFO=yCONFIG_I2C_COMPAT=y
# CONFIG_I2C_CHARDEV is not set
# CONFIG_I2C_MUX is not set
# CONFIG_I2C_HELPER_AUTO is not setCONFIG_I2C_SMBUS=m
#
# I2C Algorithms
#CONFIG_I2C_ALGOBIT=mCONFIG_I2C_ALGOPCF=mCONFIG_I2C_ALGOPCA=m
#
# I2C Hardware Bus support
#
#
# PC SMBus host controller drivers
#CONFIG_I2C_ALI1535=mCONFIG_I2C_ALI1563=mCONFIG_I2C_ALI15X3=mCONFIG_I2C_AMD756=mCONFIG_I2C_AMD756_S4882=m
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_ISCH is not setCONFIG_I2C_PIIX4=m
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_SIS5595 is not setCONFIG_I2C_SIS630=m
# CONFIG_I2C_SIS96X is not setCONFIG_I2C_VIA=mCONFIG_I2C_VIAPRO=m
#
# I2C system bus drivers (mostly embedded / system-on-chip) #
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_EG20T is not set
# CONFIG_I2C_GPIO is not set CONFIG_I2C_INTEL_MID=m
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_PXA_PCI is not set CONFIG_I2C_SIMTEC=m
# CONFIG_I2C_XILINX is not set
#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not setCONFIG_I2C_PARPORT=m
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_TAOS_EVM is not setCONFIG_I2C_TINY_USB=m
#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_STUB is not setCONFIG_I2C_DEBUG_CORE=yCONFIG_I2C_DEBUG_ALGO=y
# CONFIG_I2C_DEBUG_BUS is not setCONFIG_SPI=y
# CONFIG_SPI_DEBUG is not setCONFIG_SPI_MASTER=y
#
# SPI Master Controller Drivers
#CONFIG_SPI_ALTERA=mCONFIG_SPI_BITBANG=m
# CONFIG_SPI_BUTTERFLY is not set
# CONFIG_SPI_GPIO is not setCONFIG_SPI_LM70_LLP=mCONFIG_SPI_OC_TINY=m
# CONFIG_SPI_PXA2XX_PCI is not setCONFIG_SPI_TOPCLIFF_PCH=mCONFIG_SPI_XILINX=m
# CONFIG_SPI_DESIGNWARE is not set
#
# SPI Protocol Masters
#CONFIG_SPI_SPIDEV=m
# CONFIG_SPI_TLE62X0 is not set
# CONFIG_HSI is not set
#
# PPS support
#
# CONFIG_PPS is not set
#
# PPS generators support
#
#
# PTP clock support
#
#
# Enable Device Drivers -> PPS to see the PTP clock options. #CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y CONFIG_GPIOLIB=yCONFIG_DEBUG_GPIO=yCONFIG_GPIO_SYSFS=y
#
# Memory mapped GPIO drivers:
#
# CONFIG_GPIO_GENERIC_PLATFORM is not setCONFIG_GPIO_IT8761E=mCONFIG_GPIO_SCH=mCONFIG_GPIO_ICH=mCONFIG_GPIO_VX855=m
#
# I2C GPIO expanders:
#
# CONFIG_GPIO_MAX7300 is not setCONFIG_GPIO_MAX732X=m
# CONFIG_GPIO_PCA953X is not setCONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_STMPE is not setCONFIG_GPIO_TPS65912=mCONFIG_GPIO_WM831X=m
# CONFIG_GPIO_ADP5588 is not set
#
# PCI GPIO expanders:
#CONFIG_GPIO_CS5535=mCONFIG_GPIO_BT8XX=mCONFIG_GPIO_LANGWELL=y
# CONFIG_GPIO_PCH is not setCONFIG_GPIO_ML_IOH=mCONFIG_GPIO_TIMBERDALE=yCONFIG_GPIO_RDC321X=m
#
# SPI GPIO expanders:
#
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MCP23S08 is not set
# CONFIG_GPIO_MC33880 is not setCONFIG_GPIO_74X164=m
#
# AC97 GPIO expanders:
#
#
# MODULbus GPIO expanders:
#
# CONFIG_GPIO_JANZ_TTL is not setCONFIG_W1=m
#
# 1-wire Bus Masters
#CONFIG_W1_MASTER_MATROX=mCONFIG_W1_MASTER_DS2490=m
# CONFIG_W1_MASTER_DS2482 is not setCONFIG_W1_MASTER_DS1WM=mCONFIG_W1_MASTER_GPIO=m
#
# 1-wire Slaves
#
# CONFIG_W1_SLAVE_THERM is not set
# CONFIG_W1_SLAVE_SMEM is not set
# CONFIG_W1_SLAVE_DS2408 is not set
# CONFIG_W1_SLAVE_DS2423 is not set
# CONFIG_W1_SLAVE_DS2431 is not set
# CONFIG_W1_SLAVE_DS2433 is not set
# CONFIG_W1_SLAVE_DS2760 is not setCONFIG_W1_SLAVE_DS2780=mCONFIG_W1_SLAVE_DS2781=mCONFIG_W1_SLAVE_BQ27000=mCONFIG_POWER_SUPPLY=yCONFIG_POWER_SUPPLY_DEBUG=yCONFIG_PDA_POWER=m
# CONFIG_WM831X_BACKUP is not setCONFIG_WM831X_POWER=mCONFIG_TEST_POWER=mCONFIG_BATTERY_DS2780=mCONFIG_BATTERY_DS2781=mCONFIG_BATTERY_DS2782=mCONFIG_BATTERY_SBS=m
# CONFIG_BATTERY_BQ27x00 is not setCONFIG_BATTERY_MAX17040=m
# CONFIG_BATTERY_MAX17042 is not setCONFIG_CHARGER_ISP1704=mCONFIG_CHARGER_MAX8903=mCONFIG_CHARGER_LP8727=m
# CONFIG_CHARGER_GPIO is not setCONFIG_CHARGER_SMB347=mCONFIG_HWMON=mCONFIG_HWMON_VID=m
# CONFIG_HWMON_DEBUG_CHIP is not set
#
# Native drivers
#CONFIG_SENSORS_AD7314=m
# CONFIG_SENSORS_AD7414 is not setCONFIG_SENSORS_AD7418=mCONFIG_SENSORS_ADCXX=m
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not setCONFIG_SENSORS_ADM1026=mCONFIG_SENSORS_ADM1029=m
# CONFIG_SENSORS_ADM1031 is not setCONFIG_SENSORS_ADM9240=m
# CONFIG_SENSORS_ADT7411 is not setCONFIG_SENSORS_ADT7462=mCONFIG_SENSORS_ADT7470=mCONFIG_SENSORS_ADT7475=mCONFIG_SENSORS_ASC7621=mCONFIG_SENSORS_K8TEMP=m
# CONFIG_SENSORS_K10TEMP is not setCONFIG_SENSORS_FAM15H_POWER=m
# CONFIG_SENSORS_ASB100 is not setCONFIG_SENSORS_ATXP1=mCONFIG_SENSORS_DS620=mCONFIG_SENSORS_DS1621=m
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not setCONFIG_SENSORS_F75375S=mCONFIG_SENSORS_FSCHMD=mCONFIG_SENSORS_G760A=m
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not setCONFIG_SENSORS_GPIO_FAN=m
# CONFIG_SENSORS_CORETEMP is not setCONFIG_SENSORS_IT87=mCONFIG_SENSORS_JC42=m
# CONFIG_SENSORS_LINEAGE is not setCONFIG_SENSORS_LM63=m
# CONFIG_SENSORS_LM70 is not set
# CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not setCONFIG_SENSORS_LM77=mCONFIG_SENSORS_LM78=m
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not setCONFIG_SENSORS_LM85=m
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LTC4151 is not set
# CONFIG_SENSORS_LTC4215 is not setCONFIG_SENSORS_LTC4245=m
# CONFIG_SENSORS_LTC4261 is not set
# CONFIG_SENSORS_LM95241 is not setCONFIG_SENSORS_LM95245=m
# CONFIG_SENSORS_MAX1111 is not setCONFIG_SENSORS_MAX16065=m
# CONFIG_SENSORS_MAX1619 is not setCONFIG_SENSORS_MAX1668=m
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
# CONFIG_SENSORS_MAX6650 is not setCONFIG_SENSORS_MCP3021=mCONFIG_SENSORS_NTC_THERMISTOR=mCONFIG_SENSORS_PC87360=mCONFIG_SENSORS_PC87427=m
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_PMBUS is not setCONFIG_SENSORS_SHT15=mCONFIG_SENSORS_SHT21=mCONFIG_SENSORS_SIS5595=m
# CONFIG_SENSORS_SMM665 is not setCONFIG_SENSORS_DME1737=mCONFIG_SENSORS_EMC1403=mCONFIG_SENSORS_EMC2103=mCONFIG_SENSORS_EMC6W201=mCONFIG_SENSORS_SMSC47M1=mCONFIG_SENSORS_SMSC47M192=m
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SCH56XX_COMMON is not set
# CONFIG_SENSORS_ADS1015 is not set
# CONFIG_SENSORS_ADS7828 is not setCONFIG_SENSORS_ADS7871=mCONFIG_SENSORS_INA2XX=mCONFIG_SENSORS_THMC50=mCONFIG_SENSORS_TMP102=mCONFIG_SENSORS_TMP401=m
# CONFIG_SENSORS_TMP421 is not set
# CONFIG_SENSORS_VIA_CPUTEMP is not setCONFIG_SENSORS_VIA686A=m
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83781D is not setCONFIG_SENSORS_W83791D=mCONFIG_SENSORS_W83792D=m
# CONFIG_SENSORS_W83795 is not setCONFIG_SENSORS_W83L785TS=mCONFIG_SENSORS_W83L786NG=mCONFIG_SENSORS_W83627EHF=mCONFIG_SENSORS_WM831X=m
# CONFIG_SENSORS_APPLESMC is not setCONFIG_SENSORS_MC13783_ADC=mCONFIG_THERMAL=mCONFIG_THERMAL_HWMON=yCONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#CONFIG_SSB=mCONFIG_SSB_SPROM=yCONFIG_SSB_PCIHOST_POSSIBLE=yCONFIG_SSB_PCIHOST=y
# CONFIG_SSB_B43_PCI_BRIDGE is not setCONFIG_SSB_SDIOHOST_POSSIBLE=yCONFIG_SSB_SDIOHOST=yCONFIG_SSB_SILENT=yCONFIG_SSB_DRIVER_PCICORE_POSSIBLE=yCONFIG_SSB_DRIVER_PCICORE=yCONFIG_BCMA_POSSIBLE=y
#
# Broadcom specific AMBA
#CONFIG_BCMA=mCONFIG_BCMA_HOST_PCI_POSSIBLE=y
# CONFIG_BCMA_HOST_PCI is not setCONFIG_BCMA_DEBUG=y
#
# Multifunction device drivers
#CONFIG_MFD_CORE=y
# CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not setCONFIG_MFD_LM3533=mCONFIG_TPS6105X=mCONFIG_TPS65010=mCONFIG_TPS6507X=m
# CONFIG_MFD_TPS65217 is not setCONFIG_MFD_TPS65912=yCONFIG_MFD_TPS65912_SPI=yCONFIG_MFD_STMPE=y
#
# STMPE Interface Drivers
#CONFIG_STMPE_SPI=y
# CONFIG_MFD_TMIO is not set
# CONFIG_MFD_DA9052_SPI is not setCONFIG_MFD_WM831X=yCONFIG_MFD_WM831X_SPI=y
# CONFIG_MFD_PCF50633 is not setCONFIG_MFD_MC13783=mCONFIG_MFD_MC13XXX=m
# CONFIG_MFD_MC13XXX_SPI is not setCONFIG_MFD_MC13XXX_I2C=m
# CONFIG_ABX500_CORE is not setCONFIG_EZX_PCAP=yCONFIG_MFD_CS5535=mCONFIG_MFD_TIMBERDALE=mCONFIG_LPC_SCH=mCONFIG_LPC_ICH=mCONFIG_MFD_RDC321X=mCONFIG_MFD_JANZ_CMODIO=mCONFIG_MFD_VX855=mCONFIG_MFD_WL1273_CORE=mCONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR_DUMMY is not setCONFIG_REGULATOR_FIXED_VOLTAGE=mCONFIG_REGULATOR_VIRTUAL_CONSUMER=m
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
# CONFIG_REGULATOR_GPIO is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_MC13783 is not set
# CONFIG_REGULATOR_MC13892 is not set
# CONFIG_REGULATOR_ISL6271A is not setCONFIG_REGULATOR_MAX1586=mCONFIG_REGULATOR_MAX8649=mCONFIG_REGULATOR_MAX8660=m
# CONFIG_REGULATOR_MAX8952 is not setCONFIG_REGULATOR_PCAP=m
# CONFIG_REGULATOR_LP3971 is not set
# CONFIG_REGULATOR_LP3972 is not set
# CONFIG_REGULATOR_TPS6105X is not setCONFIG_REGULATOR_TPS62360=mCONFIG_REGULATOR_TPS65023=mCONFIG_REGULATOR_TPS6507X=mCONFIG_REGULATOR_TPS6524X=mCONFIG_REGULATOR_TPS65912=m
# CONFIG_REGULATOR_WM831X is not set
# CONFIG_MEDIA_SUPPORT is not set
#
# Graphics support
#CONFIG_AGP=mCONFIG_AGP_AMD64=m
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_VGA_ARB is not set
# CONFIG_DRM is not setCONFIG_STUB_POULSBO=mCONFIG_VGASTATE=m
# CONFIG_VIDEO_OUTPUT_CONTROL is not setCONFIG_FB=mCONFIG_FIRMWARE_EDID=yCONFIG_FB_DDC=m
# CONFIG_FB_BOOT_VESA_SUPPORT is not setCONFIG_FB_CFB_FILLRECT=mCONFIG_FB_CFB_COPYAREA=mCONFIG_FB_CFB_IMAGEBLIT=m
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not setCONFIG_FB_SYS_FILLRECT=mCONFIG_FB_SYS_COPYAREA=mCONFIG_FB_SYS_IMAGEBLIT=m
# CONFIG_FB_FOREIGN_ENDIAN is not setCONFIG_FB_SYS_FOPS=m
# CONFIG_FB_WMT_GE_ROPS is not setCONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not setCONFIG_FB_BACKLIGHT=yCONFIG_FB_MODE_HELPERS=yCONFIG_FB_TILEBLITTING=y
#
# Frame buffer hardware drivers
#
# CONFIG_FB_PM2 is not setCONFIG_FB_CYBER2000=m
# CONFIG_FB_CYBER2000_DDC is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not setCONFIG_FB_S1D13XXX=m
# CONFIG_FB_NVIDIA is not setCONFIG_FB_RIVA=m
# CONFIG_FB_RIVA_I2C is not setCONFIG_FB_RIVA_DEBUG=yCONFIG_FB_RIVA_BACKLIGHT=yCONFIG_FB_I740=m
# CONFIG_FB_LE80578 is not setCONFIG_FB_MATROX=mCONFIG_FB_MATROX_MILLENIUM=yCONFIG_FB_MATROX_MYSTIQUE=y
# CONFIG_FB_MATROX_G is not set
# CONFIG_FB_MATROX_I2C is not set
# CONFIG_FB_ATY128 is not setCONFIG_FB_ATY=mCONFIG_FB_ATY_CT=y
# CONFIG_FB_ATY_GENERIC_LCD is not setCONFIG_FB_ATY_GX=yCONFIG_FB_ATY_BACKLIGHT=y
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_VIA is not setCONFIG_FB_NEOMAGIC=mCONFIG_FB_KYRO=mCONFIG_FB_3DFX=m
# CONFIG_FB_3DFX_ACCEL is not setCONFIG_FB_3DFX_I2C=yCONFIG_FB_VOODOO1=m
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not setCONFIG_FB_CARMINE=mCONFIG_FB_CARMINE_DRAM_EVAL=y
# CONFIG_CARMINE_DRAM_CUSTOM is not setCONFIG_FB_GEODE=y
# CONFIG_FB_GEODE_LX is not set
# CONFIG_FB_GEODE_GX is not setCONFIG_FB_GEODE_GX1=mCONFIG_FB_TMIO=m
# CONFIG_FB_TMIO_ACCELL is not set
# CONFIG_FB_SMSCUFX is not setCONFIG_FB_UDL=m
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not setCONFIG_FB_BROADSHEET=mCONFIG_FB_AUO_K190X=mCONFIG_FB_AUO_K1900=m
# CONFIG_FB_AUO_K1901 is not set
# CONFIG_EXYNOS_VIDEO is not setCONFIG_BACKLIGHT_LCD_SUPPORT=y
# CONFIG_LCD_CLASS_DEVICE is not setCONFIG_BACKLIGHT_CLASS_DEVICE=mCONFIG_BACKLIGHT_GENERIC=mCONFIG_BACKLIGHT_LM3533=m
# CONFIG_BACKLIGHT_PROGEAR is not set
# CONFIG_BACKLIGHT_SAHARA is not setCONFIG_BACKLIGHT_WM831X=mCONFIG_BACKLIGHT_ADP8860=mCONFIG_BACKLIGHT_ADP8870=m
# CONFIG_BACKLIGHT_LP855X is not set
# CONFIG_BACKLIGHT_OT200 is not set
#
# Console display driver support
#CONFIG_VGA_CONSOLE=yCONFIG_VGACON_SOFT_SCROLLBACK=yCONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64CONFIG_DUMMY_CONSOLE=y
# CONFIG_LOGO is not set
# CONFIG_SOUND is not set
#
# HID support
#CONFIG_HID=m
# CONFIG_HIDRAW is not setCONFIG_HID_GENERIC=m
#
# Special HID drivers
#
# CONFIG_HID_A4TECH is not set
# CONFIG_HID_ACRUX is not setCONFIG_HID_APPLE=m
# CONFIG_HID_AUREAL is not set
# CONFIG_HID_BELKIN is not set
# CONFIG_HID_CHERRY is not set
# CONFIG_HID_CHICONY is not set
# CONFIG_HID_CYPRESS is not setCONFIG_HID_DRAGONRISE=m
# CONFIG_DRAGONRISE_FF is not setCONFIG_HID_EMS_FF=mCONFIG_HID_EZKEY=mCONFIG_HID_HOLTEK=mCONFIG_HOLTEK_FF=yCONFIG_HID_KEYTOUCH=mCONFIG_HID_KYE=m
# CONFIG_HID_UCLOGIC is not setCONFIG_HID_WALTOP=mCONFIG_HID_GYRATION=m
# CONFIG_HID_TWINHAN is not set
# CONFIG_HID_KENSINGTON is not setCONFIG_HID_LCPOWER=mCONFIG_HID_LOGITECH=m
# CONFIG_HID_LOGITECH_DJ is not setCONFIG_LOGITECH_FF=y
# CONFIG_LOGIRUMBLEPAD2_FF is not setCONFIG_LOGIG940_FF=yCONFIG_LOGIWHEELS_FF=yCONFIG_HID_MICROSOFT=m
# CONFIG_HID_MONTEREY is not set
# CONFIG_HID_MULTITOUCH is not setCONFIG_HID_NTRIG=m
# CONFIG_HID_ORTEK is not set
# CONFIG_HID_PANTHERLORD is not setCONFIG_HID_PETALYNX=mCONFIG_HID_PICOLCD=mCONFIG_HID_PICOLCD_FB=y
# CONFIG_HID_PICOLCD_BACKLIGHT is not set
# CONFIG_HID_PICOLCD_LEDS is not setCONFIG_HID_PRIMAX=mCONFIG_HID_ROCCAT=mCONFIG_HID_SAITEK=mCONFIG_HID_SAMSUNG=mCONFIG_HID_SONY=mCONFIG_HID_SPEEDLINK=m
# CONFIG_HID_SUNPLUS is not setCONFIG_HID_GREENASIA=m
# CONFIG_GREENASIA_FF is not set
# CONFIG_HID_SMARTJOYPLUS is not setCONFIG_HID_TIVO=m
# CONFIG_HID_TOPSEED is not setCONFIG_HID_THRUSTMASTER=mCONFIG_THRUSTMASTER_FF=y
# CONFIG_HID_ZEROPLUS is not setCONFIG_HID_ZYDACRON=m
#
# USB HID support
#CONFIG_USB_HID=m
# CONFIG_HID_PID is not setCONFIG_USB_HIDDEV=y
#
# USB HID Boot Protocol drivers
#CONFIG_USB_KBD=mCONFIG_USB_MOUSE=yCONFIG_USB_ARCH_HAS_OHCI=yCONFIG_USB_ARCH_HAS_EHCI=yCONFIG_USB_ARCH_HAS_XHCI=yCONFIG_USB_SUPPORT=yCONFIG_USB_COMMON=yCONFIG_USB_ARCH_HAS_HCD=yCONFIG_USB=yCONFIG_USB_DEBUG=yCONFIG_USB_ANNOUNCE_NEW_DEVICES=y
#
# Miscellaneous USB options
#
# CONFIG_USB_DYNAMIC_MINORS is not setCONFIG_USB_SUSPEND=yCONFIG_USB_OTG=yCONFIG_USB_OTG_WHITELIST=y
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
# CONFIG_USB_DWC3 is not set
# CONFIG_USB_MON is not setCONFIG_USB_WUSB=mCONFIG_USB_WUSB_CBAF=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
#
# USB Host Controller Drivers
#CONFIG_USB_C67X00_HCD=mCONFIG_USB_XHCI_HCD=mCONFIG_USB_XHCI_HCD_DEBUGGING=yCONFIG_USB_EHCI_HCD=y
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
# CONFIG_USB_EHCI_TT_NEWSCHED is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not setCONFIG_USB_ISP1362_HCD=mCONFIG_USB_OHCI_HCD=yCONFIG_USB_OHCI_HCD_PLATFORM=yCONFIG_USB_EHCI_HCD_PLATFORM=y
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not setCONFIG_USB_OHCI_LITTLE_ENDIAN=yCONFIG_USB_UHCI_HCD=yCONFIG_USB_SL811_HCD=mCONFIG_USB_SL811_HCD_ISO=yCONFIG_USB_R8A66597_HCD=m
# CONFIG_USB_WHCI_HCD is not setCONFIG_USB_HWA_HCD=mCONFIG_USB_HCD_BCMA=mCONFIG_USB_HCD_SSB=mCONFIG_USB_MUSB_HDRC=m
# CONFIG_USB_MUSB_TUSB6010 is not setCONFIG_MUSB_PIO_ONLY=yCONFIG_USB_CHIPIDEA=m
# CONFIG_USB_CHIPIDEA_UDC is not setCONFIG_USB_CHIPIDEA_HOST=y
# CONFIG_USB_CHIPIDEA_DEBUG is not set
# CONFIG_USB_RENESAS_USBHS is not set
#
# USB Device Class drivers
#CONFIG_USB_ACM=mCONFIG_USB_PRINTER=mCONFIG_USB_WDM=mCONFIG_USB_TMC=m
#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may #
#
# also be needed; see USB_STORAGE Help for more info # CONFIG_USB_STORAGE=m CONFIG_USB_STORAGE_DEBUG=y CONFIG_USB_STORAGE_REALTEK=m # CONFIG_REALTEK_AUTOPM is not set CONFIG_USB_STORAGE_DATAFAB=m CONFIG_USB_STORAGE_FREECOM=m # CONFIG_USB_STORAGE_ISD200 is not set # CONFIG_USB_STORAGE_USBAT is not set CONFIG_USB_STORAGE_SDDR09=m # CONFIG_USB_STORAGE_SDDR55 is not set CONFIG_USB_STORAGE_JUMPSHOT=m CONFIG_USB_STORAGE_ALAUDA=m # CONFIG_USB_STORAGE_ONETOUCH is not set CONFIG_USB_STORAGE_KARMA=m # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set # CONFIG_USB_STORAGE_ENE_UB6250 is not set CONFIG_USB_UAS=m CONFIG_USB_LIBUSUAL=y
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not setCONFIG_USB_MICROTEK=m
#
# USB port drivers
#
# CONFIG_USB_USS720 is not setCONFIG_USB_SERIAL=mCONFIG_USB_EZUSB=yCONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_AIRCABLE is not set
# CONFIG_USB_SERIAL_ARK3116 is not set
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_CH341 is not setCONFIG_USB_SERIAL_WHITEHEAT=mCONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
# CONFIG_USB_SERIAL_CP210X is not setCONFIG_USB_SERIAL_CYPRESS_M8=mCONFIG_USB_SERIAL_EMPEG=m
# CONFIG_USB_SERIAL_FTDI_SIO is not set
# CONFIG_USB_SERIAL_FUNSOFT is not set
# CONFIG_USB_SERIAL_VISOR is not setCONFIG_USB_SERIAL_IPAQ=m
# CONFIG_USB_SERIAL_IR is not setCONFIG_USB_SERIAL_EDGEPORT=mCONFIG_USB_SERIAL_EDGEPORT_TI=mCONFIG_USB_SERIAL_F81232=mCONFIG_USB_SERIAL_GARMIN=mCONFIG_USB_SERIAL_IPW=m
# CONFIG_USB_SERIAL_IUU is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not setCONFIG_USB_SERIAL_KEYSPAN=mCONFIG_USB_SERIAL_KEYSPAN_MPR=yCONFIG_USB_SERIAL_KEYSPAN_USA28=yCONFIG_USB_SERIAL_KEYSPAN_USA28X=yCONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not setCONFIG_USB_SERIAL_KEYSPAN_USA19=yCONFIG_USB_SERIAL_KEYSPAN_USA18X=yCONFIG_USB_SERIAL_KEYSPAN_USA19W=y
# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not setCONFIG_USB_SERIAL_KEYSPAN_USA49W=y
# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
# CONFIG_USB_SERIAL_KLSI is not setCONFIG_USB_SERIAL_KOBIL_SCT=m
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_METRO is not setCONFIG_USB_SERIAL_MOS7720=m
# CONFIG_USB_SERIAL_MOS7715_PARPORT is not setCONFIG_USB_SERIAL_MOS7840=mCONFIG_USB_SERIAL_MOTOROLA=m
# CONFIG_USB_SERIAL_NAVMAN is not set
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_OTI6858 is not setCONFIG_USB_SERIAL_QCAUX=mCONFIG_USB_SERIAL_QUALCOMM=m
# CONFIG_USB_SERIAL_SPCP8X5 is not setCONFIG_USB_SERIAL_HP4X=mCONFIG_USB_SERIAL_SAFE=mCONFIG_USB_SERIAL_SAFE_PADDED=yCONFIG_USB_SERIAL_SIEMENS_MPI=mCONFIG_USB_SERIAL_SIERRAWIRELESS=mCONFIG_USB_SERIAL_SYMBOL=m
# CONFIG_USB_SERIAL_TI is not setCONFIG_USB_SERIAL_CYBERJACK=mCONFIG_USB_SERIAL_XIRCOM=mCONFIG_USB_SERIAL_WWAN=m
# CONFIG_USB_SERIAL_OPTION is not set
# CONFIG_USB_SERIAL_OMNINET is not setCONFIG_USB_SERIAL_OPTICON=mCONFIG_USB_SERIAL_VIVOPAY_SERIAL=mCONFIG_USB_SERIAL_ZIO=mCONFIG_USB_SERIAL_SSU100=m
# CONFIG_USB_SERIAL_QT2 is not set
# CONFIG_USB_SERIAL_DEBUG is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not setCONFIG_USB_EMI26=mCONFIG_USB_ADUTUX=mCONFIG_USB_SEVSEG=m
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not setCONFIG_USB_LED=mCONFIG_USB_CYPRESS_CY7C63=m
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not setCONFIG_USB_APPLEDISPLAY=mCONFIG_USB_SISUSBVGA=m
# CONFIG_USB_SISUSBVGA_CON is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not setCONFIG_USB_TEST=m
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not set
#
# USB Physical Layer drivers
#
# CONFIG_USB_ISP1301 is not setCONFIG_USB_GADGET=m
# CONFIG_USB_GADGET_DEBUG is not set
# CONFIG_USB_GADGET_DEBUG_FILES is not setCONFIG_USB_GADGET_DEBUG_FS=yCONFIG_USB_GADGET_VBUS_DRAW=2CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
#
# USB Peripheral Controller
#CONFIG_USB_R8A66597=mCONFIG_USB_MV_UDC=m
# CONFIG_USB_GADGET_MUSB_HDRC is not set
# CONFIG_USB_M66592 is not set
# CONFIG_USB_AMD5536UDC is not set
# CONFIG_USB_NET2272 is not set
# CONFIG_USB_NET2280 is not set
# CONFIG_USB_GOKU is not set
# CONFIG_USB_EG20T is not setCONFIG_USB_DUMMY_HCD=mCONFIG_USB_GADGET_DUALSPEED=yCONFIG_USB_GADGET_SUPERSPEED=yCONFIG_USB_ZERO=mCONFIG_USB_ZERO_HNPTEST=yCONFIG_USB_ETH=m
# CONFIG_USB_ETH_RNDIS is not setCONFIG_USB_ETH_EEM=y
# CONFIG_USB_G_NCM is not set
# CONFIG_USB_GADGETFS is not setCONFIG_USB_FUNCTIONFS=m
# CONFIG_USB_FUNCTIONFS_ETH is not set
# CONFIG_USB_FUNCTIONFS_RNDIS is not setCONFIG_USB_FUNCTIONFS_GENERIC=y
# CONFIG_USB_FILE_STORAGE is not setCONFIG_USB_MASS_STORAGE=mCONFIG_USB_G_SERIAL=m
# CONFIG_USB_G_PRINTER is not set
# CONFIG_USB_CDC_COMPOSITE is not setCONFIG_USB_G_ACM_MS=mCONFIG_USB_G_MULTI=m
# CONFIG_USB_G_MULTI_RNDIS is not setCONFIG_USB_G_MULTI_CDC=yCONFIG_USB_G_HID=m
# CONFIG_USB_G_DBGP is not set
#
# OTG and related infrastructure
#CONFIG_USB_OTG_UTILS=y
# CONFIG_USB_GPIO_VBUS is not setCONFIG_NOP_USB_XCEIV=mCONFIG_UWB=mCONFIG_UWB_HWA=mCONFIG_UWB_WHCI=m
# CONFIG_UWB_I1480U is not setCONFIG_MMC=mCONFIG_MMC_DEBUG=yCONFIG_MMC_UNSAFE_RESUME=yCONFIG_MMC_CLKGATE=y
#
# MMC/SD/SDIO Card Drivers
#CONFIG_MMC_BLOCK=mCONFIG_MMC_BLOCK_MINORS=8
# CONFIG_MMC_BLOCK_BOUNCE is not set
# CONFIG_SDIO_UART is not setCONFIG_MMC_TEST=m
#
# MMC/SD/SDIO Host Controller Drivers
#CONFIG_MMC_SDHCI=mCONFIG_MMC_SDHCI_PCI=m
# CONFIG_MMC_RICOH_MMC is not setCONFIG_MMC_SDHCI_PLTFM=mCONFIG_MMC_WBSD=mCONFIG_MMC_TIFM_SD=m
# CONFIG_MMC_SPI is not set
# CONFIG_MMC_CB710 is not setCONFIG_MMC_VIA_SDMMC=m
# CONFIG_MMC_VUB300 is not setCONFIG_MMC_USHC=m
# CONFIG_MEMSTICK is not setCONFIG_NEW_LEDS=yCONFIG_LEDS_CLASS=m
#
# LED drivers
#
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_LM3533 is not setCONFIG_LEDS_PCA9532=m
# CONFIG_LEDS_PCA9532_GPIO is not setCONFIG_LEDS_GPIO=m
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_LP5521 is not set
# CONFIG_LEDS_LP5523 is not set
# CONFIG_LEDS_PCA955X is not setCONFIG_LEDS_PCA9633=m
# CONFIG_LEDS_WM831X_STATUS is not set
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_REGULATOR is not setCONFIG_LEDS_BD2802=mCONFIG_LEDS_LT3593=m
# CONFIG_LEDS_MC13783 is not set
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_OT200 is not setCONFIG_LEDS_TRIGGERS=y
#
# LED Triggers
#CONFIG_LEDS_TRIGGER_TIMER=mCONFIG_LEDS_TRIGGER_HEARTBEAT=mCONFIG_LEDS_TRIGGER_BACKLIGHT=m
# CONFIG_LEDS_TRIGGER_GPIO is not setCONFIG_LEDS_TRIGGER_DEFAULT_ON=m
#
# iptables trigger is under Netfilter config (LED target) # CONFIG_LEDS_TRIGGER_TRANSIENT=m CONFIG_ACCESSIBILITY=y # CONFIG_A11Y_BRAILLE_CONSOLE is not set # CONFIG_INFINIBAND is not set CONFIG_EDAC=y
#
# Reporting subsystems
#CONFIG_EDAC_DEBUG=yCONFIG_EDAC_MM_EDAC=m
# CONFIG_EDAC_E752X is not setCONFIG_EDAC_I82975X=m
# CONFIG_EDAC_I3000 is not setCONFIG_EDAC_I3200=mCONFIG_EDAC_X38=mCONFIG_EDAC_I5400=m
# CONFIG_EDAC_I5000 is not set
# CONFIG_EDAC_I5100 is not setCONFIG_EDAC_I7300=m
# CONFIG_RTC_CLASS is not setCONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set
#
# DMA Devices
#
# CONFIG_INTEL_MID_DMAC is not set
# CONFIG_INTEL_IOATDMA is not set
# CONFIG_TIMB_DMA is not setCONFIG_PCH_DMA=mCONFIG_DMA_ENGINE=y
#
# DMA Clients
#CONFIG_NET_DMA=y
# CONFIG_ASYNC_TX_DMA is not set
# CONFIG_DMATEST is not setCONFIG_AUXDISPLAY=y
# CONFIG_KS0108 is not setCONFIG_UIO=m
# CONFIG_UIO_CIF is not set
# CONFIG_UIO_PDRV is not setCONFIG_UIO_PDRV_GENIRQ=m
# CONFIG_UIO_AEC is not setCONFIG_UIO_SERCOS3=mCONFIG_UIO_PCI_GENERIC=m
# CONFIG_UIO_NETX is not setCONFIG_VIRTIO=mCONFIG_VIRTIO_RING=m
#
# Virtio drivers
#CONFIG_VIRTIO_PCI=m
# CONFIG_VIRTIO_BALLOON is not set
# CONFIG_VIRTIO_MMIO is not set
#
# Microsoft Hyper-V guest support
#CONFIG_X86_PLATFORM_DEVICES=yCONFIG_SENSORS_HDAPS=m
# CONFIG_IBM_RTL is not set
# CONFIG_SAMSUNG_LAPTOP is not set
# CONFIG_SAMSUNG_Q10 is not set
#
# Hardware Spinlock drivers
#CONFIG_CLKEVT_I8253=yCONFIG_CLKBLD_I8253=y
# CONFIG_IOMMU_SUPPORT is not set
#
# Remoteproc drivers (EXPERIMENTAL)
#
#
# Rpmsg drivers (EXPERIMENTAL)
#CONFIG_VIRT_DRIVERS=yCONFIG_PM_DEVFREQ=y
#
# DEVFREQ Governors
#
# CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND is not setCONFIG_DEVFREQ_GOV_PERFORMANCE=yCONFIG_DEVFREQ_GOV_POWERSAVE=y
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
#
# DEVFREQ Drivers
#
# CONFIG_EXTCON is not setCONFIG_MEMORY=yCONFIG_IIO=m
# CONFIG_IIO_BUFFER is not set
# CONFIG_IIO_TRIGGER is not set
#
# Analog to digital converters
#
#
# Amplifiers
#CONFIG_AD8366=mCONFIG_VME_BUS=m
#
# VME Bridge Drivers
#CONFIG_VME_CA91CX42=m
# CONFIG_VME_TSI148 is not set
#
# VME Board Drivers
#CONFIG_VMIVME_7805=m
#
# VME Device Drivers
#
#
# Firmware Drivers
#
# CONFIG_EDD is not setCONFIG_FIRMWARE_MEMMAP=yCONFIG_DELL_RBU=m
# CONFIG_DCDBAS is not setCONFIG_ISCSI_IBFT_FIND=y
# CONFIG_ISCSI_IBFT is not setCONFIG_GOOGLE_FIRMWARE=y
#
# Google Firmware Drivers
#
#
# File systems
#CONFIG_DCACHE_WORD_ACCESS=yCONFIG_EXT2_FS=m
# CONFIG_EXT2_FS_XATTR is not setCONFIG_EXT2_FS_XIP=yCONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not setCONFIG_EXT3_FS_XATTR=yCONFIG_EXT3_FS_POSIX_ACL=yCONFIG_EXT3_FS_SECURITY=y
# CONFIG_EXT4_FS is not setCONFIG_FS_XIP=yCONFIG_JBD=yCONFIG_JBD_DEBUG=yCONFIG_FS_MBCACHE=yCONFIG_REISERFS_FS=mCONFIG_REISERFS_CHECK=yCONFIG_REISERFS_PROC_INFO=yCONFIG_REISERFS_FS_XATTR=y
# CONFIG_REISERFS_FS_POSIX_ACL is not set
# CONFIG_REISERFS_FS_SECURITY is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not setCONFIG_GFS2_FS=mCONFIG_BTRFS_FS=m
# CONFIG_BTRFS_FS_POSIX_ACL is not set
# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
# CONFIG_NILFS2_FS is not setCONFIG_FS_POSIX_ACL=yCONFIG_FILE_LOCKING=yCONFIG_FSNOTIFY=yCONFIG_DNOTIFY=y
# CONFIG_INOTIFY_USER is not set
# CONFIG_FANOTIFY is not set
# CONFIG_QUOTA is not set
# CONFIG_QUOTA_NETLINK_INTERFACE is not setCONFIG_QUOTACTL=yCONFIG_QUOTACTL_COMPAT=y
# CONFIG_AUTOFS4_FS is not setCONFIG_FUSE_FS=mCONFIG_CUSE=m
#
# Caches
#
# CONFIG_FSCACHE is not set
#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not setCONFIG_UDF_FS=mCONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not setCONFIG_NTFS_FS=mCONFIG_NTFS_DEBUG=y
# CONFIG_NTFS_RW is not set
#
# Pseudo filesystems
#CONFIG_PROC_FS=yCONFIG_PROC_KCORE=y
# CONFIG_PROC_SYSCTL is not set
# CONFIG_PROC_PAGE_MONITOR is not setCONFIG_SYSFS=yCONFIG_HUGETLBFS=yCONFIG_HUGETLB_PAGE=y
# CONFIG_CONFIGFS_FS is not set
# CONFIG_MISC_FILESYSTEMS is not set
# CONFIG_NETWORK_FILESYSTEMS is not setCONFIG_NLS=yCONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not setCONFIG_NLS_CODEPAGE_737=m
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not setCONFIG_NLS_CODEPAGE_863=mCONFIG_NLS_CODEPAGE_864=m
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not setCONFIG_NLS_CODEPAGE_869=m
# CONFIG_NLS_CODEPAGE_936 is not setCONFIG_NLS_CODEPAGE_950=m
# CONFIG_NLS_CODEPAGE_932 is not setCONFIG_NLS_CODEPAGE_949=m
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not setCONFIG_NLS_CODEPAGE_1250=m
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not setCONFIG_NLS_ISO8859_1=m
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not setCONFIG_NLS_ISO8859_4=m
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not setCONFIG_NLS_ISO8859_7=m
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not setCONFIG_NLS_ISO8859_15=mCONFIG_NLS_KOI8_R=mCONFIG_NLS_KOI8_U=mCONFIG_NLS_MAC_ROMAN=m
# CONFIG_NLS_MAC_CELTIC is not set
# CONFIG_NLS_MAC_CENTEURO is not set
# CONFIG_NLS_MAC_CROATIAN is not setCONFIG_NLS_MAC_CYRILLIC=m
# CONFIG_NLS_MAC_GAELIC is not setCONFIG_NLS_MAC_GREEK=mCONFIG_NLS_MAC_ICELAND=mCONFIG_NLS_MAC_INUIT=m
# CONFIG_NLS_MAC_ROMANIAN is not setCONFIG_NLS_MAC_TURKISH=m
# CONFIG_NLS_UTF8 is not set
#
# 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=y
# CONFIG_READABLE_ASM is not set CONFIG_UNUSED_SYMBOLS=yCONFIG_DEBUG_FS=yCONFIG_HEADERS_CHECK=y CONFIG_DEBUG_SECTION_MISMATCH=y CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set CONFIG_LOCKUP_DETECTOR=y CONFIG_HARDLOCKUP_DETECTOR=y CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=1 # 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 is not set
# CONFIG_SCHED_DEBUG is not set
# CONFIG_SCHEDSTATS is not set
# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
# CONFIG_DEBUG_RT_MUTEXES is not set 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 is not set CONFIG_SPARSE_RCU_POINTER=y CONFIG_LOCKDEP=yCONFIG_LOCK_STAT=y
# CONFIG_DEBUG_LOCKDEP is not set CONFIG_TRACE_IRQFLAGS=y
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set CONFIG_STACKTRACE=y
# CONFIG_DEBUG_STACK_USAGE is not set CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VIRTUAL is not set
# CONFIG_DEBUG_WRITECOUNT is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_LIST is not set CONFIG_TEST_LIST_SORT=y
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set 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=m
# CONFIG_RCU_TRACE is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set CONFIG_LKDTM=mCONFIG_FAULT_INJECTION=yCONFIG_FAILSLAB=y
# CONFIG_FAIL_PAGE_ALLOC is not set
# CONFIG_FAIL_MAKE_REQUEST is not set
# CONFIG_FAIL_IO_TIMEOUT is not set
# CONFIG_FAIL_MMC_REQUEST is not set CONFIG_FAULT_INJECTION_DEBUG_FS=y
# CONFIG_LATENCYTOP is not set
# CONFIG_DEBUG_PAGEALLOC is not set 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_C_RECORDMCOUNT=y CONFIG_TRACER_MAX_TRACE=y CONFIG_RING_BUFFER=y CONFIG_EVENT_TRACING=y
# CONFIG_EVENT_POWER_TRACING_DEPRECATED is not set CONFIG_CONTEXT_SWITCH_TRACER=y CONFIG_RING_BUFFER_ALLOW_SWAP=y CONFIG_TRACING=yCONFIG_GENERIC_TRACER=y CONFIG_TRACING_SUPPORT=yCONFIG_FTRACE=yCONFIG_FUNCTION_TRACER=y CONFIG_FUNCTION_GRAPH_TRACER=y CONFIG_IRQSOFF_TRACER=y
# CONFIG_SCHED_TRACER is not set CONFIG_FTRACE_SYSCALLS=y CONFIG_BRANCH_PROFILE_NONE=y CONFIG_STACK_TRACER=y
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_KPROBE_EVENT is not set CONFIG_UPROBE_EVENT=y CONFIG_PROBE_EVENTS=y
# CONFIG_DYNAMIC_FTRACE is not set
# CONFIG_FUNCTION_PROFILER is not set
# CONFIG_MMIOTRACE is not set CONFIG_PROVIDE_OHCI1394_DMA_INIT=y CONFIG_BUILD_DOCSRC=y CONFIG_DYNAMIC_DEBUG=y
# CONFIG_DMA_API_DEBUG is not set CONFIG_ATOMIC64_SELFTEST=y CONFIG_SAMPLES=y
# CONFIG_SAMPLE_TRACEPOINTS is not set CONFIG_SAMPLE_TRACE_EVENTS=m CONFIG_SAMPLE_KOBJECT=m CONFIG_SAMPLE_KPROBES=m
# CONFIG_SAMPLE_KRETPROBES is not set
# CONFIG_SAMPLE_HW_BREAKPOINT is not set CONFIG_SAMPLE_KFIFO=m CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set CONFIG_HAVE_ARCH_KMEMCHECK=y
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_STRICT_DEVMEM is not set
# CONFIG_X86_VERBOSE_BOOTUP is not set CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set CONFIG_DEBUG_STACKOVERFLOW=y CONFIG_X86_PTDUMP=yCONFIG_DEBUG_RODATA=y CONFIG_DEBUG_RODATA_TEST=y
# CONFIG_DEBUG_SET_MODULE_RONX is not set # CONFIG_DEBUG_NX_TEST is not set
# CONFIG_DEBUG_TLBFLUSH is not set CONFIG_IOMMU_STRESS=y CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set 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 is not set
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set CONFIG_IO_DELAY_NONE=y CONFIG_DEFAULT_IO_DELAY_TYPE=3 CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set CONFIG_OPTIMIZE_INLINING=y
# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set CONFIG_DEBUG_NMI_SELFTEST=y
#
# Security options
#CONFIG_KEYS=y
# CONFIG_TRUSTED_KEYS is not set CONFIG_ENCRYPTED_KEYS=y
# CONFIG_KEYS_DEBUG_PROC_KEYS is not set CONFIG_SECURITY_DMESG_RESTRICT=y CONFIG_SECURITY=yCONFIG_SECURITYFS=yCONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set CONFIG_SECURITY_PATH=yCONFIG_SECURITY_TOMOYO=y CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init" CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init" # CONFIG_SECURITY_APPARMOR is not set CONFIG_SECURITY_YAMA=yCONFIG_INTEGRITY=yCONFIG_INTEGRITY_SIGNATURE=yCONFIG_IMA=yCONFIG_IMA_MEASURE_PCR_IDX=10 CONFIG_IMA_AUDIT=yCONFIG_EVM=yCONFIG_DEFAULT_SECURITY_TOMOYO=y
# CONFIG_DEFAULT_SECURITY_YAMA is not set
# CONFIG_DEFAULT_SECURITY_DAC is not set CONFIG_DEFAULT_SECURITY="tomoyo" CONFIG_CRYPTO=y
#
# Crypto core or helper
#
# CONFIG_CRYPTO_FIPS is not setCONFIG_CRYPTO_ALGAPI=yCONFIG_CRYPTO_ALGAPI2=yCONFIG_CRYPTO_AEAD=mCONFIG_CRYPTO_AEAD2=yCONFIG_CRYPTO_BLKCIPHER=yCONFIG_CRYPTO_BLKCIPHER2=yCONFIG_CRYPTO_HASH=yCONFIG_CRYPTO_HASH2=yCONFIG_CRYPTO_RNG=yCONFIG_CRYPTO_RNG2=yCONFIG_CRYPTO_PCOMP2=yCONFIG_CRYPTO_MANAGER=yCONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_USER is not set
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not setCONFIG_CRYPTO_GF128MUL=mCONFIG_CRYPTO_NULL=mCONFIG_CRYPTO_WORKQUEUE=yCONFIG_CRYPTO_CRYPTD=mCONFIG_CRYPTO_AUTHENC=mCONFIG_CRYPTO_TEST=m
#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_GCM is not setCONFIG_CRYPTO_SEQIV=m
#
# Block modes
#CONFIG_CRYPTO_CBC=y
# CONFIG_CRYPTO_CTR is not setCONFIG_CRYPTO_CTS=mCONFIG_CRYPTO_ECB=mCONFIG_CRYPTO_LRW=mCONFIG_CRYPTO_PCBC=mCONFIG_CRYPTO_XTS=m
#
# Hash modes
#CONFIG_CRYPTO_HMAC=yCONFIG_CRYPTO_XCBC=m
# CONFIG_CRYPTO_VMAC is not set
#
# Digest
#CONFIG_CRYPTO_CRC32C=m
# CONFIG_CRYPTO_CRC32C_INTEL is not setCONFIG_CRYPTO_GHASH=m
# CONFIG_CRYPTO_MD4 is not setCONFIG_CRYPTO_MD5=yCONFIG_CRYPTO_MICHAEL_MIC=mCONFIG_CRYPTO_RMD128=m
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not setCONFIG_CRYPTO_SHA1=y
# CONFIG_CRYPTO_SHA1_SSSE3 is not setCONFIG_CRYPTO_SHA256=yCONFIG_CRYPTO_SHA512=mCONFIG_CRYPTO_TGR192=m
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set
#
# Ciphers
#CONFIG_CRYPTO_AES=yCONFIG_CRYPTO_AES_X86_64=mCONFIG_CRYPTO_AES_NI_INTEL=m
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_ARC4 is not setCONFIG_CRYPTO_BLOWFISH=mCONFIG_CRYPTO_BLOWFISH_COMMON=m
# CONFIG_CRYPTO_BLOWFISH_X86_64 is not setCONFIG_CRYPTO_CAMELLIA=m
# CONFIG_CRYPTO_CAMELLIA_X86_64 is not setCONFIG_CRYPTO_CAST5=mCONFIG_CRYPTO_CAST6=mCONFIG_CRYPTO_DES=mCONFIG_CRYPTO_FCRYPT=m
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_SALSA20_X86_64 is not set
# CONFIG_CRYPTO_SEED is not setCONFIG_CRYPTO_SERPENT=m
# CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not setCONFIG_CRYPTO_TEA=m
# CONFIG_CRYPTO_TWOFISH is not setCONFIG_CRYPTO_TWOFISH_COMMON=mCONFIG_CRYPTO_TWOFISH_X86_64=m
# CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set
#
# Compression
#CONFIG_CRYPTO_DEFLATE=m
# CONFIG_CRYPTO_ZLIB is not setCONFIG_CRYPTO_LZO=m
#
# Random Number Generation
#CONFIG_CRYPTO_ANSI_CPRNG=mCONFIG_CRYPTO_USER_API=mCONFIG_CRYPTO_USER_API_HASH=mCONFIG_CRYPTO_USER_API_SKCIPHER=mCONFIG_CRYPTO_HW=yCONFIG_CRYPTO_DEV_PADLOCK=m
# CONFIG_CRYPTO_DEV_PADLOCK_AES is not setCONFIG_CRYPTO_DEV_PADLOCK_SHA=mCONFIG_HAVE_KVM=yCONFIG_VIRTUALIZATION=y
# CONFIG_KVM is not set
# CONFIG_VHOST_NET is not setCONFIG_BINARY_PRINTF=y
#
# Library routines
#CONFIG_BITREVERSE=yCONFIG_GENERIC_STRNCPY_FROM_USER=yCONFIG_GENERIC_STRNLEN_USER=yCONFIG_GENERIC_FIND_FIRST_BIT=yCONFIG_GENERIC_PCI_IOMAP=yCONFIG_GENERIC_IOMAP=yCONFIG_GENERIC_IO=yCONFIG_CRC_CCITT=m
# CONFIG_CRC16 is not setCONFIG_CRC_T10DIF=yCONFIG_CRC_ITU_T=mCONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not setCONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC7 is not setCONFIG_LIBCRC32C=mCONFIG_CRC8=mCONFIG_ZLIB_INFLATE=mCONFIG_ZLIB_DEFLATE=mCONFIG_LZO_COMPRESS=yCONFIG_LZO_DECOMPRESS=y
# CONFIG_XZ_DEC is not set
# CONFIG_XZ_DEC_BCJ is not setCONFIG_HAS_IOMEM=yCONFIG_HAS_IOPORT=yCONFIG_HAS_DMA=yCONFIG_CHECK_SIGNATURE=yCONFIG_DQL=yCONFIG_NLATTR=y
# CONFIG_AVERAGE is not setCONFIG_CLZ_TAB=yCONFIG_CORDIC=m
# CONFIG_DDR is not setCONFIG_MPILIB=yCONFIG_SIGNATURE=yCONFIG_FORCE_SUCCESSFUL_BUILD=yCONFIG_FORCE_MINIMAL_CONFIG=yCONFIG_FORCE_MINIMAL_CONFIG_64=yCONFIG_FORCE_MINIMAL_CONFIG_PHYS=y
PATCH 1/1 x86: don't ever patch back to UP if we unplug cpus
We still patch SMP instructions to UP variants if we boot with a single CPU, but not at any other time. In particular, not if we unplug CPUs to return to a single cpu.
Paul McKenney points out:
mean offline overhead is 6251/48=130.2 milliseconds.
If I remove the alternatives_smp_switch() from the offline path [...] the mean offline overhead is 550/42=13.1 milliseconds
Basically, we're never going to get those 120ms back, and the code is pretty messy.
We get rid of:
1) The "smp-alt-once" boot option. It's actually "smp-alt-boot", the documentation is wrong. It's now the default.
2) The skip_smp_alternatives flag used by suspend.
3) arch_disable_nonboot_cpus_begin() and arch_disable_nonboot_cpus_end() which were only used to set this one flag.
--- Documentation/kernel-parameters.txt | 3 arch/x86/include/asm/alternative.h | 4 - arch/x86/kernel/alternative.c | 109 ++++++++---------------------------- arch/x86/kernel/smpboot.c | 20 ------ kernel/cpu.c | 11 --- 5 files changed, 31 insertions(+), 116 deletions(-)
Documentation/kernel-parameters.txt +0 -3
@@ -2638,9 +2638,6 @@ bytes respectively. Such letter suffixes smart2= [HW] Format: <io1>[,<io2>[,...,<io8>]] - smp-alt-once [X86-32,SMP] On a hotplug CPU system, only - attempt to substitute SMP alternatives once at boot. - smsc-ircc2.nopnp [HW] Don't use PNP to discover SMC devices smsc-ircc2.ircc_cfg= [HW] Device configuration I/O port smsc-ircc2.ircc_sir= [HW] SIR base I/O port
arch/x86/include/asm/alternative.h +2 -2
@@ -60,7 +60,7 @@ extern void alternatives_smp_module_add( void *locks, void *locks_end, void *text, void *text_end);extern void alternatives_smp_module_del (struct module *mod); -extern void alternatives_smp_switch (int smp); +extern void alternatives_enable_smp (void );extern int alternatives_text_reserved (void *start,void *end);extern bool skip_smp_alternatives;#else
@@ -68,7 +68,7 @@ static inline void alternatives_smp_modu void *locks, void *locks_end, void *text, void *text_end) {} static inline void alternatives_smp_module_del(struct module *mod) {} -static inline void alternatives_smp_switch(int smp) {} +static inline void alternatives_enable_smp(void) {} static inline int alternatives_text_reserved(void *start, void *end) { return 0;
arch/x86/kernel/alternative.c +27 -82
190 lines not on this page · raw message
arch/x86/kernel/smpboot.c +2 -18
@@ -665,7 +665,8 @@ static int __cpuinit do_boot_cpu(int apiunsigned long boot_error =0 ;int timeout; -alternatives_smp_switch (1 ); +/* Just in case we booted with a single CPU. */ +alternatives_enable_smp (); idle->thread.sp = (unsigned long ) (((struct pt_regs *) (THREAD_SIZE +task_stack_page (idle))) -1 );
@@ -1053,20 +1054,6 @@ out:preempt_enable (); } -void arch_disable_nonboot_cpus_begin (void ) -{ -/* -* Avoid the smp alternatives switch during the disable_nonboot_cpus(). -* In the suspend path, we will be back in the SMP mode shortly anyways. -*/ - skip_smp_alternatives = true; -} - -void arch_disable_nonboot_cpus_end (void ) -{ - skip_smp_alternatives = false; -} -void arch_enable_nonboot_cpus_begin (void ) {set_mtrr_aps_delayed_init ();
@@ -1256,9 +1243,6 @@ void native_cpu_die(unsigned int cpu)if (per_cpu (cpu_state, cpu) ==CPU_DEAD ) {if (system_state ==SYSTEM_RUNNING )pr_info ("CPU %u is now offline\n" , cpu); - -if (1 ==num_online_cpus ()) -alternatives_smp_switch (0 );return ; }msleep (100 );
kernel/cpu.c +0 -11
@@ -439,14 +439,6 @@ EXPORT_SYMBOL_GPL(cpu_up);#ifdef CONFIG_PM_SLEEP_SMP static cpumask_var_t frozen_cpus; -void __weak arch_disable_nonboot_cpus_begin (void ) -{ -} - -void __weak arch_disable_nonboot_cpus_end (void ) -{ -} -int disable_nonboot_cpus (void ) {int cpu, first_cpu, error =0 ;
@@ -458,7 +450,6 @@ int disable_nonboot_cpus(void)* with the userspace trying to use the CPU hotplug at the same time */ cpumask_clear (frozen_cpus); -arch_disable_nonboot_cpus_begin ();printk ("Disabling non-boot CPUs ...\n" );for_each_online_cpu (cpu) {
@@ -474,8 +465,6 @@ int disable_nonboot_cpus(void) } } -arch_disable_nonboot_cpus_end (); -if (!error) {BUG_ON (num_online_cpus () >1 );/* Make sure the CPUs won't be enabled by someone else */
[tip:x86/asm] x86/smp: Don' t ever patch back to UP if we unplug cpus
Commit-ID: 9f2bce885cbea18074b2fe747e3db5262f68c90a Gitweb: http://git.kernel.org/tip/9f2bce885cbea18074b2fe747e3db5262f68c90a Author: Rusty Russell <[email protected]> AuthorDate: Mon, 6 Aug 2012 17:29:49 +0930 Committer: Ingo Molnar <[email protected]> CommitDate: Wed, 22 Aug 2012 11:18:26 +0200
x86/smp: Don't ever patch back to UP if we unplug cpus
We still patch SMP instructions to UP variants if we boot with a single CPU, but not at any other time. In particular, not if we unplug CPUs to return to a single cpu.
Paul McKenney points out:
mean offline overhead is 6251/48=130.2 milliseconds.
If I remove the alternatives_smp_switch() from the offline path [...] the mean offline overhead is 550/42=13.1 milliseconds
Basically, we're never going to get those 120ms back, and the code is pretty messy.
We get rid of:
1) The "smp-alt-once" boot option. It's actually "smp-alt-boot", the documentation is wrong. It's now the default.
2) The skip_smp_alternatives flag used by suspend.
3) arch_disable_nonboot_cpus_begin() and arch_disable_nonboot_cpus_end() which were only used to set this one flag.
--- Documentation/kernel-parameters.txt | 3 - arch/x86/include/asm/alternative.h | 4 +- arch/x86/kernel/alternative.c | 107 +++++++++-------------------------- arch/x86/kernel/smpboot.c | 20 +------ kernel/cpu.c | 11 ---- 5 files changed, 30 insertions(+), 115 deletions(-)
Documentation/kernel-parameters.txt +0 -3
@@ -2638,9 +2638,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted. smart2= [HW] Format: <io1>[,<io2>[,...,<io8>]] - smp-alt-once [X86-32,SMP] On a hotplug CPU system, only - attempt to substitute SMP alternatives once at boot. - smsc-ircc2.nopnp [HW] Don't use PNP to discover SMC devices smsc-ircc2.ircc_cfg= [HW] Device configuration I/O port smsc-ircc2.ircc_sir= [HW] SIR base I/O port
arch/x86/include/asm/alternative.h +2 -2
@@ -60,7 +60,7 @@ extern void alternatives_smp_module_add(struct module *mod, char *name, void *locks, void *locks_end, void *text, void *text_end);extern void alternatives_smp_module_del (struct module *mod); -extern void alternatives_smp_switch (int smp); +extern void alternatives_enable_smp (void );extern int alternatives_text_reserved (void *start,void *end);extern bool skip_smp_alternatives;#else
@@ -68,7 +68,7 @@ static inline void alternatives_smp_module_add(struct module *mod, char *name, void *locks, void *locks_end, void *text, void *text_end) {} static inline void alternatives_smp_module_del(struct module *mod) {} -static inline void alternatives_smp_switch(int smp) {} +static inline void alternatives_enable_smp(void) {} static inline int alternatives_text_reserved(void *start, void *end) { return 0;
arch/x86/kernel/alternative.c +26 -81
189 lines not on this page · raw message
arch/x86/kernel/smpboot.c +2 -18
@@ -665,7 +665,8 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu, struct task_struct *idle)unsigned long boot_error =0 ;int timeout; -alternatives_smp_switch (1 ); +/* Just in case we booted with a single CPU. */ +alternatives_enable_smp (); idle->thread.sp = (unsigned long ) (((struct pt_regs *) (THREAD_SIZE +task_stack_page (idle))) -1 );
@@ -1053,20 +1054,6 @@ out:preempt_enable (); } -void arch_disable_nonboot_cpus_begin (void ) -{ -/* -* Avoid the smp alternatives switch during the disable_nonboot_cpus(). -* In the suspend path, we will be back in the SMP mode shortly anyways. -*/ - skip_smp_alternatives = true; -} - -void arch_disable_nonboot_cpus_end (void ) -{ - skip_smp_alternatives = false; -} -void arch_enable_nonboot_cpus_begin (void ) {set_mtrr_aps_delayed_init ();
@@ -1256,9 +1243,6 @@ void native_cpu_die(unsigned int cpu)if (per_cpu (cpu_state, cpu) ==CPU_DEAD ) {if (system_state ==SYSTEM_RUNNING )pr_info ("CPU %u is now offline\n" , cpu); - -if (1 ==num_online_cpus ()) -alternatives_smp_switch (0 );return ; }msleep (100 );
kernel/cpu.c +0 -11
@@ -439,14 +439,6 @@ EXPORT_SYMBOL_GPL(cpu_up);#ifdef CONFIG_PM_SLEEP_SMP static cpumask_var_t frozen_cpus; -void __weak arch_disable_nonboot_cpus_begin (void ) -{ -} - -void __weak arch_disable_nonboot_cpus_end (void ) -{ -} -int disable_nonboot_cpus (void ) {int cpu, first_cpu, error =0 ;
@@ -458,7 +450,6 @@ int disable_nonboot_cpus(void)* with the userspace trying to use the CPU hotplug at the same time */ cpumask_clear (frozen_cpus); -arch_disable_nonboot_cpus_begin ();printk ("Disabling non-boot CPUs ...\n" );for_each_online_cpu (cpu) {
@@ -474,8 +465,6 @@ int disable_nonboot_cpus(void) } } -arch_disable_nonboot_cpus_end (); -if (!error) {BUG_ON (num_online_cpus () >1 );/* Make sure the CPUs won't be enabled by someone else */
[tip:x86/asm] x86/smp: Don' t ever patch back to UP if we unplug cpus
In reply to Rusty RussellCommit-ID: 816afe4ff98ee10b1d30fd66361be132a0a5cee6 Gitweb: http://git.kernel.org/tip/816afe4ff98ee10b1d30fd66361be132a0a5cee6 Author: Rusty Russell <[email protected]> AuthorDate: Mon, 6 Aug 2012 17:29:49 +0930 Committer: Ingo Molnar <[email protected]> CommitDate: Thu, 23 Aug 2012 10:45:13 +0200
x86/smp: Don't ever patch back to UP if we unplug cpus
We still patch SMP instructions to UP variants if we boot with a single CPU, but not at any other time. In particular, not if we unplug CPUs to return to a single cpu.
Paul McKenney points out:
mean offline overhead is 6251/48=130.2 milliseconds.
If I remove the alternatives_smp_switch() from the offline path [...] the mean offline overhead is 550/42=13.1 milliseconds
Basically, we're never going to get those 120ms back, and the code is pretty messy.
We get rid of:
1) The "smp-alt-once" boot option. It's actually "smp-alt-boot", the documentation is wrong. It's now the default.
2) The skip_smp_alternatives flag used by suspend.
3) arch_disable_nonboot_cpus_begin() and arch_disable_nonboot_cpus_end() which were only used to set this one flag.
--- Documentation/kernel-parameters.txt | 3 - arch/x86/include/asm/alternative.h | 4 +- arch/x86/kernel/alternative.c | 107 +++++++++-------------------------- arch/x86/kernel/smpboot.c | 20 +------ arch/x86/xen/smp.c | 6 +- kernel/cpu.c | 11 ---- 6 files changed, 32 insertions(+), 119 deletions(-)
Documentation/kernel-parameters.txt +0 -3
@@ -2638,9 +2638,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted. smart2= [HW] Format: <io1>[,<io2>[,...,<io8>]] - smp-alt-once [X86-32,SMP] On a hotplug CPU system, only - attempt to substitute SMP alternatives once at boot. - smsc-ircc2.nopnp [HW] Don't use PNP to discover SMC devices smsc-ircc2.ircc_cfg= [HW] Device configuration I/O port smsc-ircc2.ircc_sir= [HW] SIR base I/O port
arch/x86/include/asm/alternative.h +2 -2
@@ -60,7 +60,7 @@ extern void alternatives_smp_module_add(struct module *mod, char *name, void *locks, void *locks_end, void *text, void *text_end);extern void alternatives_smp_module_del (struct module *mod); -extern void alternatives_smp_switch (int smp); +extern void alternatives_enable_smp (void );extern int alternatives_text_reserved (void *start,void *end);extern bool skip_smp_alternatives;#else
@@ -68,7 +68,7 @@ static inline void alternatives_smp_module_add(struct module *mod, char *name, void *locks, void *locks_end, void *text, void *text_end) {} static inline void alternatives_smp_module_del(struct module *mod) {} -static inline void alternatives_smp_switch(int smp) {} +static inline void alternatives_enable_smp(void) {} static inline int alternatives_text_reserved(void *start, void *end) { return 0;
arch/x86/kernel/alternative.c +26 -81
189 lines not on this page · raw message
arch/x86/kernel/smpboot.c +2 -18
@@ -665,7 +665,8 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu, struct task_struct *idle)unsigned long boot_error =0 ;int timeout; -alternatives_smp_switch (1 ); +/* Just in case we booted with a single CPU. */ +alternatives_enable_smp (); idle->thread.sp = (unsigned long ) (((struct pt_regs *) (THREAD_SIZE +task_stack_page (idle))) -1 );
@@ -1053,20 +1054,6 @@ out:preempt_enable (); } -void arch_disable_nonboot_cpus_begin (void ) -{ -/* -* Avoid the smp alternatives switch during the disable_nonboot_cpus(). -* In the suspend path, we will be back in the SMP mode shortly anyways. -*/ - skip_smp_alternatives = true; -} - -void arch_disable_nonboot_cpus_end (void ) -{ - skip_smp_alternatives = false; -} -void arch_enable_nonboot_cpus_begin (void ) {set_mtrr_aps_delayed_init ();
@@ -1256,9 +1243,6 @@ void native_cpu_die(unsigned int cpu)if (per_cpu (cpu_state, cpu) ==CPU_DEAD ) {if (system_state ==SYSTEM_RUNNING )pr_info ("CPU %u is now offline\n" , cpu); - -if (1 ==num_online_cpus ()) -alternatives_smp_switch (0 );return ; }msleep (100 );
arch/x86/xen/smp.c +2 -4
@@ -377,7 +377,8 @@ static int __cpuinit xen_cpu_up(unsigned int cpu, struct task_struct *idle)return rc;if (num_online_cpus () ==1 ) -alternatives_smp_switch (1 ); +/* Just in case we booted with a single CPU. */ +alternatives_enable_smp (); rc =xen_smp_intr_init (cpu);if (rc)
@@ -424,9 +425,6 @@ static void xen_cpu_die(unsigned int cpu)unbind_from_irqhandler (per_cpu (xen_irq_work, cpu),NULL );xen_uninit_lock_cpu (cpu);xen_teardown_timer (cpu); - -if (num_online_cpus () ==1 ) -alternatives_smp_switch (0 ); }static void __cpuinit xen_play_dead (void )/* used only with HOTPLUG_CPU */
kernel/cpu.c +0 -11
@@ -439,14 +439,6 @@ EXPORT_SYMBOL_GPL(cpu_up);#ifdef CONFIG_PM_SLEEP_SMP static cpumask_var_t frozen_cpus; -void __weak arch_disable_nonboot_cpus_begin (void ) -{ -} - -void __weak arch_disable_nonboot_cpus_end (void ) -{ -} -int disable_nonboot_cpus (void ) {int cpu, first_cpu, error =0 ;
@@ -458,7 +450,6 @@ int disable_nonboot_cpus(void)* with the userspace trying to use the CPU hotplug at the same time */ cpumask_clear (frozen_cpus); -arch_disable_nonboot_cpus_begin ();printk ("Disabling non-boot CPUs ...\n" );for_each_online_cpu (cpu) {
@@ -474,8 +465,6 @@ int disable_nonboot_cpus(void) } } -arch_disable_nonboot_cpus_end (); -if (!error) {BUG_ON (num_online_cpus () >1 );/* Make sure the CPUs won't be enabled by someone else */