linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] SLAB changes for v2.6.39-rc1
@ 2011-03-22 14:40 Pekka Enberg
  2011-03-24 14:21 ` Ingo Molnar
  0 siblings, 1 reply; 71+ messages in thread
From: Pekka Enberg @ 2011-03-22 14:40 UTC (permalink / raw)
  To: torvalds; +Cc: cl, akpm, tj, npiggin, rientjes, linux-kernel, linux-mm

Hi Linus,

Here's SLAB updates for 2.6.39-rc1. The interesting bits are SLUB lockless 
fastpath patches from Christoph which improve performance and updates to 
support bigger 'struct rcu_head' from Lai. I pulled the per-CPU tree to 
slub/lockless which is why some already merged patches show up in the 
pull request.

                         Pekka

The following changes since commit a952baa034ae7c2e4a66932005cbc7ebbccfe28d:
   Linus Torvalds (1):
         Merge branch 'for-linus' of git://git.kernel.org/.../dtor/input

are available in the git repository at:

   ssh://master.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6.git for-linus

Christoph Lameter (5):
       mm: Remove support for kmem_cache_name()
       slub: min_partial needs to be in first cacheline
       slub: Get rid of slab_free_hook_irq()
       Lockless (and preemptless) fastpaths for slub
       slub: Dont define useless label in the !CONFIG_CMPXCHG_LOCAL case

Eric Dumazet (1):
       slub: fix kmemcheck calls to match ksize() hints

Lai Jiangshan (3):
       slub: automatically reserve bytes at the end of slab
       slub,rcu: don't assume the size of struct rcu_head
       slab,rcu: don't assume the size of struct rcu_head

Mariusz Kozlowski (1):
       slub: fix ksize() build error

Pekka Enberg (6):
       Revert "slab: Fix missing DEBUG_SLAB last user"
       Merge branch 'for-2.6.39' of git://git.kernel.org/.../tj/percpu into slub/lockless
       Merge branch 'slab/rcu' into slab/next
       Merge branch 'slab/urgent' into slab/next
       Merge branch 'slab/next' into for-linus
       Merge branch 'slub/lockless' into for-linus

  arch/alpha/kernel/vmlinux.lds.S    |    5 +-
  arch/arm/kernel/vmlinux.lds.S      |    2 +-
  arch/blackfin/kernel/vmlinux.lds.S |    2 +-
  arch/cris/kernel/vmlinux.lds.S     |    2 +-
  arch/frv/kernel/vmlinux.lds.S      |    2 +-
  arch/ia64/kernel/vmlinux.lds.S     |    2 +-
  arch/m32r/kernel/vmlinux.lds.S     |    2 +-
  arch/mips/kernel/vmlinux.lds.S     |    2 +-
  arch/mn10300/kernel/vmlinux.lds.S  |    2 +-
  arch/parisc/kernel/vmlinux.lds.S   |    2 +-
  arch/powerpc/kernel/vmlinux.lds.S  |    2 +-
  arch/s390/kernel/vmlinux.lds.S     |    2 +-
  arch/sh/kernel/vmlinux.lds.S       |    2 +-
  arch/sparc/kernel/vmlinux.lds.S    |    2 +-
  arch/tile/kernel/vmlinux.lds.S     |    2 +-
  arch/um/include/asm/common.lds.S   |    2 +-
  arch/x86/include/asm/percpu.h      |   48 +++++
  arch/x86/kernel/vmlinux.lds.S      |    4 +-
  arch/x86/lib/Makefile              |    1 +
  arch/x86/lib/cmpxchg16b_emu.S      |   59 ++++++
  arch/xtensa/kernel/vmlinux.lds.S   |    2 +-
  include/asm-generic/vmlinux.lds.h  |   35 +++--
  include/linux/percpu.h             |  128 +++++++++++++
  include/linux/slab.h               |    1 -
  include/linux/slub_def.h           |    8 +-
  mm/slab.c                          |   55 +++---
  mm/slob.c                          |    6 -
  mm/slub.c                          |  366 +++++++++++++++++++++++++++++-------
  28 files changed, 612 insertions(+), 136 deletions(-)
  create mode 100644 arch/x86/lib/cmpxchg16b_emu.S

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-22 14:40 [GIT PULL] SLAB changes for v2.6.39-rc1 Pekka Enberg
@ 2011-03-24 14:21 ` Ingo Molnar
  2011-03-24 14:41   ` Christoph Lameter
  2011-03-24 16:03   ` Ingo Molnar
  0 siblings, 2 replies; 71+ messages in thread
From: Ingo Molnar @ 2011-03-24 14:21 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: torvalds, cl, akpm, tj, npiggin, rientjes, linux-kernel, linux-mm

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


hi Pekka,

* Pekka Enberg <penberg@kernel.org> wrote:

> Hi Linus,
> 
> Here's SLAB updates for 2.6.39-rc1. The interesting bits are SLUB
> lockless fastpath patches from Christoph which improve performance
> and updates to support bigger 'struct rcu_head' from Lai. I pulled
> the per-CPU tree to slub/lockless which is why some already merged
> patches show up in the pull request.
> 
>                         Pekka
> 
> The following changes since commit a952baa034ae7c2e4a66932005cbc7ebbccfe28d:
>   Linus Torvalds (1):
>         Merge branch 'for-linus' of git://git.kernel.org/.../dtor/input
> 
> are available in the git repository at:
> 
>   ssh://master.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6.git for-linus
> 
> Christoph Lameter (5):
>       mm: Remove support for kmem_cache_name()
>       slub: min_partial needs to be in first cacheline
>       slub: Get rid of slab_free_hook_irq()
>       Lockless (and preemptless) fastpaths for slub
>       slub: Dont define useless label in the !CONFIG_CMPXCHG_LOCAL case
> 
> Eric Dumazet (1):
>       slub: fix kmemcheck calls to match ksize() hints
> 
> Lai Jiangshan (3):
>       slub: automatically reserve bytes at the end of slab
>       slub,rcu: don't assume the size of struct rcu_head
>       slab,rcu: don't assume the size of struct rcu_head
> 
> Mariusz Kozlowski (1):
>       slub: fix ksize() build error
> 
> Pekka Enberg (6):
>       Revert "slab: Fix missing DEBUG_SLAB last user"
>       Merge branch 'for-2.6.39' of git://git.kernel.org/.../tj/percpu into slub/lockless
>       Merge branch 'slab/rcu' into slab/next
>       Merge branch 'slab/urgent' into slab/next
>       Merge branch 'slab/next' into for-linus
>       Merge branch 'slub/lockless' into for-linus

FYI, some sort of boot crash has snuck upstream in the last 24 hours:

 BUG: unable to handle kernel paging request at ffff87ffc147e020                               
 IP: [<ffffffff811aa762>] this_cpu_cmpxchg16b_emu+0x2/0x1c           

     [<ffffffff810d9cbc>] ? kmem_cache_alloc+0x4c/0x110                                           
     [<ffffffff8151cf06>] kmem_cache_init+0xeb/0x2b0                                              
     [<ffffffff81504a06>] start_kernel+0x1de/0x49b                                                
     [<ffffffff8150432b>] x86_64_start_reservations+0x132/0x136                                   
     [<ffffffff81504140>] ? early_idt_handlers+0x140/0x140         

And the SLAB changes are one of the suspects. It triggers in about 5% of all 
randconfigs. I'm bisecting it currently.

Config attached.

	Ingo

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

#
# Automatically generated make config: don't edit
# Linux/x86_64 2.6.38 Kernel Configuration
# Thu Mar 24 16:39:51 2011
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ZONE_DMA32=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
# CONFIG_KTIME_SCALAR is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
# CONFIG_KERNEL_GZIP is not set
CONFIG_KERNEL_BZIP2=y
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_SWAP is not set
# CONFIG_SYSVIPC is not set
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_FHANDLE=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_AUDIT=y
# CONFIG_AUDITSYSCALL is not set
CONFIG_HAVE_GENERIC_HARDIRQS=y

#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_HAVE_SPARSE_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y

#
# RCU Subsystem
#
CONFIG_TINY_RCU=y
# CONFIG_PREEMPT_RCU is not set
CONFIG_RCU_TRACE=y
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_IKCONFIG=m
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=20
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_NS=y
# CONFIG_CGROUP_FREEZER is not set
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
# CONFIG_CGROUP_CPUACCT is not set
CONFIG_RESOURCE_COUNTERS=y
CONFIG_CGROUP_MEM_RES_CTLR=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_RT_GROUP_SCHED=y
# CONFIG_BLK_CGROUP is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
# CONFIG_USER_NS is not set
# CONFIG_PID_NS is not set
# CONFIG_NET_NS is not set
# CONFIG_SCHED_AUTOGROUP is not set
CONFIG_MM_OWNER=y
CONFIG_SYSFS_DEPRECATED=y
# CONFIG_SYSFS_DEPRECATED_V2 is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
# CONFIG_EXPERT is not set
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_HAVE_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_PERF_COUNTERS is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_OPROFILE=m
# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_KPROBES=y
CONFIG_JUMP_LABEL=y
CONFIG_OPTPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_KRETPROBES=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_BLOCK=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_INTEGRITY is not set
CONFIG_BLOCK_COMPAT=y

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=m
# CONFIG_IOSCHED_CFQ 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_INLINE_SPIN_UNLOCK=y
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
# 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=y
# CONFIG_INLINE_READ_UNLOCK_BH is not set
CONFIG_INLINE_READ_UNLOCK_IRQ=y
# 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=y
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
# CONFIG_MUTEX_SPIN_ON_OWNER is not set
# CONFIG_FREEZER is not set

#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
# CONFIG_NO_HZ is not set
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
# CONFIG_SMP is not set
CONFIG_X86_MPPARSE=y
CONFIG_X86_EXTENDED_PLATFORM=y
CONFIG_X86_VSMP=y
# CONFIG_SCHED_OMIT_FRAME_POINTER is not set
CONFIG_PARAVIRT_GUEST=y
# CONFIG_XEN is not set
# CONFIG_XEN_PRIVILEGED_GUEST is not set
CONFIG_KVM_CLOCK=y
# CONFIG_KVM_GUEST is not set
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_CLOCK=y
CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=12
CONFIG_X86_CMPXCHG=y
CONFIG_CMPXCHG_LOCAL=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
CONFIG_GART_IOMMU=y
CONFIG_CALGARY_IOMMU=y
CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
# CONFIG_IOMMU_API is not set
CONFIG_NR_CPUS=1
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
# CONFIG_X86_MCE is not set
# CONFIG_I8K is not set
CONFIG_MICROCODE=m
# CONFIG_MICROCODE_INTEL is not set
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y
# CONFIG_X86_MSR is not set
# CONFIG_X86_CPUID is not set
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_DIRECT_GBPAGES=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_MEMORY_PROBE=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
# CONFIG_SPARSEMEM_VMEMMAP is not set
CONFIG_HAVE_MEMBLOCK=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_SPARSE=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_COMPACTION is not set
# CONFIG_MIGRATION is not set
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
# CONFIG_TRANSPARENT_HUGEPAGE is not set
CONFIG_NEED_PER_CPU_KM=y
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_X86_RESERVE_LOW=64
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_SECCOMP=y
CONFIG_CC_STACKPROTECTOR=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
CONFIG_CRASH_DUMP=y
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
CONFIG_PHYSICAL_ALIGN=0x1000000
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y

#
# Power management and ACPI options
#
# CONFIG_SUSPEND is not set
CONFIG_PM_RUNTIME=y
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
# CONFIG_ACPI is not set
CONFIG_SFI=y

#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_INTEL_IDLE=y

#
# Memory power savings
#
# CONFIG_I7300_IDLE is not set

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
CONFIG_PCIEPORTBUS=y
# CONFIG_PCIEAER is not set
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEBUG=y
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_STUB is not set
# CONFIG_HT_IRQ is not set
# CONFIG_PCI_IOV is not set
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
CONFIG_PCCARD=m
CONFIG_PCMCIA=m
# CONFIG_PCMCIA_LOAD_CIS is not set
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=m
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
CONFIG_PD6729=m
# CONFIG_I82092 is not set
CONFIG_PCCARD_NONSTATIC=y
# CONFIG_HOTPLUG_PCI is not set

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
# CONFIG_HAVE_AOUT is not set
CONFIG_BINFMT_MISC=m
CONFIG_IA32_EMULATION=y
CONFIG_IA32_AOUT=m
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_HAVE_TEXT_POKE_SMP=y
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM=y
# CONFIG_XFRM_USER is not set
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
CONFIG_XFRM_STATISTICS=y
CONFIG_NET_KEY=m
# CONFIG_NET_KEY_MIGRATE is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
CONFIG_IP_ADVANCED_ROUTER=y
# CONFIG_IP_FIB_TRIE_STATS is not set
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE_DEMUX is not set
CONFIG_ARPD=y
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
# CONFIG_INET_TUNNEL is not set
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_LRO=m
CONFIG_INET_DIAG=m
CONFIG_INET_TCP_DIAG=m
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
# CONFIG_TCP_CONG_CUBIC is not set
# CONFIG_TCP_CONG_WESTWOOD is not set
# CONFIG_TCP_CONG_HTCP is not set
CONFIG_TCP_CONG_HSTCP=m
# CONFIG_TCP_CONG_HYBLA is not set
CONFIG_TCP_CONG_VEGAS=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
# CONFIG_TCP_CONG_ILLINOIS is not set
CONFIG_DEFAULT_RENO=y
CONFIG_DEFAULT_TCP_CONG="reno"
# CONFIG_TCP_MD5SIG is not set
CONFIG_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 is not set
# CONFIG_IPV6_MIP6 is not set
# CONFIG_INET6_XFRM_TUNNEL is not set
CONFIG_INET6_TUNNEL=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
# CONFIG_IPV6_SIT is not set
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_MULTIPLE_TABLES=y
# CONFIG_IPV6_SUBTREES is not set
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
# CONFIG_NETLABEL is not set
CONFIG_NETWORK_SECMARK=y
CONFIG_NETWORK_PHY_TIMESTAMPING=y
# CONFIG_NETFILTER is not set
CONFIG_IP_DCCP=m
CONFIG_INET_DCCP_DIAG=m

#
# DCCP CCIDs Configuration (EXPERIMENTAL)
#
# CONFIG_IP_DCCP_CCID2_DEBUG is not set
# CONFIG_IP_DCCP_CCID3 is not set
CONFIG_IP_SCTP=m
# CONFIG_NET_SCTPPROBE is not set
CONFIG_SCTP_DBG_MSG=y
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_HMAC_NONE is not set
CONFIG_SCTP_HMAC_SHA1=y
# CONFIG_SCTP_HMAC_MD5 is not set
CONFIG_RDS=m
CONFIG_RDS_RDMA=m
CONFIG_RDS_TCP=m
# CONFIG_RDS_DEBUG is not set
CONFIG_TIPC=m
# CONFIG_TIPC_ADVANCED is not set
CONFIG_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 is not set
CONFIG_LLC=m
CONFIG_LLC2=m
CONFIG_IPX=m
CONFIG_IPX_INTERN=y
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
CONFIG_ECONET=m
CONFIG_ECONET_AUNUDP=y
CONFIG_ECONET_NATIVE=y
CONFIG_WAN_ROUTER=m
# 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 set
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFB=m
# CONFIG_NET_SCH_SFQ is not set
# CONFIG_NET_SCH_TEQL is not set
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
# CONFIG_NET_SCH_DSMARK is not set
CONFIG_NET_SCH_NETEM=m
# CONFIG_NET_SCH_DRR is not set
CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_CHOKE=m
# CONFIG_NET_SCH_INGRESS is not set

#
# Classification
#
CONFIG_NET_CLS=y
# CONFIG_NET_CLS_BASIC is not set
# CONFIG_NET_CLS_TCINDEX is not set
CONFIG_NET_CLS_ROUTE4=m
# CONFIG_NET_CLS_FW is not set
# CONFIG_NET_CLS_U32 is not set
CONFIG_NET_CLS_RSVP=m
# CONFIG_NET_CLS_RSVP6 is not set
CONFIG_NET_CLS_FLOW=m
# CONFIG_NET_CLS_CGROUP is not set
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
# CONFIG_NET_EMATCH_CMP is not set
# CONFIG_NET_EMATCH_NBYTE is not set
CONFIG_NET_EMATCH_U32=m
CONFIG_NET_EMATCH_META=m
CONFIG_NET_EMATCH_TEXT=m
CONFIG_NET_CLS_ACT=y
# CONFIG_NET_ACT_POLICE is not set
# CONFIG_NET_ACT_GACT is not set
# CONFIG_NET_ACT_MIRRED is not set
# CONFIG_NET_ACT_NAT is not set
CONFIG_NET_ACT_PEDIT=m
# CONFIG_NET_ACT_SIMP is not set
CONFIG_NET_ACT_SKBEDIT=m
# CONFIG_NET_ACT_CSUM is not set
CONFIG_NET_SCH_FIFO=y
# CONFIG_DCB is not set
# CONFIG_BATMAN_ADV is not set

#
# Network testing
#
CONFIG_NET_PKTGEN=m
# CONFIG_NET_TCPPROBE is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_HAMRADIO=y

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

#
# AX.25 network device drivers
#
# CONFIG_MKISS is not set
# CONFIG_6PACK is not set
CONFIG_BPQETHER=m
CONFIG_BAYCOM_SER_FDX=m
# CONFIG_BAYCOM_SER_HDX is not set
CONFIG_BAYCOM_PAR=m
CONFIG_YAM=m
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
CONFIG_BT=m
CONFIG_BT_L2CAP=y
# CONFIG_BT_SCO is not set
CONFIG_BT_RFCOMM=m
# CONFIG_BT_RFCOMM_TTY is not set
CONFIG_BT_BNEP=m
# CONFIG_BT_BNEP_MC_FILTER is not set
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m

#
# Bluetooth device drivers
#
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_ATH3K=y
CONFIG_BT_HCIUART_LL=y
# CONFIG_BT_HCIBCM203X is not set
# CONFIG_BT_HCIBPA10X is not set
CONFIG_BT_HCIBFUSB=m
# CONFIG_BT_HCIDTL1 is not set
# CONFIG_BT_HCIBT3C is not set
# CONFIG_BT_HCIBLUECARD is not set
CONFIG_BT_HCIBTUART=m
# CONFIG_BT_HCIVHCI is not set
CONFIG_BT_MRVL=m
CONFIG_BT_MRVL_SDIO=m
# CONFIG_BT_ATH3K is not set
# CONFIG_AF_RXRPC is not set
CONFIG_FIB_RULES=y
# CONFIG_WIRELESS is not set
# CONFIG_WIMAX is not set
CONFIG_RFKILL=m
CONFIG_RFKILL_INPUT=y
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
# CONFIG_DEVTMPFS_MOUNT is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_CONNECTOR is not set
# CONFIG_MTD is not set
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
CONFIG_PARPORT_PC_PCMCIA=m
# CONFIG_PARPORT_GSC is not set
# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT_1284 is not set
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=m
# CONFIG_PARIDE is not set
CONFIG_BLK_CPQ_DA=y
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# 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=m
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_XIP=y
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_VIRTIO_BLK is not set
CONFIG_BLK_DEV_HD=y
CONFIG_BLK_DEV_RBD=m
# CONFIG_SENSORS_LIS3LV02D is not set
# CONFIG_MISC_DEVICES is not set
CONFIG_TIFM_CORE=m
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=m
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=m
CONFIG_SCSI_NETLINK=y
# CONFIG_SCSI_PROC_FS is not set

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

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

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

#
# SFF controllers with custom DMA interface
#
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
CONFIG_SATA_SX4=m
CONFIG_ATA_BMDMA=y

#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=y
# CONFIG_SATA_MV is not set
CONFIG_SATA_NV=y
CONFIG_SATA_PROMISE=m
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
CONFIG_SATA_SVW=m
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
CONFIG_SATA_VITESSE=m

#
# PATA SFF controllers with BMDMA
#
CONFIG_PATA_ALI=m
CONFIG_PATA_AMD=y
CONFIG_PATA_ARASAN_CF=m
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# 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 set
CONFIG_PATA_CYPRESS=m
# CONFIG_PATA_EFAR is not set
# CONFIG_PATA_HPT366 is not set
CONFIG_PATA_HPT37X=m
CONFIG_PATA_HPT3X2N=m
# CONFIG_PATA_HPT3X3 is not set
CONFIG_PATA_IT8213=m
CONFIG_PATA_IT821X=m
CONFIG_PATA_JMICRON=m
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87415 is not set
CONFIG_PATA_OLDPIIX=y
# CONFIG_PATA_OPTIDMA is not set
CONFIG_PATA_PDC2027X=m
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RDC is not set
CONFIG_PATA_SC1200=m
# CONFIG_PATA_SCH is not set
CONFIG_PATA_SERVERWORKS=m
CONFIG_PATA_SIL680=m
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_TOSHIBA is not set
# CONFIG_PATA_TRIFLEX is not set
CONFIG_PATA_VIA=y
CONFIG_PATA_WINBOND=m

#
# PIO-only SFF controllers
#
CONFIG_PATA_CMD640_PCI=m
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
CONFIG_PATA_PCMCIA=m
CONFIG_PATA_RZ1000=m

#
# Generic fallback / legacy drivers
#
# CONFIG_ATA_GENERIC is not set
CONFIG_PATA_LEGACY=m
# CONFIG_MD is not set
CONFIG_TARGET_CORE=m
# CONFIG_TCM_IBLOCK is not set
CONFIG_TCM_FILEIO=m
# CONFIG_TCM_PSCSI is not set
CONFIG_FUSION=y
# CONFIG_FUSION_SPI is not set
CONFIG_FUSION_FC=m
# CONFIG_FUSION_SAS is not set
CONFIG_FUSION_MAX_SGE=128
CONFIG_FUSION_CTL=m
# CONFIG_FUSION_LAN is not set
CONFIG_FUSION_LOGGING=y

#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
CONFIG_FIREWIRE_NOSY=m
# CONFIG_I2O is not set
CONFIG_MACINTOSH_DRIVERS=y
CONFIG_MAC_EMUMOUSEBTN=m
CONFIG_NETDEVICES=y
CONFIG_IFB=m
# CONFIG_DUMMY is not set
CONFIG_BONDING=m
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_EQUALIZER is not set
CONFIG_TUN=m
# CONFIG_VETH is not set
CONFIG_ARCNET=m
# CONFIG_ARCNET_1201 is not set
CONFIG_ARCNET_1051=m
CONFIG_ARCNET_RAW=m
CONFIG_ARCNET_CAP=m
# CONFIG_ARCNET_COM90xx is not set
CONFIG_ARCNET_COM90xxIO=m
# CONFIG_ARCNET_RIM_I is not set
CONFIG_ARCNET_COM20020=m
CONFIG_ARCNET_COM20020_PCI=m
CONFIG_MII=y
CONFIG_PHYLIB=y

#
# MII PHY device drivers
#
# CONFIG_MARVELL_PHY is not set
# CONFIG_DAVICOM_PHY is not set
# CONFIG_QSEMI_PHY is not set
CONFIG_LXT_PHY=m
CONFIG_CICADA_PHY=m
# CONFIG_VITESSE_PHY is not set
CONFIG_SMSC_PHY=m
# CONFIG_BROADCOM_PHY is not set
CONFIG_BCM63XX_PHY=m
CONFIG_ICPLUS_PHY=m
# CONFIG_REALTEK_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not set
CONFIG_MICREL_PHY=m
CONFIG_FIXED_PHY=y
# CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y
# CONFIG_HAPPYMEAL is not set
CONFIG_SUNGEM=m
CONFIG_CASSINI=m
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_ETHOC is not set
# CONFIG_DNET is not set
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
CONFIG_ADAPTEC_STARFIRE=m
CONFIG_KSZ884X_PCI=m
CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
CONFIG_FORCEDETH=y
CONFIG_E100=y
CONFIG_FEALNX=m
# CONFIG_NATSEMI is not set
CONFIG_NE2K_PCI=m
# CONFIG_8139CP is not set
CONFIG_8139TOO=y
CONFIG_8139TOO_PIO=y
CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_R6040=m
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
CONFIG_SMSC9420=m
CONFIG_SUNDANCE=m
CONFIG_SUNDANCE_MMIO=y
CONFIG_TLAN=m
# CONFIG_KS8842 is not set
CONFIG_KS8851_MLL=m
# CONFIG_VIA_RHINE is not set
# CONFIG_SC92031 is not set
CONFIG_NET_POCKET=y
CONFIG_ATP=m
# CONFIG_DE600 is not set
# CONFIG_DE620 is not set
# CONFIG_ATL2 is not set
CONFIG_NETDEV_1000=y
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
CONFIG_E1000E=y
CONFIG_IP1000=m
# CONFIG_IGB is not set
# CONFIG_IGBVF is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
CONFIG_R8169=m
# CONFIG_SIS190 is not set
CONFIG_SKGE=y
# CONFIG_SKGE_DEBUG is not set
# CONFIG_SKY2 is not set
CONFIG_VIA_VELOCITY=m
CONFIG_TIGON3=y
CONFIG_BNX2=m
CONFIG_CNIC=m
CONFIG_QLA3XXX=m
# CONFIG_ATL1 is not set
# CONFIG_ATL1E is not set
CONFIG_ATL1C=m
# CONFIG_JME is not set
CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_DA is not set
CONFIG_STMMAC_DUAL_MAC=y
# CONFIG_PCH_GBE is not set
CONFIG_NETDEV_10000=y
CONFIG_MDIO=m
CONFIG_CHELSIO_T1=m
# CONFIG_CHELSIO_T1_1G is not set
CONFIG_CHELSIO_T3=m
CONFIG_CHELSIO_T4=m
# CONFIG_CHELSIO_T4VF is not set
# CONFIG_ENIC is not set
CONFIG_IXGBE=m
CONFIG_IXGBEVF=m
CONFIG_IXGB=m
# CONFIG_S2IO is not set
# CONFIG_VXGE is not set
# CONFIG_MYRI10GE is not set
# CONFIG_NETXEN_NIC is not set
CONFIG_NIU=m
CONFIG_MLX4_EN=m
CONFIG_MLX4_CORE=m
CONFIG_MLX4_DEBUG=y
CONFIG_TEHUTI=m
CONFIG_BNX2X=m
# CONFIG_QLCNIC is not set
# CONFIG_QLGE is not set
CONFIG_BNA=m
# CONFIG_SFC is not set
# CONFIG_BE2NET is not set
# CONFIG_TR is not set
# CONFIG_WLAN is not set

#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#

#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
# CONFIG_USB_USBNET is not set
CONFIG_USB_HSO=m
# CONFIG_USB_IPHETH is not set
# CONFIG_NET_PCMCIA is not set
# CONFIG_WAN is not set

#
# CAIF transport drivers
#
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
CONFIG_NET_FC=y
CONFIG_NETCONSOLE=y
# CONFIG_NETCONSOLE_DYNAMIC is not set
CONFIG_NETPOLL=y
CONFIG_NETPOLL_TRAP=y
CONFIG_NET_POLL_CONTROLLER=y
# CONFIG_VIRTIO_NET is not set
# CONFIG_VMXNET3 is not set
# CONFIG_ISDN is not set
CONFIG_PHONE=m
CONFIG_PHONE_IXJ=m
CONFIG_PHONE_IXJ_PCMCIA=m

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

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
CONFIG_KEYBOARD_LKKBD=m
# CONFIG_KEYBOARD_NEWTON is not set
CONFIG_KEYBOARD_OPENCORES=m
# CONFIG_KEYBOARD_STOWAWAY is not set
CONFIG_KEYBOARD_SUNKBD=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
# CONFIG_MOUSE_PS2 is not set
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_APPLETOUCH=m
# CONFIG_MOUSE_BCM5974 is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_AD7879=m
CONFIG_TOUCHSCREEN_DYNAPRO=m
CONFIG_TOUCHSCREEN_HAMPSHIRE=m
# CONFIG_TOUCHSCREEN_FUJITSU is not set
# CONFIG_TOUCHSCREEN_GUNZE is not set
# CONFIG_TOUCHSCREEN_ELO is not set
CONFIG_TOUCHSCREEN_WACOM_W8001=m
CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_INEXIO=m
# CONFIG_TOUCHSCREEN_MK712 is not set
# CONFIG_TOUCHSCREEN_PENMOUNT is not set
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
CONFIG_TOUCHSCREEN_USB_ITM=y
CONFIG_TOUCHSCREEN_USB_ETURBO=y
CONFIG_TOUCHSCREEN_USB_GUNZE=y
CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
CONFIG_TOUCHSCREEN_USB_JASTEC=y
# CONFIG_TOUCHSCREEN_USB_E2I is not set
CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
CONFIG_TOUCHSCREEN_USB_NEXIO=y
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_PCSPKR is not set
CONFIG_INPUT_ATI_REMOTE=m
CONFIG_INPUT_ATI_REMOTE2=m
CONFIG_INPUT_KEYSPAN_REMOTE=m
# CONFIG_INPUT_POWERMATE is not set
CONFIG_INPUT_YEALINK=m
# CONFIG_INPUT_CM109 is not set
# CONFIG_INPUT_UINPUT is not set
CONFIG_INPUT_ADXL34X=m
CONFIG_INPUT_CMA3000=m

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
CONFIG_SERIO_CT82C710=m
# CONFIG_SERIO_PARKBD is not set
CONFIG_SERIO_PCIPS2=m
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_GAMEPORT is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set
CONFIG_N_GSM=m
CONFIG_DEVKMEM=y

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
# CONFIG_SERIAL_8250_CS is not set
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_MFD_HSU=m
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_JSM=m
# CONFIG_SERIAL_TIMBERDALE is not set
CONFIG_SERIAL_ALTERA_JTAGUART=m
CONFIG_SERIAL_ALTERA_UART=m
CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
# CONFIG_SERIAL_PCH_UART is not set
CONFIG_PRINTER=m
# CONFIG_LP_CONSOLE is not set
CONFIG_PPDEV=m
# CONFIG_VIRTIO_CONSOLE is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set

#
# PCMCIA character devices
#
CONFIG_SYNCLINK_CS=m
# CONFIG_CARDMAN_4000 is not set
# CONFIG_CARDMAN_4040 is not set
# CONFIG_IPWIRELESS is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_HANGCHECK_TIMER=m
# CONFIG_TCG_TPM is not set
CONFIG_TELCLOCK=m
CONFIG_DEVPORT=y
CONFIG_RAMOOPS=m
# CONFIG_I2C is not set
# CONFIG_SPI is not set

#
# PPS support
#
# CONFIG_PPS is not set

#
# PPS generators support
#
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
CONFIG_W1=m

#
# 1-wire Bus Masters
#
CONFIG_W1_MASTER_MATROX=m
CONFIG_W1_MASTER_DS2490=m

#
# 1-wire Slaves
#
CONFIG_W1_SLAVE_THERM=m
# CONFIG_W1_SLAVE_SMEM is not set
# CONFIG_W1_SLAVE_DS2423 is not set
CONFIG_W1_SLAVE_DS2431=m
# CONFIG_W1_SLAVE_DS2433 is not set
# CONFIG_W1_SLAVE_DS2760 is not set
# CONFIG_W1_SLAVE_BQ27000 is not set
CONFIG_POWER_SUPPLY=m
CONFIG_POWER_SUPPLY_DEBUG=y
CONFIG_PDA_POWER=m
# CONFIG_TEST_POWER is not set
# CONFIG_CHARGER_ISP1704 is not set
CONFIG_HWMON=m
CONFIG_HWMON_VID=m
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
CONFIG_SENSORS_ABITUGURU=m
CONFIG_SENSORS_ABITUGURU3=m
CONFIG_SENSORS_K8TEMP=m
CONFIG_SENSORS_K10TEMP=m
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_F71805F=m
CONFIG_SENSORS_F71882FG=m
CONFIG_SENSORS_CORETEMP=m
# CONFIG_SENSORS_PKGTEMP is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_PC87360 is not set
CONFIG_SENSORS_PC87427=m
# CONFIG_SENSORS_SIS5595 is not set
CONFIG_SENSORS_SMSC47M1=m
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SCH5627 is not set
CONFIG_SENSORS_VIA_CPUTEMP=m
# CONFIG_SENSORS_VIA686A is not set
CONFIG_SENSORS_VT1211=m
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_APPLESMC is not set
CONFIG_THERMAL=m
# CONFIG_THERMAL_HWMON is not set
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
CONFIG_ACQUIRE_WDT=m
# CONFIG_ADVANTECH_WDT is not set
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
# CONFIG_F71808E_WDT is not set
CONFIG_SP5100_TCO=m
# CONFIG_SC520_WDT is not set
# CONFIG_SBC_FITPC2_WATCHDOG is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
CONFIG_IBMASR=m
CONFIG_WAFER_WDT=m
# CONFIG_I6300ESB_WDT is not set
CONFIG_ITCO_WDT=m
# CONFIG_ITCO_VENDOR_SUPPORT is not set
# CONFIG_IT8712F_WDT is not set
# CONFIG_IT87_WDT is not set
# CONFIG_HP_WATCHDOG is not set
# CONFIG_SC1200_WDT is not set
CONFIG_PC87413_WDT=m
# CONFIG_NV_TCO is not set
CONFIG_60XX_WDT=m
CONFIG_SBC8360_WDT=m
# CONFIG_CPU5_WDT is not set
# CONFIG_SMSC_SCH311X_WDT is not set
CONFIG_SMSC37B787_WDT=m
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83697HF_WDT is not set
# CONFIG_W83697UG_WDT is not set
CONFIG_W83877F_WDT=m
CONFIG_W83977F_WDT=m
CONFIG_MACHZ_WDT=m
CONFIG_SBC_EPX_C3_WATCHDOG=m

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

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

#
# Sonics Silicon Backplane
#
CONFIG_SSB=m
CONFIG_SSB_SPROM=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
# CONFIG_SSB_B43_PCI_BRIDGE is not set
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST_POSSIBLE=y
# CONFIG_SSB_SDIOHOST is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
# CONFIG_MFD_SUPPORT is not set
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set

#
# Graphics support
#
# CONFIG_AGP is not set
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
# CONFIG_DRM is not set
# CONFIG_STUB_POULSBO is not set
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
# CONFIG_FB is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
CONFIG_LCD_PLATFORM=m
# CONFIG_BACKLIGHT_CLASS_DEVICE is not set

#
# Display device support
#
CONFIG_DISPLAY_SUPPORT=m

#
# Display hardware drivers
#

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FONT_8x16=y
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE=y
# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_JACK=y
# CONFIG_SND_SEQUENCER is not set
# CONFIG_SND_MIXER_OSS is not set
# CONFIG_SND_PCM_OSS is not set
# CONFIG_SND_HRTIMER is not set
# CONFIG_SND_DYNAMIC_MINORS is not set
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_VERBOSE_PROCFS=y
CONFIG_SND_VERBOSE_PRINTK=y
CONFIG_SND_DEBUG=y
# CONFIG_SND_DEBUG_VERBOSE is not set
CONFIG_SND_PCM_XRUN_DEBUG=y
CONFIG_SND_DMA_SGBUF=y
# CONFIG_SND_RAWMIDI_SEQ is not set
# CONFIG_SND_OPL3_LIB_SEQ is not set
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
# CONFIG_SND_EMU10K1_SEQ is not set
CONFIG_SND_DRIVERS=y
# CONFIG_SND_PCSP is not set
CONFIG_SND_DUMMY=m
CONFIG_SND_ALOOP=m
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_MTS64 is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
# CONFIG_SND_PORTMAN2X4 is not set
# CONFIG_SND_PCI is not set
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m
# CONFIG_SND_USB_UA101 is not set
CONFIG_SND_USB_USX2Y=m
CONFIG_SND_USB_CAIAQ=m
# CONFIG_SND_USB_CAIAQ_INPUT is not set
# CONFIG_SND_USB_US122L is not set
CONFIG_SND_USB_6FIRE=m
CONFIG_SND_PCMCIA=y
# CONFIG_SND_VXPOCKET is not set
# CONFIG_SND_PDAUDIOCF is not set
CONFIG_SND_SOC=m
CONFIG_SND_SOC_CACHE_LZO=y
# CONFIG_SND_SOC_ALL_CODECS is not set
CONFIG_SOUND_PRIME=m
CONFIG_SOUND_OSS=m
# CONFIG_SOUND_TRACEINIT is not set
# CONFIG_SOUND_DMAP is not set
# CONFIG_SOUND_VMIDI is not set
# CONFIG_SOUND_TRIX is not set
# CONFIG_SOUND_MSS is not set
# CONFIG_SOUND_MPU401 is not set
# CONFIG_SOUND_PAS is not set
# CONFIG_SOUND_PSS is not set
CONFIG_SOUND_SB=m
# CONFIG_SOUND_YM3812 is not set
# CONFIG_SOUND_UART6850 is not set
# CONFIG_SOUND_AEDSP16 is not set
# CONFIG_SOUND_KAHLUA is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=m
CONFIG_HIDRAW=y

#
# USB Input Devices
#
# CONFIG_USB_HID is not set
CONFIG_HID_PID=y

#
# Special HID drivers
#
CONFIG_HID_APPLE=m
# CONFIG_HID_ELECOM is not set
CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_WACOM=m
CONFIG_HID_WACOM_POWER_SUPPLY=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
CONFIG_USB_DEVICE_CLASS=y
CONFIG_USB_DYNAMIC_MINORS=y
# CONFIG_USB_SUSPEND is not set
CONFIG_USB_MON=m
CONFIG_USB_WUSB=m
# CONFIG_USB_WUSB_CBAF is not set

#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
CONFIG_USB_XHCI_HCD=m
CONFIG_USB_XHCI_HCD_DEBUGGING=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
CONFIG_USB_ISP1760_HCD=m
# CONFIG_USB_ISP1362_HCD is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_U132_HCD=m
# CONFIG_USB_SL811_HCD is not set
CONFIG_USB_R8A66597_HCD=m
# CONFIG_USB_WHCI_HCD is not set
# CONFIG_USB_HWA_HCD is not set

#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
CONFIG_USB_PRINTER=m
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set

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

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

#
# USB Imaging devices
#
CONFIG_USB_MDC800=m
# CONFIG_USB_MICROTEK is not set

#
# USB port drivers
#
# CONFIG_USB_USS720 is not set
CONFIG_USB_SERIAL=m
CONFIG_USB_EZUSB=y
# CONFIG_USB_SERIAL_GENERIC is not set
# CONFIG_USB_SERIAL_AIRCABLE is not set
CONFIG_USB_SERIAL_ARK3116=m
CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_CH341=m
CONFIG_USB_SERIAL_WHITEHEAT=m
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
# CONFIG_USB_SERIAL_CP210X is not set
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_FUNSOFT=m
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_IPAQ is not set
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_GARMIN is not set
# CONFIG_USB_SERIAL_IPW is not set
# CONFIG_USB_SERIAL_IUU is not set
CONFIG_USB_SERIAL_KEYSPAN_PDA=m
# CONFIG_USB_SERIAL_KEYSPAN is not set
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
# CONFIG_USB_SERIAL_MCT_U232 is not set
CONFIG_USB_SERIAL_MOS7720=m
# CONFIG_USB_SERIAL_MOS7715_PARPORT is not set
CONFIG_USB_SERIAL_MOS7840=m
# CONFIG_USB_SERIAL_MOTOROLA is not set
# CONFIG_USB_SERIAL_NAVMAN is not set
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_OTI6858 is not set
CONFIG_USB_SERIAL_QCAUX=m
CONFIG_USB_SERIAL_QUALCOMM=m
CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_HP4X=m
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_SAMBA is not set
# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
# CONFIG_USB_SERIAL_SYMBOL is not set
CONFIG_USB_SERIAL_TI=m
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
CONFIG_USB_SERIAL_WWAN=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_SERIAL_OPTICON=m
CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
CONFIG_USB_SERIAL_ZIO=m
CONFIG_USB_SERIAL_SSU100=m
# CONFIG_USB_SERIAL_DEBUG is not set

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

#
# OTG and related infrastructure
#
CONFIG_USB_OTG_UTILS=y
CONFIG_NOP_USB_XCEIV=m
CONFIG_UWB=m
# CONFIG_UWB_HWA is not set
# CONFIG_UWB_WHCI is not set
CONFIG_MMC=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_UNSAFE_RESUME is not set
CONFIG_MMC_CLKGATE=y

#
# MMC/SD/SDIO Card Drivers
#
# CONFIG_MMC_BLOCK is not set
# CONFIG_SDIO_UART is not set
# CONFIG_MMC_TEST is not set

#
# MMC/SD/SDIO Host Controller Drivers
#
CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_PCI=m
CONFIG_MMC_RICOH_MMC=y
# CONFIG_MMC_SDHCI_PLTFM is not set
CONFIG_MMC_WBSD=m
CONFIG_MMC_TIFM_SD=m
CONFIG_MMC_SDRICOH_CS=m
# CONFIG_MMC_CB710 is not set
# CONFIG_MMC_VIA_SDMMC is not set
# CONFIG_MMC_USHC is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
# CONFIG_LEDS_CLASS is not set

#
# LED drivers
#

#
# LED Triggers
#
CONFIG_NFC_DEVICES=y
CONFIG_ACCESSIBILITY=y
# CONFIG_A11Y_BRAILLE_CONSOLE is not set
CONFIG_INFINIBAND=m
# CONFIG_INFINIBAND_USER_MAD is not set
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MEM=y
CONFIG_INFINIBAND_ADDR_TRANS=y
# CONFIG_INFINIBAND_MTHCA is not set
# CONFIG_INFINIBAND_QIB is not set
CONFIG_INFINIBAND_AMSO1100=m
CONFIG_INFINIBAND_AMSO1100_DEBUG=y
# CONFIG_INFINIBAND_CXGB3 is not set
# CONFIG_INFINIBAND_CXGB4 is not set
# CONFIG_MLX4_INFINIBAND is not set
# CONFIG_INFINIBAND_NES is not set
CONFIG_INFINIBAND_IPOIB=m
# CONFIG_INFINIBAND_IPOIB_CM is not set
CONFIG_INFINIBAND_IPOIB_DEBUG=y
CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
CONFIG_INFINIBAND_SRP=m
# CONFIG_INFINIBAND_ISER is not set
# CONFIG_EDAC is not set
CONFIG_RTC_LIB=m
CONFIG_RTC_CLASS=m

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
# CONFIG_RTC_INTF_PROC is not set
CONFIG_RTC_INTF_DEV=y
CONFIG_RTC_INTF_DEV_UIE_EMUL=y
# CONFIG_RTC_DRV_TEST is not set

#
# SPI RTC drivers
#

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=m
CONFIG_RTC_DRV_DS1286=m
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
CONFIG_RTC_DRV_DS1742=m
CONFIG_RTC_DRV_STK17TA8=m
CONFIG_RTC_DRV_M48T86=m
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
CONFIG_RTC_DRV_BQ4802=m
# CONFIG_RTC_DRV_RP5C01 is not set
CONFIG_RTC_DRV_V3020=m

#
# on-CPU RTC drivers
#
# CONFIG_DMADEVICES is not set
CONFIG_DMA_ENGINE=y
CONFIG_AUXDISPLAY=y
# CONFIG_KS0108 is not set
CONFIG_UIO=m
CONFIG_UIO_CIF=m
CONFIG_UIO_PDRV=m
# CONFIG_UIO_PDRV_GENIRQ is not set
CONFIG_UIO_AEC=m
# CONFIG_UIO_SERCOS3 is not set
CONFIG_UIO_PCI_GENERIC=m
# CONFIG_UIO_NETX is not set
# CONFIG_STAGING is not set
# CONFIG_X86_PLATFORM_DEVICES is not set
CONFIG_HWSPINLOCK=m

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

#
# File systems
#
# CONFIG_EXT2_FS is not set
CONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=m
CONFIG_EXT4_USE_FOR_EXT23=y
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=m
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
# CONFIG_REISERFS_FS_POSIX_ACL is not set
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=m
# CONFIG_JFS_POSIX_ACL is not set
# CONFIG_JFS_SECURITY is not set
CONFIG_JFS_DEBUG=y
CONFIG_JFS_STATISTICS=y
CONFIG_XFS_FS=m
CONFIG_XFS_QUOTA=y
# CONFIG_XFS_POSIX_ACL is not set
CONFIG_XFS_RT=y
CONFIG_XFS_DEBUG=y
CONFIG_GFS2_FS=m
# CONFIG_GFS2_FS_LOCKING_DLM is not set
# CONFIG_OCFS2_FS is not set
CONFIG_BTRFS_FS=m
# CONFIG_BTRFS_FS_POSIX_ACL is not set
# CONFIG_NILFS2_FS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
# CONFIG_DNOTIFY is not set
CONFIG_INOTIFY_USER=y
# CONFIG_FANOTIFY is not set
# CONFIG_QUOTA is not set
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y
# CONFIG_AUTOFS4_FS is not set
CONFIG_FUSE_FS=m
CONFIG_CUSE=m

#
# Caches
#
CONFIG_FSCACHE=m
# CONFIG_FSCACHE_STATS is not set
CONFIG_FSCACHE_HISTOGRAM=y
# CONFIG_FSCACHE_DEBUG is not set
CONFIG_FSCACHE_OBJECT_LIST=y
# CONFIG_CACHEFILES is not set

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
# CONFIG_JOLIET is not set
CONFIG_ZISOFS=y
# CONFIG_UDF_FS is not set

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
# CONFIG_MSDOS_FS is not set
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
# CONFIG_PROC_KCORE is not set
CONFIG_PROC_VMCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=m
CONFIG_MISC_FILESYSTEMS=y
CONFIG_ADFS_FS=m
CONFIG_ADFS_FS_RW=y
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
CONFIG_BFS_FS=m
CONFIG_EFS_FS=m
# CONFIG_LOGFS is not set
# CONFIG_CRAMFS is not set
CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
# CONFIG_SQUASHFS_LZO is not set
# CONFIG_SQUASHFS_XZ is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_VXFS_FS is not set
CONFIG_MINIX_FS=m
# CONFIG_OMFS_FS is not set
CONFIG_HPFS_FS=m
CONFIG_QNX4FS_FS=m
# CONFIG_ROMFS_FS is not set
CONFIG_PSTORE=y
CONFIG_SYSV_FS=m
CONFIG_UFS_FS=m
CONFIG_UFS_FS_WRITE=y
CONFIG_UFS_DEBUG=y
CONFIG_NETWORK_FILESYSTEMS=y
# CONFIG_NFS_FS is not set
CONFIG_NFSD=m
# CONFIG_NFSD_DEPRECATED is not set
# CONFIG_NFSD_V3 is not set
# CONFIG_NFSD_V4 is not set
CONFIG_LOCKD=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
# CONFIG_RPCSEC_GSS_KRB5 is not set
CONFIG_CEPH_FS=m
CONFIG_CIFS=m
CONFIG_CIFS_STATS=y
CONFIG_CIFS_STATS2=y
# CONFIG_CIFS_WEAK_PW_HASH is not set
# CONFIG_CIFS_XATTR is not set
CONFIG_CIFS_DEBUG2=y
CONFIG_CIFS_FSCACHE=y
CONFIG_CIFS_EXPERIMENTAL=y
CONFIG_NCP_FS=m
CONFIG_NCPFS_PACKET_SIGNING=y
CONFIG_NCPFS_IOCTL_LOCKING=y
# CONFIG_NCPFS_STRONG is not set
CONFIG_NCPFS_NFS_NS=y
# CONFIG_NCPFS_OS2_NS is not set
CONFIG_NCPFS_SMALLDOS=y
# CONFIG_NCPFS_NLS is not set
CONFIG_NCPFS_EXTRAS=y
CONFIG_CODA_FS=m
# CONFIG_AFS_FS is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_ACORN_PARTITION=y
# CONFIG_ACORN_PARTITION_CUMANA is not set
CONFIG_ACORN_PARTITION_EESOX=y
# CONFIG_ACORN_PARTITION_ICS is not set
# CONFIG_ACORN_PARTITION_ADFS is not set
CONFIG_ACORN_PARTITION_POWERTEC=y
# CONFIG_ACORN_PARTITION_RISCIX is not set
CONFIG_OSF_PARTITION=y
# CONFIG_AMIGA_PARTITION is not set
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
# CONFIG_MINIX_SUBPARTITION is not set
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
# CONFIG_SGI_PARTITION is not set
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
# CONFIG_KARMA_PARTITION is not set
CONFIG_EFI_PARTITION=y
CONFIG_SYSV68_PARTITION=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=m
# CONFIG_NLS_CODEPAGE_737 is not set
# 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=m
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
CONFIG_NLS_CODEPAGE_861=m
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
CONFIG_NLS_CODEPAGE_864=m
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
CONFIG_NLS_CODEPAGE_869=m
# CONFIG_NLS_CODEPAGE_936 is not set
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
# CONFIG_NLS_ASCII is not set
CONFIG_NLS_ISO8859_1=m
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
CONFIG_NLS_ISO8859_9=m
# CONFIG_NLS_ISO8859_13 is not set
CONFIG_NLS_ISO8859_14=m
# CONFIG_NLS_ISO8859_15 is not set
CONFIG_NLS_KOI8_R=m
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=m
CONFIG_DLM=m
CONFIG_DLM_DEBUG=y

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_PRINTK_TIME is not set
CONFIG_ENABLE_WARN_DEPRECATED=y
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
CONFIG_STRIP_ASM_SYMS=y
CONFIG_UNUSED_SYMBOLS=y
CONFIG_DEBUG_FS=y
CONFIG_HEADERS_CHECK=y
# CONFIG_DEBUG_SECTION_MISMATCH is not set
# CONFIG_DEBUG_KERNEL is not set
# CONFIG_HARDLOCKUP_DETECTOR is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
CONFIG_SPARSE_RCU_POINTER=y
CONFIG_STACKTRACE=y
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
# CONFIG_LKDTM is not set
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FTRACE_NMI_ENTER=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_RING_BUFFER=y
CONFIG_FTRACE_NMI_ENTER=y
CONFIG_EVENT_TRACING=y
CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_RING_BUFFER_ALLOW_SWAP=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
CONFIG_FUNCTION_TRACER=y
# CONFIG_FUNCTION_GRAPH_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_FTRACE_SYSCALLS is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
CONFIG_STACK_TRACER=y
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_KPROBE_EVENT is not set
CONFIG_DYNAMIC_FTRACE=y
CONFIG_FUNCTION_PROFILER=y
CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_FTRACE_STARTUP_TEST is not set
CONFIG_MMIOTRACE=y
# CONFIG_MMIOTRACE_TEST is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
# CONFIG_BUILD_DOCSRC is not set
# CONFIG_DYNAMIC_DEBUG is not set
# CONFIG_DMA_API_DEBUG is not set
CONFIG_ATOMIC64_SELFTEST=y
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_HAVE_ARCH_KMEMCHECK=y
CONFIG_STRICT_DEVMEM=y
# CONFIG_X86_VERBOSE_BOOTUP is not set
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
# CONFIG_DEBUG_SET_MODULE_RONX is not set
# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
# CONFIG_IO_DELAY_0X80 is not set
CONFIG_IO_DELAY_0XED=y
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=1
# CONFIG_OPTIMIZE_INLINING is not set

#
# Security options
#
# CONFIG_KEYS is not set
CONFIG_SECURITY_DMESG_RESTRICT=y
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_PATH=y
CONFIG_LSM_MMAP_MIN_ADDR=65536
CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_SELINUX_BOOTPARAM is not set
# CONFIG_SECURITY_SELINUX_DISABLE is not set
# CONFIG_SECURITY_SELINUX_DEVELOP is not set
# CONFIG_SECURITY_SELINUX_AVC_STATS is not set
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY_APPARMOR=y
CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
# CONFIG_IMA is not set
CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFAULT_SECURITY_APPARMOR is not set
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_DEFAULT_SECURITY="selinux"
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_FIPS=y
CONFIG_CRYPTO_ALGAPI=m
CONFIG_CRYPTO_ALGAPI2=m
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_AEAD2=m
CONFIG_CRYPTO_BLKCIPHER=m
CONFIG_CRYPTO_BLKCIPHER2=m
CONFIG_CRYPTO_HASH=m
CONFIG_CRYPTO_HASH2=m
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=m
CONFIG_CRYPTO_PCOMP=m
CONFIG_CRYPTO_PCOMP2=m
CONFIG_CRYPTO_MANAGER=m
CONFIG_CRYPTO_MANAGER2=m
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_WORKQUEUE=m
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m

#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_GCM is not set
CONFIG_CRYPTO_SEQIV=m

#
# Block modes
#
CONFIG_CRYPTO_CBC=m
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
CONFIG_CRYPTO_ECB=m
# CONFIG_CRYPTO_LRW is not set
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m
CONFIG_CRYPTO_FPU=m

#
# Hash modes
#
CONFIG_CRYPTO_HMAC=m
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_VMAC=m

#
# Digest
#
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_CRC32C_INTEL=m
# CONFIG_CRYPTO_GHASH is not set
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RMD256=m
# CONFIG_CRYPTO_RMD320 is not set
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA256=m
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_TGR192 is not set
CONFIG_CRYPTO_WP512=m
# CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set

#
# Ciphers
#
CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_AES_X86_64=m
CONFIG_CRYPTO_AES_NI_INTEL=m
# CONFIG_CRYPTO_ANUBIS is not set
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_SALSA20_X86_64=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
# CONFIG_CRYPTO_TWOFISH_X86_64 is not set

#
# Compression
#
# CONFIG_CRYPTO_DEFLATE is not set
CONFIG_CRYPTO_ZLIB=m
CONFIG_CRYPTO_LZO=m

#
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_USER_API=m
CONFIG_CRYPTO_USER_API_HASH=m
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=m
# CONFIG_CRYPTO_DEV_PADLOCK_AES is not set
CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
# CONFIG_CRYPTO_DEV_HIFN_795X is not set
CONFIG_HAVE_KVM=y
CONFIG_VIRTUALIZATION=y
# CONFIG_KVM is not set
# CONFIG_VHOST_NET is not set
CONFIG_VIRTIO=m
CONFIG_VIRTIO_RING=m
# CONFIG_VIRTIO_PCI is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
# CONFIG_CRC_T10DIF is not set
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_LZO_COMPRESS=m
CONFIG_LZO_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_IA64=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_BCJ=y
CONFIG_XZ_DEC_TEST=m
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_NLATTR=y
CONFIG_AVERAGE=y

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 14:21 ` Ingo Molnar
@ 2011-03-24 14:41   ` Christoph Lameter
  2011-03-24 16:50     ` Pekka Enberg
  2011-03-24 16:03   ` Ingo Molnar
  1 sibling, 1 reply; 71+ messages in thread
From: Christoph Lameter @ 2011-03-24 14:41 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Pekka Enberg, torvalds, akpm, tj, npiggin, rientjes, linux-kernel,
	linux-mm

[-- Attachment #1: Type: TEXT/PLAIN, Size: 338 bytes --]

On Thu, 24 Mar 2011, Ingo Molnar wrote:

> FYI, some sort of boot crash has snuck upstream in the last 24 hours:
>
>  BUG: unable to handle kernel paging request at ffff87ffc147e020
>  IP: [<ffffffff811aa762>] this_cpu_cmpxchg16b_emu+0x2/0x1c

Hmmm.. This is the fallback code for the case that the processor does not
support cmpxchg16b.

[-- Attachment #2: Type: TEXT/PLAIN, Size: 61252 bytes --]

#

# Automatically generated make config: don't edit

# Linux/x86_64 2.6.38 Kernel Configuration

# Thu Mar 24 16:39:51 2011

#

CONFIG_64BIT=y

# CONFIG_X86_32 is not set

CONFIG_X86_64=y

CONFIG_X86=y

CONFIG_INSTRUCTION_DECODER=y

CONFIG_OUTPUT_FORMAT="elf64-x86-64"

CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"

CONFIG_GENERIC_CMOS_UPDATE=y

CONFIG_CLOCKSOURCE_WATCHDOG=y

CONFIG_GENERIC_CLOCKEVENTS=y

CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y

CONFIG_LOCKDEP_SUPPORT=y

CONFIG_STACKTRACE_SUPPORT=y

CONFIG_HAVE_LATENCYTOP_SUPPORT=y

CONFIG_MMU=y

CONFIG_ZONE_DMA=y

CONFIG_NEED_DMA_MAP_STATE=y

CONFIG_NEED_SG_DMA_LENGTH=y

CONFIG_GENERIC_ISA_DMA=y

CONFIG_GENERIC_IOMAP=y

CONFIG_GENERIC_BUG=y

CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y

CONFIG_GENERIC_HWEIGHT=y

CONFIG_ARCH_MAY_HAVE_PC_FDC=y

# CONFIG_RWSEM_GENERIC_SPINLOCK is not set

CONFIG_RWSEM_XCHGADD_ALGORITHM=y

CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y

CONFIG_GENERIC_CALIBRATE_DELAY=y

CONFIG_GENERIC_TIME_VSYSCALL=y

CONFIG_ARCH_HAS_CPU_RELAX=y

CONFIG_ARCH_HAS_DEFAULT_IDLE=y

CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y

CONFIG_HAVE_SETUP_PER_CPU_AREA=y

CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y

CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y

# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set

CONFIG_ARCH_HIBERNATION_POSSIBLE=y

CONFIG_ARCH_SUSPEND_POSSIBLE=y

CONFIG_ZONE_DMA32=y

CONFIG_ARCH_POPULATES_NODE_MAP=y

CONFIG_AUDIT_ARCH=y

CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y

CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y

CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"

# CONFIG_KTIME_SCALAR is not set

CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

CONFIG_CONSTRUCTORS=y

CONFIG_HAVE_IRQ_WORK=y

CONFIG_IRQ_WORK=y



#

# General setup

#

CONFIG_EXPERIMENTAL=y

CONFIG_BROKEN_ON_SMP=y

CONFIG_INIT_ENV_ARG_LIMIT=32

CONFIG_CROSS_COMPILE=""

CONFIG_LOCALVERSION=""

# CONFIG_LOCALVERSION_AUTO is not set

CONFIG_HAVE_KERNEL_GZIP=y

CONFIG_HAVE_KERNEL_BZIP2=y

CONFIG_HAVE_KERNEL_LZMA=y

CONFIG_HAVE_KERNEL_XZ=y

CONFIG_HAVE_KERNEL_LZO=y

# CONFIG_KERNEL_GZIP is not set

CONFIG_KERNEL_BZIP2=y

# CONFIG_KERNEL_LZMA is not set

# CONFIG_KERNEL_XZ is not set

# CONFIG_KERNEL_LZO is not set

# CONFIG_SWAP is not set

# CONFIG_SYSVIPC is not set

# CONFIG_POSIX_MQUEUE is not set

# CONFIG_BSD_PROCESS_ACCT is not set

CONFIG_FHANDLE=y

CONFIG_TASKSTATS=y

CONFIG_TASK_DELAY_ACCT=y

CONFIG_TASK_XACCT=y

CONFIG_TASK_IO_ACCOUNTING=y

CONFIG_AUDIT=y

# CONFIG_AUDITSYSCALL is not set

CONFIG_HAVE_GENERIC_HARDIRQS=y



#

# IRQ subsystem

#

CONFIG_GENERIC_HARDIRQS=y

CONFIG_HAVE_SPARSE_IRQ=y

CONFIG_GENERIC_IRQ_PROBE=y

CONFIG_GENERIC_IRQ_SHOW=y

CONFIG_IRQ_FORCED_THREADING=y

CONFIG_SPARSE_IRQ=y



#

# RCU Subsystem

#

CONFIG_TINY_RCU=y

# CONFIG_PREEMPT_RCU is not set

CONFIG_RCU_TRACE=y

# CONFIG_TREE_RCU_TRACE is not set

CONFIG_IKCONFIG=m

CONFIG_IKCONFIG_PROC=y

CONFIG_LOG_BUF_SHIFT=20

CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y

CONFIG_CGROUPS=y

# CONFIG_CGROUP_DEBUG is not set

CONFIG_CGROUP_NS=y

# CONFIG_CGROUP_FREEZER is not set

CONFIG_CGROUP_DEVICE=y

CONFIG_CPUSETS=y

CONFIG_PROC_PID_CPUSET=y

# CONFIG_CGROUP_CPUACCT is not set

CONFIG_RESOURCE_COUNTERS=y

CONFIG_CGROUP_MEM_RES_CTLR=y

CONFIG_CGROUP_PERF=y

CONFIG_CGROUP_SCHED=y

CONFIG_FAIR_GROUP_SCHED=y

CONFIG_RT_GROUP_SCHED=y

# CONFIG_BLK_CGROUP is not set

CONFIG_NAMESPACES=y

CONFIG_UTS_NS=y

# CONFIG_USER_NS is not set

# CONFIG_PID_NS is not set

# CONFIG_NET_NS is not set

# CONFIG_SCHED_AUTOGROUP is not set

CONFIG_MM_OWNER=y

CONFIG_SYSFS_DEPRECATED=y

# CONFIG_SYSFS_DEPRECATED_V2 is not set

CONFIG_RELAY=y

CONFIG_BLK_DEV_INITRD=y

CONFIG_INITRAMFS_SOURCE=""

CONFIG_RD_GZIP=y

CONFIG_RD_BZIP2=y

CONFIG_RD_LZMA=y

CONFIG_RD_XZ=y

CONFIG_RD_LZO=y

# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set

CONFIG_SYSCTL=y

CONFIG_ANON_INODES=y

# CONFIG_EXPERT is not set

# CONFIG_EMBEDDED is not set

CONFIG_UID16=y

CONFIG_SYSCTL_SYSCALL=y

CONFIG_KALLSYMS=y

CONFIG_KALLSYMS_EXTRA_PASS=y

CONFIG_HOTPLUG=y

CONFIG_PRINTK=y

CONFIG_BUG=y

CONFIG_ELF_CORE=y

CONFIG_PCSPKR_PLATFORM=y

CONFIG_BASE_FULL=y

CONFIG_FUTEX=y

CONFIG_EPOLL=y

CONFIG_SIGNALFD=y

CONFIG_TIMERFD=y

CONFIG_EVENTFD=y

CONFIG_SHMEM=y

CONFIG_AIO=y

CONFIG_HAVE_PERF_EVENTS=y



#

# Kernel Performance Events And Counters

#

CONFIG_PERF_EVENTS=y

# CONFIG_PERF_COUNTERS is not set

CONFIG_VM_EVENT_COUNTERS=y

CONFIG_PCI_QUIRKS=y

CONFIG_SLUB_DEBUG=y

# CONFIG_COMPAT_BRK is not set

# CONFIG_SLAB is not set

CONFIG_SLUB=y

CONFIG_PROFILING=y

CONFIG_TRACEPOINTS=y

CONFIG_OPROFILE=m

# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set

CONFIG_HAVE_OPROFILE=y

CONFIG_KPROBES=y

CONFIG_JUMP_LABEL=y

CONFIG_OPTPROBES=y

CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y

CONFIG_KRETPROBES=y

CONFIG_HAVE_IOREMAP_PROT=y

CONFIG_HAVE_KPROBES=y

CONFIG_HAVE_KRETPROBES=y

CONFIG_HAVE_OPTPROBES=y

CONFIG_HAVE_ARCH_TRACEHOOK=y

CONFIG_HAVE_DMA_ATTRS=y

CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y

CONFIG_HAVE_DMA_API_DEBUG=y

CONFIG_HAVE_HW_BREAKPOINT=y

CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y

CONFIG_HAVE_USER_RETURN_NOTIFIER=y

CONFIG_HAVE_PERF_EVENTS_NMI=y

CONFIG_HAVE_ARCH_JUMP_LABEL=y



#

# GCOV-based kernel profiling

#

# CONFIG_GCOV_KERNEL is not set

# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set

CONFIG_SLABINFO=y

CONFIG_RT_MUTEXES=y

CONFIG_BASE_SMALL=0

CONFIG_MODULES=y

CONFIG_MODULE_FORCE_LOAD=y

CONFIG_MODULE_UNLOAD=y

# CONFIG_MODULE_FORCE_UNLOAD is not set

CONFIG_MODVERSIONS=y

CONFIG_MODULE_SRCVERSION_ALL=y

CONFIG_BLOCK=y

CONFIG_BLK_DEV_BSG=y

# CONFIG_BLK_DEV_INTEGRITY is not set

CONFIG_BLOCK_COMPAT=y



#

# IO Schedulers

#

CONFIG_IOSCHED_NOOP=y

CONFIG_IOSCHED_DEADLINE=m

# CONFIG_IOSCHED_CFQ 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_INLINE_SPIN_UNLOCK=y

# CONFIG_INLINE_SPIN_UNLOCK_BH is not set

CONFIG_INLINE_SPIN_UNLOCK_IRQ=y

# 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=y

# CONFIG_INLINE_READ_UNLOCK_BH is not set

CONFIG_INLINE_READ_UNLOCK_IRQ=y

# 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=y

# CONFIG_INLINE_WRITE_UNLOCK_BH is not set

CONFIG_INLINE_WRITE_UNLOCK_IRQ=y

# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set

# CONFIG_MUTEX_SPIN_ON_OWNER is not set

# CONFIG_FREEZER is not set



#

# Processor type and features

#

CONFIG_TICK_ONESHOT=y

# CONFIG_NO_HZ is not set

CONFIG_HIGH_RES_TIMERS=y

CONFIG_GENERIC_CLOCKEVENTS_BUILD=y

# CONFIG_SMP is not set

CONFIG_X86_MPPARSE=y

CONFIG_X86_EXTENDED_PLATFORM=y

CONFIG_X86_VSMP=y

# CONFIG_SCHED_OMIT_FRAME_POINTER is not set

CONFIG_PARAVIRT_GUEST=y

# CONFIG_XEN is not set

# CONFIG_XEN_PRIVILEGED_GUEST is not set

CONFIG_KVM_CLOCK=y

# CONFIG_KVM_GUEST is not set

CONFIG_PARAVIRT=y

CONFIG_PARAVIRT_CLOCK=y

CONFIG_NO_BOOTMEM=y

# CONFIG_MEMTEST is not set

# CONFIG_MK8 is not set

# CONFIG_MPSC is not set

# CONFIG_MCORE2 is not set

# CONFIG_MATOM is not set

CONFIG_GENERIC_CPU=y

CONFIG_X86_INTERNODE_CACHE_SHIFT=12

CONFIG_X86_CMPXCHG=y

CONFIG_CMPXCHG_LOCAL=y

CONFIG_X86_L1_CACHE_SHIFT=6

CONFIG_X86_XADD=y

CONFIG_X86_WP_WORKS_OK=y

CONFIG_X86_TSC=y

CONFIG_X86_CMPXCHG64=y

CONFIG_X86_CMOV=y

CONFIG_X86_MINIMUM_CPU_FAMILY=64

CONFIG_X86_DEBUGCTLMSR=y

CONFIG_CPU_SUP_INTEL=y

CONFIG_CPU_SUP_AMD=y

CONFIG_CPU_SUP_CENTAUR=y

CONFIG_HPET_TIMER=y

CONFIG_HPET_EMULATE_RTC=y

CONFIG_DMI=y

CONFIG_GART_IOMMU=y

CONFIG_CALGARY_IOMMU=y

CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y

CONFIG_SWIOTLB=y

CONFIG_IOMMU_HELPER=y

# CONFIG_IOMMU_API is not set

CONFIG_NR_CPUS=1

CONFIG_IRQ_TIME_ACCOUNTING=y

CONFIG_PREEMPT_NONE=y

# CONFIG_PREEMPT_VOLUNTARY is not set

# CONFIG_PREEMPT is not set

CONFIG_X86_LOCAL_APIC=y

CONFIG_X86_IO_APIC=y

CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y

# CONFIG_X86_MCE is not set

# CONFIG_I8K is not set

CONFIG_MICROCODE=m

# CONFIG_MICROCODE_INTEL is not set

CONFIG_MICROCODE_AMD=y

CONFIG_MICROCODE_OLD_INTERFACE=y

# CONFIG_X86_MSR is not set

# CONFIG_X86_CPUID is not set

CONFIG_ARCH_PHYS_ADDR_T_64BIT=y

CONFIG_ARCH_DMA_ADDR_T_64BIT=y

CONFIG_DIRECT_GBPAGES=y

CONFIG_ARCH_SPARSEMEM_DEFAULT=y

CONFIG_ARCH_SPARSEMEM_ENABLE=y

CONFIG_ARCH_SELECT_MEMORY_MODEL=y

CONFIG_ARCH_MEMORY_PROBE=y

CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000

CONFIG_SELECT_MEMORY_MODEL=y

CONFIG_SPARSEMEM_MANUAL=y

CONFIG_SPARSEMEM=y

CONFIG_HAVE_MEMORY_PRESENT=y

CONFIG_SPARSEMEM_EXTREME=y

CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y

CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y

# CONFIG_SPARSEMEM_VMEMMAP is not set

CONFIG_HAVE_MEMBLOCK=y

CONFIG_MEMORY_HOTPLUG=y

CONFIG_MEMORY_HOTPLUG_SPARSE=y

CONFIG_PAGEFLAGS_EXTENDED=y

CONFIG_SPLIT_PTLOCK_CPUS=4

# CONFIG_COMPACTION is not set

# CONFIG_MIGRATION is not set

CONFIG_PHYS_ADDR_T_64BIT=y

CONFIG_ZONE_DMA_FLAG=1

CONFIG_BOUNCE=y

CONFIG_VIRT_TO_BUS=y

CONFIG_KSM=y

CONFIG_DEFAULT_MMAP_MIN_ADDR=4096

# CONFIG_TRANSPARENT_HUGEPAGE is not set

CONFIG_NEED_PER_CPU_KM=y

CONFIG_X86_CHECK_BIOS_CORRUPTION=y

# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set

CONFIG_X86_RESERVE_LOW=64

CONFIG_MTRR=y

CONFIG_MTRR_SANITIZER=y

CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0

CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1

CONFIG_X86_PAT=y

CONFIG_ARCH_USES_PG_UNCACHED=y

CONFIG_SECCOMP=y

CONFIG_CC_STACKPROTECTOR=y

# CONFIG_HZ_100 is not set

CONFIG_HZ_250=y

# CONFIG_HZ_300 is not set

# CONFIG_HZ_1000 is not set

CONFIG_HZ=250

CONFIG_SCHED_HRTICK=y

CONFIG_KEXEC=y

CONFIG_CRASH_DUMP=y

CONFIG_PHYSICAL_START=0x1000000

CONFIG_RELOCATABLE=y

CONFIG_PHYSICAL_ALIGN=0x1000000

# CONFIG_COMPAT_VDSO is not set

# CONFIG_CMDLINE_BOOL is not set

CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y

CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y



#

# Power management and ACPI options

#

# CONFIG_SUSPEND is not set

CONFIG_PM_RUNTIME=y

CONFIG_PM=y

# CONFIG_PM_DEBUG is not set

# CONFIG_ACPI is not set

CONFIG_SFI=y



#

# CPU Frequency scaling

#

# CONFIG_CPU_FREQ is not set

CONFIG_CPU_IDLE=y

CONFIG_CPU_IDLE_GOV_LADDER=y

CONFIG_INTEL_IDLE=y



#

# Memory power savings

#

# CONFIG_I7300_IDLE is not set



#

# Bus options (PCI etc.)

#

CONFIG_PCI=y

CONFIG_PCI_DIRECT=y

CONFIG_PCI_DOMAINS=y

# CONFIG_PCI_CNB20LE_QUIRK is not set

CONFIG_PCIEPORTBUS=y

# CONFIG_PCIEAER is not set

CONFIG_PCIEASPM=y

CONFIG_PCIEASPM_DEBUG=y

CONFIG_ARCH_SUPPORTS_MSI=y

CONFIG_PCI_MSI=y

# CONFIG_PCI_STUB is not set

# CONFIG_HT_IRQ is not set

# CONFIG_PCI_IOV is not set

CONFIG_ISA_DMA_API=y

CONFIG_AMD_NB=y

CONFIG_PCCARD=m

CONFIG_PCMCIA=m

# CONFIG_PCMCIA_LOAD_CIS is not set

CONFIG_CARDBUS=y



#

# PC-card bridges

#

CONFIG_YENTA=m

CONFIG_YENTA_O2=y

CONFIG_YENTA_RICOH=y

CONFIG_YENTA_TI=y

CONFIG_YENTA_ENE_TUNE=y

CONFIG_YENTA_TOSHIBA=y

CONFIG_PD6729=m

# CONFIG_I82092 is not set

CONFIG_PCCARD_NONSTATIC=y

# CONFIG_HOTPLUG_PCI is not set



#

# Executable file formats / Emulations

#

CONFIG_BINFMT_ELF=y

CONFIG_COMPAT_BINFMT_ELF=y

CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y

# CONFIG_HAVE_AOUT is not set

CONFIG_BINFMT_MISC=m

CONFIG_IA32_EMULATION=y

CONFIG_IA32_AOUT=m

CONFIG_COMPAT=y

CONFIG_COMPAT_FOR_U64_ALIGNMENT=y

CONFIG_HAVE_TEXT_POKE_SMP=y

CONFIG_NET=y



#

# Networking options

#

CONFIG_PACKET=y

CONFIG_UNIX=y

CONFIG_XFRM=y

# CONFIG_XFRM_USER is not set

# CONFIG_XFRM_SUB_POLICY is not set

# CONFIG_XFRM_MIGRATE is not set

CONFIG_XFRM_STATISTICS=y

CONFIG_NET_KEY=m

# CONFIG_NET_KEY_MIGRATE is not set

CONFIG_INET=y

# CONFIG_IP_MULTICAST is not set

CONFIG_IP_ADVANCED_ROUTER=y

# CONFIG_IP_FIB_TRIE_STATS is not set

CONFIG_IP_MULTIPLE_TABLES=y

CONFIG_IP_ROUTE_MULTIPATH=y

CONFIG_IP_ROUTE_VERBOSE=y

CONFIG_IP_ROUTE_CLASSID=y

# CONFIG_IP_PNP is not set

# CONFIG_NET_IPIP is not set

# CONFIG_NET_IPGRE_DEMUX is not set

CONFIG_ARPD=y

CONFIG_SYN_COOKIES=y

CONFIG_INET_AH=m

CONFIG_INET_ESP=m

# CONFIG_INET_IPCOMP is not set

# CONFIG_INET_XFRM_TUNNEL is not set

# CONFIG_INET_TUNNEL is not set

CONFIG_INET_XFRM_MODE_TRANSPORT=m

CONFIG_INET_XFRM_MODE_TUNNEL=m

CONFIG_INET_XFRM_MODE_BEET=m

CONFIG_INET_LRO=m

CONFIG_INET_DIAG=m

CONFIG_INET_TCP_DIAG=m

CONFIG_TCP_CONG_ADVANCED=y

CONFIG_TCP_CONG_BIC=m

# CONFIG_TCP_CONG_CUBIC is not set

# CONFIG_TCP_CONG_WESTWOOD is not set

# CONFIG_TCP_CONG_HTCP is not set

CONFIG_TCP_CONG_HSTCP=m

# CONFIG_TCP_CONG_HYBLA is not set

CONFIG_TCP_CONG_VEGAS=m

CONFIG_TCP_CONG_SCALABLE=m

CONFIG_TCP_CONG_LP=m

CONFIG_TCP_CONG_VENO=m

CONFIG_TCP_CONG_YEAH=m

# CONFIG_TCP_CONG_ILLINOIS is not set

CONFIG_DEFAULT_RENO=y

CONFIG_DEFAULT_TCP_CONG="reno"

# CONFIG_TCP_MD5SIG is not set

CONFIG_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 is not set

# CONFIG_IPV6_MIP6 is not set

# CONFIG_INET6_XFRM_TUNNEL is not set

CONFIG_INET6_TUNNEL=m

CONFIG_INET6_XFRM_MODE_TRANSPORT=m

# CONFIG_INET6_XFRM_MODE_TUNNEL is not set

CONFIG_INET6_XFRM_MODE_BEET=m

CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m

# CONFIG_IPV6_SIT is not set

CONFIG_IPV6_TUNNEL=m

CONFIG_IPV6_MULTIPLE_TABLES=y

# CONFIG_IPV6_SUBTREES is not set

CONFIG_IPV6_MROUTE=y

CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y

CONFIG_IPV6_PIMSM_V2=y

# CONFIG_NETLABEL is not set

CONFIG_NETWORK_SECMARK=y

CONFIG_NETWORK_PHY_TIMESTAMPING=y

# CONFIG_NETFILTER is not set

CONFIG_IP_DCCP=m

CONFIG_INET_DCCP_DIAG=m



#

# DCCP CCIDs Configuration (EXPERIMENTAL)

#

# CONFIG_IP_DCCP_CCID2_DEBUG is not set

# CONFIG_IP_DCCP_CCID3 is not set

CONFIG_IP_SCTP=m

# CONFIG_NET_SCTPPROBE is not set

CONFIG_SCTP_DBG_MSG=y

# CONFIG_SCTP_DBG_OBJCNT is not set

# CONFIG_SCTP_HMAC_NONE is not set

CONFIG_SCTP_HMAC_SHA1=y

# CONFIG_SCTP_HMAC_MD5 is not set

CONFIG_RDS=m

CONFIG_RDS_RDMA=m

CONFIG_RDS_TCP=m

# CONFIG_RDS_DEBUG is not set

CONFIG_TIPC=m

# CONFIG_TIPC_ADVANCED is not set

CONFIG_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 is not set

CONFIG_LLC=m

CONFIG_LLC2=m

CONFIG_IPX=m

CONFIG_IPX_INTERN=y

# CONFIG_ATALK is not set

# CONFIG_X25 is not set

# CONFIG_LAPB is not set

CONFIG_ECONET=m

CONFIG_ECONET_AUNUDP=y

CONFIG_ECONET_NATIVE=y

CONFIG_WAN_ROUTER=m

# 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 set

CONFIG_NET_SCH_RED=m

CONFIG_NET_SCH_SFB=m

# CONFIG_NET_SCH_SFQ is not set

# CONFIG_NET_SCH_TEQL is not set

CONFIG_NET_SCH_TBF=m

CONFIG_NET_SCH_GRED=m

# CONFIG_NET_SCH_DSMARK is not set

CONFIG_NET_SCH_NETEM=m

# CONFIG_NET_SCH_DRR is not set

CONFIG_NET_SCH_MQPRIO=m

CONFIG_NET_SCH_CHOKE=m

# CONFIG_NET_SCH_INGRESS is not set



#

# Classification

#

CONFIG_NET_CLS=y

# CONFIG_NET_CLS_BASIC is not set

# CONFIG_NET_CLS_TCINDEX is not set

CONFIG_NET_CLS_ROUTE4=m

# CONFIG_NET_CLS_FW is not set

# CONFIG_NET_CLS_U32 is not set

CONFIG_NET_CLS_RSVP=m

# CONFIG_NET_CLS_RSVP6 is not set

CONFIG_NET_CLS_FLOW=m

# CONFIG_NET_CLS_CGROUP is not set

CONFIG_NET_EMATCH=y

CONFIG_NET_EMATCH_STACK=32

# CONFIG_NET_EMATCH_CMP is not set

# CONFIG_NET_EMATCH_NBYTE is not set

CONFIG_NET_EMATCH_U32=m

CONFIG_NET_EMATCH_META=m

CONFIG_NET_EMATCH_TEXT=m

CONFIG_NET_CLS_ACT=y

# CONFIG_NET_ACT_POLICE is not set

# CONFIG_NET_ACT_GACT is not set

# CONFIG_NET_ACT_MIRRED is not set

# CONFIG_NET_ACT_NAT is not set

CONFIG_NET_ACT_PEDIT=m

# CONFIG_NET_ACT_SIMP is not set

CONFIG_NET_ACT_SKBEDIT=m

# CONFIG_NET_ACT_CSUM is not set

CONFIG_NET_SCH_FIFO=y

# CONFIG_DCB is not set

# CONFIG_BATMAN_ADV is not set



#

# Network testing

#

CONFIG_NET_PKTGEN=m

# CONFIG_NET_TCPPROBE is not set

CONFIG_NET_DROP_MONITOR=y

CONFIG_HAMRADIO=y



#

# Packet Radio protocols

#

CONFIG_AX25=m

CONFIG_AX25_DAMA_SLAVE=y

CONFIG_NETROM=m

CONFIG_ROSE=m



#

# AX.25 network device drivers

#

# CONFIG_MKISS is not set

# CONFIG_6PACK is not set

CONFIG_BPQETHER=m

CONFIG_BAYCOM_SER_FDX=m

# CONFIG_BAYCOM_SER_HDX is not set

CONFIG_BAYCOM_PAR=m

CONFIG_YAM=m

# CONFIG_CAN is not set

# CONFIG_IRDA is not set

CONFIG_BT=m

CONFIG_BT_L2CAP=y

# CONFIG_BT_SCO is not set

CONFIG_BT_RFCOMM=m

# CONFIG_BT_RFCOMM_TTY is not set

CONFIG_BT_BNEP=m

# CONFIG_BT_BNEP_MC_FILTER is not set

CONFIG_BT_BNEP_PROTO_FILTER=y

CONFIG_BT_HIDP=m



#

# Bluetooth device drivers

#

CONFIG_BT_HCIBTUSB=m

CONFIG_BT_HCIBTSDIO=m

CONFIG_BT_HCIUART=m

CONFIG_BT_HCIUART_H4=y

CONFIG_BT_HCIUART_BCSP=y

CONFIG_BT_HCIUART_ATH3K=y

CONFIG_BT_HCIUART_LL=y

# CONFIG_BT_HCIBCM203X is not set

# CONFIG_BT_HCIBPA10X is not set

CONFIG_BT_HCIBFUSB=m

# CONFIG_BT_HCIDTL1 is not set

# CONFIG_BT_HCIBT3C is not set

# CONFIG_BT_HCIBLUECARD is not set

CONFIG_BT_HCIBTUART=m

# CONFIG_BT_HCIVHCI is not set

CONFIG_BT_MRVL=m

CONFIG_BT_MRVL_SDIO=m

# CONFIG_BT_ATH3K is not set

# CONFIG_AF_RXRPC is not set

CONFIG_FIB_RULES=y

# CONFIG_WIRELESS is not set

# CONFIG_WIMAX is not set

CONFIG_RFKILL=m

CONFIG_RFKILL_INPUT=y

# CONFIG_NET_9P is not set

# CONFIG_CAIF is not set

CONFIG_CEPH_LIB=m

# CONFIG_CEPH_LIB_PRETTYDEBUG is not set



#

# Device Drivers

#



#

# Generic Driver Options

#

CONFIG_UEVENT_HELPER_PATH=""

CONFIG_DEVTMPFS=y

# CONFIG_DEVTMPFS_MOUNT is not set

CONFIG_STANDALONE=y

CONFIG_PREVENT_FIRMWARE_BUILD=y

CONFIG_FW_LOADER=y

CONFIG_FIRMWARE_IN_KERNEL=y

CONFIG_EXTRA_FIRMWARE=""

# CONFIG_SYS_HYPERVISOR is not set

# CONFIG_CONNECTOR is not set

# CONFIG_MTD is not set

CONFIG_PARPORT=m

CONFIG_PARPORT_PC=m

CONFIG_PARPORT_SERIAL=m

# CONFIG_PARPORT_PC_FIFO is not set

# CONFIG_PARPORT_PC_SUPERIO is not set

CONFIG_PARPORT_PC_PCMCIA=m

# CONFIG_PARPORT_GSC is not set

# CONFIG_PARPORT_AX88796 is not set

# CONFIG_PARPORT_1284 is not set

CONFIG_BLK_DEV=y

CONFIG_BLK_DEV_FD=m

# CONFIG_PARIDE is not set

CONFIG_BLK_CPQ_DA=y

# CONFIG_BLK_CPQ_CISS_DA is not set

# CONFIG_BLK_DEV_DAC960 is not set

# CONFIG_BLK_DEV_UMEM is not set

# 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=m

CONFIG_BLK_DEV_RAM_COUNT=16

CONFIG_BLK_DEV_RAM_SIZE=4096

CONFIG_BLK_DEV_XIP=y

# CONFIG_CDROM_PKTCDVD is not set

# CONFIG_ATA_OVER_ETH is not set

# CONFIG_VIRTIO_BLK is not set

CONFIG_BLK_DEV_HD=y

CONFIG_BLK_DEV_RBD=m

# CONFIG_SENSORS_LIS3LV02D is not set

# CONFIG_MISC_DEVICES is not set

CONFIG_TIFM_CORE=m

CONFIG_HAVE_IDE=y

# CONFIG_IDE is not set



#

# SCSI device support

#

CONFIG_SCSI_MOD=y

CONFIG_RAID_ATTRS=m

CONFIG_SCSI=y

CONFIG_SCSI_DMA=y

CONFIG_SCSI_TGT=m

CONFIG_SCSI_NETLINK=y

# CONFIG_SCSI_PROC_FS is not set



#

# SCSI support type (disk, tape, CD-ROM)

#

CONFIG_BLK_DEV_SD=y

# CONFIG_CHR_DEV_ST is not set

CONFIG_CHR_DEV_OSST=m

CONFIG_BLK_DEV_SR=m

# CONFIG_BLK_DEV_SR_VENDOR is not set

# CONFIG_CHR_DEV_SG is not set

# CONFIG_CHR_DEV_SCH is not set

# CONFIG_SCSI_MULTI_LUN is not set

# CONFIG_SCSI_CONSTANTS is not set

# CONFIG_SCSI_LOGGING is not set

# CONFIG_SCSI_SCAN_ASYNC is not set

CONFIG_SCSI_WAIT_SCAN=m



#

# SCSI Transports

#

CONFIG_SCSI_SPI_ATTRS=y

CONFIG_SCSI_FC_ATTRS=m

CONFIG_SCSI_FC_TGT_ATTRS=y

CONFIG_SCSI_ISCSI_ATTRS=m

CONFIG_SCSI_SAS_ATTRS=m

CONFIG_SCSI_SAS_LIBSAS=m

CONFIG_SCSI_SAS_ATA=y

# CONFIG_SCSI_SAS_HOST_SMP is not set

CONFIG_SCSI_SRP_ATTRS=m

# CONFIG_SCSI_SRP_TGT_ATTRS is not set

CONFIG_SCSI_LOWLEVEL=y

CONFIG_ISCSI_TCP=m

CONFIG_ISCSI_BOOT_SYSFS=m

CONFIG_SCSI_CXGB3_ISCSI=m

# CONFIG_SCSI_CXGB4_ISCSI is not set

CONFIG_SCSI_BNX2_ISCSI=m

CONFIG_SCSI_BNX2X_FCOE=m

# CONFIG_BE2ISCSI is not set

# CONFIG_BLK_DEV_3W_XXXX_RAID is not set

# CONFIG_SCSI_HPSA is not set

# CONFIG_SCSI_3W_9XXX is not set

CONFIG_SCSI_3W_SAS=m

# CONFIG_SCSI_ACARD is not set

CONFIG_SCSI_AACRAID=m

CONFIG_SCSI_AIC7XXX=y

CONFIG_AIC7XXX_CMDS_PER_DEVICE=32

CONFIG_AIC7XXX_RESET_DELAY_MS=5000

# CONFIG_AIC7XXX_DEBUG_ENABLE is not set

CONFIG_AIC7XXX_DEBUG_MASK=0

CONFIG_AIC7XXX_REG_PRETTY_PRINT=y

CONFIG_SCSI_AIC7XXX_OLD=m

# CONFIG_SCSI_AIC79XX is not set

CONFIG_SCSI_AIC94XX=m

CONFIG_AIC94XX_DEBUG=y

CONFIG_SCSI_MVSAS=m

CONFIG_SCSI_MVSAS_DEBUG=y

# CONFIG_SCSI_DPT_I2O is not set

# CONFIG_SCSI_ADVANSYS is not set

# CONFIG_SCSI_ARCMSR is not set

CONFIG_MEGARAID_NEWGEN=y

# CONFIG_MEGARAID_MM is not set

# CONFIG_MEGARAID_LEGACY is not set

CONFIG_MEGARAID_SAS=m

CONFIG_SCSI_MPT2SAS=m

CONFIG_SCSI_MPT2SAS_MAX_SGE=128

# CONFIG_SCSI_MPT2SAS_LOGGING is not set

CONFIG_SCSI_HPTIOP=m

CONFIG_SCSI_BUSLOGIC=m

# CONFIG_VMWARE_PVSCSI is not set

CONFIG_LIBFC=m

CONFIG_LIBFCOE=m

# CONFIG_FCOE is not set

# CONFIG_FCOE_FNIC is not set

# CONFIG_SCSI_DMX3191D is not set

CONFIG_SCSI_EATA=m

# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set

# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set

CONFIG_SCSI_EATA_MAX_TAGS=16

# CONFIG_SCSI_FUTURE_DOMAIN is not set

CONFIG_SCSI_GDTH=m

# CONFIG_SCSI_IPS is not set

# CONFIG_SCSI_INITIO is not set

CONFIG_SCSI_INIA100=m

CONFIG_SCSI_PPA=m

CONFIG_SCSI_IMM=m

CONFIG_SCSI_IZIP_EPP16=y

CONFIG_SCSI_IZIP_SLOW_CTR=y

# CONFIG_SCSI_STEX is not set

CONFIG_SCSI_SYM53C8XX_2=m

CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1

CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16

CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64

# CONFIG_SCSI_SYM53C8XX_MMIO is not set

CONFIG_SCSI_IPR=m

# CONFIG_SCSI_IPR_TRACE is not set

# CONFIG_SCSI_IPR_DUMP is not set

# CONFIG_SCSI_QLOGIC_1280 is not set

# CONFIG_SCSI_QLA_FC is not set

CONFIG_SCSI_QLA_ISCSI=m

CONFIG_SCSI_LPFC=m

CONFIG_SCSI_LPFC_DEBUG_FS=y

CONFIG_SCSI_DC395x=m

# CONFIG_SCSI_DC390T is not set

# CONFIG_SCSI_DEBUG is not set

CONFIG_SCSI_PMCRAID=m

CONFIG_SCSI_PM8001=m

CONFIG_SCSI_SRP=m

# CONFIG_SCSI_BFA_FC is not set

CONFIG_SCSI_LOWLEVEL_PCMCIA=y

# CONFIG_PCMCIA_AHA152X is not set

# CONFIG_PCMCIA_FDOMAIN is not set

CONFIG_PCMCIA_QLOGIC=m

# CONFIG_PCMCIA_SYM53C500 is not set

CONFIG_SCSI_DH=m

CONFIG_SCSI_DH_RDAC=m

# CONFIG_SCSI_DH_HP_SW is not set

# CONFIG_SCSI_DH_EMC is not set

CONFIG_SCSI_DH_ALUA=m

CONFIG_SCSI_OSD_INITIATOR=m

# CONFIG_SCSI_OSD_ULD is not set

CONFIG_SCSI_OSD_DPRINT_SENSE=1

# CONFIG_SCSI_OSD_DEBUG is not set

CONFIG_ATA=y

# CONFIG_ATA_NONSTANDARD is not set

CONFIG_ATA_VERBOSE_ERROR=y

# CONFIG_SATA_PMP is not set



#

# Controllers with non-SFF native interface

#

CONFIG_SATA_AHCI=y

CONFIG_SATA_AHCI_PLATFORM=m

# CONFIG_SATA_INIC162X is not set

# CONFIG_SATA_ACARD_AHCI is not set

CONFIG_SATA_SIL24=m

CONFIG_ATA_SFF=y



#

# SFF controllers with custom DMA interface

#

# CONFIG_PDC_ADMA is not set

# CONFIG_SATA_QSTOR is not set

CONFIG_SATA_SX4=m

CONFIG_ATA_BMDMA=y



#

# SATA SFF controllers with BMDMA

#

CONFIG_ATA_PIIX=y

# CONFIG_SATA_MV is not set

CONFIG_SATA_NV=y

CONFIG_SATA_PROMISE=m

# CONFIG_SATA_SIL is not set

# CONFIG_SATA_SIS is not set

CONFIG_SATA_SVW=m

# CONFIG_SATA_ULI is not set

# CONFIG_SATA_VIA is not set

CONFIG_SATA_VITESSE=m



#

# PATA SFF controllers with BMDMA

#

CONFIG_PATA_ALI=m

CONFIG_PATA_AMD=y

CONFIG_PATA_ARASAN_CF=m

# CONFIG_PATA_ARTOP is not set

# CONFIG_PATA_ATIIXP is not set

# 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 set

CONFIG_PATA_CYPRESS=m

# CONFIG_PATA_EFAR is not set

# CONFIG_PATA_HPT366 is not set

CONFIG_PATA_HPT37X=m

CONFIG_PATA_HPT3X2N=m

# CONFIG_PATA_HPT3X3 is not set

CONFIG_PATA_IT8213=m

CONFIG_PATA_IT821X=m

CONFIG_PATA_JMICRON=m

# CONFIG_PATA_MARVELL is not set

# CONFIG_PATA_NETCELL is not set

# CONFIG_PATA_NINJA32 is not set

# CONFIG_PATA_NS87415 is not set

CONFIG_PATA_OLDPIIX=y

# CONFIG_PATA_OPTIDMA is not set

CONFIG_PATA_PDC2027X=m

# CONFIG_PATA_PDC_OLD is not set

# CONFIG_PATA_RADISYS is not set

# CONFIG_PATA_RDC is not set

CONFIG_PATA_SC1200=m

# CONFIG_PATA_SCH is not set

CONFIG_PATA_SERVERWORKS=m

CONFIG_PATA_SIL680=m

# CONFIG_PATA_SIS is not set

# CONFIG_PATA_TOSHIBA is not set

# CONFIG_PATA_TRIFLEX is not set

CONFIG_PATA_VIA=y

CONFIG_PATA_WINBOND=m



#

# PIO-only SFF controllers

#

CONFIG_PATA_CMD640_PCI=m

# CONFIG_PATA_MPIIX is not set

# CONFIG_PATA_NS87410 is not set

# CONFIG_PATA_OPTI is not set

CONFIG_PATA_PCMCIA=m

CONFIG_PATA_RZ1000=m



#

# Generic fallback / legacy drivers

#

# CONFIG_ATA_GENERIC is not set

CONFIG_PATA_LEGACY=m

# CONFIG_MD is not set

CONFIG_TARGET_CORE=m

# CONFIG_TCM_IBLOCK is not set

CONFIG_TCM_FILEIO=m

# CONFIG_TCM_PSCSI is not set

CONFIG_FUSION=y

# CONFIG_FUSION_SPI is not set

CONFIG_FUSION_FC=m

# CONFIG_FUSION_SAS is not set

CONFIG_FUSION_MAX_SGE=128

CONFIG_FUSION_CTL=m

# CONFIG_FUSION_LAN is not set

CONFIG_FUSION_LOGGING=y



#

# IEEE 1394 (FireWire) support

#

# CONFIG_FIREWIRE is not set

CONFIG_FIREWIRE_NOSY=m

# CONFIG_I2O is not set

CONFIG_MACINTOSH_DRIVERS=y

CONFIG_MAC_EMUMOUSEBTN=m

CONFIG_NETDEVICES=y

CONFIG_IFB=m

# CONFIG_DUMMY is not set

CONFIG_BONDING=m

CONFIG_MACVLAN=m

CONFIG_MACVTAP=m

# CONFIG_EQUALIZER is not set

CONFIG_TUN=m

# CONFIG_VETH is not set

CONFIG_ARCNET=m

# CONFIG_ARCNET_1201 is not set

CONFIG_ARCNET_1051=m

CONFIG_ARCNET_RAW=m

CONFIG_ARCNET_CAP=m

# CONFIG_ARCNET_COM90xx is not set

CONFIG_ARCNET_COM90xxIO=m

# CONFIG_ARCNET_RIM_I is not set

CONFIG_ARCNET_COM20020=m

CONFIG_ARCNET_COM20020_PCI=m

CONFIG_MII=y

CONFIG_PHYLIB=y



#

# MII PHY device drivers

#

# CONFIG_MARVELL_PHY is not set

# CONFIG_DAVICOM_PHY is not set

# CONFIG_QSEMI_PHY is not set

CONFIG_LXT_PHY=m

CONFIG_CICADA_PHY=m

# CONFIG_VITESSE_PHY is not set

CONFIG_SMSC_PHY=m

# CONFIG_BROADCOM_PHY is not set

CONFIG_BCM63XX_PHY=m

CONFIG_ICPLUS_PHY=m

# CONFIG_REALTEK_PHY is not set

# CONFIG_NATIONAL_PHY is not set

# CONFIG_STE10XP is not set

# CONFIG_LSI_ET1011C_PHY is not set

CONFIG_MICREL_PHY=m

CONFIG_FIXED_PHY=y

# CONFIG_MDIO_BITBANG is not set

CONFIG_NET_ETHERNET=y

# CONFIG_HAPPYMEAL is not set

CONFIG_SUNGEM=m

CONFIG_CASSINI=m

# CONFIG_NET_VENDOR_3COM is not set

# CONFIG_ETHOC is not set

# CONFIG_DNET is not set

# CONFIG_NET_TULIP is not set

# CONFIG_HP100 is not set

# CONFIG_IBM_NEW_EMAC_ZMII is not set

# CONFIG_IBM_NEW_EMAC_RGMII is not set

# CONFIG_IBM_NEW_EMAC_TAH is not set

# CONFIG_IBM_NEW_EMAC_EMAC4 is not set

# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set

# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set

# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set

CONFIG_NET_PCI=y

# CONFIG_PCNET32 is not set

# CONFIG_AMD8111_ETH is not set

CONFIG_ADAPTEC_STARFIRE=m

CONFIG_KSZ884X_PCI=m

CONFIG_B44=m

CONFIG_B44_PCI_AUTOSELECT=y

CONFIG_B44_PCICORE_AUTOSELECT=y

CONFIG_B44_PCI=y

CONFIG_FORCEDETH=y

CONFIG_E100=y

CONFIG_FEALNX=m

# CONFIG_NATSEMI is not set

CONFIG_NE2K_PCI=m

# CONFIG_8139CP is not set

CONFIG_8139TOO=y

CONFIG_8139TOO_PIO=y

CONFIG_8139TOO_TUNE_TWISTER=y

CONFIG_8139TOO_8129=y

# CONFIG_8139_OLD_RX_RESET is not set

CONFIG_R6040=m

# CONFIG_SIS900 is not set

# CONFIG_EPIC100 is not set

CONFIG_SMSC9420=m

CONFIG_SUNDANCE=m

CONFIG_SUNDANCE_MMIO=y

CONFIG_TLAN=m

# CONFIG_KS8842 is not set

CONFIG_KS8851_MLL=m

# CONFIG_VIA_RHINE is not set

# CONFIG_SC92031 is not set

CONFIG_NET_POCKET=y

CONFIG_ATP=m

# CONFIG_DE600 is not set

# CONFIG_DE620 is not set

# CONFIG_ATL2 is not set

CONFIG_NETDEV_1000=y

# CONFIG_ACENIC is not set

# CONFIG_DL2K is not set

# CONFIG_E1000 is not set

CONFIG_E1000E=y

CONFIG_IP1000=m

# CONFIG_IGB is not set

# CONFIG_IGBVF is not set

# CONFIG_NS83820 is not set

# CONFIG_HAMACHI is not set

# CONFIG_YELLOWFIN is not set

CONFIG_R8169=m

# CONFIG_SIS190 is not set

CONFIG_SKGE=y

# CONFIG_SKGE_DEBUG is not set

# CONFIG_SKY2 is not set

CONFIG_VIA_VELOCITY=m

CONFIG_TIGON3=y

CONFIG_BNX2=m

CONFIG_CNIC=m

CONFIG_QLA3XXX=m

# CONFIG_ATL1 is not set

# CONFIG_ATL1E is not set

CONFIG_ATL1C=m

# CONFIG_JME is not set

CONFIG_STMMAC_ETH=m

# CONFIG_STMMAC_DA is not set

CONFIG_STMMAC_DUAL_MAC=y

# CONFIG_PCH_GBE is not set

CONFIG_NETDEV_10000=y

CONFIG_MDIO=m

CONFIG_CHELSIO_T1=m

# CONFIG_CHELSIO_T1_1G is not set

CONFIG_CHELSIO_T3=m

CONFIG_CHELSIO_T4=m

# CONFIG_CHELSIO_T4VF is not set

# CONFIG_ENIC is not set

CONFIG_IXGBE=m

CONFIG_IXGBEVF=m

CONFIG_IXGB=m

# CONFIG_S2IO is not set

# CONFIG_VXGE is not set

# CONFIG_MYRI10GE is not set

# CONFIG_NETXEN_NIC is not set

CONFIG_NIU=m

CONFIG_MLX4_EN=m

CONFIG_MLX4_CORE=m

CONFIG_MLX4_DEBUG=y

CONFIG_TEHUTI=m

CONFIG_BNX2X=m

# CONFIG_QLCNIC is not set

# CONFIG_QLGE is not set

CONFIG_BNA=m

# CONFIG_SFC is not set

# CONFIG_BE2NET is not set

# CONFIG_TR is not set

# CONFIG_WLAN is not set



#

# Enable WiMAX (Networking options) to see the WiMAX drivers

#



#

# USB Network Adapters

#

# CONFIG_USB_CATC is not set

CONFIG_USB_KAWETH=m

CONFIG_USB_PEGASUS=m

CONFIG_USB_RTL8150=m

# CONFIG_USB_USBNET is not set

CONFIG_USB_HSO=m

# CONFIG_USB_IPHETH is not set

# CONFIG_NET_PCMCIA is not set

# CONFIG_WAN is not set



#

# CAIF transport drivers

#

# CONFIG_FDDI is not set

# CONFIG_HIPPI is not set

# CONFIG_PLIP is not set

# CONFIG_PPP is not set

# CONFIG_SLIP is not set

CONFIG_NET_FC=y

CONFIG_NETCONSOLE=y

# CONFIG_NETCONSOLE_DYNAMIC is not set

CONFIG_NETPOLL=y

CONFIG_NETPOLL_TRAP=y

CONFIG_NET_POLL_CONTROLLER=y

# CONFIG_VIRTIO_NET is not set

# CONFIG_VMXNET3 is not set

# CONFIG_ISDN is not set

CONFIG_PHONE=m

CONFIG_PHONE_IXJ=m

CONFIG_PHONE_IXJ_PCMCIA=m



#

# Input device support

#

CONFIG_INPUT=y

CONFIG_INPUT_FF_MEMLESS=m

CONFIG_INPUT_POLLDEV=y

CONFIG_INPUT_SPARSEKMAP=m



#

# Userland interfaces

#

CONFIG_INPUT_MOUSEDEV=y

CONFIG_INPUT_MOUSEDEV_PSAUX=y

CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024

CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768

CONFIG_INPUT_JOYDEV=m

CONFIG_INPUT_EVDEV=m

# CONFIG_INPUT_EVBUG is not set



#

# Input Device Drivers

#

CONFIG_INPUT_KEYBOARD=y

CONFIG_KEYBOARD_ATKBD=y

CONFIG_KEYBOARD_LKKBD=m

# CONFIG_KEYBOARD_NEWTON is not set

CONFIG_KEYBOARD_OPENCORES=m

# CONFIG_KEYBOARD_STOWAWAY is not set

CONFIG_KEYBOARD_SUNKBD=m

# CONFIG_KEYBOARD_XTKBD is not set

CONFIG_INPUT_MOUSE=y

# CONFIG_MOUSE_PS2 is not set

CONFIG_MOUSE_SERIAL=m

CONFIG_MOUSE_APPLETOUCH=m

# CONFIG_MOUSE_BCM5974 is not set

# CONFIG_MOUSE_VSXXXAA is not set

# CONFIG_INPUT_JOYSTICK is not set

# CONFIG_INPUT_TABLET is not set

CONFIG_INPUT_TOUCHSCREEN=y

CONFIG_TOUCHSCREEN_AD7879=m

CONFIG_TOUCHSCREEN_DYNAPRO=m

CONFIG_TOUCHSCREEN_HAMPSHIRE=m

# CONFIG_TOUCHSCREEN_FUJITSU is not set

# CONFIG_TOUCHSCREEN_GUNZE is not set

# CONFIG_TOUCHSCREEN_ELO is not set

CONFIG_TOUCHSCREEN_WACOM_W8001=m

CONFIG_TOUCHSCREEN_MTOUCH=m

CONFIG_TOUCHSCREEN_INEXIO=m

# CONFIG_TOUCHSCREEN_MK712 is not set

# CONFIG_TOUCHSCREEN_PENMOUNT is not set

CONFIG_TOUCHSCREEN_TOUCHRIGHT=m

CONFIG_TOUCHSCREEN_TOUCHWIN=m

CONFIG_TOUCHSCREEN_USB_COMPOSITE=m

CONFIG_TOUCHSCREEN_USB_EGALAX=y

CONFIG_TOUCHSCREEN_USB_PANJIT=y

CONFIG_TOUCHSCREEN_USB_3M=y

CONFIG_TOUCHSCREEN_USB_ITM=y

CONFIG_TOUCHSCREEN_USB_ETURBO=y

CONFIG_TOUCHSCREEN_USB_GUNZE=y

CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y

CONFIG_TOUCHSCREEN_USB_IRTOUCH=y

CONFIG_TOUCHSCREEN_USB_IDEALTEK=y

CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y

CONFIG_TOUCHSCREEN_USB_GOTOP=y

CONFIG_TOUCHSCREEN_USB_JASTEC=y

# CONFIG_TOUCHSCREEN_USB_E2I is not set

CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y

CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y

CONFIG_TOUCHSCREEN_USB_NEXIO=y

# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set

CONFIG_INPUT_MISC=y

# CONFIG_INPUT_AD714X is not set

# CONFIG_INPUT_PCSPKR is not set

CONFIG_INPUT_ATI_REMOTE=m

CONFIG_INPUT_ATI_REMOTE2=m

CONFIG_INPUT_KEYSPAN_REMOTE=m

# CONFIG_INPUT_POWERMATE is not set

CONFIG_INPUT_YEALINK=m

# CONFIG_INPUT_CM109 is not set

# CONFIG_INPUT_UINPUT is not set

CONFIG_INPUT_ADXL34X=m

CONFIG_INPUT_CMA3000=m



#

# Hardware I/O ports

#

CONFIG_SERIO=y

CONFIG_SERIO_I8042=y

# CONFIG_SERIO_SERPORT is not set

CONFIG_SERIO_CT82C710=m

# CONFIG_SERIO_PARKBD is not set

CONFIG_SERIO_PCIPS2=m

CONFIG_SERIO_LIBPS2=y

# CONFIG_SERIO_RAW is not set

# CONFIG_SERIO_ALTERA_PS2 is not set

# CONFIG_SERIO_PS2MULT is not set

# CONFIG_GAMEPORT is not set



#

# Character devices

#

CONFIG_VT=y

CONFIG_CONSOLE_TRANSLATIONS=y

CONFIG_VT_CONSOLE=y

CONFIG_HW_CONSOLE=y

CONFIG_VT_HW_CONSOLE_BINDING=y

CONFIG_UNIX98_PTYS=y

CONFIG_DEVPTS_MULTIPLE_INSTANCES=y

CONFIG_LEGACY_PTYS=y

CONFIG_LEGACY_PTY_COUNT=256

# CONFIG_SERIAL_NONSTANDARD is not set

# CONFIG_NOZOMI is not set

CONFIG_N_GSM=m

CONFIG_DEVKMEM=y



#

# Serial drivers

#

CONFIG_SERIAL_8250=y

CONFIG_SERIAL_8250_CONSOLE=y

CONFIG_FIX_EARLYCON_MEM=y

CONFIG_SERIAL_8250_PCI=y

# CONFIG_SERIAL_8250_CS is not set

CONFIG_SERIAL_8250_NR_UARTS=4

CONFIG_SERIAL_8250_RUNTIME_UARTS=4

# CONFIG_SERIAL_8250_EXTENDED is not set



#

# Non-8250 serial port support

#

CONFIG_SERIAL_MFD_HSU=m

CONFIG_SERIAL_CORE=y

CONFIG_SERIAL_CORE_CONSOLE=y

CONFIG_SERIAL_JSM=m

# CONFIG_SERIAL_TIMBERDALE is not set

CONFIG_SERIAL_ALTERA_JTAGUART=m

CONFIG_SERIAL_ALTERA_UART=m

CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4

CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200

# CONFIG_SERIAL_PCH_UART is not set

CONFIG_PRINTER=m

# CONFIG_LP_CONSOLE is not set

CONFIG_PPDEV=m

# CONFIG_VIRTIO_CONSOLE is not set

# CONFIG_IPMI_HANDLER is not set

# CONFIG_HW_RANDOM is not set

# CONFIG_NVRAM is not set

# CONFIG_R3964 is not set

# CONFIG_APPLICOM is not set



#

# PCMCIA character devices

#

CONFIG_SYNCLINK_CS=m

# CONFIG_CARDMAN_4000 is not set

# CONFIG_CARDMAN_4040 is not set

# CONFIG_IPWIRELESS is not set

# CONFIG_MWAVE is not set

# CONFIG_RAW_DRIVER is not set

CONFIG_HANGCHECK_TIMER=m

# CONFIG_TCG_TPM is not set

CONFIG_TELCLOCK=m

CONFIG_DEVPORT=y

CONFIG_RAMOOPS=m

# CONFIG_I2C is not set

# CONFIG_SPI is not set



#

# PPS support

#

# CONFIG_PPS is not set



#

# PPS generators support

#

CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y

# CONFIG_GPIOLIB is not set

CONFIG_W1=m



#

# 1-wire Bus Masters

#

CONFIG_W1_MASTER_MATROX=m

CONFIG_W1_MASTER_DS2490=m



#

# 1-wire Slaves

#

CONFIG_W1_SLAVE_THERM=m

# CONFIG_W1_SLAVE_SMEM is not set

# CONFIG_W1_SLAVE_DS2423 is not set

CONFIG_W1_SLAVE_DS2431=m

# CONFIG_W1_SLAVE_DS2433 is not set

# CONFIG_W1_SLAVE_DS2760 is not set

# CONFIG_W1_SLAVE_BQ27000 is not set

CONFIG_POWER_SUPPLY=m

CONFIG_POWER_SUPPLY_DEBUG=y

CONFIG_PDA_POWER=m

# CONFIG_TEST_POWER is not set

# CONFIG_CHARGER_ISP1704 is not set

CONFIG_HWMON=m

CONFIG_HWMON_VID=m

# CONFIG_HWMON_DEBUG_CHIP is not set



#

# Native drivers

#

CONFIG_SENSORS_ABITUGURU=m

CONFIG_SENSORS_ABITUGURU3=m

CONFIG_SENSORS_K8TEMP=m

CONFIG_SENSORS_K10TEMP=m

# CONFIG_SENSORS_I5K_AMB is not set

CONFIG_SENSORS_F71805F=m

CONFIG_SENSORS_F71882FG=m

CONFIG_SENSORS_CORETEMP=m

# CONFIG_SENSORS_PKGTEMP is not set

# CONFIG_SENSORS_IT87 is not set

# CONFIG_SENSORS_PC87360 is not set

CONFIG_SENSORS_PC87427=m

# CONFIG_SENSORS_SIS5595 is not set

CONFIG_SENSORS_SMSC47M1=m

# CONFIG_SENSORS_SMSC47B397 is not set

# CONFIG_SENSORS_SCH5627 is not set

CONFIG_SENSORS_VIA_CPUTEMP=m

# CONFIG_SENSORS_VIA686A is not set

CONFIG_SENSORS_VT1211=m

# CONFIG_SENSORS_VT8231 is not set

# CONFIG_SENSORS_W83627HF is not set

# CONFIG_SENSORS_W83627EHF is not set

# CONFIG_SENSORS_APPLESMC is not set

CONFIG_THERMAL=m

# CONFIG_THERMAL_HWMON is not set

CONFIG_WATCHDOG=y

# CONFIG_WATCHDOG_NOWAYOUT is not set



#

# Watchdog Device Drivers

#

CONFIG_SOFT_WATCHDOG=m

CONFIG_ACQUIRE_WDT=m

# CONFIG_ADVANTECH_WDT is not set

CONFIG_ALIM1535_WDT=m

CONFIG_ALIM7101_WDT=m

# CONFIG_F71808E_WDT is not set

CONFIG_SP5100_TCO=m

# CONFIG_SC520_WDT is not set

# CONFIG_SBC_FITPC2_WATCHDOG is not set

# CONFIG_EUROTECH_WDT is not set

# CONFIG_IB700_WDT is not set

CONFIG_IBMASR=m

CONFIG_WAFER_WDT=m

# CONFIG_I6300ESB_WDT is not set

CONFIG_ITCO_WDT=m

# CONFIG_ITCO_VENDOR_SUPPORT is not set

# CONFIG_IT8712F_WDT is not set

# CONFIG_IT87_WDT is not set

# CONFIG_HP_WATCHDOG is not set

# CONFIG_SC1200_WDT is not set

CONFIG_PC87413_WDT=m

# CONFIG_NV_TCO is not set

CONFIG_60XX_WDT=m

CONFIG_SBC8360_WDT=m

# CONFIG_CPU5_WDT is not set

# CONFIG_SMSC_SCH311X_WDT is not set

CONFIG_SMSC37B787_WDT=m

# CONFIG_W83627HF_WDT is not set

# CONFIG_W83697HF_WDT is not set

# CONFIG_W83697UG_WDT is not set

CONFIG_W83877F_WDT=m

CONFIG_W83977F_WDT=m

CONFIG_MACHZ_WDT=m

CONFIG_SBC_EPX_C3_WATCHDOG=m



#

# PCI-based Watchdog Cards

#

# CONFIG_PCIPCWATCHDOG is not set

CONFIG_WDTPCI=m



#

# USB-based Watchdog Cards

#

# CONFIG_USBPCWATCHDOG is not set

CONFIG_SSB_POSSIBLE=y



#

# Sonics Silicon Backplane

#

CONFIG_SSB=m

CONFIG_SSB_SPROM=y

CONFIG_SSB_PCIHOST_POSSIBLE=y

CONFIG_SSB_PCIHOST=y

# CONFIG_SSB_B43_PCI_BRIDGE is not set

CONFIG_SSB_PCMCIAHOST_POSSIBLE=y

CONFIG_SSB_PCMCIAHOST=y

CONFIG_SSB_SDIOHOST_POSSIBLE=y

# CONFIG_SSB_SDIOHOST is not set

# CONFIG_SSB_DEBUG is not set

CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y

CONFIG_SSB_DRIVER_PCICORE=y

# CONFIG_MFD_SUPPORT is not set

# CONFIG_REGULATOR is not set

# CONFIG_MEDIA_SUPPORT is not set



#

# Graphics support

#

# CONFIG_AGP is not set

CONFIG_VGA_ARB=y

CONFIG_VGA_ARB_MAX_GPUS=16

# CONFIG_DRM is not set

# CONFIG_STUB_POULSBO is not set

# CONFIG_VGASTATE is not set

# CONFIG_VIDEO_OUTPUT_CONTROL is not set

# CONFIG_FB is not set

CONFIG_BACKLIGHT_LCD_SUPPORT=y

CONFIG_LCD_CLASS_DEVICE=m

CONFIG_LCD_PLATFORM=m

# CONFIG_BACKLIGHT_CLASS_DEVICE is not set



#

# Display device support

#

CONFIG_DISPLAY_SUPPORT=m



#

# Display hardware drivers

#



#

# Console display driver support

#

CONFIG_VGA_CONSOLE=y

# CONFIG_VGACON_SOFT_SCROLLBACK is not set

CONFIG_DUMMY_CONSOLE=y

CONFIG_FONT_8x16=y

CONFIG_SOUND=m

CONFIG_SOUND_OSS_CORE=y

# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set

CONFIG_SND=m

CONFIG_SND_TIMER=m

CONFIG_SND_PCM=m

CONFIG_SND_HWDEP=m

CONFIG_SND_RAWMIDI=m

CONFIG_SND_JACK=y

# CONFIG_SND_SEQUENCER is not set

# CONFIG_SND_MIXER_OSS is not set

# CONFIG_SND_PCM_OSS is not set

# CONFIG_SND_HRTIMER is not set

# CONFIG_SND_DYNAMIC_MINORS is not set

# CONFIG_SND_SUPPORT_OLD_API is not set

CONFIG_SND_VERBOSE_PROCFS=y

CONFIG_SND_VERBOSE_PRINTK=y

CONFIG_SND_DEBUG=y

# CONFIG_SND_DEBUG_VERBOSE is not set

CONFIG_SND_PCM_XRUN_DEBUG=y

CONFIG_SND_DMA_SGBUF=y

# CONFIG_SND_RAWMIDI_SEQ is not set

# CONFIG_SND_OPL3_LIB_SEQ is not set

# CONFIG_SND_OPL4_LIB_SEQ is not set

# CONFIG_SND_SBAWE_SEQ is not set

# CONFIG_SND_EMU10K1_SEQ is not set

CONFIG_SND_DRIVERS=y

# CONFIG_SND_PCSP is not set

CONFIG_SND_DUMMY=m

CONFIG_SND_ALOOP=m

# CONFIG_SND_MTPAV is not set

# CONFIG_SND_MTS64 is not set

# CONFIG_SND_SERIAL_U16550 is not set

# CONFIG_SND_MPU401 is not set

# CONFIG_SND_PORTMAN2X4 is not set

# CONFIG_SND_PCI is not set

CONFIG_SND_USB=y

CONFIG_SND_USB_AUDIO=m

# CONFIG_SND_USB_UA101 is not set

CONFIG_SND_USB_USX2Y=m

CONFIG_SND_USB_CAIAQ=m

# CONFIG_SND_USB_CAIAQ_INPUT is not set

# CONFIG_SND_USB_US122L is not set

CONFIG_SND_USB_6FIRE=m

CONFIG_SND_PCMCIA=y

# CONFIG_SND_VXPOCKET is not set

# CONFIG_SND_PDAUDIOCF is not set

CONFIG_SND_SOC=m

CONFIG_SND_SOC_CACHE_LZO=y

# CONFIG_SND_SOC_ALL_CODECS is not set

CONFIG_SOUND_PRIME=m

CONFIG_SOUND_OSS=m

# CONFIG_SOUND_TRACEINIT is not set

# CONFIG_SOUND_DMAP is not set

# CONFIG_SOUND_VMIDI is not set

# CONFIG_SOUND_TRIX is not set

# CONFIG_SOUND_MSS is not set

# CONFIG_SOUND_MPU401 is not set

# CONFIG_SOUND_PAS is not set

# CONFIG_SOUND_PSS is not set

CONFIG_SOUND_SB=m

# CONFIG_SOUND_YM3812 is not set

# CONFIG_SOUND_UART6850 is not set

# CONFIG_SOUND_AEDSP16 is not set

# CONFIG_SOUND_KAHLUA is not set

CONFIG_HID_SUPPORT=y

CONFIG_HID=m

CONFIG_HIDRAW=y



#

# USB Input Devices

#

# CONFIG_USB_HID is not set

CONFIG_HID_PID=y



#

# Special HID drivers

#

CONFIG_HID_APPLE=m

# CONFIG_HID_ELECOM is not set

CONFIG_HID_MAGICMOUSE=m

CONFIG_HID_WACOM=m

CONFIG_HID_WACOM_POWER_SUPPLY=y

CONFIG_USB_SUPPORT=y

CONFIG_USB_ARCH_HAS_HCD=y

CONFIG_USB_ARCH_HAS_OHCI=y

CONFIG_USB_ARCH_HAS_EHCI=y

CONFIG_USB=y

# CONFIG_USB_DEBUG is not set

# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set



#

# Miscellaneous USB options

#

CONFIG_USB_DEVICEFS=y

CONFIG_USB_DEVICE_CLASS=y

CONFIG_USB_DYNAMIC_MINORS=y

# CONFIG_USB_SUSPEND is not set

CONFIG_USB_MON=m

CONFIG_USB_WUSB=m

# CONFIG_USB_WUSB_CBAF is not set



#

# USB Host Controller Drivers

#

# CONFIG_USB_C67X00_HCD is not set

CONFIG_USB_XHCI_HCD=m

CONFIG_USB_XHCI_HCD_DEBUGGING=y

CONFIG_USB_EHCI_HCD=y

CONFIG_USB_EHCI_ROOT_HUB_TT=y

CONFIG_USB_EHCI_TT_NEWSCHED=y

# CONFIG_USB_OXU210HP_HCD is not set

# CONFIG_USB_ISP116X_HCD is not set

CONFIG_USB_ISP1760_HCD=m

# CONFIG_USB_ISP1362_HCD is not set

CONFIG_USB_OHCI_HCD=y

# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set

# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set

CONFIG_USB_OHCI_LITTLE_ENDIAN=y

CONFIG_USB_UHCI_HCD=y

CONFIG_USB_U132_HCD=m

# CONFIG_USB_SL811_HCD is not set

CONFIG_USB_R8A66597_HCD=m

# CONFIG_USB_WHCI_HCD is not set

# CONFIG_USB_HWA_HCD is not set



#

# USB Device Class drivers

#

# CONFIG_USB_ACM is not set

CONFIG_USB_PRINTER=m

# CONFIG_USB_WDM is not set

# CONFIG_USB_TMC is not set



#

# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may

#



#

# also be needed; see USB_STORAGE Help for more info

#

CONFIG_USB_STORAGE=m

# CONFIG_USB_STORAGE_DEBUG is not set

# CONFIG_USB_STORAGE_REALTEK is not set

# CONFIG_USB_STORAGE_DATAFAB is not set

CONFIG_USB_STORAGE_FREECOM=m

# CONFIG_USB_STORAGE_ISD200 is not set

CONFIG_USB_STORAGE_USBAT=m

# CONFIG_USB_STORAGE_SDDR09 is not set

CONFIG_USB_STORAGE_SDDR55=m

CONFIG_USB_STORAGE_JUMPSHOT=m

CONFIG_USB_STORAGE_ALAUDA=m

CONFIG_USB_STORAGE_ONETOUCH=m

# CONFIG_USB_STORAGE_KARMA is not set

CONFIG_USB_STORAGE_CYPRESS_ATACB=m

# CONFIG_USB_STORAGE_ENE_UB6250 is not set

CONFIG_USB_UAS=m

# CONFIG_USB_LIBUSUAL is not set



#

# USB Imaging devices

#

CONFIG_USB_MDC800=m

# CONFIG_USB_MICROTEK is not set



#

# USB port drivers

#

# CONFIG_USB_USS720 is not set

CONFIG_USB_SERIAL=m

CONFIG_USB_EZUSB=y

# CONFIG_USB_SERIAL_GENERIC is not set

# CONFIG_USB_SERIAL_AIRCABLE is not set

CONFIG_USB_SERIAL_ARK3116=m

CONFIG_USB_SERIAL_BELKIN=m

CONFIG_USB_SERIAL_CH341=m

CONFIG_USB_SERIAL_WHITEHEAT=m

CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m

# CONFIG_USB_SERIAL_CP210X is not set

CONFIG_USB_SERIAL_CYPRESS_M8=m

CONFIG_USB_SERIAL_EMPEG=m

CONFIG_USB_SERIAL_FTDI_SIO=m

CONFIG_USB_SERIAL_FUNSOFT=m

# CONFIG_USB_SERIAL_VISOR is not set

# CONFIG_USB_SERIAL_IPAQ is not set

# CONFIG_USB_SERIAL_IR is not set

# CONFIG_USB_SERIAL_EDGEPORT is not set

# CONFIG_USB_SERIAL_EDGEPORT_TI is not set

# CONFIG_USB_SERIAL_GARMIN is not set

# CONFIG_USB_SERIAL_IPW is not set

# CONFIG_USB_SERIAL_IUU is not set

CONFIG_USB_SERIAL_KEYSPAN_PDA=m

# CONFIG_USB_SERIAL_KEYSPAN is not set

CONFIG_USB_SERIAL_KLSI=m

CONFIG_USB_SERIAL_KOBIL_SCT=m

# CONFIG_USB_SERIAL_MCT_U232 is not set

CONFIG_USB_SERIAL_MOS7720=m

# CONFIG_USB_SERIAL_MOS7715_PARPORT is not set

CONFIG_USB_SERIAL_MOS7840=m

# CONFIG_USB_SERIAL_MOTOROLA is not set

# CONFIG_USB_SERIAL_NAVMAN is not set

# CONFIG_USB_SERIAL_PL2303 is not set

# CONFIG_USB_SERIAL_OTI6858 is not set

CONFIG_USB_SERIAL_QCAUX=m

CONFIG_USB_SERIAL_QUALCOMM=m

CONFIG_USB_SERIAL_SPCP8X5=m

CONFIG_USB_SERIAL_HP4X=m

# CONFIG_USB_SERIAL_SAFE is not set

# CONFIG_USB_SERIAL_SAMBA is not set

# CONFIG_USB_SERIAL_SIEMENS_MPI is not set

CONFIG_USB_SERIAL_SIERRAWIRELESS=m

# CONFIG_USB_SERIAL_SYMBOL is not set

CONFIG_USB_SERIAL_TI=m

# CONFIG_USB_SERIAL_CYBERJACK is not set

# CONFIG_USB_SERIAL_XIRCOM is not set

CONFIG_USB_SERIAL_WWAN=m

CONFIG_USB_SERIAL_OPTION=m

CONFIG_USB_SERIAL_OMNINET=m

CONFIG_USB_SERIAL_OPTICON=m

CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m

CONFIG_USB_SERIAL_ZIO=m

CONFIG_USB_SERIAL_SSU100=m

# CONFIG_USB_SERIAL_DEBUG is not set



#

# USB Miscellaneous drivers

#

CONFIG_USB_EMI62=m

CONFIG_USB_EMI26=m

CONFIG_USB_ADUTUX=m

# CONFIG_USB_SEVSEG is not set

# CONFIG_USB_RIO500 is not set

# CONFIG_USB_LEGOTOWER is not set

# CONFIG_USB_LCD is not set

CONFIG_USB_LED=m

# CONFIG_USB_CYPRESS_CY7C63 is not set

# CONFIG_USB_CYTHERM is not set

CONFIG_USB_IDMOUSE=m

CONFIG_USB_FTDI_ELAN=m

# CONFIG_USB_APPLEDISPLAY is not set

CONFIG_USB_SISUSBVGA=m

CONFIG_USB_SISUSBVGA_CON=y

# CONFIG_USB_LD is not set

# CONFIG_USB_TRANCEVIBRATOR is not set

CONFIG_USB_IOWARRIOR=m

CONFIG_USB_TEST=m

# CONFIG_USB_ISIGHTFW is not set

# CONFIG_USB_YUREX is not set

# CONFIG_USB_GADGET is not set



#

# OTG and related infrastructure

#

CONFIG_USB_OTG_UTILS=y

CONFIG_NOP_USB_XCEIV=m

CONFIG_UWB=m

# CONFIG_UWB_HWA is not set

# CONFIG_UWB_WHCI is not set

CONFIG_MMC=m

# CONFIG_MMC_DEBUG is not set

# CONFIG_MMC_UNSAFE_RESUME is not set

CONFIG_MMC_CLKGATE=y



#

# MMC/SD/SDIO Card Drivers

#

# CONFIG_MMC_BLOCK is not set

# CONFIG_SDIO_UART is not set

# CONFIG_MMC_TEST is not set



#

# MMC/SD/SDIO Host Controller Drivers

#

CONFIG_MMC_SDHCI=m

CONFIG_MMC_SDHCI_PCI=m

CONFIG_MMC_RICOH_MMC=y

# CONFIG_MMC_SDHCI_PLTFM is not set

CONFIG_MMC_WBSD=m

CONFIG_MMC_TIFM_SD=m

CONFIG_MMC_SDRICOH_CS=m

# CONFIG_MMC_CB710 is not set

# CONFIG_MMC_VIA_SDMMC is not set

# CONFIG_MMC_USHC is not set

# CONFIG_MEMSTICK is not set

CONFIG_NEW_LEDS=y

# CONFIG_LEDS_CLASS is not set



#

# LED drivers

#



#

# LED Triggers

#

CONFIG_NFC_DEVICES=y

CONFIG_ACCESSIBILITY=y

# CONFIG_A11Y_BRAILLE_CONSOLE is not set

CONFIG_INFINIBAND=m

# CONFIG_INFINIBAND_USER_MAD is not set

CONFIG_INFINIBAND_USER_ACCESS=m

CONFIG_INFINIBAND_USER_MEM=y

CONFIG_INFINIBAND_ADDR_TRANS=y

# CONFIG_INFINIBAND_MTHCA is not set

# CONFIG_INFINIBAND_QIB is not set

CONFIG_INFINIBAND_AMSO1100=m

CONFIG_INFINIBAND_AMSO1100_DEBUG=y

# CONFIG_INFINIBAND_CXGB3 is not set

# CONFIG_INFINIBAND_CXGB4 is not set

# CONFIG_MLX4_INFINIBAND is not set

# CONFIG_INFINIBAND_NES is not set

CONFIG_INFINIBAND_IPOIB=m

# CONFIG_INFINIBAND_IPOIB_CM is not set

CONFIG_INFINIBAND_IPOIB_DEBUG=y

CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y

CONFIG_INFINIBAND_SRP=m

# CONFIG_INFINIBAND_ISER is not set

# CONFIG_EDAC is not set

CONFIG_RTC_LIB=m

CONFIG_RTC_CLASS=m



#

# RTC interfaces

#

CONFIG_RTC_INTF_SYSFS=y

# CONFIG_RTC_INTF_PROC is not set

CONFIG_RTC_INTF_DEV=y

CONFIG_RTC_INTF_DEV_UIE_EMUL=y

# CONFIG_RTC_DRV_TEST is not set



#

# SPI RTC drivers

#



#

# Platform RTC drivers

#

CONFIG_RTC_DRV_CMOS=m

CONFIG_RTC_DRV_DS1286=m

# CONFIG_RTC_DRV_DS1511 is not set

# CONFIG_RTC_DRV_DS1553 is not set

CONFIG_RTC_DRV_DS1742=m

CONFIG_RTC_DRV_STK17TA8=m

CONFIG_RTC_DRV_M48T86=m

# CONFIG_RTC_DRV_M48T35 is not set

# CONFIG_RTC_DRV_M48T59 is not set

# CONFIG_RTC_DRV_MSM6242 is not set

CONFIG_RTC_DRV_BQ4802=m

# CONFIG_RTC_DRV_RP5C01 is not set

CONFIG_RTC_DRV_V3020=m



#

# on-CPU RTC drivers

#

# CONFIG_DMADEVICES is not set

CONFIG_DMA_ENGINE=y

CONFIG_AUXDISPLAY=y

# CONFIG_KS0108 is not set

CONFIG_UIO=m

CONFIG_UIO_CIF=m

CONFIG_UIO_PDRV=m

# CONFIG_UIO_PDRV_GENIRQ is not set

CONFIG_UIO_AEC=m

# CONFIG_UIO_SERCOS3 is not set

CONFIG_UIO_PCI_GENERIC=m

# CONFIG_UIO_NETX is not set

# CONFIG_STAGING is not set

# CONFIG_X86_PLATFORM_DEVICES is not set

CONFIG_HWSPINLOCK=m



#

# Firmware Drivers

#

CONFIG_EDD=m

# CONFIG_EDD_OFF is not set

CONFIG_FIRMWARE_MEMMAP=y

CONFIG_DELL_RBU=m

# CONFIG_DCDBAS is not set

# CONFIG_DMIID is not set

CONFIG_DMI_SYSFS=m

CONFIG_ISCSI_IBFT_FIND=y

CONFIG_ISCSI_IBFT=m



#

# File systems

#

# CONFIG_EXT2_FS is not set

CONFIG_EXT3_FS=y

# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set

CONFIG_EXT3_FS_XATTR=y

CONFIG_EXT3_FS_POSIX_ACL=y

CONFIG_EXT3_FS_SECURITY=y

CONFIG_EXT4_FS=m

CONFIG_EXT4_USE_FOR_EXT23=y

CONFIG_EXT4_FS_XATTR=y

CONFIG_EXT4_FS_POSIX_ACL=y

CONFIG_EXT4_FS_SECURITY=y

# CONFIG_EXT4_DEBUG is not set

CONFIG_JBD=y

# CONFIG_JBD_DEBUG is not set

CONFIG_JBD2=m

# CONFIG_JBD2_DEBUG is not set

CONFIG_FS_MBCACHE=y

CONFIG_REISERFS_FS=m

# CONFIG_REISERFS_CHECK is not set

CONFIG_REISERFS_PROC_INFO=y

CONFIG_REISERFS_FS_XATTR=y

# CONFIG_REISERFS_FS_POSIX_ACL is not set

CONFIG_REISERFS_FS_SECURITY=y

CONFIG_JFS_FS=m

# CONFIG_JFS_POSIX_ACL is not set

# CONFIG_JFS_SECURITY is not set

CONFIG_JFS_DEBUG=y

CONFIG_JFS_STATISTICS=y

CONFIG_XFS_FS=m

CONFIG_XFS_QUOTA=y

# CONFIG_XFS_POSIX_ACL is not set

CONFIG_XFS_RT=y

CONFIG_XFS_DEBUG=y

CONFIG_GFS2_FS=m

# CONFIG_GFS2_FS_LOCKING_DLM is not set

# CONFIG_OCFS2_FS is not set

CONFIG_BTRFS_FS=m

# CONFIG_BTRFS_FS_POSIX_ACL is not set

# CONFIG_NILFS2_FS is not set

CONFIG_FS_POSIX_ACL=y

CONFIG_EXPORTFS=y

CONFIG_FILE_LOCKING=y

CONFIG_FSNOTIFY=y

# CONFIG_DNOTIFY is not set

CONFIG_INOTIFY_USER=y

# CONFIG_FANOTIFY is not set

# CONFIG_QUOTA is not set

CONFIG_QUOTA_NETLINK_INTERFACE=y

CONFIG_QUOTACTL=y

CONFIG_QUOTACTL_COMPAT=y

# CONFIG_AUTOFS4_FS is not set

CONFIG_FUSE_FS=m

CONFIG_CUSE=m



#

# Caches

#

CONFIG_FSCACHE=m

# CONFIG_FSCACHE_STATS is not set

CONFIG_FSCACHE_HISTOGRAM=y

# CONFIG_FSCACHE_DEBUG is not set

CONFIG_FSCACHE_OBJECT_LIST=y

# CONFIG_CACHEFILES is not set



#

# CD-ROM/DVD Filesystems

#

CONFIG_ISO9660_FS=m

# CONFIG_JOLIET is not set

CONFIG_ZISOFS=y

# CONFIG_UDF_FS is not set



#

# DOS/FAT/NT Filesystems

#

CONFIG_FAT_FS=m

# CONFIG_MSDOS_FS is not set

CONFIG_VFAT_FS=m

CONFIG_FAT_DEFAULT_CODEPAGE=437

CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"

# CONFIG_NTFS_FS is not set



#

# Pseudo filesystems

#

CONFIG_PROC_FS=y

# CONFIG_PROC_KCORE is not set

CONFIG_PROC_VMCORE=y

CONFIG_PROC_SYSCTL=y

CONFIG_PROC_PAGE_MONITOR=y

CONFIG_SYSFS=y

CONFIG_TMPFS=y

# CONFIG_TMPFS_POSIX_ACL is not set

CONFIG_HUGETLBFS=y

CONFIG_HUGETLB_PAGE=y

CONFIG_CONFIGFS_FS=m

CONFIG_MISC_FILESYSTEMS=y

CONFIG_ADFS_FS=m

CONFIG_ADFS_FS_RW=y

# CONFIG_AFFS_FS is not set

# CONFIG_HFS_FS is not set

# CONFIG_HFSPLUS_FS is not set

# CONFIG_BEFS_FS is not set

CONFIG_BFS_FS=m

CONFIG_EFS_FS=m

# CONFIG_LOGFS is not set

# CONFIG_CRAMFS is not set

CONFIG_SQUASHFS=m

CONFIG_SQUASHFS_XATTR=y

# CONFIG_SQUASHFS_LZO is not set

# CONFIG_SQUASHFS_XZ is not set

# CONFIG_SQUASHFS_EMBEDDED is not set

CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3

# CONFIG_VXFS_FS is not set

CONFIG_MINIX_FS=m

# CONFIG_OMFS_FS is not set

CONFIG_HPFS_FS=m

CONFIG_QNX4FS_FS=m

# CONFIG_ROMFS_FS is not set

CONFIG_PSTORE=y

CONFIG_SYSV_FS=m

CONFIG_UFS_FS=m

CONFIG_UFS_FS_WRITE=y

CONFIG_UFS_DEBUG=y

CONFIG_NETWORK_FILESYSTEMS=y

# CONFIG_NFS_FS is not set

CONFIG_NFSD=m

# CONFIG_NFSD_DEPRECATED is not set

# CONFIG_NFSD_V3 is not set

# CONFIG_NFSD_V4 is not set

CONFIG_LOCKD=m

CONFIG_NFS_COMMON=y

CONFIG_SUNRPC=m

CONFIG_SUNRPC_XPRT_RDMA=m

# CONFIG_RPCSEC_GSS_KRB5 is not set

CONFIG_CEPH_FS=m

CONFIG_CIFS=m

CONFIG_CIFS_STATS=y

CONFIG_CIFS_STATS2=y

# CONFIG_CIFS_WEAK_PW_HASH is not set

# CONFIG_CIFS_XATTR is not set

CONFIG_CIFS_DEBUG2=y

CONFIG_CIFS_FSCACHE=y

CONFIG_CIFS_EXPERIMENTAL=y

CONFIG_NCP_FS=m

CONFIG_NCPFS_PACKET_SIGNING=y

CONFIG_NCPFS_IOCTL_LOCKING=y

# CONFIG_NCPFS_STRONG is not set

CONFIG_NCPFS_NFS_NS=y

# CONFIG_NCPFS_OS2_NS is not set

CONFIG_NCPFS_SMALLDOS=y

# CONFIG_NCPFS_NLS is not set

CONFIG_NCPFS_EXTRAS=y

CONFIG_CODA_FS=m

# CONFIG_AFS_FS is not set



#

# Partition Types

#

CONFIG_PARTITION_ADVANCED=y

CONFIG_ACORN_PARTITION=y

# CONFIG_ACORN_PARTITION_CUMANA is not set

CONFIG_ACORN_PARTITION_EESOX=y

# CONFIG_ACORN_PARTITION_ICS is not set

# CONFIG_ACORN_PARTITION_ADFS is not set

CONFIG_ACORN_PARTITION_POWERTEC=y

# CONFIG_ACORN_PARTITION_RISCIX is not set

CONFIG_OSF_PARTITION=y

# CONFIG_AMIGA_PARTITION is not set

CONFIG_ATARI_PARTITION=y

CONFIG_MAC_PARTITION=y

CONFIG_MSDOS_PARTITION=y

CONFIG_BSD_DISKLABEL=y

# CONFIG_MINIX_SUBPARTITION is not set

CONFIG_SOLARIS_X86_PARTITION=y

CONFIG_UNIXWARE_DISKLABEL=y

CONFIG_LDM_PARTITION=y

# CONFIG_LDM_DEBUG is not set

# CONFIG_SGI_PARTITION is not set

CONFIG_ULTRIX_PARTITION=y

CONFIG_SUN_PARTITION=y

# CONFIG_KARMA_PARTITION is not set

CONFIG_EFI_PARTITION=y

CONFIG_SYSV68_PARTITION=y

CONFIG_NLS=y

CONFIG_NLS_DEFAULT="iso8859-1"

CONFIG_NLS_CODEPAGE_437=m

# CONFIG_NLS_CODEPAGE_737 is not set

# 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=m

# CONFIG_NLS_CODEPAGE_857 is not set

# CONFIG_NLS_CODEPAGE_860 is not set

CONFIG_NLS_CODEPAGE_861=m

# CONFIG_NLS_CODEPAGE_862 is not set

# CONFIG_NLS_CODEPAGE_863 is not set

CONFIG_NLS_CODEPAGE_864=m

# CONFIG_NLS_CODEPAGE_865 is not set

# CONFIG_NLS_CODEPAGE_866 is not set

CONFIG_NLS_CODEPAGE_869=m

# CONFIG_NLS_CODEPAGE_936 is not set

CONFIG_NLS_CODEPAGE_950=m

CONFIG_NLS_CODEPAGE_932=m

CONFIG_NLS_CODEPAGE_949=m

# CONFIG_NLS_CODEPAGE_874 is not set

# CONFIG_NLS_ISO8859_8 is not set

CONFIG_NLS_CODEPAGE_1250=m

CONFIG_NLS_CODEPAGE_1251=m

# CONFIG_NLS_ASCII is not set

CONFIG_NLS_ISO8859_1=m

# CONFIG_NLS_ISO8859_2 is not set

# CONFIG_NLS_ISO8859_3 is not set

# CONFIG_NLS_ISO8859_4 is not set

# CONFIG_NLS_ISO8859_5 is not set

# CONFIG_NLS_ISO8859_6 is not set

# CONFIG_NLS_ISO8859_7 is not set

CONFIG_NLS_ISO8859_9=m

# CONFIG_NLS_ISO8859_13 is not set

CONFIG_NLS_ISO8859_14=m

# CONFIG_NLS_ISO8859_15 is not set

CONFIG_NLS_KOI8_R=m

# CONFIG_NLS_KOI8_U is not set

CONFIG_NLS_UTF8=m

CONFIG_DLM=m

CONFIG_DLM_DEBUG=y



#

# Kernel hacking

#

CONFIG_TRACE_IRQFLAGS_SUPPORT=y

# CONFIG_PRINTK_TIME is not set

CONFIG_ENABLE_WARN_DEPRECATED=y

# CONFIG_ENABLE_MUST_CHECK is not set

CONFIG_FRAME_WARN=2048

CONFIG_MAGIC_SYSRQ=y

CONFIG_STRIP_ASM_SYMS=y

CONFIG_UNUSED_SYMBOLS=y

CONFIG_DEBUG_FS=y

CONFIG_HEADERS_CHECK=y

# CONFIG_DEBUG_SECTION_MISMATCH is not set

# CONFIG_DEBUG_KERNEL is not set

# CONFIG_HARDLOCKUP_DETECTOR is not set

# CONFIG_SLUB_DEBUG_ON is not set

# CONFIG_SLUB_STATS is not set

CONFIG_SPARSE_RCU_POINTER=y

CONFIG_STACKTRACE=y

CONFIG_DEBUG_BUGVERBOSE=y

CONFIG_DEBUG_MEMORY_INIT=y

CONFIG_ARCH_WANT_FRAME_POINTERS=y

CONFIG_FRAME_POINTER=y

# CONFIG_LKDTM is not set

# CONFIG_SYSCTL_SYSCALL_CHECK is not set

CONFIG_USER_STACKTRACE_SUPPORT=y

CONFIG_NOP_TRACER=y

CONFIG_HAVE_FTRACE_NMI_ENTER=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_RING_BUFFER=y

CONFIG_FTRACE_NMI_ENTER=y

CONFIG_EVENT_TRACING=y

CONFIG_EVENT_POWER_TRACING_DEPRECATED=y

CONFIG_CONTEXT_SWITCH_TRACER=y

CONFIG_RING_BUFFER_ALLOW_SWAP=y

CONFIG_TRACING=y

CONFIG_GENERIC_TRACER=y

CONFIG_TRACING_SUPPORT=y

CONFIG_FTRACE=y

CONFIG_FUNCTION_TRACER=y

# CONFIG_FUNCTION_GRAPH_TRACER is not set

# CONFIG_IRQSOFF_TRACER is not set

# CONFIG_SCHED_TRACER is not set

# CONFIG_FTRACE_SYSCALLS is not set

CONFIG_BRANCH_PROFILE_NONE=y

# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set

# CONFIG_PROFILE_ALL_BRANCHES is not set

CONFIG_STACK_TRACER=y

# CONFIG_BLK_DEV_IO_TRACE is not set

# CONFIG_KPROBE_EVENT is not set

CONFIG_DYNAMIC_FTRACE=y

CONFIG_FUNCTION_PROFILER=y

CONFIG_FTRACE_MCOUNT_RECORD=y

# CONFIG_FTRACE_STARTUP_TEST is not set

CONFIG_MMIOTRACE=y

# CONFIG_MMIOTRACE_TEST is not set

# CONFIG_RING_BUFFER_BENCHMARK is not set

CONFIG_PROVIDE_OHCI1394_DMA_INIT=y

# CONFIG_BUILD_DOCSRC is not set

# CONFIG_DYNAMIC_DEBUG is not set

# CONFIG_DMA_API_DEBUG is not set

CONFIG_ATOMIC64_SELFTEST=y

# CONFIG_SAMPLES is not set

CONFIG_HAVE_ARCH_KGDB=y

CONFIG_HAVE_ARCH_KMEMCHECK=y

CONFIG_STRICT_DEVMEM=y

# CONFIG_X86_VERBOSE_BOOTUP is not set

CONFIG_EARLY_PRINTK=y

CONFIG_EARLY_PRINTK_DBGP=y

# CONFIG_DEBUG_SET_MODULE_RONX is not set

# CONFIG_IOMMU_STRESS is not set

CONFIG_HAVE_MMIOTRACE_SUPPORT=y

CONFIG_IO_DELAY_TYPE_0X80=0

CONFIG_IO_DELAY_TYPE_0XED=1

CONFIG_IO_DELAY_TYPE_UDELAY=2

CONFIG_IO_DELAY_TYPE_NONE=3

# CONFIG_IO_DELAY_0X80 is not set

CONFIG_IO_DELAY_0XED=y

# CONFIG_IO_DELAY_UDELAY is not set

# CONFIG_IO_DELAY_NONE is not set

CONFIG_DEFAULT_IO_DELAY_TYPE=1

# CONFIG_OPTIMIZE_INLINING is not set



#

# Security options

#

# CONFIG_KEYS is not set

CONFIG_SECURITY_DMESG_RESTRICT=y

CONFIG_SECURITY=y

CONFIG_SECURITYFS=y

CONFIG_SECURITY_NETWORK=y

CONFIG_SECURITY_NETWORK_XFRM=y

CONFIG_SECURITY_PATH=y

CONFIG_LSM_MMAP_MIN_ADDR=65536

CONFIG_SECURITY_SELINUX=y

# CONFIG_SECURITY_SELINUX_BOOTPARAM is not set

# CONFIG_SECURITY_SELINUX_DISABLE is not set

# CONFIG_SECURITY_SELINUX_DEVELOP is not set

# CONFIG_SECURITY_SELINUX_AVC_STATS is not set

CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1

# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set

# CONFIG_SECURITY_TOMOYO is not set

CONFIG_SECURITY_APPARMOR=y

CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1

# CONFIG_IMA is not set

CONFIG_DEFAULT_SECURITY_SELINUX=y

# CONFIG_DEFAULT_SECURITY_APPARMOR is not set

# CONFIG_DEFAULT_SECURITY_DAC is not set

CONFIG_DEFAULT_SECURITY="selinux"

CONFIG_CRYPTO=y



#

# Crypto core or helper

#

CONFIG_CRYPTO_FIPS=y

CONFIG_CRYPTO_ALGAPI=m

CONFIG_CRYPTO_ALGAPI2=m

CONFIG_CRYPTO_AEAD=m

CONFIG_CRYPTO_AEAD2=m

CONFIG_CRYPTO_BLKCIPHER=m

CONFIG_CRYPTO_BLKCIPHER2=m

CONFIG_CRYPTO_HASH=m

CONFIG_CRYPTO_HASH2=m

CONFIG_CRYPTO_RNG=m

CONFIG_CRYPTO_RNG2=m

CONFIG_CRYPTO_PCOMP=m

CONFIG_CRYPTO_PCOMP2=m

CONFIG_CRYPTO_MANAGER=m

CONFIG_CRYPTO_MANAGER2=m

# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set

CONFIG_CRYPTO_GF128MUL=m

CONFIG_CRYPTO_NULL=m

CONFIG_CRYPTO_WORKQUEUE=m

CONFIG_CRYPTO_CRYPTD=m

CONFIG_CRYPTO_AUTHENC=m

CONFIG_CRYPTO_TEST=m



#

# Authenticated Encryption with Associated Data

#

# CONFIG_CRYPTO_CCM is not set

# CONFIG_CRYPTO_GCM is not set

CONFIG_CRYPTO_SEQIV=m



#

# Block modes

#

CONFIG_CRYPTO_CBC=m

# CONFIG_CRYPTO_CTR is not set

# CONFIG_CRYPTO_CTS is not set

CONFIG_CRYPTO_ECB=m

# CONFIG_CRYPTO_LRW is not set

CONFIG_CRYPTO_PCBC=m

CONFIG_CRYPTO_XTS=m

CONFIG_CRYPTO_FPU=m



#

# Hash modes

#

CONFIG_CRYPTO_HMAC=m

CONFIG_CRYPTO_XCBC=m

CONFIG_CRYPTO_VMAC=m



#

# Digest

#

CONFIG_CRYPTO_CRC32C=m

CONFIG_CRYPTO_CRC32C_INTEL=m

# CONFIG_CRYPTO_GHASH is not set

CONFIG_CRYPTO_MD4=m

CONFIG_CRYPTO_MD5=m

CONFIG_CRYPTO_MICHAEL_MIC=m

CONFIG_CRYPTO_RMD128=m

CONFIG_CRYPTO_RMD160=m

CONFIG_CRYPTO_RMD256=m

# CONFIG_CRYPTO_RMD320 is not set

CONFIG_CRYPTO_SHA1=m

CONFIG_CRYPTO_SHA256=m

# CONFIG_CRYPTO_SHA512 is not set

# CONFIG_CRYPTO_TGR192 is not set

CONFIG_CRYPTO_WP512=m

# CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set



#

# Ciphers

#

CONFIG_CRYPTO_AES=m

CONFIG_CRYPTO_AES_X86_64=m

CONFIG_CRYPTO_AES_NI_INTEL=m

# CONFIG_CRYPTO_ANUBIS is not set

CONFIG_CRYPTO_ARC4=m

CONFIG_CRYPTO_BLOWFISH=m

CONFIG_CRYPTO_CAMELLIA=m

# CONFIG_CRYPTO_CAST5 is not set

# CONFIG_CRYPTO_CAST6 is not set

CONFIG_CRYPTO_DES=m

CONFIG_CRYPTO_FCRYPT=m

CONFIG_CRYPTO_KHAZAD=m

CONFIG_CRYPTO_SALSA20=m

CONFIG_CRYPTO_SALSA20_X86_64=m

CONFIG_CRYPTO_SEED=m

CONFIG_CRYPTO_SERPENT=m

CONFIG_CRYPTO_TEA=m

CONFIG_CRYPTO_TWOFISH=m

CONFIG_CRYPTO_TWOFISH_COMMON=m

# CONFIG_CRYPTO_TWOFISH_X86_64 is not set



#

# Compression

#

# CONFIG_CRYPTO_DEFLATE is not set

CONFIG_CRYPTO_ZLIB=m

CONFIG_CRYPTO_LZO=m



#

# Random Number Generation

#

CONFIG_CRYPTO_ANSI_CPRNG=m

CONFIG_CRYPTO_USER_API=m

CONFIG_CRYPTO_USER_API_HASH=m

# CONFIG_CRYPTO_USER_API_SKCIPHER is not set

CONFIG_CRYPTO_HW=y

CONFIG_CRYPTO_DEV_PADLOCK=m

# CONFIG_CRYPTO_DEV_PADLOCK_AES is not set

CONFIG_CRYPTO_DEV_PADLOCK_SHA=m

# CONFIG_CRYPTO_DEV_HIFN_795X is not set

CONFIG_HAVE_KVM=y

CONFIG_VIRTUALIZATION=y

# CONFIG_KVM is not set

# CONFIG_VHOST_NET is not set

CONFIG_VIRTIO=m

CONFIG_VIRTIO_RING=m

# CONFIG_VIRTIO_PCI is not set

CONFIG_VIRTIO_BALLOON=m

CONFIG_BINARY_PRINTF=y



#

# Library routines

#

CONFIG_BITREVERSE=y

CONFIG_GENERIC_FIND_FIRST_BIT=y

CONFIG_GENERIC_FIND_NEXT_BIT=y

CONFIG_GENERIC_FIND_LAST_BIT=y

CONFIG_CRC_CCITT=m

CONFIG_CRC16=m

# CONFIG_CRC_T10DIF is not set

CONFIG_CRC_ITU_T=m

CONFIG_CRC32=y

# CONFIG_CRC7 is not set

CONFIG_LIBCRC32C=m

CONFIG_ZLIB_INFLATE=y

CONFIG_ZLIB_DEFLATE=m

CONFIG_LZO_COMPRESS=m

CONFIG_LZO_DECOMPRESS=y

CONFIG_XZ_DEC=y

CONFIG_XZ_DEC_X86=y

CONFIG_XZ_DEC_POWERPC=y

CONFIG_XZ_DEC_IA64=y

CONFIG_XZ_DEC_ARM=y

CONFIG_XZ_DEC_ARMTHUMB=y

CONFIG_XZ_DEC_SPARC=y

CONFIG_XZ_DEC_BCJ=y

CONFIG_XZ_DEC_TEST=m

CONFIG_DECOMPRESS_GZIP=y

CONFIG_DECOMPRESS_BZIP2=y

CONFIG_DECOMPRESS_LZMA=y

CONFIG_DECOMPRESS_XZ=y

CONFIG_DECOMPRESS_LZO=y

CONFIG_TEXTSEARCH=y

CONFIG_TEXTSEARCH_KMP=m

CONFIG_TEXTSEARCH_BM=m

CONFIG_TEXTSEARCH_FSM=m

CONFIG_HAS_IOMEM=y

CONFIG_HAS_IOPORT=y

CONFIG_HAS_DMA=y

CONFIG_NLATTR=y

CONFIG_AVERAGE=y


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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 14:21 ` Ingo Molnar
  2011-03-24 14:41   ` Christoph Lameter
@ 2011-03-24 16:03   ` Ingo Molnar
  2011-03-24 16:14     ` Ingo Molnar
  1 sibling, 1 reply; 71+ messages in thread
From: Ingo Molnar @ 2011-03-24 16:03 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: torvalds, cl, akpm, tj, npiggin, rientjes, linux-kernel, linux-mm


* Ingo Molnar <mingo@elte.hu> wrote:

> FYI, some sort of boot crash has snuck upstream in the last 24 hours:
> 
>  BUG: unable to handle kernel paging request at ffff87ffc147e020                               
>  IP: [<ffffffff811aa762>] this_cpu_cmpxchg16b_emu+0x2/0x1c           
> 
>      [<ffffffff810d9cbc>] ? kmem_cache_alloc+0x4c/0x110                                           
>      [<ffffffff8151cf06>] kmem_cache_init+0xeb/0x2b0                                              
>      [<ffffffff81504a06>] start_kernel+0x1de/0x49b                                                
>      [<ffffffff8150432b>] x86_64_start_reservations+0x132/0x136                                   
>      [<ffffffff81504140>] ? early_idt_handlers+0x140/0x140         
> 
> And the SLAB changes are one of the suspects. It triggers in about 5% of all 
> randconfigs. I'm bisecting it currently.

Caused by:

| 8a5ec0ba42c4919e2d8f4c3138cc8b987fdb0b79 is the first bad commit
| commit 8a5ec0ba42c4919e2d8f4c3138cc8b987fdb0b79
| Author: Christoph Lameter <cl@linux.com>
| Date:   Fri Feb 25 11:38:54 2011 -0600
|
|    Lockless (and preemptless) fastpaths for slub

I'll try to revert these:

 2fd66c517d5e: slub: Add missing irq restore for the OOM path
 a24c5a0ea902: slub: Dont define useless label in the !CONFIG_CMPXCHG_LOCAL case
 8a5ec0ba42c4: Lockless (and preemptless) fastpaths for slub

Thanks,

	Ingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 16:03   ` Ingo Molnar
@ 2011-03-24 16:14     ` Ingo Molnar
  2011-03-24 17:07       ` Pekka Enberg
  0 siblings, 1 reply; 71+ messages in thread
From: Ingo Molnar @ 2011-03-24 16:14 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: torvalds, cl, akpm, tj, npiggin, rientjes, linux-kernel, linux-mm


* Ingo Molnar <mingo@elte.hu> wrote:

> Caused by:
> 
> | 8a5ec0ba42c4919e2d8f4c3138cc8b987fdb0b79 is the first bad commit
> | commit 8a5ec0ba42c4919e2d8f4c3138cc8b987fdb0b79
> | Author: Christoph Lameter <cl@linux.com>
> | Date:   Fri Feb 25 11:38:54 2011 -0600
> |
> |    Lockless (and preemptless) fastpaths for slub
> 
> I'll try to revert these:
> 
>  2fd66c517d5e: slub: Add missing irq restore for the OOM path
>  a24c5a0ea902: slub: Dont define useless label in the !CONFIG_CMPXCHG_LOCAL case
>  8a5ec0ba42c4: Lockless (and preemptless) fastpaths for slub

The combo revert below solves the boot crash.

Thanks,

	Ingo

------------------------------->

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 14:41   ` Christoph Lameter
@ 2011-03-24 16:50     ` Pekka Enberg
  2011-03-24 17:26       ` Ingo Molnar
  0 siblings, 1 reply; 71+ messages in thread
From: Pekka Enberg @ 2011-03-24 16:50 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Ingo Molnar, torvalds, akpm, tj, npiggin, rientjes, linux-kernel,
	linux-mm

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

On Thu, Mar 24, 2011 at 4:41 PM, Christoph Lameter <cl@linux.com> wrote:
> On Thu, 24 Mar 2011, Ingo Molnar wrote:
>
>> FYI, some sort of boot crash has snuck upstream in the last 24 hours:
>>
>>  BUG: unable to handle kernel paging request at ffff87ffc147e020
>>  IP: [<ffffffff811aa762>] this_cpu_cmpxchg16b_emu+0x2/0x1c
>
> Hmmm.. This is the fallback code for the case that the processor does not
> support cmpxchg16b.

How does alternative_io() work? Does it require
alternative_instructions() to be executed. If so, the fallback code
won't be active when we enter kmem_cache_init(). Is there any reason
check_bugs() is called so late during boot? Can we do something like
the totally untested attached patch?

[-- Attachment #2: check-bugs.patch --]
[-- Type: application/octet-stream, Size: 537 bytes --]

diff --git a/init/main.c b/init/main.c
index 4a9479e..e57d6a7 100644
--- a/init/main.c
+++ b/init/main.c
@@ -508,6 +508,7 @@ asmlinkage void __init start_kernel(void)
 	vfs_caches_init_early();
 	sort_main_extable();
 	trap_init();
+	check_bugs();
 	mm_init();
 	/*
 	 * Set up the scheduler prior starting any interrupts (such as the
@@ -614,8 +615,6 @@ asmlinkage void __init start_kernel(void)
 	taskstats_init_early();
 	delayacct_init();
 
-	check_bugs();
-
 	acpi_early_init(); /* before LAPIC and SMP init */
 	sfi_init_late();
 

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 16:14     ` Ingo Molnar
@ 2011-03-24 17:07       ` Pekka Enberg
  2011-03-24 17:21         ` Ingo Molnar
  0 siblings, 1 reply; 71+ messages in thread
From: Pekka Enberg @ 2011-03-24 17:07 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: torvalds, cl, akpm, tj, npiggin, rientjes, linux-kernel, linux-mm

On Thu, Mar 24, 2011 at 6:14 PM, Ingo Molnar <mingo@elte.hu> wrote:
> The combo revert below solves the boot crash.
>
> Thanks,
>
>        Ingo
>
> ------------------------------->
> From 1b322eee05a96e8395b62e04a3d1f10fb483c259 Mon Sep 17 00:00:00 2001
> From: Ingo Molnar <mingo@elte.hu>
> Date: Thu, 24 Mar 2011 17:03:51 +0100
> Subject: [PATCH] Revert various slub patches
>
> Revert "slub: Add missing irq restore for the OOM path"
>
> This reverts commit 2fd66c517d5e98de2528d86e0e62f5069ff99f59.
>
> Revert "slub: Dont define useless label in the !CONFIG_CMPXCHG_LOCAL case"
>
> This reverts commit a24c5a0ea902bcda348f086bd909cc2d6e305bf8.
>
> Revert "slub,rcu: don't assume the size of struct rcu_head"
>
> This reverts commit da9a638c6f8fc0633fa94a334f1c053f5e307177.

Btw, this RCU commit is unrelated. It just happens to have a merge
conflict with the lockless patches which is why you needed to revert
it.

                        Pekka

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 17:07       ` Pekka Enberg
@ 2011-03-24 17:21         ` Ingo Molnar
  0 siblings, 0 replies; 71+ messages in thread
From: Ingo Molnar @ 2011-03-24 17:21 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: torvalds, cl, akpm, tj, npiggin, rientjes, linux-kernel, linux-mm


* Pekka Enberg <penberg@kernel.org> wrote:

> On Thu, Mar 24, 2011 at 6:14 PM, Ingo Molnar <mingo@elte.hu> wrote:
> > The combo revert below solves the boot crash.
> >
> > Thanks,
> >
> >        Ingo
> >
> > ------------------------------->
> > From 1b322eee05a96e8395b62e04a3d1f10fb483c259 Mon Sep 17 00:00:00 2001
> > From: Ingo Molnar <mingo@elte.hu>
> > Date: Thu, 24 Mar 2011 17:03:51 +0100
> > Subject: [PATCH] Revert various slub patches
> >
> > Revert "slub: Add missing irq restore for the OOM path"
> >
> > This reverts commit 2fd66c517d5e98de2528d86e0e62f5069ff99f59.
> >
> > Revert "slub: Dont define useless label in the !CONFIG_CMPXCHG_LOCAL case"
> >
> > This reverts commit a24c5a0ea902bcda348f086bd909cc2d6e305bf8.
> >
> > Revert "slub,rcu: don't assume the size of struct rcu_head"
> >
> > This reverts commit da9a638c6f8fc0633fa94a334f1c053f5e307177.
> 
> Btw, this RCU commit is unrelated. It just happens to have a merge
> conflict with the lockless patches which is why you needed to revert
> it.

Yeah - this was just a brute-force combo patch to remove the buggy commit.

Thanks,

	Ingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 16:50     ` Pekka Enberg
@ 2011-03-24 17:26       ` Ingo Molnar
  2011-03-24 17:43         ` Christoph Lameter
                           ` (2 more replies)
  0 siblings, 3 replies; 71+ messages in thread
From: Ingo Molnar @ 2011-03-24 17:26 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Christoph Lameter, torvalds, akpm, tj, npiggin, rientjes,
	linux-kernel, linux-mm


* Pekka Enberg <penberg@kernel.org> wrote:

> On Thu, Mar 24, 2011 at 4:41 PM, Christoph Lameter <cl@linux.com> wrote:
> > On Thu, 24 Mar 2011, Ingo Molnar wrote:
> >
> >> FYI, some sort of boot crash has snuck upstream in the last 24 hours:
> >>
> >>  BUG: unable to handle kernel paging request at ffff87ffc147e020
> >>  IP: [<ffffffff811aa762>] this_cpu_cmpxchg16b_emu+0x2/0x1c
> >
> > Hmmm.. This is the fallback code for the case that the processor does not
> > support cmpxchg16b.
> 
> How does alternative_io() work? Does it require
> alternative_instructions() to be executed. If so, the fallback code
> won't be active when we enter kmem_cache_init(). Is there any reason
> check_bugs() is called so late during boot? Can we do something like
> the totally untested attached patch?

Does the config i sent you boot on your box? I think the bug is pretty generic 
and should trigger on any box.

Thanks,

	Ingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 17:26       ` Ingo Molnar
@ 2011-03-24 17:43         ` Christoph Lameter
  2011-03-24 17:56           ` Pekka Enberg
  2011-03-24 18:13         ` Pekka Enberg
  2011-03-24 18:52         ` [boot crash #2] " Ingo Molnar
  2 siblings, 1 reply; 71+ messages in thread
From: Christoph Lameter @ 2011-03-24 17:43 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Pekka Enberg, torvalds, akpm, tj, npiggin, rientjes, linux-kernel,
	linux-mm

On Thu, 24 Mar 2011, Ingo Molnar wrote:

> > How does alternative_io() work? Does it require
> > alternative_instructions() to be executed. If so, the fallback code
> > won't be active when we enter kmem_cache_init(). Is there any reason
> > check_bugs() is called so late during boot? Can we do something like
> > the totally untested attached patch?
>
> Does the config i sent you boot on your box? I think the bug is pretty generic
> and should trigger on any box.

The bug should only trigger on old AMD64 boxes that do not support
cmpxchg16b.


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 17:43         ` Christoph Lameter
@ 2011-03-24 17:56           ` Pekka Enberg
  2011-03-24 18:01             ` Christoph Lameter
  0 siblings, 1 reply; 71+ messages in thread
From: Pekka Enberg @ 2011-03-24 17:56 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Ingo Molnar, torvalds, akpm, tj, npiggin, rientjes, linux-kernel,
	linux-mm

On Thu, 24 Mar 2011, Ingo Molnar wrote:
>> > How does alternative_io() work? Does it require
>> > alternative_instructions() to be executed. If so, the fallback code
>> > won't be active when we enter kmem_cache_init(). Is there any reason
>> > check_bugs() is called so late during boot? Can we do something like
>> > the totally untested attached patch?
>>
>> Does the config i sent you boot on your box? I think the bug is pretty generic
>> and should trigger on any box.

On Thu, Mar 24, 2011 at 7:43 PM, Christoph Lameter <cl@linux.com> wrote:
> The bug should only trigger on old AMD64 boxes that do not support
> cmpxchg16b.

Yup. Ingo is it possible to see /proc/cpuinfo of one of the affected
boxes? I'll try your config but I'm pretty sure the problem doesn't
trigger here. Like I said, I think the problem is that alternative
instructions are not patched early enough for cmpxchg16b emulation to
work for kmem_cache_init(). I tried my check_bugs() patch but it hangs
during boot. I'll see if I can cook up a patch that does
alternative_instructions() before kmem_cache_init() because I think
those *should* be available during boot too.

                        Pekka

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 17:56           ` Pekka Enberg
@ 2011-03-24 18:01             ` Christoph Lameter
  2011-03-24 18:06               ` Pekka Enberg
  0 siblings, 1 reply; 71+ messages in thread
From: Christoph Lameter @ 2011-03-24 18:01 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Ingo Molnar, torvalds, akpm, tj, npiggin, rientjes, linux-kernel,
	linux-mm

On Thu, 24 Mar 2011, Pekka Enberg wrote:

> On Thu, Mar 24, 2011 at 7:43 PM, Christoph Lameter <cl@linux.com> wrote:
> > The bug should only trigger on old AMD64 boxes that do not support
> > cmpxchg16b.
>
> Yup. Ingo is it possible to see /proc/cpuinfo of one of the affected
> boxes? I'll try your config but I'm pretty sure the problem doesn't
> trigger here. Like I said, I think the problem is that alternative
> instructions are not patched early enough for cmpxchg16b emulation to
> work for kmem_cache_init(). I tried my check_bugs() patch but it hangs
> during boot. I'll see if I can cook up a patch that does
> alternative_instructions() before kmem_cache_init() because I think
> those *should* be available during boot too.

I forced the fallback to the _emu function to occur but could not trigger
the bug in kvm.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 18:01             ` Christoph Lameter
@ 2011-03-24 18:06               ` Pekka Enberg
  2011-03-24 18:15                 ` Christoph Lameter
  0 siblings, 1 reply; 71+ messages in thread
From: Pekka Enberg @ 2011-03-24 18:06 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Ingo Molnar, torvalds, akpm, tj, npiggin, rientjes, linux-kernel,
	linux-mm

On Thu, Mar 24, 2011 at 8:01 PM, Christoph Lameter <cl@linux.com> wrote:
> On Thu, 24 Mar 2011, Pekka Enberg wrote:
>
>> On Thu, Mar 24, 2011 at 7:43 PM, Christoph Lameter <cl@linux.com> wrote:
>> > The bug should only trigger on old AMD64 boxes that do not support
>> > cmpxchg16b.
>>
>> Yup. Ingo is it possible to see /proc/cpuinfo of one of the affected
>> boxes? I'll try your config but I'm pretty sure the problem doesn't
>> trigger here. Like I said, I think the problem is that alternative
>> instructions are not patched early enough for cmpxchg16b emulation to
>> work for kmem_cache_init(). I tried my check_bugs() patch but it hangs
>> during boot. I'll see if I can cook up a patch that does
>> alternative_instructions() before kmem_cache_init() because I think
>> those *should* be available during boot too.
>
> I forced the fallback to the _emu function to occur but could not trigger
> the bug in kvm.

That's not the problem. I'm sure the fallback is just fine. What I'm
saying is that the fallback is *not patched* to kernel text on Ingo's
machines because alternative_instructions() happens late in the boot!
So the problem is that on Ingo's boxes (that presumably have old AMD
CPUs) we execute cmpxchg16b, not the fallback code.

                        Pekka

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 17:26       ` Ingo Molnar
  2011-03-24 17:43         ` Christoph Lameter
@ 2011-03-24 18:13         ` Pekka Enberg
  2011-03-24 19:27           ` Ingo Molnar
  2011-03-24 18:52         ` [boot crash #2] " Ingo Molnar
  2 siblings, 1 reply; 71+ messages in thread
From: Pekka Enberg @ 2011-03-24 18:13 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Christoph Lameter, torvalds, akpm, tj, npiggin, rientjes,
	linux-kernel, linux-mm

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1180 bytes --]

Hi Ingo,

On Thu, 24 Mar 2011, Ingo Molnar wrote:
> * Pekka Enberg <penberg@kernel.org> wrote:
>
>> On Thu, Mar 24, 2011 at 4:41 PM, Christoph Lameter <cl@linux.com> wrote:
>>> On Thu, 24 Mar 2011, Ingo Molnar wrote:
>>>
>>>> FYI, some sort of boot crash has snuck upstream in the last 24 hours:
>>>>
>>>>  BUG: unable to handle kernel paging request at ffff87ffc147e020
>>>>  IP: [<ffffffff811aa762>] this_cpu_cmpxchg16b_emu+0x2/0x1c
>>>
>>> Hmmm.. This is the fallback code for the case that the processor does not
>>> support cmpxchg16b.
>>
>> How does alternative_io() work? Does it require
>> alternative_instructions() to be executed. If so, the fallback code
>> won't be active when we enter kmem_cache_init(). Is there any reason
>> check_bugs() is called so late during boot? Can we do something like
>> the totally untested attached patch?
>
> Does the config i sent you boot on your box? I think the bug is pretty generic
> and should trigger on any box.

Here's a patch that reorganizes the alternatives fixup to happen earlier 
so that the fallback should work. It boots on my machine so please give it 
a spin if possible.

I'll try out your .config next.

 			Pekka

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 18:06               ` Pekka Enberg
@ 2011-03-24 18:15                 ` Christoph Lameter
  2011-03-24 18:20                   ` Eric Dumazet
  0 siblings, 1 reply; 71+ messages in thread
From: Christoph Lameter @ 2011-03-24 18:15 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Ingo Molnar, torvalds, akpm, tj, npiggin, rientjes, linux-kernel,
	linux-mm

On Thu, 24 Mar 2011, Pekka Enberg wrote:

> > I forced the fallback to the _emu function to occur but could not trigger
> > the bug in kvm.
>
> That's not the problem. I'm sure the fallback is just fine. What I'm
> saying is that the fallback is *not patched* to kernel text on Ingo's
> machines because alternative_instructions() happens late in the boot!
> So the problem is that on Ingo's boxes (that presumably have old AMD
> CPUs) we execute cmpxchg16b, not the fallback code.

But then we would get the bug in kmem_cache_alloc() and not in the
*_emu() function. So the _emu is executing but failing on Ingo's system
but not on mine. Question is why.

For some reason the first reference to %gs:(%rsi) wont work right on his
system:

>From arch/x86/lib/cmpxchg16b_emu

#
# Emulate 'cmpxchg16b %gs:(%rsi)' except we return the result in %al not
# via the ZF.  Caller will access %al to get result.
#
# Note that this is only useful for a cpuops operation.  Meaning that we
# do *not* have a fully atomic operation but just an operation that is
# *atomic* on a single cpu (as provided by the this_cpu_xx class of
# macros).
#
this_cpu_cmpxchg16b_emu:
        pushf
        cli

        cmpq %gs:(%rsi), %rax
        jne not_same
        cmpq %gs:8(%rsi), %rdx
        jne not_same

        movq %rbx, %gs:(%rsi)
        movq %rcx, %gs:8(%rsi)

        popf
        mov $1, %al
        ret

 not_same:
        popf
        xor %al,%al
        ret

CFI_ENDPROC




--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 18:15                 ` Christoph Lameter
@ 2011-03-24 18:20                   ` Eric Dumazet
  2011-03-24 18:47                     ` Christoph Lameter
  0 siblings, 1 reply; 71+ messages in thread
From: Eric Dumazet @ 2011-03-24 18:20 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Pekka Enberg, Ingo Molnar, torvalds, akpm, tj, npiggin, rientjes,
	linux-kernel, linux-mm

Le jeudi 24 mars 2011 A  13:15 -0500, Christoph Lameter a A(C)crit :

> But then we would get the bug in kmem_cache_alloc() and not in the
> *_emu() function. So the _emu is executing but failing on Ingo's system
> but not on mine. Question is why.
> 
> For some reason the first reference to %gs:(%rsi) wont work right on his
> system:
> 
> From arch/x86/lib/cmpxchg16b_emu
> 
> #
> # Emulate 'cmpxchg16b %gs:(%rsi)' except we return the result in %al not
> # via the ZF.  Caller will access %al to get result.
> #
> # Note that this is only useful for a cpuops operation.  Meaning that we
> # do *not* have a fully atomic operation but just an operation that is
> # *atomic* on a single cpu (as provided by the this_cpu_xx class of
> # macros).
> #
> this_cpu_cmpxchg16b_emu:
>         pushf
>         cli
> 
>         cmpq %gs:(%rsi), %rax
>         jne not_same
>         cmpq %gs:8(%rsi), %rdx
>         jne not_same
> 
>         movq %rbx, %gs:(%rsi)
>         movq %rcx, %gs:8(%rsi)
> 
>         popf
>         mov $1, %al
>         ret
> 
>  not_same:
>         popf
>         xor %al,%al
>         ret
> 
> CFI_ENDPROC

Random guess

Masking interrupts, and accessing vmalloc() based memory for the first
time ?




--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 18:20                   ` Eric Dumazet
@ 2011-03-24 18:47                     ` Christoph Lameter
  2011-03-24 18:51                       ` Eric Dumazet
                                         ` (2 more replies)
  0 siblings, 3 replies; 71+ messages in thread
From: Christoph Lameter @ 2011-03-24 18:47 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: Pekka Enberg, Ingo Molnar, torvalds, akpm, tj, npiggin, rientjes,
	linux-kernel, linux-mm


On Thu, 24 Mar 2011, Eric Dumazet wrote:

> > this_cpu_cmpxchg16b_emu:
> >         pushf
> >         cli
> >
> >         cmpq %gs:(%rsi), %rax

> Random guess
>
> Masking interrupts, and accessing vmalloc() based memory for the first
> time ?

Hmmm.. Could be. KVM would not really disable interrupts so this may
explain that the test case works here.

Simple fix would be to do a load before the cli I guess.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 18:47                     ` Christoph Lameter
@ 2011-03-24 18:51                       ` Eric Dumazet
  2011-03-24 19:02                         ` Christoph Lameter
  2011-03-24 18:55                       ` Pekka Enberg
  2011-03-27  9:57                       ` Avi Kivity
  2 siblings, 1 reply; 71+ messages in thread
From: Eric Dumazet @ 2011-03-24 18:51 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Pekka Enberg, Ingo Molnar, torvalds, akpm, tj, npiggin, rientjes,
	linux-kernel, linux-mm

Le jeudi 24 mars 2011 A  13:47 -0500, Christoph Lameter a A(C)crit :

> Hmmm.. Could be. KVM would not really disable interrupts so this may
> explain that the test case works here.
> 
> Simple fix would be to do a load before the cli I guess.
> 

Hmm... 

If we have a preemption and migration right after this load...



--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* [boot crash #2] Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 17:26       ` Ingo Molnar
  2011-03-24 17:43         ` Christoph Lameter
  2011-03-24 18:13         ` Pekka Enberg
@ 2011-03-24 18:52         ` Ingo Molnar
  2011-03-24 19:10           ` Thomas Gleixner
  2011-03-24 19:16           ` Call Trace:Re: " Thomas Gleixner
  2 siblings, 2 replies; 71+ messages in thread
From: Ingo Molnar @ 2011-03-24 18:52 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Christoph Lameter, torvalds, akpm, tj, npiggin, rientjes,
	linux-kernel, linux-mm


There's a different crash triggered by the slub merge as well, i've bisected it 
back to one of these commits:

09b9cc4: sd: Fail discard requests when logical block provisioning has been disabled
a24c5a0: slub: Dont define useless label in the !CONFIG_CMPXCHG_LOCAL case
5bfe53a: slab,rcu: don't assume the size of struct rcu_head
da9a638: slub,rcu: don't assume the size of struct rcu_head
ab9a0f1: slub: automatically reserve bytes at the end of slab
8a5ec0b: Lockless (and preemptless) fastpaths for slub
d3f661d: slub: Get rid of slab_free_hook_irq()
1a757fe: slub: min_partial needs to be in first cacheline
d71f606: slub: fix ksize() build error
b3d4188: slub: fix kmemcheck calls to match ksize() hints
3ff84a7: Revert "slab: Fix missing DEBUG_SLAB last user"
6331046: mm: Remove support for kmem_cache_name()

The crash is below.

	Ingo

[/sbin/fsck.ext3 (1) -- /] fsck.ext3 -a /dev/sda6 
general protection fault: 0000 [#1] SMP DEBUG_PAGEALLOC
last sysfs file: /sys/block/sda/sda10/dev
CPU 0 
Pid: 0, comm: swapper Tainted: G        W   2.6.38-tip-09247-g0637536-dirty #110370 System manufacturer System Product Name/A8N-E
RIP: 0010:[<ffffffff810570a9>]  [<ffffffff810570a9>] get_next_timer_interrupt+0x119/0x260
RSP: 0018:ffff88003fa03ec8  EFLAGS: 00010002
RAX: 6b6b6b6b6b6b6b6b RBX: 000000013fff034e RCX: ffffffff82808cc0
RDX: 6b6b6b6b6b6b6b6b RSI: 0000000000000000 RDI: 000000000000000e
RBP: ffff88003fa03f18 R08: 000000000000000e R09: ffffffff82808be0
R10: 0000000000000000 R11: 0000000003fffc0e R12: 00000000ffff034e
R13: ffffffff828087c0 R14: 0000000000000010 R15: ffff88003fa0c200
FS:  000000000071d8f0(0000) GS:ffff88003fa00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 000000000072fc5f CR3: 000000003bc32000 CR4: 00000000000006b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process swapper (pid: 0, threadinfo ffffffff82400000, task ffffffff8242f020)
Stack:
 ffff88003fa03f18 ffffffff810929bb ffffffff82808be0 ffffffff82808ce0
 ffffffff82808de0 ffffffff82808ee0 ffff88003fa0dbe0 0000000000000000
 0000000000000086 00000013a4a5c86d ffff88003fa03f78 ffffffff81076761
Call Trace:
 <IRQ> 
 [<ffffffff810929bb>] ? rcu_needs_cpu+0x6b/0x220
 [<ffffffff81076761>] tick_nohz_stop_sched_tick+0x2c1/0x3d0
 [<ffffffff81d64b6c>] ? call_softirq+0x1c/0x30
 [<ffffffff8104dcc4>] irq_exit+0x84/0xb0
 [<ffffffff81d651e0>] smp_apic_timer_interrupt+0x70/0x9b
 [<ffffffff81d64653>] apic_timer_interrupt+0x13/0x20
 <EOI> 
 [<ffffffff8100a262>] ? default_idle+0x42/0x110
 [<ffffffff810011cd>] cpu_idle+0x5d/0xb0
 [<ffffffff81cc7d1e>] rest_init+0x72/0x74
 [<ffffffff825dec49>] start_kernel+0x44d/0x458
 [<ffffffff825de322>] x86_64_start_reservations+0x132/0x136
 [<ffffffff825de416>] x86_64_start_kernel+0xf0/0xf7
Code: 04 4c 01 c9 48 8b 01 eb 22 66 0f 1f 84 00 00 00 00 00 f6 40 18 01 75 10 48 8b 40 10 be 01 00 00 00 48 39 d8 48 0f 48 d8 48 89 d0 
 8b 10 48 39 c1 0f 18 0a 75 dc 85 f6 75 5d 83 c7 01 83 e7 0f 
RIP  [<ffffffff810570a9>] get_next_timer_interrupt+0x119/0x260
 RSP <ffff88003fa03ec8>
---[ end trace cea3203dccec701b ]---
Kernel panic - not syncing: Fatal exception
Pid: 0, comm: swapper Tainted: G      D W   2.6.38-tip-09247-g0637536-dirty #110370
Call Trace:
 <IRQ>  [<ffffffff81d4da7f>] panic+0x91/0x18e
 [<ffffffff81005ec4>] oops_end+0xd4/0xf0
 [<ffffffff81006038>] die+0x58/0x90
 [<ffffffff810033d2>] do_general_protection+0x162/0x170
 [<ffffffff812bf265>] ? __cfq_slice_expired+0x295/0x490
 [<ffffffff81d6382f>] general_protection+0x1f/0x30
 [<ffffffff810570a9>] ? get_next_timer_interrupt+0x119/0x260
 [<ffffffff81056fd4>] ? get_next_timer_interrupt+0x44/0x260
 [<ffffffff810929bb>] ? rcu_needs_cpu+0x6b/0x220
 [<ffffffff81076761>] tick_nohz_stop_sched_tick+0x2c1/0x3d0
 [<ffffffff81d64b6c>] ? call_softirq+0x1c/0x30
 [<ffffffff8104dcc4>] irq_exit+0x84/0xb0
 [<ffffffff81d651e0>] smp_apic_timer_interrupt+0x70/0x9b
 [<ffffffff81d64653>] apic_timer_interrupt+0x13/0x20
 <EOI>  [<ffffffff8100a262>] ? default_idle+0x42/0x110
 [<ffffffff810011cd>] cpu_idle+0x5d/0xb0
 [<ffffffff81cc7d1e>] rest_init+0x72/0x74
 [<ffffffff825dec49>] start_kernel+0x44d/0x458
 [<ffffffff825de322>] x86_64_start_reservations+0x132/0x136
 [<ffffffff825de416>] x86_64_start_kernel+0xf0/0xf7

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 18:47                     ` Christoph Lameter
  2011-03-24 18:51                       ` Eric Dumazet
@ 2011-03-24 18:55                       ` Pekka Enberg
  2011-03-24 18:59                         ` Ingo Molnar
  2011-03-24 19:02                         ` Christoph Lameter
  2011-03-27  9:57                       ` Avi Kivity
  2 siblings, 2 replies; 71+ messages in thread
From: Pekka Enberg @ 2011-03-24 18:55 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Eric Dumazet, Ingo Molnar, torvalds, akpm, tj, npiggin, rientjes,
	linux-kernel, linux-mm

On Thu, Mar 24, 2011 at 8:47 PM, Christoph Lameter <cl@linux.com> wrote:
>
> On Thu, 24 Mar 2011, Eric Dumazet wrote:
>
>> > this_cpu_cmpxchg16b_emu:
>> >         pushf
>> >         cli
>> >
>> >         cmpq %gs:(%rsi), %rax
>
>> Random guess
>>
>> Masking interrupts, and accessing vmalloc() based memory for the first
>> time ?
>
> Hmmm.. Could be. KVM would not really disable interrupts so this may
> explain that the test case works here.
>
> Simple fix would be to do a load before the cli I guess.

Btw, I tried Ingo's .config and it doesn't boot here so it's somehow
.config related.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 18:55                       ` Pekka Enberg
@ 2011-03-24 18:59                         ` Ingo Molnar
  2011-03-24 19:03                           ` Pekka Enberg
  2011-03-24 19:02                         ` Christoph Lameter
  1 sibling, 1 reply; 71+ messages in thread
From: Ingo Molnar @ 2011-03-24 18:59 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Christoph Lameter, Eric Dumazet, torvalds, akpm, tj, npiggin,
	rientjes, linux-kernel, linux-mm


* Pekka Enberg <penberg@kernel.org> wrote:

> On Thu, Mar 24, 2011 at 8:47 PM, Christoph Lameter <cl@linux.com> wrote:
> >
> > On Thu, 24 Mar 2011, Eric Dumazet wrote:
> >
> >> > this_cpu_cmpxchg16b_emu:
> >> >         pushf
> >> >         cli
> >> >
> >> >         cmpq %gs:(%rsi), %rax
> >
> >> Random guess
> >>
> >> Masking interrupts, and accessing vmalloc() based memory for the first
> >> time ?
> >
> > Hmmm.. Could be. KVM would not really disable interrupts so this may
> > explain that the test case works here.
> >
> > Simple fix would be to do a load before the cli I guess.
> 
> Btw, I tried Ingo's .config and it doesn't boot here so it's somehow
> .config related.

did you get a similar early crash as i? I'd not expect my .config to have all 
the drivers that are needed on your box.

Thanks,

	Ingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 18:51                       ` Eric Dumazet
@ 2011-03-24 19:02                         ` Christoph Lameter
  2011-03-24 19:04                           ` Pekka Enberg
  0 siblings, 1 reply; 71+ messages in thread
From: Christoph Lameter @ 2011-03-24 19:02 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: Pekka Enberg, Ingo Molnar, torvalds, akpm, tj, npiggin, rientjes,
	linux-kernel, linux-mm

[-- Attachment #1: Type: TEXT/PLAIN, Size: 784 bytes --]

On Thu, 24 Mar 2011, Eric Dumazet wrote:

> Le jeudi 24 mars 2011 à 13:47 -0500, Christoph Lameter a écrit :
>
> > Hmmm.. Could be. KVM would not really disable interrupts so this may
> > explain that the test case works here.
> >
> > Simple fix would be to do a load before the cli I guess.
> >
>
> Hmm...
>
> If we have a preemption and migration right after this load...

Cannot be the issue here since init_kmem_cache_cpus already
touches the per cpu data. At least if CONFIG_PREEMPT is on.
Is it on?


void init_kmem_cache_cpus(struct kmem_cache *s)
{
#if defined(CONFIG_CMPXCHG_LOCAL) && defined(CONFIG_PREEMPT)
        int cpu;

        for_each_possible_cpu(cpu)
                per_cpu_ptr(s->cpu_slab, cpu)->tid = init_tid(cpu);
#endif

}



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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 18:55                       ` Pekka Enberg
  2011-03-24 18:59                         ` Ingo Molnar
@ 2011-03-24 19:02                         ` Christoph Lameter
  1 sibling, 0 replies; 71+ messages in thread
From: Christoph Lameter @ 2011-03-24 19:02 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Eric Dumazet, Ingo Molnar, torvalds, akpm, tj, npiggin, rientjes,
	linux-kernel, linux-mm

On Thu, 24 Mar 2011, Pekka Enberg wrote:

> > Simple fix would be to do a load before the cli I guess.
>
> Btw, I tried Ingo's .config and it doesn't boot here so it's somehow
> .config related.

CONFIG_PREEMPT related?

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 18:59                         ` Ingo Molnar
@ 2011-03-24 19:03                           ` Pekka Enberg
  2011-03-24 19:05                             ` Christoph Lameter
  0 siblings, 1 reply; 71+ messages in thread
From: Pekka Enberg @ 2011-03-24 19:03 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Christoph Lameter, Eric Dumazet, torvalds, akpm, tj, npiggin,
	rientjes, linux-kernel, linux-mm

On Thu, Mar 24, 2011 at 8:59 PM, Ingo Molnar <mingo@elte.hu> wrote:
>
> * Pekka Enberg <penberg@kernel.org> wrote:
>
>> On Thu, Mar 24, 2011 at 8:47 PM, Christoph Lameter <cl@linux.com> wrote:
>> >
>> > On Thu, 24 Mar 2011, Eric Dumazet wrote:
>> >
>> >> > this_cpu_cmpxchg16b_emu:
>> >> >         pushf
>> >> >         cli
>> >> >
>> >> >         cmpq %gs:(%rsi), %rax
>> >
>> >> Random guess
>> >>
>> >> Masking interrupts, and accessing vmalloc() based memory for the first
>> >> time ?
>> >
>> > Hmmm.. Could be. KVM would not really disable interrupts so this may
>> > explain that the test case works here.
>> >
>> > Simple fix would be to do a load before the cli I guess.
>>
>> Btw, I tried Ingo's .config and it doesn't boot here so it's somehow
>> .config related.
>
> did you get a similar early crash as i? I'd not expect my .config to have all
> the drivers that are needed on your box.

It hanged here which is pretty much expected on this box if
kmem_cache_init() oopses. I'm now trying to see if I'm able to find
the config option that breaks things. CONFIG_PREEMPT_NONE is a
suspect:

penberg@tiger:~/linux$ grep PREEMPT ../config-ingo
# CONFIG_PREEMPT_RCU is not set
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 19:02                         ` Christoph Lameter
@ 2011-03-24 19:04                           ` Pekka Enberg
  0 siblings, 0 replies; 71+ messages in thread
From: Pekka Enberg @ 2011-03-24 19:04 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Eric Dumazet, Ingo Molnar, torvalds, akpm, tj, npiggin, rientjes,
	linux-kernel, linux-mm

On Thu, Mar 24, 2011 at 9:02 PM, Christoph Lameter <cl@linux.com> wrote:
> On Thu, 24 Mar 2011, Eric Dumazet wrote:
>
>> Le jeudi 24 mars 2011 à 13:47 -0500, Christoph Lameter a écrit :
>>
>> > Hmmm.. Could be. KVM would not really disable interrupts so this may
>> > explain that the test case works here.
>> >
>> > Simple fix would be to do a load before the cli I guess.
>> >
>>
>> Hmm...
>>
>> If we have a preemption and migration right after this load...
>
> Cannot be the issue here since init_kmem_cache_cpus already
> touches the per cpu data. At least if CONFIG_PREEMPT is on.
> Is it on?

It's not.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 19:03                           ` Pekka Enberg
@ 2011-03-24 19:05                             ` Christoph Lameter
  2011-03-24 19:14                               ` Pekka Enberg
  0 siblings, 1 reply; 71+ messages in thread
From: Christoph Lameter @ 2011-03-24 19:05 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Ingo Molnar, Eric Dumazet, torvalds, akpm, tj, npiggin, rientjes,
	linux-kernel, linux-mm

On Thu, 24 Mar 2011, Pekka Enberg wrote:

> It hanged here which is pretty much expected on this box if
> kmem_cache_init() oopses. I'm now trying to see if I'm able to find
> the config option that breaks things. CONFIG_PREEMPT_NONE is a
> suspect:
>
> penberg@tiger:~/linux$ grep PREEMPT ../config-ingo
> # CONFIG_PREEMPT_RCU is not set
> CONFIG_PREEMPT_NONE=y
> # CONFIG_PREEMPT_VOLUNTARY is not set
> # CONFIG_PREEMPT is not set

The following patch should ensure that all percpu data is touched
before any emulation functions are called:

---
 mm/slub.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6/mm/slub.c
===================================================================
--- linux-2.6.orig/mm/slub.c	2011-03-24 14:03:10.000000000 -0500
+++ linux-2.6/mm/slub.c	2011-03-24 14:04:08.000000000 -0500
@@ -1604,7 +1604,7 @@ static inline void note_cmpxchg_failure(

 void init_kmem_cache_cpus(struct kmem_cache *s)
 {
-#if defined(CONFIG_CMPXCHG_LOCAL) && defined(CONFIG_PREEMPT)
+#ifdef CONFIG_CMPXCHG_LOCAL
 	int cpu;

 	for_each_possible_cpu(cpu)

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [boot crash #2] Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 18:52         ` [boot crash #2] " Ingo Molnar
@ 2011-03-24 19:10           ` Thomas Gleixner
  2011-03-24 19:22             ` Ingo Molnar
  2011-03-24 19:16           ` Call Trace:Re: " Thomas Gleixner
  1 sibling, 1 reply; 71+ messages in thread
From: Thomas Gleixner @ 2011-03-24 19:10 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Pekka Enberg, Christoph Lameter, torvalds, akpm, tj, npiggin,
	rientjes, linux-kernel, linux-mm

On Thu, 24 Mar 2011, Ingo Molnar wrote:
> RIP: 0010:[<ffffffff810570a9>]  [<ffffffff810570a9>] get_next_timer_interrupt+0x119/0x260

That's a typical timer crash, but you were unable to debug it with
debugobjects because commit d3f661d6 broke those.

Christoph, debugobjects do not need to run with interupts
disabled. And just because they were in that section to keep all the
debug stuff together does not make an excuse for not looking at the
code and just slopping it into some totally unrelated ifdef along with
a completely bogus comment.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 mm/slub.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: linux-2.6/mm/slub.c
===================================================================
--- linux-2.6.orig/mm/slub.c
+++ linux-2.6/mm/slub.c
@@ -849,11 +849,11 @@ static inline void slab_free_hook(struct
 		local_irq_save(flags);
 		kmemcheck_slab_free(s, x, s->objsize);
 		debug_check_no_locks_freed(x, s->objsize);
-		if (!(s->flags & SLAB_DEBUG_OBJECTS))
-			debug_check_no_obj_freed(x, s->objsize);
 		local_irq_restore(flags);
 	}
 #endif
+	if (!(s->flags & SLAB_DEBUG_OBJECTS))
+		debug_check_no_obj_freed(x, s->objsize);
 }
 
 /*

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 19:05                             ` Christoph Lameter
@ 2011-03-24 19:14                               ` Pekka Enberg
  2011-03-24 19:36                                 ` Ingo Molnar
  0 siblings, 1 reply; 71+ messages in thread
From: Pekka Enberg @ 2011-03-24 19:14 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Ingo Molnar, Eric Dumazet, torvalds, akpm, tj, npiggin, rientjes,
	linux-kernel, linux-mm

On Thu, Mar 24, 2011 at 9:05 PM, Christoph Lameter <cl@linux.com> wrote:
> On Thu, 24 Mar 2011, Pekka Enberg wrote:
>
>> It hanged here which is pretty much expected on this box if
>> kmem_cache_init() oopses. I'm now trying to see if I'm able to find
>> the config option that breaks things. CONFIG_PREEMPT_NONE is a
>> suspect:
>>
>> penberg@tiger:~/linux$ grep PREEMPT ../config-ingo
>> # CONFIG_PREEMPT_RCU is not set
>> CONFIG_PREEMPT_NONE=y
>> # CONFIG_PREEMPT_VOLUNTARY is not set
>> # CONFIG_PREEMPT is not set
>
> The following patch should ensure that all percpu data is touched
> before any emulation functions are called:
>
> ---
>  mm/slub.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: linux-2.6/mm/slub.c
> ===================================================================
> --- linux-2.6.orig/mm/slub.c    2011-03-24 14:03:10.000000000 -0500
> +++ linux-2.6/mm/slub.c 2011-03-24 14:04:08.000000000 -0500
> @@ -1604,7 +1604,7 @@ static inline void note_cmpxchg_failure(
>
>  void init_kmem_cache_cpus(struct kmem_cache *s)
>  {
> -#if defined(CONFIG_CMPXCHG_LOCAL) && defined(CONFIG_PREEMPT)
> +#ifdef CONFIG_CMPXCHG_LOCAL
>        int cpu;
>
>        for_each_possible_cpu(cpu)
>

Ingo, can you try this patch out, please? I'm compiling here but
unfortunately I'm stuck with a really slow laptop...

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Call Trace:Re: [boot crash #2] Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 18:52         ` [boot crash #2] " Ingo Molnar
  2011-03-24 19:10           ` Thomas Gleixner
@ 2011-03-24 19:16           ` Thomas Gleixner
  2011-03-24 19:23             ` Ingo Molnar
  1 sibling, 1 reply; 71+ messages in thread
From: Thomas Gleixner @ 2011-03-24 19:16 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Pekka Enberg, Christoph Lameter, Linus Torvalds, Andrew Morton,
	Tejun Heo, npiggin, rientjes, LKML, linux-mm, Ville Tervo,
	Gustavo F. Padovan

After we made debugobjects working again, we got the following:

WARNING: at lib/debugobjects.c:262 debug_print_object+0x8e/0xb0()
Hardware name: System Product Name
ODEBUG: free active (active state 0) object type: timer_list hint: hci_cmd_timer+0x0/0x60
Pid: 2125, comm: dmsetup Tainted: G        W   2.6.38-06707-gc62b389 #110375
Call Trace:
 [<ffffffff8104700a>] warn_slowpath_common+0x7a/0xb0
 [<ffffffff810470b6>] warn_slowpath_fmt+0x46/0x50
 [<ffffffff812d3a5e>] debug_print_object+0x8e/0xb0
 [<ffffffff81bd8810>] ? hci_cmd_timer+0x0/0x60
 [<ffffffff812d4685>] debug_check_no_obj_freed+0x125/0x230
 [<ffffffff810f1063>] ? check_object+0xb3/0x2b0
 [<ffffffff810f3630>] kfree+0x150/0x190
 [<ffffffff81be4d06>] ? bt_host_release+0x16/0x20
 [<ffffffff81be4d06>] bt_host_release+0x16/0x20
 [<ffffffff813a1907>] device_release+0x27/0xa0
 [<ffffffff812c519c>] kobject_release+0x4c/0xa0
 [<ffffffff812c5150>] ? kobject_release+0x0/0xa0
 [<ffffffff812c61f6>] kref_put+0x36/0x70
 [<ffffffff812c4d37>] kobject_put+0x27/0x60
 [<ffffffff813a21f7>] put_device+0x17/0x20
 [<ffffffff81bda4f9>] hci_free_dev+0x29/0x30
 [<ffffffff81928be6>] vhci_release+0x36/0x70
 [<ffffffff810fb366>] fput+0xd6/0x1f0
 [<ffffffff810f8fe6>] filp_close+0x66/0x90
 [<ffffffff810f90a9>] sys_close+0x99/0xf0
 [<ffffffff81d4c96b>] system_call_fastpath+0x16/0x1b

That timer was introduced with commit 6bd32326cda(Bluetooth: Use
proper timer for hci command timout)

Timer seems to be running when the thing is closed. Removing the timer
unconditionally fixes the problem. And yes, it needs to be fixed
before the HCI_UP check.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 net/bluetooth/hci_core.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Index: linux-2.6/net/bluetooth/hci_core.c
===================================================================
--- linux-2.6.orig/net/bluetooth/hci_core.c
+++ linux-2.6/net/bluetooth/hci_core.c
@@ -584,6 +584,9 @@ static int hci_dev_do_close(struct hci_d
 	hci_req_cancel(hdev, ENODEV);
 	hci_req_lock(hdev);
 
+	/* Stop timer, it might be running */
+	del_timer_sync(&hdev->cmd_timer);
+
 	if (!test_and_clear_bit(HCI_UP, &hdev->flags)) {
 		hci_req_unlock(hdev);
 		return 0;
@@ -623,7 +626,6 @@ static int hci_dev_do_close(struct hci_d
 
 	/* Drop last sent command */
 	if (hdev->sent_cmd) {
-		del_timer_sync(&hdev->cmd_timer);
 		kfree_skb(hdev->sent_cmd);
 		hdev->sent_cmd = NULL;
 	}


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [boot crash #2] Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 19:10           ` Thomas Gleixner
@ 2011-03-24 19:22             ` Ingo Molnar
  2011-03-24 19:27               ` Pekka Enberg
  0 siblings, 1 reply; 71+ messages in thread
From: Ingo Molnar @ 2011-03-24 19:22 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: Pekka Enberg, Christoph Lameter, torvalds, akpm, tj, npiggin,
	rientjes, linux-kernel, linux-mm


* Thomas Gleixner <tglx@linutronix.de> wrote:

> On Thu, 24 Mar 2011, Ingo Molnar wrote:
> > RIP: 0010:[<ffffffff810570a9>]  [<ffffffff810570a9>] get_next_timer_interrupt+0x119/0x260
> 
> That's a typical timer crash, but you were unable to debug it with
> debugobjects because commit d3f661d6 broke those.
> 
> Christoph, debugobjects do not need to run with interupts
> disabled. And just because they were in that section to keep all the
> debug stuff together does not make an excuse for not looking at the
> code and just slopping it into some totally unrelated ifdef along with
> a completely bogus comment.
> 
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> ---
>  mm/slub.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> Index: linux-2.6/mm/slub.c
> ===================================================================
> --- linux-2.6.orig/mm/slub.c
> +++ linux-2.6/mm/slub.c
> @@ -849,11 +849,11 @@ static inline void slab_free_hook(struct
>  		local_irq_save(flags);
>  		kmemcheck_slab_free(s, x, s->objsize);
>  		debug_check_no_locks_freed(x, s->objsize);
> -		if (!(s->flags & SLAB_DEBUG_OBJECTS))
> -			debug_check_no_obj_freed(x, s->objsize);
>  		local_irq_restore(flags);
>  	}
>  #endif
> +	if (!(s->flags & SLAB_DEBUG_OBJECTS))
> +		debug_check_no_obj_freed(x, s->objsize);

Thanks, this did the trick!

Tested-by: Ingo Molnar <mingo@elte.hu>

With this fix i got the warning below - pinpointing a net/bluetooth/hci_core.c 
timer bug.

Thanks,

	Ingo

------------[ cut here ]------------
 WARNING: at lib/debugobjects.c:262 debug_print_object+0x8e/0xb0()
 Hardware name: System Product Name
 ODEBUG: free active (active state 0) object type: timer_list hint: hci_cmd_timer+0x0/0x60
 Pid: 2076, comm: dmsetup Not tainted 2.6.38-tip-09251-ged68fd8-dirty #110378
 Call Trace:
  [<ffffffff8104703a>] warn_slowpath_common+0x7a/0xb0
  [<ffffffff810470e6>] warn_slowpath_fmt+0x46/0x50
  [<ffffffff812d3eee>] debug_print_object+0x8e/0xb0
  [<ffffffff81bee870>] ? bt_sock_wait_state+0x150/0x150
  [<ffffffff812d4b15>] debug_check_no_obj_freed+0x125/0x230
  [<ffffffff810f1173>] ? check_object+0xb3/0x2b0
  [<ffffffff81bfad56>] ? bt_host_release+0x16/0x20
  [<ffffffff81bfad56>] ? bt_host_release+0x16/0x20
  [<ffffffff810f373c>] kfree+0x14c/0x190
  [<ffffffff81bfad56>] bt_host_release+0x16/0x20
  [<ffffffff813a1b87>] device_release+0x27/0xa0
  [<ffffffff812c53bc>] kobject_release+0x4c/0xa0
  [<ffffffff812c5370>] ? kobject_del+0x40/0x40
  [<ffffffff812c6416>] kref_put+0x36/0x70
  [<ffffffff812c4f57>] kobject_put+0x27/0x60
  [<ffffffff813a2477>] put_device+0x17/0x20
  [<ffffffff81bf0549>] hci_free_dev+0x29/0x30
  [<ffffffff8193ed16>] vhci_release+0x36/0x70
  [<ffffffff810fb4f6>] fput+0xd6/0x1f0
  [<ffffffff810f9176>] filp_close+0x66/0x90
  [<ffffffff810f9239>] sys_close+0x99/0xf0
  [<ffffffff81d63dab>] system_call_fastpath+0x16/0x1b
 ---[ end trace ea6ca6434ee730b9 ]---

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: Call Trace:Re: [boot crash #2] Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 19:16           ` Call Trace:Re: " Thomas Gleixner
@ 2011-03-24 19:23             ` Ingo Molnar
  2011-03-24 20:04               ` Gustavo F. Padovan
  0 siblings, 1 reply; 71+ messages in thread
From: Ingo Molnar @ 2011-03-24 19:23 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: Pekka Enberg, Christoph Lameter, Linus Torvalds, Andrew Morton,
	Tejun Heo, npiggin, rientjes, LKML, linux-mm, Ville Tervo,
	Gustavo F. Padovan


* Thomas Gleixner <tglx@linutronix.de> wrote:

> After we made debugobjects working again, we got the following:
> 
> WARNING: at lib/debugobjects.c:262 debug_print_object+0x8e/0xb0()
> Hardware name: System Product Name
> ODEBUG: free active (active state 0) object type: timer_list hint: hci_cmd_timer+0x0/0x60
> Pid: 2125, comm: dmsetup Tainted: G        W   2.6.38-06707-gc62b389 #110375
> Call Trace:
>  [<ffffffff8104700a>] warn_slowpath_common+0x7a/0xb0
>  [<ffffffff810470b6>] warn_slowpath_fmt+0x46/0x50
>  [<ffffffff812d3a5e>] debug_print_object+0x8e/0xb0
>  [<ffffffff81bd8810>] ? hci_cmd_timer+0x0/0x60
>  [<ffffffff812d4685>] debug_check_no_obj_freed+0x125/0x230
>  [<ffffffff810f1063>] ? check_object+0xb3/0x2b0
>  [<ffffffff810f3630>] kfree+0x150/0x190
>  [<ffffffff81be4d06>] ? bt_host_release+0x16/0x20
>  [<ffffffff81be4d06>] bt_host_release+0x16/0x20
>  [<ffffffff813a1907>] device_release+0x27/0xa0
>  [<ffffffff812c519c>] kobject_release+0x4c/0xa0
>  [<ffffffff812c5150>] ? kobject_release+0x0/0xa0
>  [<ffffffff812c61f6>] kref_put+0x36/0x70
>  [<ffffffff812c4d37>] kobject_put+0x27/0x60
>  [<ffffffff813a21f7>] put_device+0x17/0x20
>  [<ffffffff81bda4f9>] hci_free_dev+0x29/0x30
>  [<ffffffff81928be6>] vhci_release+0x36/0x70
>  [<ffffffff810fb366>] fput+0xd6/0x1f0
>  [<ffffffff810f8fe6>] filp_close+0x66/0x90
>  [<ffffffff810f90a9>] sys_close+0x99/0xf0
>  [<ffffffff81d4c96b>] system_call_fastpath+0x16/0x1b
> 
> That timer was introduced with commit 6bd32326cda(Bluetooth: Use
> proper timer for hci command timout)
> 
> Timer seems to be running when the thing is closed. Removing the timer
> unconditionally fixes the problem. And yes, it needs to be fixed
> before the HCI_UP check.
> 
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> ---
>  net/bluetooth/hci_core.c |    4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> Index: linux-2.6/net/bluetooth/hci_core.c
> ===================================================================
> --- linux-2.6.orig/net/bluetooth/hci_core.c
> +++ linux-2.6/net/bluetooth/hci_core.c
> @@ -584,6 +584,9 @@ static int hci_dev_do_close(struct hci_d
>  	hci_req_cancel(hdev, ENODEV);
>  	hci_req_lock(hdev);
>  
> +	/* Stop timer, it might be running */
> +	del_timer_sync(&hdev->cmd_timer);
> +
>  	if (!test_and_clear_bit(HCI_UP, &hdev->flags)) {
>  		hci_req_unlock(hdev);
>  		return 0;
> @@ -623,7 +626,6 @@ static int hci_dev_do_close(struct hci_d
>  
>  	/* Drop last sent command */
>  	if (hdev->sent_cmd) {
> -		del_timer_sync(&hdev->cmd_timer);
>  		kfree_skb(hdev->sent_cmd);
>  		hdev->sent_cmd = NULL;
>  	}

Yes, this fixes the warning.

Tested-by: Ingo Molnar <mingo@elte.hu>

Thanks,

	Ingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [boot crash #2] Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 19:22             ` Ingo Molnar
@ 2011-03-24 19:27               ` Pekka Enberg
  2011-03-25 20:00                 ` Ingo Molnar
  2011-03-26 11:27                 ` Ingo Molnar
  0 siblings, 2 replies; 71+ messages in thread
From: Pekka Enberg @ 2011-03-24 19:27 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Thomas Gleixner, Christoph Lameter, torvalds, akpm, tj, npiggin,
	rientjes, linux-kernel, linux-mm

On Thu, Mar 24, 2011 at 9:22 PM, Ingo Molnar <mingo@elte.hu> wrote:
>
> * Thomas Gleixner <tglx@linutronix.de> wrote:
>
>> On Thu, 24 Mar 2011, Ingo Molnar wrote:
>> > RIP: 0010:[<ffffffff810570a9>]  [<ffffffff810570a9>] get_next_timer_interrupt+0x119/0x260
>>
>> That's a typical timer crash, but you were unable to debug it with
>> debugobjects because commit d3f661d6 broke those.
>>
>> Christoph, debugobjects do not need to run with interupts
>> disabled. And just because they were in that section to keep all the
>> debug stuff together does not make an excuse for not looking at the
>> code and just slopping it into some totally unrelated ifdef along with
>> a completely bogus comment.
>>
>> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
>> ---
>>  mm/slub.c |    4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> Index: linux-2.6/mm/slub.c
>> ===================================================================
>> --- linux-2.6.orig/mm/slub.c
>> +++ linux-2.6/mm/slub.c
>> @@ -849,11 +849,11 @@ static inline void slab_free_hook(struct
>>               local_irq_save(flags);
>>               kmemcheck_slab_free(s, x, s->objsize);
>>               debug_check_no_locks_freed(x, s->objsize);
>> -             if (!(s->flags & SLAB_DEBUG_OBJECTS))
>> -                     debug_check_no_obj_freed(x, s->objsize);
>>               local_irq_restore(flags);
>>       }
>>  #endif
>> +     if (!(s->flags & SLAB_DEBUG_OBJECTS))
>> +             debug_check_no_obj_freed(x, s->objsize);
>
> Thanks, this did the trick!
>
> Tested-by: Ingo Molnar <mingo@elte.hu>
>
> With this fix i got the warning below - pinpointing a net/bluetooth/hci_core.c
> timer bug.

Applied, thanks!

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 18:13         ` Pekka Enberg
@ 2011-03-24 19:27           ` Ingo Molnar
  2011-03-24 19:29             ` Pekka Enberg
  0 siblings, 1 reply; 71+ messages in thread
From: Ingo Molnar @ 2011-03-24 19:27 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Christoph Lameter, torvalds, akpm, tj, npiggin, rientjes,
	linux-kernel, linux-mm


* Pekka Enberg <penberg@kernel.org> wrote:

> >From dd1534455196d2a8f6c9c912db614e59986c9f0e Mon Sep 17 00:00:00 2001
> From: Pekka Enberg <penberg@kernel.org>
> Date: Thu, 24 Mar 2011 19:59:35 +0200
> Subject: [PATCH] x86: Early boot alternative instructions

hm, patch is whitespace damaged.

Also, the fix looks rather intrusive.

Could we please disable the lockless slub code first and then do everything 
with proper testing and re-enable the lockless code *after* we know that the 
alternatives fixup change is robust, etc? That way there's no rush needed.

There's a lot of code that could break from tweaking the alternatives code.

Thanks,

	Ingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 19:27           ` Ingo Molnar
@ 2011-03-24 19:29             ` Pekka Enberg
  0 siblings, 0 replies; 71+ messages in thread
From: Pekka Enberg @ 2011-03-24 19:29 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Christoph Lameter, torvalds, akpm, tj, npiggin, rientjes,
	linux-kernel, linux-mm

On Thu, Mar 24, 2011 at 9:27 PM, Ingo Molnar <mingo@elte.hu> wrote:
>
> * Pekka Enberg <penberg@kernel.org> wrote:
>
>> >From dd1534455196d2a8f6c9c912db614e59986c9f0e Mon Sep 17 00:00:00 2001
>> From: Pekka Enberg <penberg@kernel.org>
>> Date: Thu, 24 Mar 2011 19:59:35 +0200
>> Subject: [PATCH] x86: Early boot alternative instructions
>
> hm, patch is whitespace damaged.
>
> Also, the fix looks rather intrusive.
>
> Could we please disable the lockless slub code first and then do everything
> with proper testing and re-enable the lockless code *after* we know that the
> alternatives fixup change is robust, etc? That way there's no rush needed.
>
> There's a lot of code that could break from tweaking the alternatives code.

Just ignore this patch. As explained by Christoph, if alternative_io()
was the issue, we'd see the crash in kmem_cache_alloc().

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 19:14                               ` Pekka Enberg
@ 2011-03-24 19:36                                 ` Ingo Molnar
  2011-03-24 19:41                                   ` Pekka Enberg
  0 siblings, 1 reply; 71+ messages in thread
From: Ingo Molnar @ 2011-03-24 19:36 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Christoph Lameter, Eric Dumazet, torvalds, akpm, tj, npiggin,
	rientjes, linux-kernel, linux-mm


* Pekka Enberg <penberg@kernel.org> wrote:

> > -#if defined(CONFIG_CMPXCHG_LOCAL) && defined(CONFIG_PREEMPT)
> > +#ifdef CONFIG_CMPXCHG_LOCAL
> >        int cpu;
> >
> >        for_each_possible_cpu(cpu)
> >
> 
> Ingo, can you try this patch out, please? I'm compiling here but
> unfortunately I'm stuck with a really slow laptop...

Yes, it does the trick with the config i sent.

Tested-by: Ingo Molnar <mingo@elte.hu>

Thanks,

	Ingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 19:36                                 ` Ingo Molnar
@ 2011-03-24 19:41                                   ` Pekka Enberg
  2011-03-24 19:51                                     ` Christoph Lameter
  0 siblings, 1 reply; 71+ messages in thread
From: Pekka Enberg @ 2011-03-24 19:41 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Christoph Lameter, Eric Dumazet, torvalds, akpm, tj, npiggin,
	rientjes, linux-kernel, linux-mm

On Thu, Mar 24, 2011 at 9:36 PM, Ingo Molnar <mingo@elte.hu> wrote:
>
> * Pekka Enberg <penberg@kernel.org> wrote:
>
>> > -#if defined(CONFIG_CMPXCHG_LOCAL) && defined(CONFIG_PREEMPT)
>> > +#ifdef CONFIG_CMPXCHG_LOCAL
>> >        int cpu;
>> >
>> >        for_each_possible_cpu(cpu)
>> >
>>
>> Ingo, can you try this patch out, please? I'm compiling here but
>> unfortunately I'm stuck with a really slow laptop...
>
> Yes, it does the trick with the config i sent.
>
> Tested-by: Ingo Molnar <mingo@elte.hu>

Thanks, Ingo! Christoph, may I have your sign-off for the patch and
I'll send it to Linus?

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 19:41                                   ` Pekka Enberg
@ 2011-03-24 19:51                                     ` Christoph Lameter
  2011-03-24 20:01                                       ` Ingo Molnar
                                                         ` (2 more replies)
  0 siblings, 3 replies; 71+ messages in thread
From: Christoph Lameter @ 2011-03-24 19:51 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Ingo Molnar, Eric Dumazet, torvalds, akpm, tj, npiggin, rientjes,
	linux-kernel, linux-mm

On Thu, 24 Mar 2011, Pekka Enberg wrote:

> Thanks, Ingo! Christoph, may I have your sign-off for the patch and
> I'll send it to Linus?


Subject: SLUB: Write to per cpu data when allocating it

It turns out that the cmpxchg16b emulation has to access vmalloced
percpu memory with interrupts disabled. If the memory has never
been touched before then the fault necessary to establish the
mapping will not to occur and the kernel will fail on boot.

Fix that by reusing the CONFIG_PREEMPT code that writes the
cpu number into a field on every cpu. Writing to the per cpu
area before causes the mapping to be established before we get
to a cmpxchg16b emulation.

Tested-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Christoph Lameter <cl@linux.com>

---
 mm/slub.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6/mm/slub.c
===================================================================
--- linux-2.6.orig/mm/slub.c	2011-03-24 14:03:10.000000000 -0500
+++ linux-2.6/mm/slub.c	2011-03-24 14:04:08.000000000 -0500
@@ -1604,7 +1604,7 @@ static inline void note_cmpxchg_failure(

 void init_kmem_cache_cpus(struct kmem_cache *s)
 {
-#if defined(CONFIG_CMPXCHG_LOCAL) && defined(CONFIG_PREEMPT)
+#ifdef CONFIG_CMPXCHG_LOCAL
 	int cpu;

 	for_each_possible_cpu(cpu)

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 19:51                                     ` Christoph Lameter
@ 2011-03-24 20:01                                       ` Ingo Molnar
  2011-03-24 20:08                                       ` Eric Dumazet
  2011-03-27  9:59                                       ` Avi Kivity
  2 siblings, 0 replies; 71+ messages in thread
From: Ingo Molnar @ 2011-03-24 20:01 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Pekka Enberg, Eric Dumazet, torvalds, akpm, tj, npiggin, rientjes,
	linux-kernel, linux-mm


* Christoph Lameter <cl@linux.com> wrote:

> On Thu, 24 Mar 2011, Pekka Enberg wrote:
> 
> > Thanks, Ingo! Christoph, may I have your sign-off for the patch and
> > I'll send it to Linus?
> 
> 
> Subject: SLUB: Write to per cpu data when allocating it

The commit title should obviously start with "SLUB: Fix boot crash ..."

Thanks,

	Ingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: Call Trace:Re: [boot crash #2] Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 19:23             ` Ingo Molnar
@ 2011-03-24 20:04               ` Gustavo F. Padovan
  0 siblings, 0 replies; 71+ messages in thread
From: Gustavo F. Padovan @ 2011-03-24 20:04 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Thomas Gleixner, Pekka Enberg, Christoph Lameter, Linus Torvalds,
	Andrew Morton, Tejun Heo, npiggin, rientjes, LKML, linux-mm,
	Ville Tervo

* Ingo Molnar <mingo@elte.hu> [2011-03-24 20:23:33 +0100]:

> 
> * Thomas Gleixner <tglx@linutronix.de> wrote:
> 
> > After we made debugobjects working again, we got the following:
> > 
> > WARNING: at lib/debugobjects.c:262 debug_print_object+0x8e/0xb0()
> > Hardware name: System Product Name
> > ODEBUG: free active (active state 0) object type: timer_list hint: hci_cmd_timer+0x0/0x60
> > Pid: 2125, comm: dmsetup Tainted: G        W   2.6.38-06707-gc62b389 #110375
> > Call Trace:
> >  [<ffffffff8104700a>] warn_slowpath_common+0x7a/0xb0
> >  [<ffffffff810470b6>] warn_slowpath_fmt+0x46/0x50
> >  [<ffffffff812d3a5e>] debug_print_object+0x8e/0xb0
> >  [<ffffffff81bd8810>] ? hci_cmd_timer+0x0/0x60
> >  [<ffffffff812d4685>] debug_check_no_obj_freed+0x125/0x230
> >  [<ffffffff810f1063>] ? check_object+0xb3/0x2b0
> >  [<ffffffff810f3630>] kfree+0x150/0x190
> >  [<ffffffff81be4d06>] ? bt_host_release+0x16/0x20
> >  [<ffffffff81be4d06>] bt_host_release+0x16/0x20
> >  [<ffffffff813a1907>] device_release+0x27/0xa0
> >  [<ffffffff812c519c>] kobject_release+0x4c/0xa0
> >  [<ffffffff812c5150>] ? kobject_release+0x0/0xa0
> >  [<ffffffff812c61f6>] kref_put+0x36/0x70
> >  [<ffffffff812c4d37>] kobject_put+0x27/0x60
> >  [<ffffffff813a21f7>] put_device+0x17/0x20
> >  [<ffffffff81bda4f9>] hci_free_dev+0x29/0x30
> >  [<ffffffff81928be6>] vhci_release+0x36/0x70
> >  [<ffffffff810fb366>] fput+0xd6/0x1f0
> >  [<ffffffff810f8fe6>] filp_close+0x66/0x90
> >  [<ffffffff810f90a9>] sys_close+0x99/0xf0
> >  [<ffffffff81d4c96b>] system_call_fastpath+0x16/0x1b
> > 
> > That timer was introduced with commit 6bd32326cda(Bluetooth: Use
> > proper timer for hci command timout)
> > 
> > Timer seems to be running when the thing is closed. Removing the timer
> > unconditionally fixes the problem. And yes, it needs to be fixed
> > before the HCI_UP check.
> > 
> > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> > ---
> >  net/bluetooth/hci_core.c |    4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> > 
> > Index: linux-2.6/net/bluetooth/hci_core.c
> > ===================================================================
> > --- linux-2.6.orig/net/bluetooth/hci_core.c
> > +++ linux-2.6/net/bluetooth/hci_core.c
> > @@ -584,6 +584,9 @@ static int hci_dev_do_close(struct hci_d
> >  	hci_req_cancel(hdev, ENODEV);
> >  	hci_req_lock(hdev);
> >  
> > +	/* Stop timer, it might be running */
> > +	del_timer_sync(&hdev->cmd_timer);
> > +
> >  	if (!test_and_clear_bit(HCI_UP, &hdev->flags)) {
> >  		hci_req_unlock(hdev);
> >  		return 0;
> > @@ -623,7 +626,6 @@ static int hci_dev_do_close(struct hci_d
> >  
> >  	/* Drop last sent command */
> >  	if (hdev->sent_cmd) {
> > -		del_timer_sync(&hdev->cmd_timer);
> >  		kfree_skb(hdev->sent_cmd);
> >  		hdev->sent_cmd = NULL;
> >  	}
> 
> Yes, this fixes the warning.
> 
> Tested-by: Ingo Molnar <mingo@elte.hu>

I applied this patch to the Bluetooth tree, it should reach mailine soon.
But if you want to overstep me to have this fixed quickly, then:

Acked-by: Gustavo F. Padovan <padovan@profusion.mobi>

-- 
Gustavo F. Padovan
http://profusion.mobi

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 19:51                                     ` Christoph Lameter
  2011-03-24 20:01                                       ` Ingo Molnar
@ 2011-03-24 20:08                                       ` Eric Dumazet
  2011-03-24 20:43                                         ` Christoph Lameter
  2011-03-27  9:59                                       ` Avi Kivity
  2 siblings, 1 reply; 71+ messages in thread
From: Eric Dumazet @ 2011-03-24 20:08 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Pekka Enberg, Ingo Molnar, torvalds, akpm, tj, npiggin, rientjes,
	linux-kernel, linux-mm

Le jeudi 24 mars 2011 A  14:51 -0500, Christoph Lameter a A(C)crit :
> On Thu, 24 Mar 2011, Pekka Enberg wrote:
> 
> > Thanks, Ingo! Christoph, may I have your sign-off for the patch and
> > I'll send it to Linus?
> 
> 
> Subject: SLUB: Write to per cpu data when allocating it
> 
> It turns out that the cmpxchg16b emulation has to access vmalloced
> percpu memory with interrupts disabled. If the memory has never
> been touched before then the fault necessary to establish the
> mapping will not to occur and the kernel will fail on boot.
> 
> Fix that by reusing the CONFIG_PREEMPT code that writes the
> cpu number into a field on every cpu. Writing to the per cpu
> area before causes the mapping to be established before we get
> to a cmpxchg16b emulation.
> 


Thats strange, alloc_percpu() is supposed to zero the memory already ...

Are you sure its really this problem of interrupts being disabled ?



--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 20:08                                       ` Eric Dumazet
@ 2011-03-24 20:43                                         ` Christoph Lameter
  2011-03-25 15:13                                           ` Tejun Heo
  0 siblings, 1 reply; 71+ messages in thread
From: Christoph Lameter @ 2011-03-24 20:43 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: Pekka Enberg, Ingo Molnar, torvalds, akpm, Tejun Heo, npiggin,
	David Rientjes, linux-kernel, linux-mm

On Thu, 24 Mar 2011, Eric Dumazet wrote:

> Thats strange, alloc_percpu() is supposed to zero the memory already ...

True.

> Are you sure its really this problem of interrupts being disabled ?

Guess so since Ingo and Pekka reported that it fixed the problem.

Tejun: Can you help us with this mystery?

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 20:43                                         ` Christoph Lameter
@ 2011-03-25 15:13                                           ` Tejun Heo
  2011-03-25 15:45                                             ` Christoph Lameter
  0 siblings, 1 reply; 71+ messages in thread
From: Tejun Heo @ 2011-03-25 15:13 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Eric Dumazet, Pekka Enberg, Ingo Molnar, torvalds, akpm, npiggin,
	David Rientjes, linux-kernel, linux-mm

Hello,

On Thu, Mar 24, 2011 at 03:43:25PM -0500, Christoph Lameter wrote:
> > Thats strange, alloc_percpu() is supposed to zero the memory already ...
> 
> True.
> 
> > Are you sure its really this problem of interrupts being disabled ?
> 
> Guess so since Ingo and Pekka reported that it fixed the problem.
> 
> Tejun: Can you help us with this mystery?

I've looked through the code but can't figure out what the difference
is.  The memset code is in mm/percpu-vm.c::pcpu_populate_chunk().

	for_each_possible_cpu(cpu)
		memset((void *)pcpu_chunk_addr(chunk, cpu, 0) + off, 0, size);

(pcpu_chunk_addr(chunk, cpu, 0) + off) is the same vaddr as will be
obtained by per_cpu_ptr(ptr, cpu), so all allocated memory regions are
accessed before being returned.  Dazed and confused (seems like the
theme of today for me).

Could it be that the vmalloc page is taking more than one faults?

Thanks.

-- 
tejun

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-25 15:13                                           ` Tejun Heo
@ 2011-03-25 15:45                                             ` Christoph Lameter
  0 siblings, 0 replies; 71+ messages in thread
From: Christoph Lameter @ 2011-03-25 15:45 UTC (permalink / raw)
  To: Tejun Heo
  Cc: Eric Dumazet, Pekka Enberg, Ingo Molnar, torvalds, akpm, npiggin,
	David Rientjes, linux-kernel, linux-mm

On Fri, 25 Mar 2011, Tejun Heo wrote:

> I've looked through the code but can't figure out what the difference
> is.  The memset code is in mm/percpu-vm.c::pcpu_populate_chunk().
>
> 	for_each_possible_cpu(cpu)
> 		memset((void *)pcpu_chunk_addr(chunk, cpu, 0) + off, 0, size);
>
> (pcpu_chunk_addr(chunk, cpu, 0) + off) is the same vaddr as will be
> obtained by per_cpu_ptr(ptr, cpu), so all allocated memory regions are
> accessed before being returned.  Dazed and confused (seems like the
> theme of today for me).
>
> Could it be that the vmalloc page is taking more than one faults?

The vmalloc page only contains per cpu data from a single cpu right?

Could anyone have set write access restrictions that would require a fault
to get rid of?

Or does an access from a different cpu require a "page table sync"?

There is some rather strange looking code in arch/x86/mm/fault.c:vmalloc_fault



--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [boot crash #2] Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 19:27               ` Pekka Enberg
@ 2011-03-25 20:00                 ` Ingo Molnar
  2011-03-26 11:27                 ` Ingo Molnar
  1 sibling, 0 replies; 71+ messages in thread
From: Ingo Molnar @ 2011-03-25 20:00 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Thomas Gleixner, Christoph Lameter, torvalds, akpm, tj, npiggin,
	rientjes, linux-kernel, linux-mm


* Pekka Enberg <penberg@kernel.org> wrote:

> On Thu, Mar 24, 2011 at 9:22 PM, Ingo Molnar <mingo@elte.hu> wrote:
> >
> > * Thomas Gleixner <tglx@linutronix.de> wrote:
> >
> >> On Thu, 24 Mar 2011, Ingo Molnar wrote:
> >> > RIP: 0010:[<ffffffff810570a9>]  [<ffffffff810570a9>] get_next_timer_interrupt+0x119/0x260
> >>
> >> That's a typical timer crash, but you were unable to debug it with
> >> debugobjects because commit d3f661d6 broke those.
> >>
> >> Christoph, debugobjects do not need to run with interupts
> >> disabled. And just because they were in that section to keep all the
> >> debug stuff together does not make an excuse for not looking at the
> >> code and just slopping it into some totally unrelated ifdef along with
> >> a completely bogus comment.
> >>
> >> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> >> ---
> >>  mm/slub.c |    4 ++--
> >>  1 file changed, 2 insertions(+), 2 deletions(-)
> >>
> >> Index: linux-2.6/mm/slub.c
> >> ===================================================================
> >> --- linux-2.6.orig/mm/slub.c
> >> +++ linux-2.6/mm/slub.c
> >> @@ -849,11 +849,11 @@ static inline void slab_free_hook(struct
> >>               local_irq_save(flags);
> >>               kmemcheck_slab_free(s, x, s->objsize);
> >>               debug_check_no_locks_freed(x, s->objsize);
> >> -             if (!(s->flags & SLAB_DEBUG_OBJECTS))
> >> -                     debug_check_no_obj_freed(x, s->objsize);
> >>               local_irq_restore(flags);
> >>       }
> >>  #endif
> >> +     if (!(s->flags & SLAB_DEBUG_OBJECTS))
> >> +             debug_check_no_obj_freed(x, s->objsize);
> >
> > Thanks, this did the trick!
> >
> > Tested-by: Ingo Molnar <mingo@elte.hu>
> >
> > With this fix i got the warning below - pinpointing a net/bluetooth/hci_core.c
> > timer bug.
> 
> Applied, thanks!

Just an update: all SLAB/SLUB problems appear to be fixed with the latest 
patches, so i'm a happy camper!

Thanks Pekka,

	Ingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [boot crash #2] Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 19:27               ` Pekka Enberg
  2011-03-25 20:00                 ` Ingo Molnar
@ 2011-03-26 11:27                 ` Ingo Molnar
  2011-03-26 11:47                   ` [PATCH] slub: Disable the lockless allocator Ingo Molnar
  2011-03-26 17:58                   ` [boot crash #2] Re: [GIT PULL] SLAB changes for v2.6.39-rc1 Linus Torvalds
  1 sibling, 2 replies; 71+ messages in thread
From: Ingo Molnar @ 2011-03-26 11:27 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Thomas Gleixner, Christoph Lameter, torvalds, akpm, tj, npiggin,
	rientjes, linux-kernel, linux-mm

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


ok, bad news - the bootcrash has come back - see the crashlog attached below. 
Config attached as well.

I reproduced this on upstream 16c29dafcc86 - i.e. all the latest Slab fixes 
applied.

Thanks,

	Ingo

------------------->
Linux version 2.6.38-08569-g16c29da (mingo@sirius) (gcc version 4.6.0 20110304 (Red Hat 4.6.0-0.12) (GCC) ) #110593 Sat Mar 26 13:46:21 CET 2011
Command line: root=/dev/sda6 earlyprintk=ttyS0,115200 console=ttyS0,115200 debug initcall_debug sysrq_always_enabled ignore_loglevel selinux=0 nmi_watchdog=1 panic=1 3
KERNEL supported cpus:
  Intel GenuineIntel
  AMD AuthenticAMD
  Centaur CentaurHauls
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
 BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000003fff0000 (usable)
 BIOS-e820: 000000003fff0000 - 000000003fff3000 (ACPI NVS)
 BIOS-e820: 000000003fff3000 - 0000000040000000 (ACPI data)
 BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
 BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
bootconsole [earlyser0] enabled
debug: ignoring loglevel setting.
NX (Execute Disable) protection: active
DMI 2.3 present.
DMI: System manufacturer System Product Name/A8N-E, BIOS ASUS A8N-E ACPI BIOS Revision 1008 08/22/2005
e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
last_pfn = 0x3fff0 max_arch_pfn = 0x400000000
MTRR default type: uncachable
MTRR fixed ranges enabled:
  00000-9FFFF write-back
  A0000-BFFFF uncachable
  C0000-C7FFF write-protect
  C8000-FFFFF uncachable
MTRR variable ranges enabled:
  0 base 0000000000 mask FFC0000000 write-back
  1 disabled
  2 disabled
  3 disabled
  4 disabled
  5 disabled
  6 disabled
  7 disabled
x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
found SMP MP-table at [ffff8800000f5680] f5680
initial memory mapped : 0 - 20000000
Base memory trampoline at [ffff88000009d000] 9d000 size 8192
init_memory_mapping: 0000000000000000-000000003fff0000
 0000000000 - 003fe00000 page 2M
 003fe00000 - 003fff0000 page 4k
kernel direct mapping tables up to 3fff0000 @ 3ffed000-3fff0000
 [ffffea0000000000-ffffea0000dfffff] PMD -> [ffff88003e600000-ffff88003f3fffff] on node 0
Zone PFN ranges:
  DMA      0x00000010 -> 0x00001000
  DMA32    0x00001000 -> 0x00100000
  Normal   empty
Movable zone start PFN for each node
early_node_map[2] active PFN ranges
    0: 0x00000010 -> 0x0000009f
    0: 0x00000100 -> 0x0003fff0
On node 0 totalpages: 262015
  DMA zone: 56 pages used for memmap
  DMA zone: 2 pages reserved
  DMA zone: 3925 pages, LIFO batch:0
  DMA32 zone: 3528 pages used for memmap
  DMA32 zone: 254504 pages, LIFO batch:31
SFI: Simple Firmware Interface v0.81 http://simplefirmware.org
Intel MultiProcessor Specification v1.4
MPTABLE: OEM ID: OEM00000
MPTABLE: Product ID: PROD00000000
MPTABLE: APIC at: 0xFEE00000
Processor #0 (Bootup-CPU)
Processor #1
ACPI: NR_CPUS/possible_cpus limit of 1 reached.  Processor 1/0x1 ignored.
IOAPIC[0]: apic_id 2, version 17, address 0xfec00000, GSI 0-23
Processors: 1
nr_irqs_gsi: 40
Allocating PCI resources starting at 40000000 (gap: 40000000:a0000000)
Booting paravirtualized kernel on bare hardware
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 258429
Kernel command line: root=/dev/sda6 earlyprintk=ttyS0,115200 console=ttyS0,115200 debug initcall_debug sysrq_always_enabled ignore_loglevel selinux=0 nmi_watchdog=1 panic=1 3
sysrq: sysrq always enabled.
PID hash table entries: 4096 (order: 3, 32768 bytes)
Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
Memory: 1011352k/1048512k available (11595k kernel code, 452k absent, 36708k reserved, 6343k data, 1024k init)
BUG: unable to handle kernel paging request at ffff87ffc1fdd020
IP: [<ffffffff812b50c2>] this_cpu_cmpxchg16b_emu+0x2/0x1c
PGD 0 
Oops: 0000 [#1] 
last sysfs file: 
CPU 0 
Pid: 0, comm: swapper Not tainted 2.6.38-08569-g16c29da #110593 System manufacturer System Product Name/A8N-E
RIP: 0010:[<ffffffff812b50c2>]  [<ffffffff812b50c2>] this_cpu_cmpxchg16b_emu+0x2/0x1c
RSP: 0000:ffffffff82003e78  EFLAGS: 00010086
RAX: ffff88003f8020c0 RBX: ffff88003f802180 RCX: 0000000000000002
RDX: 0000000000000001 RSI: ffff88003ffc2020 RDI: ffffffff8219be43
RBP: ffffffff82003ed8 R08: 0000000000000000 R09: ffffea0000de40d0
R10: ffffffff821666b0 R11: ffffffff821666b0 R12: ffff88003f8020c0
R13: ffff88003f802000 R14: ffffffffffffffff R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffffffff8201b000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: ffff87ffc1fdd020 CR3: 000000000200b000 CR4: 00000000000006b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process swapper (pid: 0, threadinfo ffffffff82002000, task ffffffff82015300)
Stack:
 0000000000000086 ffffffff810dcd03 ffffffffffffffff 0000000000093e30
 ffffffff82003ef8 0000000000000000 00000000000000c0 0000000000000000
 ffff88003f800000 ffff88003f8000c0 ffffffffffffffff 0000000000093e30
Call Trace:
 [<ffffffff810dcd03>] ? kmem_cache_alloc+0x53/0x130
 [<ffffffff8219be43>] kmem_cache_init+0xeb/0x2b0
 [<ffffffff821869eb>] start_kernel+0x1cb/0x322
 [<ffffffff82186338>] x86_64_start_reservations+0xfe/0x102
 [<ffffffff82186140>] ? early_idt_handlers+0x140/0x140
 [<ffffffff82186409>] x86_64_start_kernel+0xcd/0xdc
Code: 47 08 48 89 47 10 48 89 47 18 48 89 47 20 48 89 47 28 48 89 47 30 48 89 47 38 48 8d 7f 40 75 d9 90 c3 90 90 90 90 90 90 90 9c fa 
 48 3b 06 75 14 65 48 3b 56 08 75 0d 65 48 89 1e 65 48 89 4e 
RIP  [<ffffffff812b50c2>] this_cpu_cmpxchg16b_emu+0x2/0x1c
 RSP <ffffffff82003e78>
CR2: ffff87ffc1fdd020
---[ end trace a7919e7f17c0a725 ]---
Kernel panic - not syncing: Attempted to kill the idle task!
Pid: 0, comm: swapper Tainted: G      D     2.6.38-08569-g16c29da #110593
Call Trace:
 [<ffffffff81b23b97>] panic+0x91/0x18c
 [<ffffffff81042ce3>] do_exit+0x323/0x340
 [<ffffffff81005786>] oops_end+0x96/0xe0
 [<ffffffff81b233a5>] no_context+0x141/0x14e
 [<ffffffff81b2353d>] __bad_area_nosemaphore+0x18b/0x1ae
 [<ffffffff81b23573>] bad_area_nosemaphore+0x13/0x15
 [<ffffffff8101f561>] do_page_fault+0x2a1/0x4b0
 [<ffffffff810b1703>] ? get_page_from_freelist+0x1a3/0x3d0
 [<ffffffff810c3089>] ? pcpu_chunk_slot+0x9/0x50
 [<ffffffff81b4f6a5>] page_fault+0x25/0x30
 [<ffffffff8219be43>] ? kmem_cache_init+0xeb/0x2b0
 [<ffffffff812b50c2>] ? this_cpu_cmpxchg16b_emu+0x2/0x1c
 [<ffffffff810dcd03>] ? kmem_cache_alloc+0x53/0x130
 [<ffffffff8219be43>] kmem_cache_init+0xeb/0x2b0
 [<ffffffff821869eb>] start_kernel+0x1cb/0x322
 [<ffffffff82186338>] x86_64_start_reservations+0xfe/0x102
 [<ffffffff82186140>] ? early_idt_handlers+0x140/0x140
 [<ffffffff82186409>] x86_64_start_kernel+0xcd/0xdc
Rebooting in 1 seconds..

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

#
# Automatically generated make config: don't edit
# Linux/x86_64 2.6.38 Kernel Configuration
# Sat Mar 26 13:44:49 2011
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ZONE_DMA32=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
# CONFIG_KTIME_SCALAR is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
# CONFIG_KERNEL_GZIP is not set
CONFIG_KERNEL_BZIP2=y
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_SWAP is not set
# CONFIG_SYSVIPC is not set
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_FHANDLE=y
CONFIG_TASKSTATS=y
# CONFIG_TASK_DELAY_ACCT is not set
CONFIG_TASK_XACCT=y
# CONFIG_TASK_IO_ACCOUNTING is not set
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_WATCH=y
CONFIG_AUDIT_TREE=y
CONFIG_HAVE_GENERIC_HARDIRQS=y

#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_HAVE_SPARSE_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y

#
# RCU Subsystem
#
CONFIG_TINY_RCU=y
# CONFIG_PREEMPT_RCU is not set
CONFIG_RCU_TRACE=y
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=20
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_CGROUP_NS is not set
# CONFIG_CGROUP_FREEZER is not set
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
# CONFIG_CGROUP_MEM_RES_CTLR is not set
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_BLK_CGROUP=y
CONFIG_DEBUG_BLK_CGROUP=y
# CONFIG_NAMESPACES is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SYSFS_DEPRECATED=y
# CONFIG_SYSFS_DEPRECATED_V2 is not set
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_ANON_INODES=y
CONFIG_EXPERT=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
# CONFIG_ELF_CORE is not set
# CONFIG_PCSPKR_PLATFORM is not set
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
# CONFIG_AIO is not set
CONFIG_HAVE_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_PERF_COUNTERS is not set
CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_PCI_QUIRKS is not set
CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
# CONFIG_OPROFILE is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_JUMP_LABEL is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y

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

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ 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_INLINE_SPIN_UNLOCK=y
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
# 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=y
# CONFIG_INLINE_READ_UNLOCK_BH is not set
CONFIG_INLINE_READ_UNLOCK_IRQ=y
# 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=y
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
# CONFIG_MUTEX_SPIN_ON_OWNER is not set
CONFIG_FREEZER=y

#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
# CONFIG_HIGH_RES_TIMERS is not set
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
# CONFIG_SMP is not set
CONFIG_X86_MPPARSE=y
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_VSMP is not set
# CONFIG_SCHED_OMIT_FRAME_POINTER is not set
CONFIG_PARAVIRT_GUEST=y
# CONFIG_XEN is not set
# CONFIG_XEN_PRIVILEGED_GUEST is not set
CONFIG_KVM_CLOCK=y
# CONFIG_KVM_GUEST is not set
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_CLOCK=y
CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_CMPXCHG=y
CONFIG_CMPXCHG_LOCAL=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_PROCESSOR_SELECT=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
# CONFIG_GART_IOMMU is not set
# CONFIG_CALGARY_IOMMU is not set
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
# CONFIG_IOMMU_API is not set
CONFIG_NR_CPUS=1
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
# CONFIG_X86_MCE is not set
# CONFIG_I8K is not set
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=y
# CONFIG_X86_CPUID is not set
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
# CONFIG_DIRECT_GBPAGES is not set
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_MEMORY_PROBE=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_SPARSE=y
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
CONFIG_NEED_PER_CPU_KM=y
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_X86_RESERVE_LOW=64
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_SECCOMP=y
CONFIG_CC_STACKPROTECTOR=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
# CONFIG_SCHED_HRTICK is not set
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_COMPAT_VDSO=y
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE=""
# CONFIG_CMDLINE_OVERRIDE is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y

#
# Power management and ACPI options
#
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_PM_SLEEP=y
CONFIG_PM_RUNTIME=y
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
# CONFIG_ACPI is not set
CONFIG_SFI=y

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

#
# CPUFreq processor drivers
#
CONFIG_X86_P4_CLOCKMOD=y

#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=y
# CONFIG_CPU_IDLE is not set

#
# Memory power savings
#
# CONFIG_I7300_IDLE is not set

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not set
# CONFIG_PCI_STUB is not set
CONFIG_HT_IRQ=y
CONFIG_PCI_IOV=y
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set
# CONFIG_RAPIDIO is not set

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
# CONFIG_HAVE_AOUT is not set
CONFIG_BINFMT_MISC=y
CONFIG_IA32_EMULATION=y
CONFIG_IA32_AOUT=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_HAVE_TEXT_POKE_SMP=y
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_IPCOMP=y
CONFIG_NET_KEY=y
# CONFIG_NET_KEY_MIGRATE is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
CONFIG_IP_ADVANCED_ROUTER=y
# CONFIG_IP_FIB_TRIE_STATS is not set
CONFIG_IP_MULTIPLE_TABLES=y
# CONFIG_IP_ROUTE_MULTIPATH is not set
# CONFIG_IP_ROUTE_VERBOSE is not set
CONFIG_IP_ROUTE_CLASSID=y
CONFIG_IP_PNP=y
# CONFIG_IP_PNP_DHCP is not set
CONFIG_IP_PNP_BOOTP=y
# CONFIG_IP_PNP_RARP is not set
CONFIG_NET_IPIP=y
# CONFIG_NET_IPGRE_DEMUX is not set
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=y
# CONFIG_INET_ESP is not set
CONFIG_INET_IPCOMP=y
CONFIG_INET_XFRM_TUNNEL=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
CONFIG_INET_XFRM_MODE_BEET=y
CONFIG_INET_LRO=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
CONFIG_IPV6=y
CONFIG_IPV6_PRIVACY=y
# CONFIG_IPV6_ROUTER_PREF is not set
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
CONFIG_INET6_AH=y
# CONFIG_INET6_ESP is not set
CONFIG_INET6_IPCOMP=y
# CONFIG_IPV6_MIP6 is not set
CONFIG_INET6_XFRM_TUNNEL=y
CONFIG_INET6_TUNNEL=y
# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
CONFIG_INET6_XFRM_MODE_BEET=y
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=y
# CONFIG_IPV6_SIT is not set
CONFIG_IPV6_TUNNEL=y
# CONFIG_IPV6_MULTIPLE_TABLES is not set
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_NETLABEL=y
CONFIG_NETWORK_SECMARK=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_NETLINK_QUEUE=y
# CONFIG_NETFILTER_NETLINK_LOG is not set
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CONNTRACK_MARK=y
# CONFIG_NF_CONNTRACK_SECMARK is not set
# CONFIG_NF_CONNTRACK_EVENTS is not set
CONFIG_NF_CONNTRACK_TIMESTAMP=y
# CONFIG_NF_CT_PROTO_DCCP is not set
CONFIG_NF_CT_PROTO_GRE=y
# CONFIG_NF_CT_PROTO_SCTP is not set
# CONFIG_NF_CT_PROTO_UDPLITE is not set
CONFIG_NF_CONNTRACK_AMANDA=y
# CONFIG_NF_CONNTRACK_FTP is not set
# CONFIG_NF_CONNTRACK_H323 is not set
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_BROADCAST=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=y
CONFIG_NF_CONNTRACK_SNMP=y
CONFIG_NF_CONNTRACK_PPTP=y
# CONFIG_NF_CONNTRACK_SANE is not set
CONFIG_NF_CONNTRACK_SIP=y
CONFIG_NF_CONNTRACK_TFTP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NETFILTER_XTABLES=y

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=y
CONFIG_NETFILTER_XT_CONNMARK=y
# CONFIG_NETFILTER_XT_SET is not set

#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set
CONFIG_NETFILTER_XT_TARGET_MARK=y
# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
# CONFIG_NETFILTER_XT_TARGET_TEE is not set
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y

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

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

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

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

#
# IP: Netfilter Configuration
#
# CONFIG_NF_DEFRAG_IPV4 is not set
# CONFIG_NF_CONNTRACK_IPV4 is not set
CONFIG_IP_NF_QUEUE=y
# CONFIG_IP_NF_IPTABLES is not set
CONFIG_IP_NF_ARPTABLES=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_IP_NF_ARP_MANGLE=y

#
# IPv6: Netfilter Configuration
#
# CONFIG_NF_DEFRAG_IPV6 is not set
# CONFIG_NF_CONNTRACK_IPV6 is not set
CONFIG_IP6_NF_QUEUE=y
# CONFIG_IP6_NF_IPTABLES is not set
CONFIG_BRIDGE_NF_EBTABLES=y
# CONFIG_BRIDGE_EBT_BROUTE is not set
# CONFIG_BRIDGE_EBT_T_FILTER is not set
CONFIG_BRIDGE_EBT_T_NAT=y
# CONFIG_BRIDGE_EBT_802_3 is not set
CONFIG_BRIDGE_EBT_AMONG=y
CONFIG_BRIDGE_EBT_ARP=y
CONFIG_BRIDGE_EBT_IP=y
CONFIG_BRIDGE_EBT_IP6=y
CONFIG_BRIDGE_EBT_LIMIT=y
CONFIG_BRIDGE_EBT_MARK=y
CONFIG_BRIDGE_EBT_PKTTYPE=y
# CONFIG_BRIDGE_EBT_STP is not set
# CONFIG_BRIDGE_EBT_VLAN is not set
# CONFIG_BRIDGE_EBT_ARPREPLY is not set
CONFIG_BRIDGE_EBT_DNAT=y
CONFIG_BRIDGE_EBT_MARK_T=y
CONFIG_BRIDGE_EBT_REDIRECT=y
# CONFIG_BRIDGE_EBT_SNAT is not set
# CONFIG_BRIDGE_EBT_LOG is not set
# CONFIG_BRIDGE_EBT_ULOG is not set
# CONFIG_BRIDGE_EBT_NFLOG is not set
CONFIG_IP_DCCP=y
CONFIG_INET_DCCP_DIAG=y

#
# DCCP CCIDs Configuration (EXPERIMENTAL)
#
# CONFIG_IP_DCCP_CCID2_DEBUG is not set
# CONFIG_IP_DCCP_CCID3 is not set
CONFIG_IP_SCTP=y
CONFIG_SCTP_DBG_MSG=y
# CONFIG_SCTP_DBG_OBJCNT is not set
CONFIG_SCTP_HMAC_NONE=y
# CONFIG_SCTP_HMAC_SHA1 is not set
# CONFIG_SCTP_HMAC_MD5 is not set
# CONFIG_RDS is not set
# CONFIG_TIPC is not set
CONFIG_ATM=y
CONFIG_ATM_CLIP=y
CONFIG_ATM_CLIP_NO_ICMP=y
# CONFIG_ATM_LANE is not set
CONFIG_ATM_BR2684=y
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_L2TP=y
# CONFIG_L2TP_DEBUGFS is not set
# CONFIG_L2TP_V3 is not set
CONFIG_STP=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_NET_DSA=y
# CONFIG_NET_DSA_TAG_DSA is not set
CONFIG_NET_DSA_TAG_EDSA=y
CONFIG_NET_DSA_TAG_TRAILER=y
CONFIG_NET_DSA_MV88E6XXX=y
CONFIG_NET_DSA_MV88E6060=y
# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set
# CONFIG_NET_DSA_MV88E6131 is not set
CONFIG_NET_DSA_MV88E6123_61_65=y
CONFIG_VLAN_8021Q=y
# CONFIG_VLAN_8021Q_GVRP is not set
# CONFIG_DECNET is not set
CONFIG_LLC=y
# CONFIG_LLC2 is not set
CONFIG_IPX=y
CONFIG_IPX_INTERN=y
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
CONFIG_LAPB=y
CONFIG_ECONET=y
# CONFIG_ECONET_AUNUDP is not set
CONFIG_ECONET_NATIVE=y
CONFIG_WAN_ROUTER=y
CONFIG_PHONET=y
# CONFIG_IEEE802154 is not set
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
# CONFIG_NET_SCH_CBQ is not set
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_HFSC=y
# CONFIG_NET_SCH_ATM is not set
CONFIG_NET_SCH_PRIO=y
CONFIG_NET_SCH_MULTIQ=y
# CONFIG_NET_SCH_RED is not set
CONFIG_NET_SCH_SFB=y
# CONFIG_NET_SCH_SFQ is not set
CONFIG_NET_SCH_TEQL=y
# CONFIG_NET_SCH_TBF is not set
CONFIG_NET_SCH_GRED=y
# CONFIG_NET_SCH_DSMARK is not set
# CONFIG_NET_SCH_NETEM is not set
CONFIG_NET_SCH_DRR=y
CONFIG_NET_SCH_MQPRIO=y
# CONFIG_NET_SCH_CHOKE is not set

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=y
CONFIG_NET_CLS_TCINDEX=y
CONFIG_NET_CLS_ROUTE4=y
# CONFIG_NET_CLS_FW is not set
CONFIG_NET_CLS_U32=y
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
# CONFIG_NET_CLS_RSVP is not set
# CONFIG_NET_CLS_RSVP6 is not set
# CONFIG_NET_CLS_FLOW is not set
CONFIG_NET_CLS_CGROUP=y
# CONFIG_NET_EMATCH is not set
# CONFIG_NET_CLS_ACT is not set
# CONFIG_NET_CLS_IND is not set
CONFIG_NET_SCH_FIFO=y
# CONFIG_DCB is not set
CONFIG_BATMAN_ADV=y
# CONFIG_BATMAN_ADV_DEBUG is not set

#
# Network testing
#
CONFIG_NET_PKTGEN=y
CONFIG_NET_DROP_MONITOR=y
# CONFIG_HAMRADIO is not set
CONFIG_CAN=y
CONFIG_CAN_RAW=y
CONFIG_CAN_BCM=y

#
# CAN Device Drivers
#
CONFIG_CAN_VCAN=y
CONFIG_CAN_SLCAN=y
# CONFIG_CAN_DEV is not set
CONFIG_CAN_DEBUG_DEVICES=y
# CONFIG_IRDA is not set
CONFIG_BT=y
CONFIG_BT_L2CAP=y
CONFIG_BT_SCO=y
CONFIG_BT_RFCOMM=y
# CONFIG_BT_RFCOMM_TTY is not set
# CONFIG_BT_BNEP is not set

#
# Bluetooth device drivers
#
# CONFIG_BT_HCIBTUSB is not set
# CONFIG_BT_HCIUART is not set
CONFIG_BT_HCIBCM203X=y
CONFIG_BT_HCIBPA10X=y
# CONFIG_BT_HCIBFUSB is not set
# CONFIG_BT_HCIVHCI is not set
# CONFIG_BT_MRVL is not set
# CONFIG_AF_RXRPC is not set
CONFIG_FIB_RULES=y
# CONFIG_WIRELESS is not set
CONFIG_WIMAX=y
CONFIG_WIMAX_DEBUG_LEVEL=8
CONFIG_RFKILL=y
CONFIG_RFKILL_INPUT=y
# CONFIG_NET_9P is not set
CONFIG_CAIF=y
CONFIG_CAIF_DEBUG=y
CONFIG_CAIF_NETDEV=y
CONFIG_CEPH_LIB=y
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
# CONFIG_DEVTMPFS_MOUNT is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_ARCH_NO_SYSDEV_OPS=y
# CONFIG_CONNECTOR is not set
# CONFIG_MTD is not set
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
CONFIG_BLK_CPQ_DA=y
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
CONFIG_BLK_DEV_UMEM=y
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP 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=y
CONFIG_VIRTIO_BLK=y
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_RBD=y
# CONFIG_SENSORS_LIS3LV02D is not set
# CONFIG_MISC_DEVICES is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_TGT is not set
# CONFIG_SCSI_NETLINK is not set
CONFIG_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=y
# CONFIG_BLK_DEV_SR is not set
CONFIG_CHR_DEV_SG=y
# CONFIG_CHR_DEV_SCH is not set
CONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set
CONFIG_SCSI_LOGGING=y
# CONFIG_SCSI_SCAN_ASYNC is not set

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SAS_LIBSAS=y
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_HOST_SMP=y
# CONFIG_SCSI_SRP_ATTRS is not set
# CONFIG_SCSI_LOWLEVEL is not set
# CONFIG_SCSI_DH is not set
CONFIG_SCSI_OSD_INITIATOR=y
# CONFIG_SCSI_OSD_ULD is not set
CONFIG_SCSI_OSD_DPRINT_SENSE=1
# CONFIG_SCSI_OSD_DEBUG is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
# CONFIG_ATA_VERBOSE_ERROR is not set
# CONFIG_SATA_PMP is not set

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

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

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

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

#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
CONFIG_PATA_MPIIX=y
# CONFIG_PATA_NS87410 is not set
CONFIG_PATA_OPTI=y
CONFIG_PATA_PLATFORM=y
# CONFIG_PATA_RZ1000 is not set

#
# Generic fallback / legacy drivers
#
# CONFIG_ATA_GENERIC is not set
CONFIG_PATA_LEGACY=y
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
# CONFIG_MD_AUTODETECT is not set
# CONFIG_MD_LINEAR is not set
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
CONFIG_MD_RAID10=y
CONFIG_MD_RAID456=y
# CONFIG_MD_MULTIPATH is not set
CONFIG_MD_FAULTY=y
CONFIG_BLK_DEV_DM=y
# CONFIG_DM_DEBUG is not set
# CONFIG_DM_CRYPT is not set
# CONFIG_DM_SNAPSHOT is not set
# CONFIG_DM_MIRROR is not set
CONFIG_DM_RAID=y
CONFIG_DM_ZERO=y
# CONFIG_DM_MULTIPATH is not set
# CONFIG_DM_DELAY is not set
# CONFIG_DM_UEVENT is not set
# CONFIG_DM_FLAKEY is not set
CONFIG_TARGET_CORE=y
# CONFIG_TCM_IBLOCK is not set
# CONFIG_TCM_FILEIO is not set
CONFIG_TCM_PSCSI=y
CONFIG_LOOPBACK_TARGET=y
CONFIG_LOOPBACK_TARGET_CDB_DEBUG=y
CONFIG_FUSION=y
CONFIG_FUSION_SPI=y
# CONFIG_FUSION_FC is not set
CONFIG_FUSION_SAS=y
CONFIG_FUSION_MAX_SGE=128
# CONFIG_FUSION_CTL is not set
CONFIG_FUSION_LOGGING=y

#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_FIREWIRE_NOSY is not set
# CONFIG_I2O is not set
CONFIG_MACINTOSH_DRIVERS=y
CONFIG_NETDEVICES=y
CONFIG_DUMMY=y
CONFIG_BONDING=y
# CONFIG_MACVLAN is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_VETH is not set
# CONFIG_ARCNET is not set
CONFIG_MII=y
CONFIG_PHYLIB=y

#
# MII PHY device drivers
#
# CONFIG_MARVELL_PHY is not set
CONFIG_DAVICOM_PHY=y
CONFIG_QSEMI_PHY=y
# CONFIG_LXT_PHY is not set
CONFIG_CICADA_PHY=y
CONFIG_VITESSE_PHY=y
CONFIG_SMSC_PHY=y
CONFIG_BROADCOM_PHY=y
# CONFIG_BCM63XX_PHY is not set
CONFIG_ICPLUS_PHY=y
# CONFIG_REALTEK_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not set
CONFIG_MICREL_PHY=y
CONFIG_FIXED_PHY=y
# CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y
CONFIG_HAPPYMEAL=y
CONFIG_SUNGEM=y
CONFIG_CASSINI=y
# CONFIG_NET_VENDOR_3COM is not set
CONFIG_ENC28J60=y
# CONFIG_ENC28J60_WRITEVERIFY is not set
CONFIG_ETHOC=y
# CONFIG_DNET is not set
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
CONFIG_NET_PCI=y
CONFIG_PCNET32=y
# CONFIG_AMD8111_ETH is not set
CONFIG_ADAPTEC_STARFIRE=y
# CONFIG_KSZ884X_PCI is not set
CONFIG_B44=y
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
CONFIG_FORCEDETH=y
CONFIG_E100=y
CONFIG_FEALNX=y
# CONFIG_NATSEMI is not set
CONFIG_NE2K_PCI=y
CONFIG_8139CP=y
CONFIG_8139TOO=y
# CONFIG_8139TOO_PIO is not set
# CONFIG_8139TOO_TUNE_TWISTER is not set
# CONFIG_8139TOO_8129 is not set
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_R6040=y
CONFIG_SIS900=y
CONFIG_EPIC100=y
# CONFIG_SMSC9420 is not set
CONFIG_SUNDANCE=y
CONFIG_SUNDANCE_MMIO=y
CONFIG_TLAN=y
CONFIG_KS8842=y
# CONFIG_KS8851 is not set
# CONFIG_KS8851_MLL is not set
CONFIG_VIA_RHINE=y
CONFIG_VIA_RHINE_MMIO=y
# CONFIG_SC92031 is not set
# CONFIG_ATL2 is not set
CONFIG_NETDEV_1000=y
CONFIG_ACENIC=y
CONFIG_ACENIC_OMIT_TIGON_I=y
CONFIG_DL2K=y
CONFIG_E1000=y
CONFIG_E1000E=y
# CONFIG_IP1000 is not set
# CONFIG_IGB is not set
# CONFIG_IGBVF is not set
# CONFIG_NS83820 is not set
CONFIG_HAMACHI=y
CONFIG_YELLOWFIN=y
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
CONFIG_SKGE=y
CONFIG_SKGE_DEBUG=y
# CONFIG_SKY2 is not set
# CONFIG_VIA_VELOCITY is not set
CONFIG_TIGON3=y
CONFIG_BNX2=y
# CONFIG_CNIC is not set
# CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set
CONFIG_ATL1E=y
CONFIG_ATL1C=y
CONFIG_JME=y
CONFIG_STMMAC_ETH=y
CONFIG_STMMAC_DA=y
# CONFIG_STMMAC_DUAL_MAC is not set
CONFIG_PCH_GBE=y
CONFIG_NETDEV_10000=y
CONFIG_MDIO=y
CONFIG_CHELSIO_T1=y
# CONFIG_CHELSIO_T1_1G is not set
CONFIG_CHELSIO_T3=y
CONFIG_CHELSIO_T4=y
CONFIG_CHELSIO_T4VF=y
# CONFIG_ENIC is not set
# CONFIG_IXGBE is not set
CONFIG_IXGB=y
CONFIG_S2IO=y
# CONFIG_VXGE is not set
# CONFIG_MYRI10GE is not set
# CONFIG_NETXEN_NIC is not set
# CONFIG_NIU is not set
CONFIG_MLX4_EN=y
CONFIG_MLX4_CORE=y
CONFIG_MLX4_DEBUG=y
CONFIG_TEHUTI=y
# CONFIG_BNX2X is not set
# CONFIG_QLCNIC is not set
CONFIG_QLGE=y
# CONFIG_BNA is not set
CONFIG_SFC=y
CONFIG_BE2NET=y
CONFIG_TR=y
# CONFIG_IBMOL is not set
# CONFIG_3C359 is not set
CONFIG_TMS380TR=y
# CONFIG_TMSPCI is not set
CONFIG_ABYSS=y
# CONFIG_WLAN is not set

#
# WiMAX Wireless Broadband devices
#

#
# Enable MMC support to see WiMAX SDIO drivers
#
# CONFIG_WIMAX_I2400M_USB is not set

#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
CONFIG_USB_KAWETH=y
CONFIG_USB_PEGASUS=y
CONFIG_USB_RTL8150=y
# CONFIG_USB_USBNET is not set
# CONFIG_USB_HSO is not set
# CONFIG_USB_CDC_PHONET is not set
CONFIG_USB_IPHETH=y
CONFIG_WAN=y
# CONFIG_HDLC is not set
CONFIG_DLCI=y
CONFIG_DLCI_MAX=8
CONFIG_WAN_ROUTER_DRIVERS=y
CONFIG_CYCLADES_SYNC=y
CONFIG_CYCLOMX_X25=y
CONFIG_SBNI=y
CONFIG_SBNI_MULTILINE=y
CONFIG_ATM_DRIVERS=y
# CONFIG_ATM_DUMMY is not set
CONFIG_ATM_TCP=y
CONFIG_ATM_LANAI=y
CONFIG_ATM_ENI=y
CONFIG_ATM_ENI_DEBUG=y
# CONFIG_ATM_ENI_TUNE_BURST is not set
# CONFIG_ATM_FIRESTREAM is not set
# CONFIG_ATM_ZATM is not set
CONFIG_ATM_NICSTAR=y
# CONFIG_ATM_NICSTAR_USE_SUNI is not set
CONFIG_ATM_NICSTAR_USE_IDT77105=y
CONFIG_ATM_IDT77252=y
# CONFIG_ATM_IDT77252_DEBUG is not set
CONFIG_ATM_IDT77252_RCV_ALL=y
CONFIG_ATM_IDT77252_USE_SUNI=y
CONFIG_ATM_AMBASSADOR=y
CONFIG_ATM_AMBASSADOR_DEBUG=y
# CONFIG_ATM_HORIZON is not set
CONFIG_ATM_IA=y
CONFIG_ATM_IA_DEBUG=y
# CONFIG_ATM_FORE200E is not set
# CONFIG_ATM_HE is not set
CONFIG_ATM_SOLOS=y

#
# CAIF transport drivers
#
CONFIG_CAIF_TTY=y
CONFIG_CAIF_SPI_SLAVE=y
# CONFIG_CAIF_SPI_SYNC is not set
CONFIG_FDDI=y
CONFIG_DEFXX=y
CONFIG_DEFXX_MMIO=y
CONFIG_SKFP=y
CONFIG_HIPPI=y
CONFIG_ROADRUNNER=y
CONFIG_ROADRUNNER_LARGE_RINGS=y
CONFIG_PPP=y
# CONFIG_PPP_MULTILINK is not set
CONFIG_PPP_FILTER=y
# CONFIG_PPP_ASYNC is not set
CONFIG_PPP_SYNC_TTY=y
# CONFIG_PPP_DEFLATE is not set
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_MPPE=y
CONFIG_PPPOE=y
# CONFIG_PPPOATM is not set
CONFIG_PPPOL2TP=y
CONFIG_SLIP=y
# CONFIG_SLIP_COMPRESSED is not set
CONFIG_SLHC=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
CONFIG_NET_FC=y
CONFIG_NETCONSOLE=y
# CONFIG_NETCONSOLE_DYNAMIC is not set
CONFIG_NETPOLL=y
CONFIG_NETPOLL_TRAP=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_VIRTIO_NET=y
CONFIG_VMXNET3=y
CONFIG_ISDN=y
CONFIG_ISDN_I4L=y
CONFIG_ISDN_PPP=y
CONFIG_ISDN_PPP_VJ=y
CONFIG_ISDN_MPP=y
CONFIG_IPPP_FILTER=y
# CONFIG_ISDN_PPP_BSDCOMP is not set
# CONFIG_ISDN_AUDIO is not set

#
# ISDN feature submodules
#
# CONFIG_ISDN_DRV_LOOP is not set
CONFIG_ISDN_DIVERSION=y

#
# ISDN4Linux hardware drivers
#

#
# Passive cards
#
# CONFIG_ISDN_DRV_HISAX is not set

#
# Active cards
#
# CONFIG_ISDN_CAPI is not set
CONFIG_ISDN_DRV_GIGASET=y
CONFIG_GIGASET_I4L=y
# CONFIG_GIGASET_DUMMYLL is not set
CONFIG_GIGASET_BASE=y
# CONFIG_GIGASET_M105 is not set
# CONFIG_GIGASET_M101 is not set
CONFIG_GIGASET_DEBUG=y
# CONFIG_MISDN is not set
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
CONFIG_INPUT_POLLDEV=y
# CONFIG_INPUT_SPARSEKMAP is not set

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

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
CONFIG_KEYBOARD_ATKBD=y
CONFIG_KEYBOARD_QT1070=y
CONFIG_KEYBOARD_QT2160=y
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
CONFIG_KEYBOARD_MCS=y
# CONFIG_KEYBOARD_NEWTON is not set
CONFIG_KEYBOARD_OPENCORES=y
# CONFIG_KEYBOARD_STOWAWAY is not set
CONFIG_KEYBOARD_SUNKBD=y
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
# CONFIG_MOUSE_PS2 is not set
CONFIG_MOUSE_SERIAL=y
CONFIG_MOUSE_APPLETOUCH=y
# CONFIG_MOUSE_BCM5974 is not set
# CONFIG_MOUSE_VSXXXAA is not set
CONFIG_MOUSE_SYNAPTICS_I2C=y
CONFIG_INPUT_JOYSTICK=y
# CONFIG_JOYSTICK_ANALOG is not set
CONFIG_JOYSTICK_A3D=y
# CONFIG_JOYSTICK_ADI is not set
CONFIG_JOYSTICK_COBRA=y
# CONFIG_JOYSTICK_GF2K is not set
# CONFIG_JOYSTICK_GRIP is not set
CONFIG_JOYSTICK_GRIP_MP=y
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
CONFIG_JOYSTICK_SIDEWINDER=y
CONFIG_JOYSTICK_TMDC=y
CONFIG_JOYSTICK_IFORCE=y
# CONFIG_JOYSTICK_IFORCE_USB is not set
# CONFIG_JOYSTICK_IFORCE_232 is not set
CONFIG_JOYSTICK_WARRIOR=y
CONFIG_JOYSTICK_MAGELLAN=y
CONFIG_JOYSTICK_SPACEORB=y
CONFIG_JOYSTICK_SPACEBALL=y
CONFIG_JOYSTICK_STINGER=y
# CONFIG_JOYSTICK_TWIDJOY is not set
# CONFIG_JOYSTICK_ZHENHUA is not set
CONFIG_JOYSTICK_AS5011=y
# CONFIG_JOYSTICK_JOYDUMP is not set
CONFIG_JOYSTICK_XPAD=y
# CONFIG_JOYSTICK_XPAD_FF is not set
CONFIG_JOYSTICK_XPAD_LEDS=y
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set

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

#
# Character devices
#
CONFIG_VT=y
# CONFIG_CONSOLE_TRANSLATIONS is not set
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
# CONFIG_LEGACY_PTYS is not set
# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_NOZOMI=y
CONFIG_N_GSM=y
CONFIG_DEVKMEM=y

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
# CONFIG_SERIAL_8250_PCI is not set
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_MANY_PORTS is not set
# CONFIG_SERIAL_8250_SHARE_IRQ is not set
CONFIG_SERIAL_8250_DETECT_IRQ=y
# CONFIG_SERIAL_8250_RSA is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_MAX3100=y
CONFIG_SERIAL_MAX3107=y
CONFIG_SERIAL_MFD_HSU=y
CONFIG_SERIAL_MFD_HSU_CONSOLE=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
CONFIG_SERIAL_PCH_UART=y
CONFIG_TTY_PRINTK=y
CONFIG_HVC_DRIVER=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_IPMI_HANDLER=y
CONFIG_IPMI_PANIC_EVENT=y
CONFIG_IPMI_PANIC_STRING=y
# CONFIG_IPMI_DEVICE_INTERFACE is not set
CONFIG_IPMI_SI=y
CONFIG_IPMI_WATCHDOG=y
CONFIG_IPMI_POWEROFF=y
# CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set
CONFIG_RTC=y
CONFIG_R3964=y
CONFIG_APPLICOM=y
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_HANGCHECK_TIMER=y
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
CONFIG_RAMOOPS=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_COMPAT is not set
CONFIG_I2C_CHARDEV=y
# CONFIG_I2C_MUX is not set
# CONFIG_I2C_HELPER_AUTO is not set
CONFIG_I2C_SMBUS=y

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=y
# CONFIG_I2C_ALGOPCF is not set
CONFIG_I2C_ALGOPCA=y

#
# I2C Hardware Bus support
#

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

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

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

#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
CONFIG_I2C_DEBUG_BUS=y
CONFIG_SPI=y
CONFIG_SPI_MASTER=y

#
# SPI Master Controller Drivers
#
# CONFIG_SPI_ALTERA is not set
CONFIG_SPI_BITBANG=y
# CONFIG_SPI_PXA2XX_PCI is not set
# CONFIG_SPI_TOPCLIFF_PCH is not set
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_DESIGNWARE is not set

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

#
# PPS support
#
# CONFIG_PPS is not set

#
# PPS generators support
#
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
CONFIG_W1=y

#
# 1-wire Bus Masters
#
CONFIG_W1_MASTER_MATROX=y
CONFIG_W1_MASTER_DS2490=y
# CONFIG_W1_MASTER_DS2482 is not set

#
# 1-wire Slaves
#
# CONFIG_W1_SLAVE_THERM is not set
CONFIG_W1_SLAVE_SMEM=y
CONFIG_W1_SLAVE_DS2423=y
# CONFIG_W1_SLAVE_DS2431 is not set
CONFIG_W1_SLAVE_DS2433=y
# CONFIG_W1_SLAVE_DS2433_CRC is not set
# CONFIG_W1_SLAVE_DS2760 is not set
CONFIG_W1_SLAVE_BQ27000=y
# CONFIG_POWER_SUPPLY is not set
CONFIG_HWMON=y
CONFIG_HWMON_VID=y
CONFIG_HWMON_DEBUG_CHIP=y

#
# Native drivers
#
CONFIG_SENSORS_ABITUGURU=y
CONFIG_SENSORS_ABITUGURU3=y
# CONFIG_SENSORS_AD7414 is not set
CONFIG_SENSORS_AD7418=y
CONFIG_SENSORS_ADCXX=y
CONFIG_SENSORS_ADM1021=y
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
CONFIG_SENSORS_ADT7411=y
# CONFIG_SENSORS_ADT7462 is not set
CONFIG_SENSORS_ADT7470=y
CONFIG_SENSORS_ADT7475=y
# CONFIG_SENSORS_ASC7621 is not set
CONFIG_SENSORS_K8TEMP=y
# CONFIG_SENSORS_K10TEMP is not set
CONFIG_SENSORS_ASB100=y
CONFIG_SENSORS_ATXP1=y
CONFIG_SENSORS_DS620=y
CONFIG_SENSORS_DS1621=y
CONFIG_SENSORS_I5K_AMB=y
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_FSCHMD is not set
CONFIG_SENSORS_G760A=y
# CONFIG_SENSORS_GL518SM is not set
CONFIG_SENSORS_GL520SM=y
CONFIG_SENSORS_CORETEMP=y
CONFIG_SENSORS_PKGTEMP=y
CONFIG_SENSORS_IBMAEM=y
# CONFIG_SENSORS_IBMPEX is not set
CONFIG_SENSORS_IT87=y
CONFIG_SENSORS_JC42=y
# CONFIG_SENSORS_LINEAGE is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM70 is not set
CONFIG_SENSORS_LM73=y
CONFIG_SENSORS_LM75=y
CONFIG_SENSORS_LM77=y
CONFIG_SENSORS_LM78=y
CONFIG_SENSORS_LM80=y
CONFIG_SENSORS_LM83=y
CONFIG_SENSORS_LM85=y
CONFIG_SENSORS_LM87=y
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LTC4151 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4245 is not set
CONFIG_SENSORS_LTC4261=y
# CONFIG_SENSORS_LM95241 is not set
CONFIG_SENSORS_MAX1111=y
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6650 is not set
CONFIG_SENSORS_PC87360=y
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_PCF8591 is not set
CONFIG_PMBUS=y
# CONFIG_SENSORS_PMBUS is not set
# CONFIG_SENSORS_MAX16064 is not set
CONFIG_SENSORS_MAX34440=y
CONFIG_SENSORS_MAX8688=y
# CONFIG_SENSORS_SHT21 is not set
CONFIG_SENSORS_SIS5595=y
CONFIG_SENSORS_SMM665=y
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_EMC1403 is not set
CONFIG_SENSORS_EMC2103=y
# CONFIG_SENSORS_SMSC47M1 is not set
CONFIG_SENSORS_SMSC47M192=y
CONFIG_SENSORS_SMSC47B397=y
# CONFIG_SENSORS_SCH5627 is not set
# CONFIG_SENSORS_ADS1015 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_ADS7871 is not set
CONFIG_SENSORS_AMC6821=y
CONFIG_SENSORS_THMC50=y
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP401 is not set
CONFIG_SENSORS_TMP421=y
# CONFIG_SENSORS_VIA_CPUTEMP is not set
# CONFIG_SENSORS_VIA686A is not set
CONFIG_SENSORS_VT1211=y
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
CONFIG_SENSORS_W83792D=y
# CONFIG_SENSORS_W83793 is not set
CONFIG_SENSORS_W83795=y
# CONFIG_SENSORS_W83795_FANCTRL is not set
# CONFIG_SENSORS_W83L785TS is not set
CONFIG_SENSORS_W83L786NG=y
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
CONFIG_SENSORS_WM831X=y
CONFIG_SENSORS_APPLESMC=y
CONFIG_SENSORS_MC13783_ADC=y
CONFIG_THERMAL=y
# CONFIG_THERMAL_HWMON is not set
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_NOWAYOUT=y

#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
CONFIG_WM831X_WATCHDOG=y
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
CONFIG_ALIM1535_WDT=y
# CONFIG_ALIM7101_WDT is not set
CONFIG_F71808E_WDT=y
# CONFIG_SP5100_TCO is not set
CONFIG_SC520_WDT=y
# CONFIG_SBC_FITPC2_WATCHDOG is not set
# CONFIG_EUROTECH_WDT is not set
CONFIG_IB700_WDT=y
# CONFIG_IBMASR is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I6300ESB_WDT is not set
CONFIG_ITCO_WDT=y
CONFIG_ITCO_VENDOR_SUPPORT=y
CONFIG_IT8712F_WDT=y
CONFIG_IT87_WDT=y
CONFIG_HP_WATCHDOG=y
# CONFIG_HPWDT_NMI_DECODING is not set
CONFIG_SC1200_WDT=y
CONFIG_PC87413_WDT=y
CONFIG_NV_TCO=y
CONFIG_60XX_WDT=y
# CONFIG_SBC8360_WDT is not set
CONFIG_CPU5_WDT=y
# CONFIG_SMSC_SCH311X_WDT is not set
CONFIG_SMSC37B787_WDT=y
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83697HF_WDT is not set
# CONFIG_W83697UG_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
# CONFIG_MACHZ_WDT is not set
CONFIG_SBC_EPX_C3_WATCHDOG=y

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

#
# USB-based Watchdog Cards
#
CONFIG_USBPCWATCHDOG=y
CONFIG_SSB_POSSIBLE=y

#
# Sonics Silicon Backplane
#
CONFIG_SSB=y
CONFIG_SSB_SPROM=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
# CONFIG_SSB_B43_PCI_BRIDGE is not set
# CONFIG_SSB_SILENT is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_MFD_SUPPORT=y
CONFIG_MFD_CORE=y
CONFIG_MFD_88PM860X=y
# CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set
CONFIG_TPS6105X=y
CONFIG_TPS6507X=y
# CONFIG_TWL4030_CORE is not set
# CONFIG_MFD_STMPE is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_PMIC_ADP5520 is not set
CONFIG_MFD_MAX8925=y
# CONFIG_MFD_MAX8997 is not set
CONFIG_MFD_MAX8998=y
# CONFIG_MFD_WM8400 is not set
CONFIG_MFD_WM831X=y
CONFIG_MFD_WM831X_I2C=y
# CONFIG_MFD_WM831X_SPI is not set
# CONFIG_MFD_WM8350_I2C is not set
CONFIG_MFD_WM8994=y
CONFIG_MFD_PCF50633=y
CONFIG_MFD_MC13783=y
CONFIG_MFD_MC13XXX=y
CONFIG_PCF50633_ADC=y
# CONFIG_PCF50633_GPIO is not set
CONFIG_ABX500_CORE=y
# CONFIG_AB3100_CORE is not set
CONFIG_EZX_PCAP=y
CONFIG_AB8500_CORE=y
CONFIG_AB8500_DEBUG=y
CONFIG_AB3550_CORE=y
CONFIG_MFD_CS5535=y
CONFIG_LPC_SCH=y
CONFIG_MFD_RDC321X=y
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_WL1273_CORE is not set
CONFIG_REGULATOR=y
CONFIG_REGULATOR_DEBUG=y
CONFIG_REGULATOR_DUMMY=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_VIRTUAL_CONSUMER=y
CONFIG_REGULATOR_USERSPACE_CONSUMER=y
CONFIG_REGULATOR_BQ24022=y
CONFIG_REGULATOR_MAX1586=y
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8925 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MAX8998 is not set
CONFIG_REGULATOR_WM831X=y
CONFIG_REGULATOR_WM8994=y
CONFIG_REGULATOR_PCF50633=y
CONFIG_REGULATOR_LP3971=y
CONFIG_REGULATOR_LP3972=y
# CONFIG_REGULATOR_PCAP is not set
CONFIG_REGULATOR_MC13XXX_CORE=y
# CONFIG_REGULATOR_MC13783 is not set
CONFIG_REGULATOR_MC13892=y
CONFIG_REGULATOR_TPS6105X=y
CONFIG_REGULATOR_TPS65023=y
CONFIG_REGULATOR_TPS6507X=y
CONFIG_REGULATOR_88PM8607=y
# CONFIG_REGULATOR_ISL6271A is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_AB8500 is not set
# CONFIG_REGULATOR_TPS6524X is not set
CONFIG_MEDIA_SUPPORT=y

#
# Multimedia core support
#
# CONFIG_MEDIA_CONTROLLER is not set
CONFIG_VIDEO_DEV=y
CONFIG_VIDEO_V4L2_COMMON=y
# CONFIG_DVB_CORE is not set
CONFIG_VIDEO_MEDIA=y

#
# Multimedia drivers
#
# CONFIG_RC_CORE is not set
CONFIG_MEDIA_TUNER=y
CONFIG_MEDIA_TUNER_CUSTOMISE=y

#
# Customize TV tuners
#
CONFIG_MEDIA_TUNER_SIMPLE=y
CONFIG_MEDIA_TUNER_TDA8290=y
CONFIG_MEDIA_TUNER_TDA827X=y
CONFIG_MEDIA_TUNER_TDA18271=y
CONFIG_MEDIA_TUNER_TDA9887=y
CONFIG_MEDIA_TUNER_TEA5761=y
# CONFIG_MEDIA_TUNER_TEA5767 is not set
CONFIG_MEDIA_TUNER_MT20XX=y
CONFIG_MEDIA_TUNER_MT2060=y
# CONFIG_MEDIA_TUNER_MT2266 is not set
# CONFIG_MEDIA_TUNER_MT2131 is not set
CONFIG_MEDIA_TUNER_QT1010=y
# CONFIG_MEDIA_TUNER_XC2028 is not set
CONFIG_MEDIA_TUNER_XC5000=y
CONFIG_MEDIA_TUNER_MXL5005S=y
CONFIG_MEDIA_TUNER_MXL5007T=y
# CONFIG_MEDIA_TUNER_MC44S803 is not set
CONFIG_MEDIA_TUNER_MAX2165=y
# CONFIG_MEDIA_TUNER_TDA18218 is not set
CONFIG_VIDEO_V4L2=y
CONFIG_V4L2_MEM2MEM_DEV=y
CONFIG_VIDEOBUF2_CORE=y
CONFIG_VIDEOBUF2_MEMOPS=y
CONFIG_VIDEOBUF2_VMALLOC=y
# CONFIG_VIDEO_CAPTURE_DRIVERS is not set
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_MEM2MEM_TESTDEV=y
CONFIG_RADIO_ADAPTERS=y
# CONFIG_RADIO_MAXIRADIO is not set
CONFIG_RADIO_MAESTRO=y
CONFIG_I2C_SI4713=y
CONFIG_RADIO_SI4713=y
CONFIG_USB_DSBR=y
CONFIG_RADIO_SI470X=y
CONFIG_USB_SI470X=y
# CONFIG_USB_MR800 is not set
# CONFIG_RADIO_TEA5764 is not set
# CONFIG_RADIO_SAA7706H is not set
CONFIG_RADIO_TEF6862=y
# CONFIG_RADIO_WL1273 is not set

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

#
# Graphics support
#
CONFIG_AGP=y
# CONFIG_AGP_AMD64 is not set
CONFIG_AGP_INTEL=y
CONFIG_AGP_SIS=y
CONFIG_AGP_VIA=y
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
# CONFIG_DRM is not set
# CONFIG_STUB_POULSBO is not set
# CONFIG_VGASTATE is not set
CONFIG_VIDEO_OUTPUT_CONTROL=y
# CONFIG_FB is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set

#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_DUMMY_CONSOLE=y
CONFIG_FONT_8x16=y
CONFIG_SOUND=y
CONFIG_SOUND_OSS_CORE=y
# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_HWDEP=y
CONFIG_SND_RAWMIDI=y
CONFIG_SND_JACK=y
# CONFIG_SND_SEQUENCER is not set
CONFIG_SND_OSSEMUL=y
# CONFIG_SND_MIXER_OSS is not set
CONFIG_SND_PCM_OSS=y
# CONFIG_SND_PCM_OSS_PLUGINS is not set
# CONFIG_SND_RTCTIMER is not set
CONFIG_SND_DYNAMIC_MINORS=y
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
CONFIG_SND_DEBUG=y
CONFIG_SND_DEBUG_VERBOSE=y
CONFIG_SND_PCM_XRUN_DEBUG=y
CONFIG_SND_VMASTER=y
CONFIG_SND_DMA_SGBUF=y
# CONFIG_SND_RAWMIDI_SEQ is not set
# CONFIG_SND_OPL3_LIB_SEQ is not set
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
# CONFIG_SND_EMU10K1_SEQ is not set
CONFIG_SND_MPU401_UART=y
CONFIG_SND_OPL3_LIB=y
CONFIG_SND_AC97_CODEC=y
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_SB_COMMON=y
CONFIG_SND_SB16_DSP=y
CONFIG_SND_PCI=y
CONFIG_SND_AD1889=y
CONFIG_SND_ALS300=y
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ASIHPI is not set
CONFIG_SND_ATIIXP=y
CONFIG_SND_ATIIXP_MODEM=y
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
CONFIG_SND_AU8830=y
# CONFIG_SND_AW2 is not set
CONFIG_SND_AZT3328=y
CONFIG_SND_BT87X=y
# CONFIG_SND_BT87X_OVERCLOCK is not set
# CONFIG_SND_CA0106 is not set
CONFIG_SND_CMIPCI=y
CONFIG_SND_OXYGEN_LIB=y
CONFIG_SND_OXYGEN=y
# CONFIG_SND_CS4281 is not set
CONFIG_SND_CS46XX=y
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=y
CONFIG_SND_CS5535AUDIO=y
# CONFIG_SND_CTXFI is not set
CONFIG_SND_DARLA20=y
CONFIG_SND_GINA20=y
CONFIG_SND_LAYLA20=y
CONFIG_SND_DARLA24=y
CONFIG_SND_GINA24=y
# CONFIG_SND_LAYLA24 is not set
CONFIG_SND_MONA=y
CONFIG_SND_MIA=y
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
CONFIG_SND_INDIGODJ=y
CONFIG_SND_INDIGOIOX=y
CONFIG_SND_INDIGODJX=y
# CONFIG_SND_EMU10K1 is not set
CONFIG_SND_EMU10K1X=y
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
CONFIG_SND_ES1968=y
CONFIG_SND_ES1968_INPUT=y
CONFIG_SND_FM801=y
# CONFIG_SND_FM801_TEA575X_BOOL is not set
CONFIG_SND_HDA_INTEL=y
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
# CONFIG_SND_HDA_INPUT_BEEP is not set
# CONFIG_SND_HDA_INPUT_JACK is not set
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
# CONFIG_SND_HDA_CODEC_VIA is not set
# CONFIG_SND_HDA_CODEC_HDMI is not set
CONFIG_SND_HDA_CODEC_CIRRUS=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CMEDIA=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
# CONFIG_SND_HDA_POWER_SAVE is not set
CONFIG_SND_HDSP=y

#
# Don't forget to add built-in firmwares for HDSP driver
#
CONFIG_SND_HDSPM=y
# CONFIG_SND_ICE1712 is not set
CONFIG_SND_ICE1724=y
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
CONFIG_SND_KORG1212=y
# CONFIG_SND_LX6464ES is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
CONFIG_SND_RME32=y
# CONFIG_SND_RME96 is not set
CONFIG_SND_RME9652=y
CONFIG_SND_SONICVIBES=y
# CONFIG_SND_TRIDENT is not set
CONFIG_SND_VIA82XX=y
CONFIG_SND_VIA82XX_MODEM=y
CONFIG_SND_VIRTUOSO=y
# CONFIG_SND_VX222 is not set
CONFIG_SND_YMFPCI=y
CONFIG_SND_SPI=y
CONFIG_SND_USB=y
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_UA101 is not set
CONFIG_SND_USB_USX2Y=y
# CONFIG_SND_USB_CAIAQ is not set
# CONFIG_SND_USB_US122L is not set
# CONFIG_SND_USB_6FIRE is not set
CONFIG_SND_SOC=y
# CONFIG_SND_SOC_CACHE_LZO is not set
CONFIG_SND_SOC_I2C_AND_SPI=y
CONFIG_SND_SOC_ALL_CODECS=y
CONFIG_SND_SOC_88PM860X=y
CONFIG_SND_SOC_WM_HUBS=y
CONFIG_SND_SOC_AD1836=y
CONFIG_SND_SOC_AD193X=y
CONFIG_SND_SOC_AD73311=y
CONFIG_SND_SOC_ADS117X=y
CONFIG_SND_SOC_AK4104=y
CONFIG_SND_SOC_AK4535=y
CONFIG_SND_SOC_AK4642=y
CONFIG_SND_SOC_AK4671=y
CONFIG_SND_SOC_ALC5623=y
CONFIG_SND_SOC_CS42L51=y
CONFIG_SND_SOC_CS4270=y
CONFIG_SND_SOC_CS4271=y
CONFIG_SND_SOC_CX20442=y
CONFIG_SND_SOC_L3=y
CONFIG_SND_SOC_DA7210=y
CONFIG_SND_SOC_DFBMCS320=y
CONFIG_SND_SOC_MAX98088=y
CONFIG_SND_SOC_MAX9850=y
CONFIG_SND_SOC_PCM3008=y
CONFIG_SND_SOC_SGTL5000=y
CONFIG_SND_SOC_SPDIF=y
CONFIG_SND_SOC_SSM2602=y
CONFIG_SND_SOC_TLV320AIC23=y
CONFIG_SND_SOC_TLV320AIC26=y
CONFIG_SND_SOC_TVL320AIC32X4=y
CONFIG_SND_SOC_TLV320AIC3X=y
CONFIG_SND_SOC_TLV320DAC33=y
CONFIG_SND_SOC_UDA134X=y
CONFIG_SND_SOC_UDA1380=y
CONFIG_SND_SOC_WM8510=y
CONFIG_SND_SOC_WM8523=y
CONFIG_SND_SOC_WM8580=y
CONFIG_SND_SOC_WM8711=y
CONFIG_SND_SOC_WM8727=y
CONFIG_SND_SOC_WM8728=y
CONFIG_SND_SOC_WM8731=y
CONFIG_SND_SOC_WM8737=y
CONFIG_SND_SOC_WM8741=y
CONFIG_SND_SOC_WM8750=y
CONFIG_SND_SOC_WM8753=y
CONFIG_SND_SOC_WM8770=y
CONFIG_SND_SOC_WM8776=y
CONFIG_SND_SOC_WM8804=y
CONFIG_SND_SOC_WM8900=y
CONFIG_SND_SOC_WM8903=y
CONFIG_SND_SOC_WM8904=y
CONFIG_SND_SOC_WM8940=y
CONFIG_SND_SOC_WM8955=y
CONFIG_SND_SOC_WM8960=y
CONFIG_SND_SOC_WM8961=y
CONFIG_SND_SOC_WM8962=y
CONFIG_SND_SOC_WM8971=y
CONFIG_SND_SOC_WM8974=y
CONFIG_SND_SOC_WM8978=y
CONFIG_SND_SOC_WM8985=y
CONFIG_SND_SOC_WM8988=y
CONFIG_SND_SOC_WM8990=y
CONFIG_SND_SOC_WM8991=y
CONFIG_SND_SOC_WM8993=y
CONFIG_SND_SOC_WM8994=y
CONFIG_SND_SOC_WM8995=y
CONFIG_SND_SOC_WM9081=y
CONFIG_SND_SOC_LM4857=y
CONFIG_SND_SOC_MAX9877=y
CONFIG_SND_SOC_TPA6130A2=y
CONFIG_SND_SOC_WM2000=y
CONFIG_SND_SOC_WM9090=y
CONFIG_SOUND_PRIME=y
# CONFIG_SOUND_OSS is not set
CONFIG_AC97_BUS=y
# CONFIG_HID_SUPPORT is not set
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set

#
# Miscellaneous USB options
#
# CONFIG_USB_DEVICEFS is not set
# CONFIG_USB_DEVICE_CLASS is not set
CONFIG_USB_DYNAMIC_MINORS=y
# CONFIG_USB_SUSPEND is not set
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
# CONFIG_USB_MON is not set
CONFIG_USB_WUSB=y
CONFIG_USB_WUSB_CBAF=y
# CONFIG_USB_WUSB_CBAF_DEBUG is not set

#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_HCD_DEBUGGING=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
# CONFIG_USB_OXU210HP_HCD is not set
CONFIG_USB_ISP116X_HCD=y
CONFIG_USB_ISP1760_HCD=y
CONFIG_USB_ISP1362_HCD=y
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_HCD_SSB is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_SL811_HCD=y
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_WHCI_HCD is not set
# CONFIG_USB_HWA_HCD is not set

#
# USB Device Class drivers
#
CONFIG_USB_ACM=y
CONFIG_USB_PRINTER=y
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set

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

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

#
# USB Imaging devices
#
CONFIG_USB_MDC800=y
# CONFIG_USB_MICROTEK is not set

#
# USB port drivers
#
# CONFIG_USB_SERIAL is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
CONFIG_USB_ADUTUX=y
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_RIO500 is not set
CONFIG_USB_LEGOTOWER=y
# CONFIG_USB_LCD is not set
CONFIG_USB_LED=y
CONFIG_USB_CYPRESS_CY7C63=y
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
CONFIG_USB_SISUSBVGA=y
CONFIG_USB_SISUSBVGA_CON=y
CONFIG_USB_LD=y
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
CONFIG_USB_TEST=y
CONFIG_USB_ISIGHTFW=y
# CONFIG_USB_YUREX is not set
# CONFIG_USB_ATM is not set
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DEBUG_FILES=y
CONFIG_USB_GADGET_DEBUG_FS=y
CONFIG_USB_GADGET_VBUS_DRAW=2
CONFIG_USB_GADGET_SELECTED=y
CONFIG_USB_GADGET_FUSB300=y
CONFIG_USB_FUSB300=y
# CONFIG_USB_GADGET_R8A66597 is not set
# CONFIG_USB_GADGET_PXA_U2O is not set
# CONFIG_USB_GADGET_M66592 is not set
# CONFIG_USB_GADGET_AMD5536UDC is not set
# CONFIG_USB_GADGET_CI13XXX_PCI is not set
# CONFIG_USB_GADGET_NET2280 is not set
# CONFIG_USB_GADGET_GOKU is not set
# CONFIG_USB_GADGET_LANGWELL is not set
# CONFIG_USB_GADGET_EG20T is not set
# CONFIG_USB_GADGET_DUMMY_HCD is not set
CONFIG_USB_GADGET_DUALSPEED=y
# CONFIG_USB_ZERO is not set
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_ETH is not set
# CONFIG_USB_G_NCM is not set
# CONFIG_USB_GADGETFS is not set
# CONFIG_USB_FUNCTIONFS is not set
# CONFIG_USB_FILE_STORAGE is not set
# CONFIG_USB_MASS_STORAGE is not set
CONFIG_USB_G_SERIAL=y
# CONFIG_USB_MIDI_GADGET is not set
# CONFIG_USB_G_PRINTER is not set
# CONFIG_USB_CDC_COMPOSITE is not set
# CONFIG_USB_G_NOKIA is not set
# CONFIG_USB_G_MULTI is not set
# CONFIG_USB_G_HID is not set
# CONFIG_USB_G_DBGP is not set
# CONFIG_USB_G_WEBCAM is not set

#
# OTG and related infrastructure
#
# CONFIG_NOP_USB_XCEIV is not set
# CONFIG_AB8500_USB is not set
CONFIG_UWB=y
CONFIG_UWB_HWA=y
CONFIG_UWB_WHCI=y
CONFIG_UWB_I1480U=y
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y

#
# LED drivers
#
# CONFIG_LEDS_88PM860X is not set
CONFIG_LEDS_LM3530=y
# CONFIG_LEDS_ALIX2 is not set
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_LP5521 is not set
# CONFIG_LEDS_LP5523 is not set
# CONFIG_LEDS_CLEVO_MAIL is not set
CONFIG_LEDS_PCA955X=y
# CONFIG_LEDS_WM831X_STATUS is not set
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_REGULATOR is not set
CONFIG_LEDS_BD2802=y
# CONFIG_LEDS_INTEL_SS4200 is not set
# CONFIG_LEDS_MC13783 is not set
# CONFIG_LEDS_TRIGGERS is not set

#
# LED Triggers
#
# CONFIG_NFC_DEVICES is not set
# CONFIG_ACCESSIBILITY is not set
CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_USER_MAD=y
# CONFIG_INFINIBAND_USER_ACCESS is not set
CONFIG_INFINIBAND_ADDR_TRANS=y
# CONFIG_INFINIBAND_MTHCA is not set
# CONFIG_INFINIBAND_IPATH is not set
# CONFIG_INFINIBAND_QIB is not set
# CONFIG_INFINIBAND_AMSO1100 is not set
CONFIG_INFINIBAND_CXGB3=y
CONFIG_INFINIBAND_CXGB3_DEBUG=y
CONFIG_INFINIBAND_CXGB4=y
CONFIG_MLX4_INFINIBAND=y
CONFIG_INFINIBAND_NES=y
# CONFIG_INFINIBAND_NES_DEBUG is not set
# CONFIG_INFINIBAND_IPOIB is not set
# CONFIG_INFINIBAND_SRP is not set
# CONFIG_INFINIBAND_ISER is not set
CONFIG_EDAC=y

#
# Reporting subsystems
#
CONFIG_EDAC_DEBUG=y
CONFIG_EDAC_MM_EDAC=y
# CONFIG_EDAC_E752X is not set
# CONFIG_EDAC_I82975X is not set
CONFIG_EDAC_I3000=y
# CONFIG_EDAC_I3200 is not set
# CONFIG_EDAC_X38 is not set
CONFIG_EDAC_I5400=y
# CONFIG_EDAC_I7CORE is not set
CONFIG_EDAC_I5000=y
# CONFIG_EDAC_I5100 is not set
CONFIG_EDAC_I7300=y
# CONFIG_RTC_CLASS is not set
# CONFIG_DMADEVICES is not set
CONFIG_DMA_ENGINE=y
# CONFIG_AUXDISPLAY is not set
CONFIG_UIO=y
CONFIG_UIO_CIF=y
# CONFIG_UIO_PDRV is not set
CONFIG_UIO_PDRV_GENIRQ=y
# CONFIG_UIO_AEC is not set
CONFIG_UIO_SERCOS3=y
CONFIG_UIO_PCI_GENERIC=y
# CONFIG_UIO_NETX is not set
# CONFIG_STAGING is not set
# CONFIG_X86_PLATFORM_DEVICES is not set
CONFIG_HWSPINLOCK=y

#
# Firmware Drivers
#
# CONFIG_EDD is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_DELL_RBU=y
# CONFIG_DCDBAS is not set
CONFIG_DMIID=y
CONFIG_DMI_SYSFS=y
# CONFIG_ISCSI_IBFT_FIND is not set
# CONFIG_SIGMA is not set

#
# File systems
#
# CONFIG_EXT2_FS is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=y
# CONFIG_EXT4_USE_FOR_EXT23 is not set
# CONFIG_EXT4_FS_XATTR is not set
CONFIG_EXT4_DEBUG=y
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=y
CONFIG_JBD2_DEBUG=y
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
CONFIG_BTRFS_FS=y
# CONFIG_BTRFS_FS_POSIX_ACL is not set
CONFIG_NILFS2_FS=y
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
# CONFIG_DNOTIFY is not set
CONFIG_INOTIFY_USER=y
# CONFIG_FANOTIFY is not set
# CONFIG_QUOTA is not set
# CONFIG_QUOTACTL is not set
# CONFIG_AUTOFS4_FS is not set
CONFIG_FUSE_FS=y
# CONFIG_CUSE is not set

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

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

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
# CONFIG_PROC_KCORE is not set
# CONFIG_PROC_SYSCTL is not set
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
# CONFIG_TMPFS is not set
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=y
# CONFIG_MISC_FILESYSTEMS is not set
# CONFIG_NETWORK_FILESYSTEMS is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
CONFIG_AMIGA_PARTITION=y
# CONFIG_ATARI_PARTITION is not set
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
# CONFIG_SUN_PARTITION is not set
CONFIG_KARMA_PARTITION=y
# CONFIG_EFI_PARTITION is not set
CONFIG_SYSV68_PARTITION=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not set
CONFIG_NLS_CODEPAGE_737=y
# CONFIG_NLS_CODEPAGE_775 is not set
CONFIG_NLS_CODEPAGE_850=y
# CONFIG_NLS_CODEPAGE_852 is not set
CONFIG_NLS_CODEPAGE_855=y
# CONFIG_NLS_CODEPAGE_857 is not set
CONFIG_NLS_CODEPAGE_860=y
CONFIG_NLS_CODEPAGE_861=y
# CONFIG_NLS_CODEPAGE_862 is not set
CONFIG_NLS_CODEPAGE_863=y
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
CONFIG_NLS_CODEPAGE_936=y
# CONFIG_NLS_CODEPAGE_950 is not set
CONFIG_NLS_CODEPAGE_932=y
CONFIG_NLS_CODEPAGE_949=y
# CONFIG_NLS_CODEPAGE_874 is not set
CONFIG_NLS_ISO8859_8=y
CONFIG_NLS_CODEPAGE_1250=y
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
# CONFIG_NLS_ISO8859_1 is not set
CONFIG_NLS_ISO8859_2=y
CONFIG_NLS_ISO8859_3=y
# CONFIG_NLS_ISO8859_4 is not set
CONFIG_NLS_ISO8859_5=y
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
CONFIG_NLS_ISO8859_9=y
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
CONFIG_NLS_KOI8_R=y
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set
# CONFIG_DLM is not set

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_PRINTK_TIME is not set
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
CONFIG_ENABLE_WARN_DEPRECATED=y
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
# CONFIG_STRIP_ASM_SYMS is not set
CONFIG_UNUSED_SYMBOLS=y
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
CONFIG_DEBUG_SECTION_MISMATCH=y
# CONFIG_DEBUG_KERNEL is not set
# CONFIG_HARDLOCKUP_DETECTOR is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
# CONFIG_SPARSE_RCU_POINTER is not set
CONFIG_STACKTRACE=y
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_MEMORY_INIT is not set
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
# CONFIG_LKDTM is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FTRACE_NMI_ENTER=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_RING_BUFFER=y
CONFIG_FTRACE_NMI_ENTER=y
CONFIG_EVENT_TRACING=y
# CONFIG_EVENT_POWER_TRACING_DEPRECATED is not set
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
CONFIG_FUNCTION_TRACER=y
# CONFIG_FUNCTION_GRAPH_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_SCHED_TRACER is not set
CONFIG_FTRACE_SYSCALLS=y
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
# CONFIG_STACK_TRACER is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
CONFIG_DYNAMIC_FTRACE=y
# CONFIG_FUNCTION_PROFILER is not set
CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_FTRACE_STARTUP_TEST is not set
CONFIG_MMIOTRACE=y
# CONFIG_RING_BUFFER_BENCHMARK is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
# CONFIG_DYNAMIC_DEBUG is not set
CONFIG_DMA_API_DEBUG=y
CONFIG_ATOMIC64_SELFTEST=y
# CONFIG_ASYNC_RAID6_TEST is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
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_IOMMU_STRESS=y
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
# CONFIG_IO_DELAY_0X80 is not set
CONFIG_IO_DELAY_0XED=y
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=1
# CONFIG_OPTIMIZE_INLINING is not set

#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set
CONFIG_SECURITY_PATH=y
# CONFIG_SECURITY_SELINUX is not set
# CONFIG_SECURITY_SMACK is not set
CONFIG_SECURITY_TOMOYO=y
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_IMA is not set
CONFIG_DEFAULT_SECURITY_TOMOYO=y
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_DEFAULT_SECURITY="tomoyo"
CONFIG_XOR_BLOCKS=y
CONFIG_ASYNC_CORE=y
CONFIG_ASYNC_MEMCPY=y
CONFIG_ASYNC_XOR=y
CONFIG_ASYNC_PQ=y
CONFIG_ASYNC_RAID6_RECOV=y
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_GF128MUL=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=y
# CONFIG_CRYPTO_AUTHENC is not set

#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not set
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_SEQIV=y

#
# Block modes
#
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_LRW=y
# CONFIG_CRYPTO_PCBC is not set
# CONFIG_CRYPTO_XTS is not set
CONFIG_CRYPTO_FPU=y

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

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

#
# Ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_X86_64=y
CONFIG_CRYPTO_AES_NI_INTEL=y
# CONFIG_CRYPTO_ANUBIS is not set
CONFIG_CRYPTO_ARC4=y
# CONFIG_CRYPTO_BLOWFISH is not set
CONFIG_CRYPTO_CAMELLIA=y
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_FCRYPT is not set
CONFIG_CRYPTO_KHAZAD=y
CONFIG_CRYPTO_SALSA20=y
CONFIG_CRYPTO_SALSA20_X86_64=y
# CONFIG_CRYPTO_SEED is not set
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_TEA=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_TWOFISH_COMMON=y
CONFIG_CRYPTO_TWOFISH_X86_64=y

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
# CONFIG_CRYPTO_ZLIB is not set
# CONFIG_CRYPTO_LZO is not set

#
# Random Number Generation
#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_USER_API_HASH is not set
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
# CONFIG_CRYPTO_HW is not set
CONFIG_HAVE_KVM=y
CONFIG_VIRTUALIZATION=y
# CONFIG_KVM is not set
# CONFIG_VHOST_NET is not set
CONFIG_VIRTIO=y
CONFIG_VIRTIO_RING=y
CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_BALLOON is not set
CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=y
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_IA64=y
CONFIG_XZ_DEC_ARM=y
# CONFIG_XZ_DEC_ARMTHUMB is not set
# CONFIG_XZ_DEC_SPARC is not set
CONFIG_XZ_DEC_BCJ=y
CONFIG_XZ_DEC_TEST=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=y
CONFIG_TEXTSEARCH_BM=y
CONFIG_TEXTSEARCH_FSM=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_NLATTR=y
# CONFIG_AVERAGE is not set

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

* [PATCH] slub: Disable the lockless allocator
  2011-03-26 11:27                 ` Ingo Molnar
@ 2011-03-26 11:47                   ` Ingo Molnar
  2011-03-26 17:45                     ` Eric Dumazet
  2011-03-26 17:58                   ` [boot crash #2] Re: [GIT PULL] SLAB changes for v2.6.39-rc1 Linus Torvalds
  1 sibling, 1 reply; 71+ messages in thread
From: Ingo Molnar @ 2011-03-26 11:47 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Thomas Gleixner, Christoph Lameter, torvalds, akpm, tj, npiggin,
	rientjes, linux-kernel, linux-mm


The commit below solves this crash for me. Could we please apply this simple 
patch, until the real bug has been found, to keep upstream debuggable? The 
eventual fix can then re-enable the lockless allocator.

Thanks,

	Ingo

--------------->

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-26 11:47                   ` [PATCH] slub: Disable the lockless allocator Ingo Molnar
@ 2011-03-26 17:45                     ` Eric Dumazet
  2011-03-26 19:18                       ` Christoph Lameter
  0 siblings, 1 reply; 71+ messages in thread
From: Eric Dumazet @ 2011-03-26 17:45 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Pekka Enberg, Thomas Gleixner, Christoph Lameter, torvalds, akpm,
	tj, npiggin, rientjes, linux-kernel, linux-mm

Le samedi 26 mars 2011 A  12:47 +0100, Ingo Molnar a A(C)crit :
> The commit below solves this crash for me. Could we please apply this simple 
> patch, until the real bug has been found, to keep upstream debuggable? The 
> eventual fix can then re-enable the lockless allocator.
> 
> Thanks,
> 
> 	Ingo
> 
> --------------->
> From bb764182707216faeb815c3bbdf6a9e9992a459a Mon Sep 17 00:00:00 2001
> From: Ingo Molnar <mingo@elte.hu>
> Date: Sat, 26 Mar 2011 12:40:30 +0100
> Subject: [PATCH] slub: Disable the lockless allocator
> 
> This boot crash:
> 
> Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
> Memory: 1011352k/1048512k available (11595k kernel code, 452k absent, 36708k reserved, 6343k data, 1024k init)
> BUG: unable to handle kernel paging request at ffff87ffc1fdd020
> IP: [<ffffffff812b50c2>] this_cpu_cmpxchg16b_emu+0x2/0x1c
> PGD 0
> Oops: 0000 [#1]
> last sysfs file:
> CPU 0
> Pid: 0, comm: swapper Not tainted 2.6.38-08569-g16c29da #110593 System manufacturer System Product Name/A8N-E
> RIP: 0010:[<ffffffff812b50c2>]  [<ffffffff812b50c2>] this_cpu_cmpxchg16b_emu+0x2/0x1c
> RSP: 0000:ffffffff82003e78  EFLAGS: 00010086
> RAX: ffff88003f8020c0 RBX: ffff88003f802180 RCX: 0000000000000002
> RDX: 0000000000000001 RSI: ffff88003ffc2020 RDI: ffffffff8219be43


Interesting. I am wondering if its not a per_cpu problem, or another
problem uncovered by lockless allocator ?


Old values of cmpxchg16b() :

RAX = ffff88003f8020c0 , RDX = 1

New values

RBX = ffff88003f802180 , RCX = 2

address : RSI = ffff88003ffc2020

RSI is supposed to be a dynamic percpu addr
Yet this value seems pretty outside of pcpu pools

CR2: ffff87ffc1fdd020

On my machine, if I add this patch to display cpu_slab values :

diff --git a/mm/slub.c b/mm/slub.c
index f881874..3b118f3 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2364,7 +2364,7 @@ static inline int alloc_kmem_cache_cpus(struct kmem_cache *s)
 	/* Regular alignment is sufficient */
 	s->cpu_slab = alloc_percpu(struct kmem_cache_cpu);
 #endif
-
+	pr_err("cpu_slab=%p\n", s->cpu_slab);
 	if (!s->cpu_slab)
 		return 0;

I get following traces :

First ones are allocated from the static pcpu area (zero based)
Looks consistent with :
00000000000127c0 D __per_cpu_end

[    0.000000] cpu_slab=00000000000147c0
[    0.000000] cpu_slab=00000000000147e0
[    0.000000] cpu_slab=0000000000014800
[    0.000000] cpu_slab=0000000000014820
[    0.000000] cpu_slab=0000000000014840
[    0.000000] cpu_slab=0000000000014860
[    0.000000] cpu_slab=0000000000014880
[    0.000000] cpu_slab=00000000000148a0
[    0.000000] cpu_slab=00000000000148c0
[    0.000000] cpu_slab=00000000000148e0
[    0.000000] cpu_slab=0000000000014900
[    0.000000] cpu_slab=0000000000014920
[    0.000000] cpu_slab=0000000000014940
[    0.000000] cpu_slab=0000000000014960
[    0.000000] cpu_slab=0000000000014980
[    0.000000] cpu_slab=00000000000149a0
[    0.000000] cpu_slab=00000000000149c0
[    0.000000] cpu_slab=00000000000149e0
[    0.000000] cpu_slab=0000000000014a00
[    0.000000] cpu_slab=0000000000014a20
[    0.000000] cpu_slab=0000000000014a40
[    0.000000] cpu_slab=0000000000014a60
[    0.000000] cpu_slab=0000000000014a80
[    0.000000] cpu_slab=0000000000014aa0
[    0.000000] cpu_slab=0000000000014ac0
[    0.000000] cpu_slab=0000000000014ae0
[    0.000000] cpu_slab=0000000000014b00
[    0.000000] cpu_slab=0000000000014b20
[    0.000000] cpu_slab=0000000000014b40
[    0.000000] cpu_slab=0000000000014c80
[    0.000000] cpu_slab=0000000000017240
[    0.000000] cpu_slab=0000000000017260
[    0.000350] cpu_slab=0000000000017280
[    0.000461] cpu_slab=00000000000172a0
[    0.000573] cpu_slab=00000000000172c0
[    0.000684] cpu_slab=00000000000172e0
[    0.000797] cpu_slab=0000000000017300
[    0.000918] cpu_slab=0000000000017320
[    0.001031] cpu_slab=0000000000017340
[    0.001141] cpu_slab=0000000000017360
[    0.001253] cpu_slab=0000000000017380
[    0.001365] cpu_slab=00000000000173a0
[    0.001477] cpu_slab=00000000000173c0
[    0.001589] cpu_slab=00000000000173e0
[    0.001713] cpu_slab=0000000000017400
[    0.001833] cpu_slab=0000000000017420
[    0.001946] cpu_slab=0000000000017440
[    0.002057] cpu_slab=0000000000017460
[    0.003548] cpu_slab=0000000000017480
[    0.004380] cpu_slab=00000000000174a0
[    0.004508] cpu_slab=00000000000174d0
[    0.004727] cpu_slab=00000000000174f0
[    0.005006] cpu_slab=0000000000017550
[    0.005187] cpu_slab=0000000000017590
[    0.005345] cpu_slab=00000000000175c0
[    0.007824] cpu_slab=0000000000017600
[    0.007935] cpu_slab=0000000000017620
[    0.008048] cpu_slab=0000000000017640
[    0.008159] cpu_slab=0000000000017660
[    0.008271] cpu_slab=0000000000017680
[    1.496852] cpu_slab=00000000000177b0
[    1.497347] cpu_slab=0000000000017870
[    1.497509] cpu_slab=0000000000017890
[    1.497632] cpu_slab=00000000000178b0
[    1.497749] cpu_slab=00000000000178d0
[    1.497868] cpu_slab=0000000000017970
[    1.510931] cpu_slab=0000000000017a70
[    1.511000] cpu_slab=0000000000017a90
[    1.511068] cpu_slab=0000000000017ab0
[    1.511139] cpu_slab=0000000000017ad0
[    1.511208] cpu_slab=0000000000017c70
[    1.511430] cpu_slab=0000000000017c90
[    1.511543] cpu_slab=0000000000017cb0
[    1.511659] cpu_slab=0000000000017cd0
[    1.511816] cpu_slab=0000000000017d70
[    1.511929] cpu_slab=0000000000017d90
[    1.538272] cpu_slab=0000000000017db0
[    1.538384] cpu_slab=0000000000017dd0
[    1.538500] cpu_slab=0000000000017e70
[    1.538615] cpu_slab=0000000000017e90
[    1.538731] cpu_slab=0000000000017eb0
[    1.538851] cpu_slab=0000000000017ed0
[    1.555795] cpu_slab=0000000000017f70
[    1.555908] cpu_slab=0000000000017f90
[    1.578009] cpu_slab=0000000000017fc0
[    1.578122] cpu_slab=0000000000017fe0
[    1.578240] cpu_slab=0000000000018070
[    1.578352] cpu_slab=0000000000018090
[    1.578466] cpu_slab=00000000000180b0
[    1.578685] cpu_slab=00000000000180d0
[    1.578843] cpu_slab=00000000000181d0
[    1.579371] cpu_slab=0000000000018270
[    1.579453] cpu_slab=0000000000018290
[    1.579531] cpu_slab=00000000000182b0
[    1.579636] cpu_slab=00000000000182d0
[    1.580122] cpu_slab=0000000000019370
[    1.580202] cpu_slab=0000000000019390
[    1.580482] cpu_slab=0000000000019e20
[    1.606265] cpu_slab=0000000000019e40
[    1.606337] cpu_slab=0000000000019e60
[    1.606405] cpu_slab=0000000000019e80
[    1.633467] cpu_slab=0000000000019ea0
[    1.633622] cpu_slab=0000000000019ec0
[    1.633753] cpu_slab=0000000000019ee0
[    1.633881] cpu_slab=0000000000019f00
[    1.634013] cpu_slab=0000000000019f20
[    1.634139] cpu_slab=0000000000019f40
[    1.634294] cpu_slab=0000000000019f60
[    1.634582] cpu_slab=0000000000019f80
[    1.634918] cpu_slab=0000000000019fc0
[    1.635051] cpu_slab=0000000000019fe0

After exhaustion of static pcpu area we switch do vmalloc() based ones :

[    1.635175] cpu_slab=000060fee0002070
[    1.635324] cpu_slab=000060fee0002090
[    1.635445] cpu_slab=000060fee00020b0
[    1.635563] cpu_slab=000060fee00020d0
[    1.635690] cpu_slab=000060fee00020f0
[    1.635802] cpu_slab=000060fee0002110
[    1.635951] cpu_slab=000060fee0002140
[    1.636081] cpu_slab=000060fee0002170
[    1.636309] cpu_slab=000060fee0002190
[    1.636882] cpu_slab=000060fee00021d0
[    1.637257] cpu_slab=000060fee0002270
[    1.637381] cpu_slab=000060fee0002290
[    3.264327] cpu_slab=000060fee0002860
[    3.264465] cpu_slab=000060fee0002880
[    3.267217] cpu_slab=000060fee0002900
[    3.294910] cpu_slab=000060fee0002950
[    3.302653] cpu_slab=000060fee0002bb0
[    3.302783] cpu_slab=000060fee0002bd0
[    3.302899] cpu_slab=000060fee0002bf0
[    3.303033] cpu_slab=000060fee0002c10
[    3.303153] cpu_slab=000060fee0002c30
[    3.303268] cpu_slab=000060fee0002c50
[    3.303539] cpu_slab=000060fee0004f90
[    3.303675] cpu_slab=000060fee0004fb0
[    3.303811] cpu_slab=000060fee0005030
[    3.303939] cpu_slab=000060fee0005050

# grep pcpu_get_vm_areas /proc/vmallocinfo 
0xffffe8ff5fc00000-0xffffe8ff5fe00000 2097152 pcpu_get_vm_areas+0x0/0x580 vmalloc
0xffffe8ffffc00000-0xffffe8ffffe00000 2097152 pcpu_get_vm_areas+0x0/0x580 vmalloc



--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [boot crash #2] Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-26 11:27                 ` Ingo Molnar
  2011-03-26 11:47                   ` [PATCH] slub: Disable the lockless allocator Ingo Molnar
@ 2011-03-26 17:58                   ` Linus Torvalds
  1 sibling, 0 replies; 71+ messages in thread
From: Linus Torvalds @ 2011-03-26 17:58 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Pekka Enberg, Thomas Gleixner, Christoph Lameter, akpm, tj,
	npiggin, rientjes, linux-kernel, linux-mm

On Sat, Mar 26, 2011 at 4:27 AM, Ingo Molnar <mingo@elte.hu> wrote:
>
> ok, bad news - the bootcrash has come back - see the crashlog attached below.
> Config attached as well.
>
> I reproduced this on upstream 16c29dafcc86 - i.e. all the latest Slab fixes
> applied.
>
> BUG: unable to handle kernel paging request at ffff87ffc1fdd020
> IP: [<ffffffff812b50c2>] this_cpu_cmpxchg16b_emu+0x2/0x1c
> ...
> Code: 47 08 48 89 47 10 48 89 47 18 48 89 47 20 48 89 47 28 48 89 47 30 48 89 47 38 48 8d 7f 40 75 d9 90 c3 90 90 90 90 90 90 90 9c fa
>  48 3b 06 75 14 65 48 3b 56 08 75 0d 65 48 89 1e 65 48 89 4e

Your "Code:" line is buggy, and is missing the first byte of the
faulting instruction (which should have that "<>" around it). But from
the offset, we know it's <65>, and it's the first read of %gs. In
which case it all decodes to the right thing, ie

   0:	9c                   	pushfq
   1:	fa                   	cli
   2:*	65 48 3b 06          	cmp    %gs     <-- trapping instruction:(%rsi),%rax
   6:	75 14                	jne    0x1c
   8:	65 48 3b 56 08       	cmp    %gs:0x8(%rsi),%rdx
   d:	75 0d                	jne    0x1c
   f:	65 48 89 1e          	mov    %rbx,%gs:(%rsi)

(Heh, the "trapping instruction" points to the %gs override itself,
which looks odd but is technically not incorrect).

And quite frankly, I don't see how this can have anything to do with
the emulated code. It's doing exactly the same thing as the cmpxchg16b
instruction is, except for the fact that a real cmpxchg16b would have
(a) not done this with interrupts disabled and (b) would have done the
fault as a write-fault.

But neither of those should make any difference what-so-ever. If this
was rally about the vmalloc space, arch/x86/mm/fault.c should have
fixed it up. That code is entirely happy fixing up stuff with
interrupts disabled too, and is in fact designed to do so.

So I don't see how this could be about the cmpxchg16b instruction
emulation.  We should have gotten pretty much the exact same page
fault even for a real cmpxchg16b instruction.

I wonder if there is something wrong in the percpu allocation, and the
whole new slub thing just ends up causing us to do those allocations
earlier or in a different pattern. The percpu offset is fairly close
to the beginning of a page (offset 0x20).

Tejun, do you see anything suspicious/odd about the percpu allocations
that alloc_kmem_cache_cpus() does?  In particular, should the slab
init code use the reserved chunks so that we don't get some kind of
crazy "slab wants to do percpu alloc to initialize, which wants to use
slab to allocate the chunk"?

                                   Linus

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-26 17:45                     ` Eric Dumazet
@ 2011-03-26 19:18                       ` Christoph Lameter
  2011-03-26 19:30                         ` Christoph Lameter
  2011-03-26 19:30                         ` Linus Torvalds
  0 siblings, 2 replies; 71+ messages in thread
From: Christoph Lameter @ 2011-03-26 19:18 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: Ingo Molnar, Pekka Enberg, Thomas Gleixner, torvalds, akpm, tj,
	npiggin, rientjes, linux-kernel, linux-mm

On Sat, 26 Mar 2011, Eric Dumazet wrote:

> address : RSI = ffff88003ffc2020
>
> RSI is supposed to be a dynamic percpu addr
> Yet this value seems pretty outside of pcpu pools
>
> CR2: ffff87ffc1fdd020

Right. RSI should be in the range of the values you printed.
However, the determination RSI is independent of the emulation of the
instruction. If RSI is set wrong then we should see these failures on
machines that do not do the instruction emulation. A kvm run with Ingo's
config should show the same issues. Will do that now.


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-26 19:18                       ` Christoph Lameter
@ 2011-03-26 19:30                         ` Christoph Lameter
  2011-03-26 19:49                           ` Christoph Lameter
  2011-03-26 19:30                         ` Linus Torvalds
  1 sibling, 1 reply; 71+ messages in thread
From: Christoph Lameter @ 2011-03-26 19:30 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: Ingo Molnar, Pekka Enberg, Thomas Gleixner, torvalds, akpm, tj,
	npiggin, rientjes, linux-kernel, linux-mm

Indeed I can reproduce it easily.
With a few printk's this shows that alloc_percpu() returns a wrong
address which is the cause of all of this:

logs:

Memory: 1011444k/1048564k available (11622k kernel code, 452k absent,
36668k reserved, 6270k data, 1028k init)
alloc_kmem_cache_cpus kmem_cache_node = ffff88003ffcf000
alloc_kmem_cache_cpus kmem_cache = ffff88003ffcf020

This means that the cpu_slab is not a percpu pointer.

Now the first allocation attempt:

Slab kmem_cache cpu_slab=ffff88003ffcf020 freelist=ffff88003f8020c0
BUG: unable to handle kernel paging request at ffff87ffc1fdc020
IP: [<ffffffff812c3852>] this_cpu_cmpxchg16b_emu+0x2/0x1c

Tejun: Whats going on there? I should be getting offsets into the per cpu
area and not kernel addresses.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-26 19:18                       ` Christoph Lameter
  2011-03-26 19:30                         ` Christoph Lameter
@ 2011-03-26 19:30                         ` Linus Torvalds
  1 sibling, 0 replies; 71+ messages in thread
From: Linus Torvalds @ 2011-03-26 19:30 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Eric Dumazet, Ingo Molnar, Pekka Enberg, Thomas Gleixner, akpm,
	tj, npiggin, rientjes, linux-kernel, linux-mm

On Sat, Mar 26, 2011 at 12:18 PM, Christoph Lameter <cl@linux.com> wrote:
>
> Right. RSI should be in the range of the values you printed.
> However, the determination RSI is independent of the emulation of the
> instruction. If RSI is set wrong then we should see these failures on
> machines that do not do the instruction emulation. A kvm run with Ingo's
> config should show the same issues. Will do that now.

I bet it's timing-dependent and/or dependent on some code layout
issue. Why else would the totally pointless previous patch have made
any difference for Ingo (the "SLUB: Write to per cpu data when
allocating it" thing seems to be pure voodoo programming)?

That said, this early in the boot I don't think we should have any
parallelism going on, so I don't see what could make those kinds of
random effects.

                             Linus

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-26 19:30                         ` Christoph Lameter
@ 2011-03-26 19:49                           ` Christoph Lameter
  2011-03-26 19:57                             ` Ingo Molnar
                                               ` (2 more replies)
  0 siblings, 3 replies; 71+ messages in thread
From: Christoph Lameter @ 2011-03-26 19:49 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: Ingo Molnar, Pekka Enberg, Thomas Gleixner, torvalds, akpm, tj,
	npiggin, rientjes, linux-kernel, linux-mm

On Sat, 26 Mar 2011, Christoph Lameter wrote:

> Tejun: Whats going on there? I should be getting offsets into the per cpu
> area and not kernel addresses.

Its a UP kernel running on dual Athlon. So its okay ... Argh.... The
following patch fixes it by using the fallback code for cmpxchg_double:



Subject: per_cpu: Fixup cmpxchg_double for !SMP

cmpxchg_double should only be provided for SMP. In the UP case
the GS register is not defined and the function will fail.

Signed-off-by: Christoph Lameter <cl@linux.com>

Index: linux-2.6/arch/x86/include/asm/percpu.h
===================================================================
--- linux-2.6.orig/arch/x86/include/asm/percpu.h	2011-03-26 11:11:19.175244998 -0500
+++ linux-2.6/arch/x86/include/asm/percpu.h	2011-03-26 14:45:29.254088998 -0500
@@ -507,6 +507,7 @@
  * it in software.  The address used in the cmpxchg16 instruction must be
  * aligned to a 16 byte boundary.
  */
+#ifdef CONFIG_SMP
 #define percpu_cmpxchg16b_double(pcp1, o1, o2, n1, n2)			\
 ({									\
 	char __ret;							\
@@ -529,6 +530,7 @@
 #define irqsafe_cpu_cmpxchg_double_8(pcp1, pcp2, o1, o2, n1, n2)	percpu_cmpxchg16b_double(pcp1, o1, o2, n1, n2)

 #endif
+#endif

 /* This is not atomic against other CPUs -- CPU preemption needs to be off */
 #define x86_test_and_clear_bit_percpu(bit, var)				\

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-26 19:49                           ` Christoph Lameter
@ 2011-03-26 19:57                             ` Ingo Molnar
  2011-03-26 21:36                               ` Christoph Lameter
  2011-03-26 20:00                             ` Ingo Molnar
  2011-03-26 22:18                             ` Linus Torvalds
  2 siblings, 1 reply; 71+ messages in thread
From: Ingo Molnar @ 2011-03-26 19:57 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Eric Dumazet, Pekka Enberg, Thomas Gleixner, torvalds, akpm, tj,
	npiggin, rientjes, linux-kernel, linux-mm


* Christoph Lameter <cl@linux.com> wrote:

> On Sat, 26 Mar 2011, Christoph Lameter wrote:
> 
> > Tejun: Whats going on there? I should be getting offsets into the per cpu
> > area and not kernel addresses.
> 
> Its a UP kernel running on dual Athlon. So its okay ... Argh.... The
> following patch fixes it by using the fallback code for cmpxchg_double:
> 
> 
> 
> Subject: per_cpu: Fixup cmpxchg_double for !SMP
> 
> cmpxchg_double should only be provided for SMP. In the UP case
> the GS register is not defined and the function will fail.
> 
> Signed-off-by: Christoph Lameter <cl@linux.com>

I.e. the bug got introduced by:

 | commit b9ec40af0e18fb7d02106be148036c2ea490fdf9
 | Author: Christoph Lameter <cl@linux.com>
 | Date:   Mon Feb 28 11:02:24 2011 +0100
 |
 |     percpu, x86: Add arch-specific this_cpu_cmpxchg_double() support

and then the lockless allocator made use of it, right?

Thanks,

	Ingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-26 19:49                           ` Christoph Lameter
  2011-03-26 19:57                             ` Ingo Molnar
@ 2011-03-26 20:00                             ` Ingo Molnar
  2011-03-26 22:18                             ` Linus Torvalds
  2 siblings, 0 replies; 71+ messages in thread
From: Ingo Molnar @ 2011-03-26 20:00 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Eric Dumazet, Pekka Enberg, Thomas Gleixner, torvalds, akpm, tj,
	npiggin, rientjes, linux-kernel, linux-mm


* Christoph Lameter <cl@linux.com> wrote:

> On Sat, 26 Mar 2011, Christoph Lameter wrote:
> 
> > Tejun: Whats going on there? I should be getting offsets into the per cpu
> > area and not kernel addresses.
> 
> Its a UP kernel running on dual Athlon. So its okay ... Argh.... The
> following patch fixes it by using the fallback code for cmpxchg_double:

The fix works here too:

Tested-by: Ingo Molnar <mingo@elte.hu>

Thanks,

	Ingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-26 19:57                             ` Ingo Molnar
@ 2011-03-26 21:36                               ` Christoph Lameter
  0 siblings, 0 replies; 71+ messages in thread
From: Christoph Lameter @ 2011-03-26 21:36 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Eric Dumazet, Pekka Enberg, Thomas Gleixner, torvalds, akpm, tj,
	npiggin, rientjes, linux-kernel, linux-mm

On Sat, 26 Mar 2011, Ingo Molnar wrote:

> > Subject: per_cpu: Fixup cmpxchg_double for !SMP
> >
> > cmpxchg_double should only be provided for SMP. In the UP case
> > the GS register is not defined and the function will fail.
> >
> > Signed-off-by: Christoph Lameter <cl@linux.com>
>
> I.e. the bug got introduced by:
>
>  | commit b9ec40af0e18fb7d02106be148036c2ea490fdf9
>  | Author: Christoph Lameter <cl@linux.com>
>  | Date:   Mon Feb 28 11:02:24 2011 +0100
>  |
>  |     percpu, x86: Add arch-specific this_cpu_cmpxchg_double() support
>
> and then the lockless allocator made use of it, right?

Correct.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-26 19:49                           ` Christoph Lameter
  2011-03-26 19:57                             ` Ingo Molnar
  2011-03-26 20:00                             ` Ingo Molnar
@ 2011-03-26 22:18                             ` Linus Torvalds
  2011-03-27  1:29                               ` Christoph Lameter
  2 siblings, 1 reply; 71+ messages in thread
From: Linus Torvalds @ 2011-03-26 22:18 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Eric Dumazet, Ingo Molnar, Pekka Enberg, Thomas Gleixner, akpm,
	tj, npiggin, rientjes, linux-kernel, linux-mm

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

On Sat, Mar 26, 2011 at 12:49 PM, Christoph Lameter <cl@linux.com> wrote:
> On Sat, 26 Mar 2011, Christoph Lameter wrote:
>
>> Tejun: Whats going on there? I should be getting offsets into the per cpu
>> area and not kernel addresses.
>
> Its a UP kernel running on dual Athlon. So its okay ... Argh.... The
> following patch fixes it by using the fallback code for cmpxchg_double:

Hmm.

Looking closer, I think there are more bugs in that cmpxchg_double thing.

In particular, it doesn't mark memory as changed, so gcc might
miscompile it even on SMP. Also, I think we'd be better off using the
'cmpxchg16b' instruction even on UP, so it's sad to disable it
entirely there.

Wouldn't something like the attached be better?

NOTE! TOTALLY UNTESTED!

                 Linus

[-- Attachment #2: patch.diff --]
[-- Type: text/x-patch, Size: 1393 bytes --]

 arch/x86/include/asm/percpu.h |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h
index a09e1f0..d475b43 100644
--- a/arch/x86/include/asm/percpu.h
+++ b/arch/x86/include/asm/percpu.h
@@ -45,7 +45,7 @@
 #include <linux/stringify.h>
 
 #ifdef CONFIG_SMP
-#define __percpu_arg(x)		"%%"__stringify(__percpu_seg)":%P" #x
+#define __percpu_prefix		"%%"__stringify(__percpu_seg)":"
 #define __my_cpu_offset		percpu_read(this_cpu_off)
 
 /*
@@ -62,9 +62,11 @@
 	(typeof(*(ptr)) __kernel __force *)tcp_ptr__;	\
 })
 #else
-#define __percpu_arg(x)		"%P" #x
+#define __percpu_prefix		""
 #endif
 
+#define __percpu_arg(x)		__percpu_prefix "%P" #x
+
 /*
  * Initialized pointers to per-cpu variables needed for the boot
  * processor need to use these macros to get the proper address
@@ -516,11 +518,11 @@ do {									\
 	typeof(o2) __n2 = n2;						\
 	typeof(o2) __dummy;						\
 	alternative_io("call this_cpu_cmpxchg16b_emu\n\t" P6_NOP4,	\
-		       "cmpxchg16b %%gs:(%%rsi)\n\tsetz %0\n\t",	\
+		       "cmpxchg16b " __percpu_prefix "(%%rsi)\n\tsetz %0\n\t",	\
 		       X86_FEATURE_CX16,				\
 		       ASM_OUTPUT2("=a"(__ret), "=d"(__dummy)),		\
 		       "S" (&pcp1), "b"(__n1), "c"(__n2),		\
-		       "a"(__o1), "d"(__o2));				\
+		       "a"(__o1), "d"(__o2) : "memory");		\
 	__ret;								\
 })
 

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-26 22:18                             ` Linus Torvalds
@ 2011-03-27  1:29                               ` Christoph Lameter
  2011-03-27  1:57                                 ` Christoph Lameter
  0 siblings, 1 reply; 71+ messages in thread
From: Christoph Lameter @ 2011-03-27  1:29 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Eric Dumazet, Ingo Molnar, Pekka Enberg, Thomas Gleixner, akpm,
	tj, npiggin, rientjes, linux-kernel, linux-mm

[-- Attachment #1: Type: TEXT/PLAIN, Size: 139 bytes --]

On Sat, 26 Mar 2011, Linus Torvalds wrote:

> Wouldn't something like the attached be better?

On first glance I cannot find fault with it.

[-- Attachment #2: Type: TEXT/X-PATCH, Size: 1393 bytes --]

 arch/x86/include/asm/percpu.h |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h
index a09e1f0..d475b43 100644
--- a/arch/x86/include/asm/percpu.h
+++ b/arch/x86/include/asm/percpu.h
@@ -45,7 +45,7 @@
 #include <linux/stringify.h>
 
 #ifdef CONFIG_SMP
-#define __percpu_arg(x)		"%%"__stringify(__percpu_seg)":%P" #x
+#define __percpu_prefix		"%%"__stringify(__percpu_seg)":"
 #define __my_cpu_offset		percpu_read(this_cpu_off)
 
 /*
@@ -62,9 +62,11 @@
 	(typeof(*(ptr)) __kernel __force *)tcp_ptr__;	\
 })
 #else
-#define __percpu_arg(x)		"%P" #x
+#define __percpu_prefix		""
 #endif
 
+#define __percpu_arg(x)		__percpu_prefix "%P" #x
+
 /*
  * Initialized pointers to per-cpu variables needed for the boot
  * processor need to use these macros to get the proper address
@@ -516,11 +518,11 @@ do {									\
 	typeof(o2) __n2 = n2;						\
 	typeof(o2) __dummy;						\
 	alternative_io("call this_cpu_cmpxchg16b_emu\n\t" P6_NOP4,	\
-		       "cmpxchg16b %%gs:(%%rsi)\n\tsetz %0\n\t",	\
+		       "cmpxchg16b " __percpu_prefix "(%%rsi)\n\tsetz %0\n\t",	\
 		       X86_FEATURE_CX16,				\
 		       ASM_OUTPUT2("=a"(__ret), "=d"(__dummy)),		\
 		       "S" (&pcp1), "b"(__n1), "c"(__n2),		\
-		       "a"(__o1), "d"(__o2));				\
+		       "a"(__o1), "d"(__o2) : "memory");		\
 	__ret;								\
 })
 

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-27  1:29                               ` Christoph Lameter
@ 2011-03-27  1:57                                 ` Christoph Lameter
  2011-03-27  7:52                                   ` Eric Dumazet
  2011-03-28  6:12                                   ` [PATCH] slub: Disable the lockless allocator Pekka Enberg
  0 siblings, 2 replies; 71+ messages in thread
From: Christoph Lameter @ 2011-03-27  1:57 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Eric Dumazet, Ingo Molnar, Pekka Enberg, Thomas Gleixner, akpm,
	tj, npiggin, rientjes, linux-kernel, linux-mm

[-- Attachment #1: Type: TEXT/PLAIN, Size: 2762 bytes --]

But then the same fix must also be used in the asm code or the fallback
(turns out that the fallback is always used in kmem_cache_init since
the instruction patching comes later).

Patch boots fine both in UP and SMP mode




Subject: percpu: Omit segment prefix in the UP case for cmpxchg_double

Omit the segment prefix in the UP case. GS is not used then
and we will generate segfaults if cmpxchg16b is used otherwise.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Christoph Lameter <cl@linux.com>

 arch/x86/include/asm/percpu.h |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

Index: linux-2.6/arch/x86/include/asm/percpu.h
===================================================================
--- linux-2.6.orig/arch/x86/include/asm/percpu.h	2011-03-26 20:43:03.994089001 -0500
+++ linux-2.6/arch/x86/include/asm/percpu.h	2011-03-26 20:43:22.414089004 -0500
@@ -45,7 +45,7 @@
 #include <linux/stringify.h>

 #ifdef CONFIG_SMP
-#define __percpu_arg(x)		"%%"__stringify(__percpu_seg)":%P" #x
+#define __percpu_prefix		"%%"__stringify(__percpu_seg)":"
 #define __my_cpu_offset		percpu_read(this_cpu_off)

 /*
@@ -62,9 +62,11 @@
 	(typeof(*(ptr)) __kernel __force *)tcp_ptr__;	\
 })
 #else
-#define __percpu_arg(x)		"%P" #x
+#define __percpu_prefix		""
 #endif

+#define __percpu_arg(x)		__percpu_prefix "%P" #x
+
 /*
  * Initialized pointers to per-cpu variables needed for the boot
  * processor need to use these macros to get the proper address
@@ -516,11 +518,11 @@
 	typeof(o2) __n2 = n2;						\
 	typeof(o2) __dummy;						\
 	alternative_io("call this_cpu_cmpxchg16b_emu\n\t" P6_NOP4,	\
-		       "cmpxchg16b %%gs:(%%rsi)\n\tsetz %0\n\t",	\
+		       "cmpxchg16b " __percpu_prefix "(%%rsi)\n\tsetz %0\n\t",	\
 		       X86_FEATURE_CX16,				\
 		       ASM_OUTPUT2("=a"(__ret), "=d"(__dummy)),		\
 		       "S" (&pcp1), "b"(__n1), "c"(__n2),		\
-		       "a"(__o1), "d"(__o2));				\
+		       "a"(__o1), "d"(__o2) : "memory");		\
 	__ret;								\
 })

Index: linux-2.6/arch/x86/lib/cmpxchg16b_emu.S
===================================================================
--- linux-2.6.orig/arch/x86/lib/cmpxchg16b_emu.S	2011-03-26 20:43:57.384089004 -0500
+++ linux-2.6/arch/x86/lib/cmpxchg16b_emu.S	2011-03-26 20:48:42.684088999 -0500
@@ -10,6 +10,12 @@
 #include <asm/frame.h>
 #include <asm/dwarf2.h>

+#ifdef CONFIG_SMP
+#define SEG_PREFIX %gs:
+#else
+#define SEG_PREFIX
+#endif
+
 .text

 /*
@@ -37,13 +43,13 @@
 	pushf
 	cli

-	cmpq %gs:(%rsi), %rax
+	cmpq SEG_PREFIX(%rsi), %rax
 	jne not_same
-	cmpq %gs:8(%rsi), %rdx
+	cmpq SEG_PREFIX 8(%rsi), %rdx
 	jne not_same

-	movq %rbx, %gs:(%rsi)
-	movq %rcx, %gs:8(%rsi)
+	movq %rbx, SEG_PREFIX(%rsi)
+	movq %rcx, SEG_PREFIX 8(%rsi)

 	popf
 	mov $1, %al

[-- Attachment #2: Type: TEXT/X-PATCH, Size: 1393 bytes --]

 arch/x86/include/asm/percpu.h |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h
index a09e1f0..d475b43 100644
--- a/arch/x86/include/asm/percpu.h
+++ b/arch/x86/include/asm/percpu.h
@@ -45,7 +45,7 @@
 #include <linux/stringify.h>
 
 #ifdef CONFIG_SMP
-#define __percpu_arg(x)		"%%"__stringify(__percpu_seg)":%P" #x
+#define __percpu_prefix		"%%"__stringify(__percpu_seg)":"
 #define __my_cpu_offset		percpu_read(this_cpu_off)
 
 /*
@@ -62,9 +62,11 @@
 	(typeof(*(ptr)) __kernel __force *)tcp_ptr__;	\
 })
 #else
-#define __percpu_arg(x)		"%P" #x
+#define __percpu_prefix		""
 #endif
 
+#define __percpu_arg(x)		__percpu_prefix "%P" #x
+
 /*
  * Initialized pointers to per-cpu variables needed for the boot
  * processor need to use these macros to get the proper address
@@ -516,11 +518,11 @@ do {									\
 	typeof(o2) __n2 = n2;						\
 	typeof(o2) __dummy;						\
 	alternative_io("call this_cpu_cmpxchg16b_emu\n\t" P6_NOP4,	\
-		       "cmpxchg16b %%gs:(%%rsi)\n\tsetz %0\n\t",	\
+		       "cmpxchg16b " __percpu_prefix "(%%rsi)\n\tsetz %0\n\t",	\
 		       X86_FEATURE_CX16,				\
 		       ASM_OUTPUT2("=a"(__ret), "=d"(__dummy)),		\
 		       "S" (&pcp1), "b"(__n1), "c"(__n2),		\
-		       "a"(__o1), "d"(__o2));				\
+		       "a"(__o1), "d"(__o2) : "memory");		\
 	__ret;								\
 })
 

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-27  1:57                                 ` Christoph Lameter
@ 2011-03-27  7:52                                   ` Eric Dumazet
  2011-03-28 10:32                                     ` [PATCH] percpu: avoid extra NOP in percpu_cmpxchg16b_double Eric Dumazet
  2011-03-28  6:12                                   ` [PATCH] slub: Disable the lockless allocator Pekka Enberg
  1 sibling, 1 reply; 71+ messages in thread
From: Eric Dumazet @ 2011-03-27  7:52 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Linus Torvalds, Ingo Molnar, Pekka Enberg, Thomas Gleixner, akpm,
	tj, npiggin, rientjes, linux-kernel, linux-mm

Le samedi 26 mars 2011 A  20:57 -0500, Christoph Lameter a A(C)crit :
> But then the same fix must also be used in the asm code or the fallback
> (turns out that the fallback is always used in kmem_cache_init since
> the instruction patching comes later).
> 
> Patch boots fine both in UP and SMP mode
> 
> 
> 
> 
> Subject: percpu: Omit segment prefix in the UP case for cmpxchg_double
> 
> Omit the segment prefix in the UP case. GS is not used then
> and we will generate segfaults if cmpxchg16b is used otherwise.
> 
> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> Signed-off-by: Christoph Lameter <cl@linux.com>
> 
>  arch/x86/include/asm/percpu.h |   10 ++++++----
>  1 files changed, 6 insertions(+), 4 deletions(-)
> 
> Index: linux-2.6/arch/x86/include/asm/percpu.h
> ===================================================================
> --- linux-2.6.orig/arch/x86/include/asm/percpu.h	2011-03-26 20:43:03.994089001 -0500
> +++ linux-2.6/arch/x86/include/asm/percpu.h	2011-03-26 20:43:22.414089004 -0500
> @@ -45,7 +45,7 @@
>  #include <linux/stringify.h>
> 
>  #ifdef CONFIG_SMP
> -#define __percpu_arg(x)		"%%"__stringify(__percpu_seg)":%P" #x
> +#define __percpu_prefix		"%%"__stringify(__percpu_seg)":"
>  #define __my_cpu_offset		percpu_read(this_cpu_off)
> 
>  /*
> @@ -62,9 +62,11 @@
>  	(typeof(*(ptr)) __kernel __force *)tcp_ptr__;	\
>  })
>  #else
> -#define __percpu_arg(x)		"%P" #x
> +#define __percpu_prefix		""
>  #endif
> 
> +#define __percpu_arg(x)		__percpu_prefix "%P" #x
> +
>  /*
>   * Initialized pointers to per-cpu variables needed for the boot
>   * processor need to use these macros to get the proper address
> @@ -516,11 +518,11 @@
>  	typeof(o2) __n2 = n2;						\
>  	typeof(o2) __dummy;						\
>  	alternative_io("call this_cpu_cmpxchg16b_emu\n\t" P6_NOP4,	\

I guess you should make P6_NOP4 be P6_NOP3 in !SMP builds.

> -		       "cmpxchg16b %%gs:(%%rsi)\n\tsetz %0\n\t",	\
> +		       "cmpxchg16b " __percpu_prefix "(%%rsi)\n\tsetz %0\n\t",	\
>  		       X86_FEATURE_CX16,				\
>  		       ASM_OUTPUT2("=a"(__ret), "=d"(__dummy)),		\
>  		       "S" (&pcp1), "b"(__n1), "c"(__n2),		\
> -		       "a"(__o1), "d"(__o2));				\
> +		       "a"(__o1), "d"(__o2) : "memory");		\
>  	__ret;								\
>  })
> 



--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 18:47                     ` Christoph Lameter
  2011-03-24 18:51                       ` Eric Dumazet
  2011-03-24 18:55                       ` Pekka Enberg
@ 2011-03-27  9:57                       ` Avi Kivity
  2 siblings, 0 replies; 71+ messages in thread
From: Avi Kivity @ 2011-03-27  9:57 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Eric Dumazet, Pekka Enberg, Ingo Molnar, torvalds, akpm, tj,
	npiggin, rientjes, linux-kernel, linux-mm

On 03/24/2011 08:47 PM, Christoph Lameter wrote:
> On Thu, 24 Mar 2011, Eric Dumazet wrote:
>
> >  >  this_cpu_cmpxchg16b_emu:
> >  >          pushf
> >  >          cli
> >  >
> >  >          cmpq %gs:(%rsi), %rax
>
> >  Random guess
> >
> >  Masking interrupts, and accessing vmalloc() based memory for the first
> >  time ?
>
> Hmmm.. Could be. KVM would not really disable interrupts so this may
> explain that the test case works here.

kvm does really disable guest interrupts (it doesn't disable host 
interrupts, but these are invisible to the guest).

-- 
error compiling committee.c: too many arguments to function

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [GIT PULL] SLAB changes for v2.6.39-rc1
  2011-03-24 19:51                                     ` Christoph Lameter
  2011-03-24 20:01                                       ` Ingo Molnar
  2011-03-24 20:08                                       ` Eric Dumazet
@ 2011-03-27  9:59                                       ` Avi Kivity
  2 siblings, 0 replies; 71+ messages in thread
From: Avi Kivity @ 2011-03-27  9:59 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Pekka Enberg, Ingo Molnar, Eric Dumazet, torvalds, akpm, tj,
	npiggin, rientjes, linux-kernel, linux-mm

On 03/24/2011 09:51 PM, Christoph Lameter wrote:
> On Thu, 24 Mar 2011, Pekka Enberg wrote:
>
> >  Thanks, Ingo! Christoph, may I have your sign-off for the patch and
> >  I'll send it to Linus?
>
>
> Subject: SLUB: Write to per cpu data when allocating it
>
> It turns out that the cmpxchg16b emulation has to access vmalloced
> percpu memory with interrupts disabled. If the memory has never
> been touched before then the fault necessary to establish the
> mapping will not to occur and the kernel will fail on boot.
>

I don't get it.  Disabling interrupts doesn't disable faults.

> Fix that by reusing the CONFIG_PREEMPT code that writes the
> cpu number into a field on every cpu. Writing to the per cpu
> area before causes the mapping to be established before we get
> to a cmpxchg16b emulation.
>
> Tested-by: Ingo Molnar<mingo@elte.hu>
> Signed-off-by: Christoph Lameter<cl@linux.com>
>
> ---
>   mm/slub.c |    2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: linux-2.6/mm/slub.c
> ===================================================================
> --- linux-2.6.orig/mm/slub.c	2011-03-24 14:03:10.000000000 -0500
> +++ linux-2.6/mm/slub.c	2011-03-24 14:04:08.000000000 -0500
> @@ -1604,7 +1604,7 @@ static inline void note_cmpxchg_failure(
>
>   void init_kmem_cache_cpus(struct kmem_cache *s)
>   {
> -#if defined(CONFIG_CMPXCHG_LOCAL)&&  defined(CONFIG_PREEMPT)
> +#ifdef CONFIG_CMPXCHG_LOCAL
>   	int cpu;
>
>   	for_each_possible_cpu(cpu)
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/


-- 
error compiling committee.c: too many arguments to function

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-27  1:57                                 ` Christoph Lameter
  2011-03-27  7:52                                   ` Eric Dumazet
@ 2011-03-28  6:12                                   ` Pekka Enberg
  2011-03-28  6:19                                     ` Ingo Molnar
  2011-03-28  7:35                                     ` Tejun Heo
  1 sibling, 2 replies; 71+ messages in thread
From: Pekka Enberg @ 2011-03-28  6:12 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Linus Torvalds, Eric Dumazet, Ingo Molnar, Thomas Gleixner, akpm,
	tj, npiggin, rientjes, linux-kernel, linux-mm

On 3/27/11 4:57 AM, Christoph Lameter wrote:
> But then the same fix must also be used in the asm code or the fallback
> (turns out that the fallback is always used in kmem_cache_init since
> the instruction patching comes later).
>
> Patch boots fine both in UP and SMP mode
>
>
>
>
> Subject: percpu: Omit segment prefix in the UP case for cmpxchg_double
>
> Omit the segment prefix in the UP case. GS is not used then
> and we will generate segfaults if cmpxchg16b is used otherwise.
>
> Signed-off-by: Linus Torvalds<torvalds@linux-foundation.org>
> Signed-off-by: Christoph Lameter<cl@linux.com>
>
>   arch/x86/include/asm/percpu.h |   10 ++++++----
>   1 files changed, 6 insertions(+), 4 deletions(-)
>
> Index: linux-2.6/arch/x86/include/asm/percpu.h
> ===================================================================
> --- linux-2.6.orig/arch/x86/include/asm/percpu.h	2011-03-26 20:43:03.994089001 -0500
> +++ linux-2.6/arch/x86/include/asm/percpu.h	2011-03-26 20:43:22.414089004 -0500
> @@ -45,7 +45,7 @@
>   #include<linux/stringify.h>
>
>   #ifdef CONFIG_SMP
> -#define __percpu_arg(x)		"%%"__stringify(__percpu_seg)":%P" #x
> +#define __percpu_prefix		"%%"__stringify(__percpu_seg)":"
>   #define __my_cpu_offset		percpu_read(this_cpu_off)
>
>   /*
> @@ -62,9 +62,11 @@
>   	(typeof(*(ptr)) __kernel __force *)tcp_ptr__;	\
>   })
>   #else
> -#define __percpu_arg(x)		"%P" #x
> +#define __percpu_prefix		""
>   #endif
>
> +#define __percpu_arg(x)		__percpu_prefix "%P" #x
> +
>   /*
>    * Initialized pointers to per-cpu variables needed for the boot
>    * processor need to use these macros to get the proper address
> @@ -516,11 +518,11 @@
>   	typeof(o2) __n2 = n2;						\
>   	typeof(o2) __dummy;						\
>   	alternative_io("call this_cpu_cmpxchg16b_emu\n\t" P6_NOP4,	\
> -		       "cmpxchg16b %%gs:(%%rsi)\n\tsetz %0\n\t",	\
> +		       "cmpxchg16b " __percpu_prefix "(%%rsi)\n\tsetz %0\n\t",	\
>   		       X86_FEATURE_CX16,				\
>   		       ASM_OUTPUT2("=a"(__ret), "=d"(__dummy)),		\
>   		       "S" (&pcp1), "b"(__n1), "c"(__n2),		\
> -		       "a"(__o1), "d"(__o2));				\
> +		       "a"(__o1), "d"(__o2) : "memory");		\
>   	__ret;								\
>   })
>
> Index: linux-2.6/arch/x86/lib/cmpxchg16b_emu.S
> ===================================================================
> --- linux-2.6.orig/arch/x86/lib/cmpxchg16b_emu.S	2011-03-26 20:43:57.384089004 -0500
> +++ linux-2.6/arch/x86/lib/cmpxchg16b_emu.S	2011-03-26 20:48:42.684088999 -0500
> @@ -10,6 +10,12 @@
>   #include<asm/frame.h>
>   #include<asm/dwarf2.h>
>
> +#ifdef CONFIG_SMP
> +#define SEG_PREFIX %gs:
> +#else
> +#define SEG_PREFIX
> +#endif
> +
>   .text
>
>   /*
> @@ -37,13 +43,13 @@
>   	pushf
>   	cli
>
> -	cmpq %gs:(%rsi), %rax
> +	cmpq SEG_PREFIX(%rsi), %rax
>   	jne not_same
> -	cmpq %gs:8(%rsi), %rdx
> +	cmpq SEG_PREFIX 8(%rsi), %rdx
>   	jne not_same
>
> -	movq %rbx, %gs:(%rsi)
> -	movq %rcx, %gs:8(%rsi)
> +	movq %rbx, SEG_PREFIX(%rsi)
> +	movq %rcx, SEG_PREFIX 8(%rsi)
>
>   	popf
>   	mov $1, %al

Tejun, does this look good to you as well? I think it should go through 
the percpu tree. It's needed to fix a boot crash with lockless SLUB 
fastpaths enabled.

                 Pekka

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-28  6:12                                   ` [PATCH] slub: Disable the lockless allocator Pekka Enberg
@ 2011-03-28  6:19                                     ` Ingo Molnar
  2011-03-28  6:25                                       ` Pekka Enberg
  2011-03-28  7:35                                     ` Tejun Heo
  1 sibling, 1 reply; 71+ messages in thread
From: Ingo Molnar @ 2011-03-28  6:19 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Christoph Lameter, Linus Torvalds, Eric Dumazet, Thomas Gleixner,
	akpm, tj, npiggin, rientjes, linux-kernel, linux-mm


* Pekka Enberg <penberg@cs.helsinki.fi> wrote:

> On 3/27/11 4:57 AM, Christoph Lameter wrote:
> >But then the same fix must also be used in the asm code or the fallback
> >(turns out that the fallback is always used in kmem_cache_init since
> >the instruction patching comes later).
> >
> >Patch boots fine both in UP and SMP mode
> >
> >
> >
> >
> >Subject: percpu: Omit segment prefix in the UP case for cmpxchg_double
> >
> >Omit the segment prefix in the UP case. GS is not used then
> >and we will generate segfaults if cmpxchg16b is used otherwise.
> >
> >Signed-off-by: Linus Torvalds<torvalds@linux-foundation.org>
> >Signed-off-by: Christoph Lameter<cl@linux.com>
> >
> >  arch/x86/include/asm/percpu.h |   10 ++++++----
> >  1 files changed, 6 insertions(+), 4 deletions(-)
> >
> >Index: linux-2.6/arch/x86/include/asm/percpu.h
> >===================================================================
> >--- linux-2.6.orig/arch/x86/include/asm/percpu.h	2011-03-26 20:43:03.994089001 -0500
> >+++ linux-2.6/arch/x86/include/asm/percpu.h	2011-03-26 20:43:22.414089004 -0500
> >@@ -45,7 +45,7 @@
> >  #include<linux/stringify.h>
> >
> >  #ifdef CONFIG_SMP
> >-#define __percpu_arg(x)		"%%"__stringify(__percpu_seg)":%P" #x
> >+#define __percpu_prefix		"%%"__stringify(__percpu_seg)":"
> >  #define __my_cpu_offset		percpu_read(this_cpu_off)
> >
> >  /*
> >@@ -62,9 +62,11 @@
> >  	(typeof(*(ptr)) __kernel __force *)tcp_ptr__;	\
> >  })
> >  #else
> >-#define __percpu_arg(x)		"%P" #x
> >+#define __percpu_prefix		""
> >  #endif
> >
> >+#define __percpu_arg(x)		__percpu_prefix "%P" #x
> >+
> >  /*
> >   * Initialized pointers to per-cpu variables needed for the boot
> >   * processor need to use these macros to get the proper address
> >@@ -516,11 +518,11 @@
> >  	typeof(o2) __n2 = n2;						\
> >  	typeof(o2) __dummy;						\
> >  	alternative_io("call this_cpu_cmpxchg16b_emu\n\t" P6_NOP4,	\
> >-		       "cmpxchg16b %%gs:(%%rsi)\n\tsetz %0\n\t",	\
> >+		       "cmpxchg16b " __percpu_prefix "(%%rsi)\n\tsetz %0\n\t",	\
> >  		       X86_FEATURE_CX16,				\
> >  		       ASM_OUTPUT2("=a"(__ret), "=d"(__dummy)),		\
> >  		       "S" (&pcp1), "b"(__n1), "c"(__n2),		\
> >-		       "a"(__o1), "d"(__o2));				\
> >+		       "a"(__o1), "d"(__o2) : "memory");		\
> >  	__ret;								\
> >  })
> >
> >Index: linux-2.6/arch/x86/lib/cmpxchg16b_emu.S
> >===================================================================
> >--- linux-2.6.orig/arch/x86/lib/cmpxchg16b_emu.S	2011-03-26 20:43:57.384089004 -0500
> >+++ linux-2.6/arch/x86/lib/cmpxchg16b_emu.S	2011-03-26 20:48:42.684088999 -0500
> >@@ -10,6 +10,12 @@
> >  #include<asm/frame.h>
> >  #include<asm/dwarf2.h>
> >
> >+#ifdef CONFIG_SMP
> >+#define SEG_PREFIX %gs:
> >+#else
> >+#define SEG_PREFIX
> >+#endif
> >+
> >  .text
> >
> >  /*
> >@@ -37,13 +43,13 @@
> >  	pushf
> >  	cli
> >
> >-	cmpq %gs:(%rsi), %rax
> >+	cmpq SEG_PREFIX(%rsi), %rax
> >  	jne not_same
> >-	cmpq %gs:8(%rsi), %rdx
> >+	cmpq SEG_PREFIX 8(%rsi), %rdx
> >  	jne not_same
> >
> >-	movq %rbx, %gs:(%rsi)
> >-	movq %rcx, %gs:8(%rsi)
> >+	movq %rbx, SEG_PREFIX(%rsi)
> >+	movq %rcx, SEG_PREFIX 8(%rsi)
> >
> >  	popf
> >  	mov $1, %al
> 
> Tejun, does this look good to you as well? I think it should go
> through the percpu tree. It's needed to fix a boot crash with
> lockless SLUB fastpaths enabled.

AFAICS Linus applied it already:

d7c3f8cee81f: percpu: Omit segment prefix in the UP case for cmpxchg_double

Thanks,

	Ingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-28  6:19                                     ` Ingo Molnar
@ 2011-03-28  6:25                                       ` Pekka Enberg
  2011-03-28  6:36                                         ` Ingo Molnar
  0 siblings, 1 reply; 71+ messages in thread
From: Pekka Enberg @ 2011-03-28  6:25 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Pekka Enberg, Christoph Lameter, Linus Torvalds, Eric Dumazet,
	Thomas Gleixner, akpm, tj, npiggin, rientjes, linux-kernel,
	linux-mm

On Mon, Mar 28, 2011 at 9:19 AM, Ingo Molnar <mingo@elte.hu> wrote:
>> Tejun, does this look good to you as well? I think it should go
>> through the percpu tree. It's needed to fix a boot crash with
>> lockless SLUB fastpaths enabled.
>
> AFAICS Linus applied it already:
>
> d7c3f8cee81f: percpu: Omit segment prefix in the UP case for cmpxchg_double

Oh, I missed that. Did you test the patch, Ingo? It's missing
attributions and reference to the LKML discussion unfortunately...

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-28  6:25                                       ` Pekka Enberg
@ 2011-03-28  6:36                                         ` Ingo Molnar
  2011-03-28  7:26                                           ` Eric Dumazet
  2011-03-28 13:44                                           ` Christoph Lameter
  0 siblings, 2 replies; 71+ messages in thread
From: Ingo Molnar @ 2011-03-28  6:36 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Pekka Enberg, Christoph Lameter, Linus Torvalds, Eric Dumazet,
	Thomas Gleixner, akpm, tj, npiggin, rientjes, linux-kernel,
	linux-mm


* Pekka Enberg <penberg@kernel.org> wrote:

> On Mon, Mar 28, 2011 at 9:19 AM, Ingo Molnar <mingo@elte.hu> wrote:
> >> Tejun, does this look good to you as well? I think it should go
> >> through the percpu tree. It's needed to fix a boot crash with
> >> lockless SLUB fastpaths enabled.
> >
> > AFAICS Linus applied it already:
> >
> > d7c3f8cee81f: percpu: Omit segment prefix in the UP case for cmpxchg_double
> 
> Oh, I missed that. Did you test the patch, Ingo? It's missing attributions 
> and reference to the LKML discussion unfortunately...

I think we might still be missing the hunk below - or is it now not needed 
anymore?

Thanks,

	Ingo

-------------->

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-28  6:36                                         ` Ingo Molnar
@ 2011-03-28  7:26                                           ` Eric Dumazet
  2011-03-28 13:44                                           ` Christoph Lameter
  1 sibling, 0 replies; 71+ messages in thread
From: Eric Dumazet @ 2011-03-28  7:26 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Pekka Enberg, Pekka Enberg, Christoph Lameter, Linus Torvalds,
	Thomas Gleixner, akpm, tj, npiggin, rientjes, linux-kernel,
	linux-mm

Le lundi 28 mars 2011 A  08:36 +0200, Ingo Molnar a A(C)crit :

> I think we might still be missing the hunk below - or is it now not needed 
> anymore?


Its not needed anymore, once cmpxchg16b implementation works correctly
on !SMP build. (It does now with current linux-2.6 tree)



--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-28  6:12                                   ` [PATCH] slub: Disable the lockless allocator Pekka Enberg
  2011-03-28  6:19                                     ` Ingo Molnar
@ 2011-03-28  7:35                                     ` Tejun Heo
  1 sibling, 0 replies; 71+ messages in thread
From: Tejun Heo @ 2011-03-28  7:35 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Christoph Lameter, Linus Torvalds, Eric Dumazet, Ingo Molnar,
	Thomas Gleixner, akpm, npiggin, rientjes, linux-kernel, linux-mm

Hello,

Heh, a lot of activities over the weekend.

On Mon, Mar 28, 2011 at 09:12:24AM +0300, Pekka Enberg wrote:
> >@@ -37,13 +43,13 @@
> >  	pushf
> >  	cli
> >
> >-	cmpq %gs:(%rsi), %rax
> >+	cmpq SEG_PREFIX(%rsi), %rax
> >  	jne not_same
> >-	cmpq %gs:8(%rsi), %rdx
> >+	cmpq SEG_PREFIX 8(%rsi), %rdx
> >  	jne not_same
> >
> >-	movq %rbx, %gs:(%rsi)
> >-	movq %rcx, %gs:8(%rsi)
> >+	movq %rbx, SEG_PREFIX(%rsi)
> >+	movq %rcx, SEG_PREFIX 8(%rsi)
> >
> >  	popf
> >  	mov $1, %al
> 
> Tejun, does this look good to you as well? I think it should go
> through the percpu tree. It's needed to fix a boot crash with
> lockless SLUB fastpaths enabled.

Linus already applied it so it's all done now.  The patch looks okay
to me although I would like to have the SEG_PREFIX defined in
asm/percpu.h instead.  Well, we can do that later.

Thanks.

-- 
tejun

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* [PATCH] percpu: avoid extra NOP in percpu_cmpxchg16b_double
  2011-03-27  7:52                                   ` Eric Dumazet
@ 2011-03-28 10:32                                     ` Eric Dumazet
  2011-03-28 13:46                                       ` Christoph Lameter
  0 siblings, 1 reply; 71+ messages in thread
From: Eric Dumazet @ 2011-03-28 10:32 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Linus Torvalds, Ingo Molnar, Pekka Enberg, Thomas Gleixner, akpm,
	tj, npiggin, rientjes, linux-kernel, linux-mm

percpu_cmpxchg16b_double() uses alternative_io() and looks like :

e8 .. .. .. ..  call this_cpu_cmpxchg16b_emu
X bytes		NOPX

or, once patched (if cpu supports native instruction) on SMP build :

65 48 0f c7 0e  cmpxchg16b %gs:(%rsi)
0f 94 c0        sete %al

on !SMP build :

48 0f c7 0e     cmpxchg16b (%rsi)
0f 94 c0        sete %al

Therefore, NOPX should be :

P6_NOP3 on SMP
P6_NOP2 on !SMP

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Tejun Heo <tj@kernel.org>
---
 arch/x86/include/asm/percpu.h |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h
index d475b43..d68fca6 100644
--- a/arch/x86/include/asm/percpu.h
+++ b/arch/x86/include/asm/percpu.h
@@ -509,6 +509,11 @@ do {									\
  * it in software.  The address used in the cmpxchg16 instruction must be
  * aligned to a 16 byte boundary.
  */
+#ifdef CONFIG_SMP
+#define CMPXCHG16B_EMU_CALL "call this_cpu_cmpxchg16b_emu\n\t" P6_NOP3
+#else
+#define CMPXCHG16B_EMU_CALL "call this_cpu_cmpxchg16b_emu\n\t" P6_NOP2
+#endif
 #define percpu_cmpxchg16b_double(pcp1, o1, o2, n1, n2)			\
 ({									\
 	char __ret;							\
@@ -517,7 +522,7 @@ do {									\
 	typeof(o2) __o2 = o2;						\
 	typeof(o2) __n2 = n2;						\
 	typeof(o2) __dummy;						\
-	alternative_io("call this_cpu_cmpxchg16b_emu\n\t" P6_NOP4,	\
+	alternative_io(CMPXCHG16B_EMU_CALL,				\
 		       "cmpxchg16b " __percpu_prefix "(%%rsi)\n\tsetz %0\n\t",	\
 		       X86_FEATURE_CX16,				\
 		       ASM_OUTPUT2("=a"(__ret), "=d"(__dummy)),		\


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH] slub: Disable the lockless allocator
  2011-03-28  6:36                                         ` Ingo Molnar
  2011-03-28  7:26                                           ` Eric Dumazet
@ 2011-03-28 13:44                                           ` Christoph Lameter
  1 sibling, 0 replies; 71+ messages in thread
From: Christoph Lameter @ 2011-03-28 13:44 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Pekka Enberg, Pekka Enberg, Linus Torvalds, Eric Dumazet,
	Thomas Gleixner, akpm, tj, npiggin, rientjes, linux-kernel,
	linux-mm

On Mon, 28 Mar 2011, Ingo Molnar wrote:

> I think we might still be missing the hunk below - or is it now not needed
> anymore?

Its not needed anymore.

>
> Thanks,
>
> 	Ingo
>
> -------------->
> >From 53c0eceb7bf64f2a89c59ae4f14a676fa4128462 Mon Sep 17 00:00:00 2001
> From: Christoph Lameter <cl@linux.com>
> Date: Sat, 26 Mar 2011 14:49:56 -0500
> Subject: [PATCH] per_cpu: Fix cmpxchg_double() for !SMP
>
> cmpxchg_double() should only be provided for SMP. In the UP case
> the GS register is not defined and the function will fail.
>
> Signed-off-by: Christoph Lameter <cl@linux.com>
> Cc: Pekka Enberg <penberg@kernel.org>
> Cc: torvalds@linux-foundation.org
> Cc: tj@kernel.org
> Cc: npiggin@kernel.dk
> Cc: rientjes@google.com
> Cc: linux-mm@kvack.org
> Cc: Eric Dumazet <eric.dumazet@gmail.com>
> LKML-Reference: <alpine.DEB.2.00.1103261440160.25375@router.home>
> Signed-off-by: Ingo Molnar <mingo@elte.hu>
> ---
>  arch/x86/include/asm/percpu.h |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h
> index a09e1f0..52330a4 100644
> --- a/arch/x86/include/asm/percpu.h
> +++ b/arch/x86/include/asm/percpu.h
> @@ -507,6 +507,7 @@ do {									\
>   * it in software.  The address used in the cmpxchg16 instruction must be
>   * aligned to a 16 byte boundary.
>   */
> +#ifdef CONFIG_SMP
>  #define percpu_cmpxchg16b_double(pcp1, o1, o2, n1, n2)			\
>  ({									\
>  	char __ret;							\
> @@ -529,6 +530,7 @@ do {									\
>  #define irqsafe_cpu_cmpxchg_double_8(pcp1, pcp2, o1, o2, n1, n2)	percpu_cmpxchg16b_double(pcp1, o1, o2, n1, n2)
>
>  #endif
> +#endif
>
>  /* This is not atomic against other CPUs -- CPU preemption needs to be off */
>  #define x86_test_and_clear_bit_percpu(bit, var)				\
>

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH] percpu: avoid extra NOP in percpu_cmpxchg16b_double
  2011-03-28 10:32                                     ` [PATCH] percpu: avoid extra NOP in percpu_cmpxchg16b_double Eric Dumazet
@ 2011-03-28 13:46                                       ` Christoph Lameter
  2011-03-28 16:06                                         ` Tejun Heo
  0 siblings, 1 reply; 71+ messages in thread
From: Christoph Lameter @ 2011-03-28 13:46 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: Linus Torvalds, Ingo Molnar, Pekka Enberg, Thomas Gleixner, akpm,
	tj, npiggin, rientjes, linux-kernel, linux-mm

On Mon, 28 Mar 2011, Eric Dumazet wrote:

> Therefore, NOPX should be :
>
> P6_NOP3 on SMP
> P6_NOP2 on !SMP

Acked-by: Christoph Lameter <cl@linux.com>

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

* Re: [PATCH] percpu: avoid extra NOP in percpu_cmpxchg16b_double
  2011-03-28 13:46                                       ` Christoph Lameter
@ 2011-03-28 16:06                                         ` Tejun Heo
  0 siblings, 0 replies; 71+ messages in thread
From: Tejun Heo @ 2011-03-28 16:06 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: Eric Dumazet, Linus Torvalds, Ingo Molnar, Pekka Enberg,
	Thomas Gleixner, akpm, npiggin, rientjes, linux-kernel, linux-mm

On Mon, Mar 28, 2011 at 08:46:05AM -0500, Christoph Lameter wrote:
> On Mon, 28 Mar 2011, Eric Dumazet wrote:
> 
> > Therefore, NOPX should be :
> >
> > P6_NOP3 on SMP
> > P6_NOP2 on !SMP
> 
> Acked-by: Christoph Lameter <cl@linux.com>

Applied to percpu#fixes-2.6.39.

Thanks.

-- 
tejun

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

end of thread, other threads:[~2011-03-28 16:06 UTC | newest]

Thread overview: 71+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-22 14:40 [GIT PULL] SLAB changes for v2.6.39-rc1 Pekka Enberg
2011-03-24 14:21 ` Ingo Molnar
2011-03-24 14:41   ` Christoph Lameter
2011-03-24 16:50     ` Pekka Enberg
2011-03-24 17:26       ` Ingo Molnar
2011-03-24 17:43         ` Christoph Lameter
2011-03-24 17:56           ` Pekka Enberg
2011-03-24 18:01             ` Christoph Lameter
2011-03-24 18:06               ` Pekka Enberg
2011-03-24 18:15                 ` Christoph Lameter
2011-03-24 18:20                   ` Eric Dumazet
2011-03-24 18:47                     ` Christoph Lameter
2011-03-24 18:51                       ` Eric Dumazet
2011-03-24 19:02                         ` Christoph Lameter
2011-03-24 19:04                           ` Pekka Enberg
2011-03-24 18:55                       ` Pekka Enberg
2011-03-24 18:59                         ` Ingo Molnar
2011-03-24 19:03                           ` Pekka Enberg
2011-03-24 19:05                             ` Christoph Lameter
2011-03-24 19:14                               ` Pekka Enberg
2011-03-24 19:36                                 ` Ingo Molnar
2011-03-24 19:41                                   ` Pekka Enberg
2011-03-24 19:51                                     ` Christoph Lameter
2011-03-24 20:01                                       ` Ingo Molnar
2011-03-24 20:08                                       ` Eric Dumazet
2011-03-24 20:43                                         ` Christoph Lameter
2011-03-25 15:13                                           ` Tejun Heo
2011-03-25 15:45                                             ` Christoph Lameter
2011-03-27  9:59                                       ` Avi Kivity
2011-03-24 19:02                         ` Christoph Lameter
2011-03-27  9:57                       ` Avi Kivity
2011-03-24 18:13         ` Pekka Enberg
2011-03-24 19:27           ` Ingo Molnar
2011-03-24 19:29             ` Pekka Enberg
2011-03-24 18:52         ` [boot crash #2] " Ingo Molnar
2011-03-24 19:10           ` Thomas Gleixner
2011-03-24 19:22             ` Ingo Molnar
2011-03-24 19:27               ` Pekka Enberg
2011-03-25 20:00                 ` Ingo Molnar
2011-03-26 11:27                 ` Ingo Molnar
2011-03-26 11:47                   ` [PATCH] slub: Disable the lockless allocator Ingo Molnar
2011-03-26 17:45                     ` Eric Dumazet
2011-03-26 19:18                       ` Christoph Lameter
2011-03-26 19:30                         ` Christoph Lameter
2011-03-26 19:49                           ` Christoph Lameter
2011-03-26 19:57                             ` Ingo Molnar
2011-03-26 21:36                               ` Christoph Lameter
2011-03-26 20:00                             ` Ingo Molnar
2011-03-26 22:18                             ` Linus Torvalds
2011-03-27  1:29                               ` Christoph Lameter
2011-03-27  1:57                                 ` Christoph Lameter
2011-03-27  7:52                                   ` Eric Dumazet
2011-03-28 10:32                                     ` [PATCH] percpu: avoid extra NOP in percpu_cmpxchg16b_double Eric Dumazet
2011-03-28 13:46                                       ` Christoph Lameter
2011-03-28 16:06                                         ` Tejun Heo
2011-03-28  6:12                                   ` [PATCH] slub: Disable the lockless allocator Pekka Enberg
2011-03-28  6:19                                     ` Ingo Molnar
2011-03-28  6:25                                       ` Pekka Enberg
2011-03-28  6:36                                         ` Ingo Molnar
2011-03-28  7:26                                           ` Eric Dumazet
2011-03-28 13:44                                           ` Christoph Lameter
2011-03-28  7:35                                     ` Tejun Heo
2011-03-26 19:30                         ` Linus Torvalds
2011-03-26 17:58                   ` [boot crash #2] Re: [GIT PULL] SLAB changes for v2.6.39-rc1 Linus Torvalds
2011-03-24 19:16           ` Call Trace:Re: " Thomas Gleixner
2011-03-24 19:23             ` Ingo Molnar
2011-03-24 20:04               ` Gustavo F. Padovan
2011-03-24 16:03   ` Ingo Molnar
2011-03-24 16:14     ` Ingo Molnar
2011-03-24 17:07       ` Pekka Enberg
2011-03-24 17:21         ` Ingo Molnar

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