* Re: [Xenomai-core] [RTnet-users] Potential problem with rt_eepro100 [not found] ` <4CC84327.9070202@domain.hid> @ 2010-10-28 7:34 ` Anders Blomdell 2010-10-28 7:40 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Anders Blomdell @ 2010-10-28 7:34 UTC (permalink / raw) To: xenomai; +Cc: rtnet-developers, rtnet-users Anders Blomdell wrote: > Anders Blomdell wrote: >> Hi, >> >> I'm trying to use rt_eepro100, for sending raw ethernet packets, but I'm >> experincing occasionally weird behaviour. >> >> Versions of things: >> >> linux-2.6.34.5 >> xenomai-2.5.5.2 >> rtnet-39f7fcf >> >> The testprogram runs on two computers with "Intel Corporation >> 82557/8/9/0/1 Ethernet Pro 100 (rev 08)" controller, where one computer >> acts as a mirror sending back packets received from the ethernet (only >> those two computers on the network), and the other sends packets and >> measures roundtrip time. Most packets comes back in approximately 100 >> us, but occasionally the reception times out (once in about 100000 >> packets or more), but the packets gets immediately received when >> reception is retried, which might indicate a race between rt_dev_recvmsg >> and interrupt, but I might miss something obvious. > > Changing one of the ethernet cards to a "Intel Corporation 82541PI > Gigabit Ethernet Controller (rev 05)", while keeping everything else > constant, changes behavior somewhat; after receiving a few 100000 > packets, reception stops entirely (-EAGAIN is returned), while > transmission proceeds as it should (and mirror returns packets). > > Any suggestions on what to try? Since the problem disappears with 'maxcpus=1', I suspect I have a SMP issue (machine is a Core2 Quad), so I'll move to xenomai-core. (original message can be found at http://sourceforge.net/mailarchive/message.php?msg_name=4CC82C8D.3080808%40control.lth.se ) Xenomai-core gurus: which is the corrrect way to debug SMP issues? Can I run I-pipe-tracer and expect to be able save at least 150 us of traces for all cpus? Any hints/suggestions/insigths are welcome... Regards Anders Blomdell ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] [RTnet-users] Potential problem with rt_eepro100 2010-10-28 7:34 ` [Xenomai-core] [RTnet-users] Potential problem with rt_eepro100 Anders Blomdell @ 2010-10-28 7:40 ` Jan Kiszka 2010-10-28 9:34 ` Anders Blomdell 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-10-28 7:40 UTC (permalink / raw) To: Anders Blomdell; +Cc: rtnet-developers, xenomai, rtnet-users [-- Attachment #1: Type: text/plain, Size: 2080 bytes --] Am 28.10.2010 09:34, Anders Blomdell wrote: > Anders Blomdell wrote: >> Anders Blomdell wrote: >>> Hi, >>> >>> I'm trying to use rt_eepro100, for sending raw ethernet packets, but I'm >>> experincing occasionally weird behaviour. >>> >>> Versions of things: >>> >>> linux-2.6.34.5 >>> xenomai-2.5.5.2 >>> rtnet-39f7fcf >>> >>> The testprogram runs on two computers with "Intel Corporation >>> 82557/8/9/0/1 Ethernet Pro 100 (rev 08)" controller, where one computer >>> acts as a mirror sending back packets received from the ethernet (only >>> those two computers on the network), and the other sends packets and >>> measures roundtrip time. Most packets comes back in approximately 100 >>> us, but occasionally the reception times out (once in about 100000 >>> packets or more), but the packets gets immediately received when >>> reception is retried, which might indicate a race between rt_dev_recvmsg >>> and interrupt, but I might miss something obvious. >> >> Changing one of the ethernet cards to a "Intel Corporation 82541PI >> Gigabit Ethernet Controller (rev 05)", while keeping everything else >> constant, changes behavior somewhat; after receiving a few 100000 >> packets, reception stops entirely (-EAGAIN is returned), while >> transmission proceeds as it should (and mirror returns packets). >> >> Any suggestions on what to try? > > Since the problem disappears with 'maxcpus=1', I suspect I have a SMP > issue (machine is a Core2 Quad), so I'll move to xenomai-core. > (original message can be found at > http://sourceforge.net/mailarchive/message.php?msg_name=4CC82C8D.3080808%40control.lth.se > ) > > Xenomai-core gurus: which is the corrrect way to debug SMP issues? > Can I run I-pipe-tracer and expect to be able save at least 150 us of > traces for all cpus? Any hints/suggestions/insigths are welcome... The i-pipe tracer unfortunately only saves traces for a the CPU that triggered the freeze. To have a full pictures, you may want to try my ftrace port I posted recently for 2.6.35. Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] [RTnet-users] Potential problem with rt_eepro100 2010-10-28 7:40 ` Jan Kiszka @ 2010-10-28 9:34 ` Anders Blomdell 2010-10-28 10:18 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Anders Blomdell @ 2010-10-28 9:34 UTC (permalink / raw) To: Jan Kiszka; +Cc: rtnet-developers, xenomai Jan Kiszka wrote: > Am 28.10.2010 09:34, Anders Blomdell wrote: >> Anders Blomdell wrote: >>> Anders Blomdell wrote: >>>> Hi, >>>> >>>> I'm trying to use rt_eepro100, for sending raw ethernet packets, but I'm >>>> experincing occasionally weird behaviour. >>>> >>>> Versions of things: >>>> >>>> linux-2.6.34.5 >>>> xenomai-2.5.5.2 >>>> rtnet-39f7fcf >>>> >>>> The testprogram runs on two computers with "Intel Corporation >>>> 82557/8/9/0/1 Ethernet Pro 100 (rev 08)" controller, where one computer >>>> acts as a mirror sending back packets received from the ethernet (only >>>> those two computers on the network), and the other sends packets and >>>> measures roundtrip time. Most packets comes back in approximately 100 >>>> us, but occasionally the reception times out (once in about 100000 >>>> packets or more), but the packets gets immediately received when >>>> reception is retried, which might indicate a race between rt_dev_recvmsg >>>> and interrupt, but I might miss something obvious. >>> Changing one of the ethernet cards to a "Intel Corporation 82541PI >>> Gigabit Ethernet Controller (rev 05)", while keeping everything else >>> constant, changes behavior somewhat; after receiving a few 100000 >>> packets, reception stops entirely (-EAGAIN is returned), while >>> transmission proceeds as it should (and mirror returns packets). >>> >>> Any suggestions on what to try? >> Since the problem disappears with 'maxcpus=1', I suspect I have a SMP >> issue (machine is a Core2 Quad), so I'll move to xenomai-core. >> (original message can be found at >> http://sourceforge.net/mailarchive/message.php?msg_name=4CC82C8D.3080808%40control.lth.se >> ) >> >> Xenomai-core gurus: which is the corrrect way to debug SMP issues? >> Can I run I-pipe-tracer and expect to be able save at least 150 us of >> traces for all cpus? Any hints/suggestions/insigths are welcome... > > The i-pipe tracer unfortunately only saves traces for a the CPU that > triggered the freeze. To have a full pictures, you may want to try my > ftrace port I posted recently for 2.6.35. 2.6.35.7 ? /Anders ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] [RTnet-users] Potential problem with rt_eepro100 2010-10-28 9:34 ` Anders Blomdell @ 2010-10-28 10:18 ` Jan Kiszka 2010-10-28 13:02 ` [Xenomai-core] " Anders Blomdell 2010-11-01 16:55 ` Anders Blomdell 0 siblings, 2 replies; 85+ messages in thread From: Jan Kiszka @ 2010-10-28 10:18 UTC (permalink / raw) To: Anders Blomdell; +Cc: rtnet-developers, xenomai [-- Attachment #1: Type: text/plain, Size: 2270 bytes --] Am 28.10.2010 11:34, Anders Blomdell wrote: > Jan Kiszka wrote: >> Am 28.10.2010 09:34, Anders Blomdell wrote: >>> Anders Blomdell wrote: >>>> Anders Blomdell wrote: >>>>> Hi, >>>>> >>>>> I'm trying to use rt_eepro100, for sending raw ethernet packets, >>>>> but I'm >>>>> experincing occasionally weird behaviour. >>>>> >>>>> Versions of things: >>>>> >>>>> linux-2.6.34.5 >>>>> xenomai-2.5.5.2 >>>>> rtnet-39f7fcf >>>>> >>>>> The testprogram runs on two computers with "Intel Corporation >>>>> 82557/8/9/0/1 Ethernet Pro 100 (rev 08)" controller, where one >>>>> computer >>>>> acts as a mirror sending back packets received from the ethernet (only >>>>> those two computers on the network), and the other sends packets and >>>>> measures roundtrip time. Most packets comes back in approximately 100 >>>>> us, but occasionally the reception times out (once in about 100000 >>>>> packets or more), but the packets gets immediately received when >>>>> reception is retried, which might indicate a race between >>>>> rt_dev_recvmsg >>>>> and interrupt, but I might miss something obvious. >>>> Changing one of the ethernet cards to a "Intel Corporation 82541PI >>>> Gigabit Ethernet Controller (rev 05)", while keeping everything else >>>> constant, changes behavior somewhat; after receiving a few 100000 >>>> packets, reception stops entirely (-EAGAIN is returned), while >>>> transmission proceeds as it should (and mirror returns packets). >>>> >>>> Any suggestions on what to try? >>> Since the problem disappears with 'maxcpus=1', I suspect I have a SMP >>> issue (machine is a Core2 Quad), so I'll move to xenomai-core. >>> (original message can be found at >>> http://sourceforge.net/mailarchive/message.php?msg_name=4CC82C8D.3080808%40control.lth.se >>> ) >>> >>> Xenomai-core gurus: which is the corrrect way to debug SMP issues? >>> Can I run I-pipe-tracer and expect to be able save at least 150 us of >>> traces for all cpus? Any hints/suggestions/insigths are welcome... >> >> The i-pipe tracer unfortunately only saves traces for a the CPU that >> triggered the freeze. To have a full pictures, you may want to try my >> ftrace port I posted recently for 2.6.35. > 2.6.35.7 ? > Exactly. Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-10-28 10:18 ` Jan Kiszka @ 2010-10-28 13:02 ` Anders Blomdell 2010-10-28 15:05 ` Anders Blomdell 2010-11-01 16:55 ` Anders Blomdell 1 sibling, 1 reply; 85+ messages in thread From: Anders Blomdell @ 2010-10-28 13:02 UTC (permalink / raw) To: Jan Kiszka; +Cc: rtnet-developers, xenomai Jan Kiszka wrote: > Am 28.10.2010 11:34, Anders Blomdell wrote: >> Jan Kiszka wrote: >>> Am 28.10.2010 09:34, Anders Blomdell wrote: >>>> Anders Blomdell wrote: >>>>> Anders Blomdell wrote: >>>>>> Hi, >>>>>> >>>>>> I'm trying to use rt_eepro100, for sending raw ethernet packets, >>>>>> but I'm >>>>>> experincing occasionally weird behaviour. >>>>>> >>>>>> Versions of things: >>>>>> >>>>>> linux-2.6.34.5 >>>>>> xenomai-2.5.5.2 >>>>>> rtnet-39f7fcf >>>>>> >>>>>> The testprogram runs on two computers with "Intel Corporation >>>>>> 82557/8/9/0/1 Ethernet Pro 100 (rev 08)" controller, where one >>>>>> computer >>>>>> acts as a mirror sending back packets received from the ethernet (only >>>>>> those two computers on the network), and the other sends packets and >>>>>> measures roundtrip time. Most packets comes back in approximately 100 >>>>>> us, but occasionally the reception times out (once in about 100000 >>>>>> packets or more), but the packets gets immediately received when >>>>>> reception is retried, which might indicate a race between >>>>>> rt_dev_recvmsg >>>>>> and interrupt, but I might miss something obvious. >>>>> Changing one of the ethernet cards to a "Intel Corporation 82541PI >>>>> Gigabit Ethernet Controller (rev 05)", while keeping everything else >>>>> constant, changes behavior somewhat; after receiving a few 100000 >>>>> packets, reception stops entirely (-EAGAIN is returned), while >>>>> transmission proceeds as it should (and mirror returns packets). >>>>> >>>>> Any suggestions on what to try? >>>> Since the problem disappears with 'maxcpus=1', I suspect I have a SMP >>>> issue (machine is a Core2 Quad), so I'll move to xenomai-core. >>>> (original message can be found at >>>> http://sourceforge.net/mailarchive/message.php?msg_name=4CC82C8D.3080808%40control.lth.se >>>> ) >>>> >>>> Xenomai-core gurus: which is the corrrect way to debug SMP issues? >>>> Can I run I-pipe-tracer and expect to be able save at least 150 us of >>>> traces for all cpus? Any hints/suggestions/insigths are welcome... >>> The i-pipe tracer unfortunately only saves traces for a the CPU that >>> triggered the freeze. To have a full pictures, you may want to try my >>> ftrace port I posted recently for 2.6.35. >> 2.6.35.7 ? Well, 2.6.35.7/xenomai/rtnet without ftrace patch freezes after approx 8000 rounds (16000 packets). Time freshen up find serial port console debugging I guess (under the assumption that this is the same bug, but easier to reproduce). /Anders ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-10-28 13:02 ` [Xenomai-core] " Anders Blomdell @ 2010-10-28 15:05 ` Anders Blomdell 2010-10-28 15:09 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Anders Blomdell @ 2010-10-28 15:05 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai [-- Attachment #1: Type: text/plain, Size: 3481 bytes --] Anders Blomdell wrote: > Jan Kiszka wrote: >> Am 28.10.2010 11:34, Anders Blomdell wrote: >>> Jan Kiszka wrote: >>>> Am 28.10.2010 09:34, Anders Blomdell wrote: >>>>> Anders Blomdell wrote: >>>>>> Anders Blomdell wrote: >>>>>>> Hi, >>>>>>> >>>>>>> I'm trying to use rt_eepro100, for sending raw ethernet packets, >>>>>>> but I'm >>>>>>> experincing occasionally weird behaviour. >>>>>>> >>>>>>> Versions of things: >>>>>>> >>>>>>> linux-2.6.34.5 >>>>>>> xenomai-2.5.5.2 >>>>>>> rtnet-39f7fcf >>>>>>> >>>>>>> The testprogram runs on two computers with "Intel Corporation >>>>>>> 82557/8/9/0/1 Ethernet Pro 100 (rev 08)" controller, where one >>>>>>> computer >>>>>>> acts as a mirror sending back packets received from the ethernet (only >>>>>>> those two computers on the network), and the other sends packets and >>>>>>> measures roundtrip time. Most packets comes back in approximately 100 >>>>>>> us, but occasionally the reception times out (once in about 100000 >>>>>>> packets or more), but the packets gets immediately received when >>>>>>> reception is retried, which might indicate a race between >>>>>>> rt_dev_recvmsg >>>>>>> and interrupt, but I might miss something obvious. >>>>>> Changing one of the ethernet cards to a "Intel Corporation 82541PI >>>>>> Gigabit Ethernet Controller (rev 05)", while keeping everything else >>>>>> constant, changes behavior somewhat; after receiving a few 100000 >>>>>> packets, reception stops entirely (-EAGAIN is returned), while >>>>>> transmission proceeds as it should (and mirror returns packets). >>>>>> >>>>>> Any suggestions on what to try? >>>>> Since the problem disappears with 'maxcpus=1', I suspect I have a SMP >>>>> issue (machine is a Core2 Quad), so I'll move to xenomai-core. >>>>> (original message can be found at >>>>> http://sourceforge.net/mailarchive/message.php?msg_name=4CC82C8D.3080808%40control.lth.se >>>>> ) >>>>> >>>>> Xenomai-core gurus: which is the corrrect way to debug SMP issues? >>>>> Can I run I-pipe-tracer and expect to be able save at least 150 us of >>>>> traces for all cpus? Any hints/suggestions/insigths are welcome... >>>> The i-pipe tracer unfortunately only saves traces for a the CPU that >>>> triggered the freeze. To have a full pictures, you may want to try my >>>> ftrace port I posted recently for 2.6.35. >>> 2.6.35.7 ? > Well, 2.6.35.7/xenomai/rtnet without ftrace patch freezes after approx > 8000 rounds (16000 packets). Time freshen up find serial port console > debugging I guess (under the assumption that this is the same bug, but > easier to reproduce). Dropping rtnet-developer. Current results: 1. 2.6.35.7, maxcpus=1; a few thousand rounds, freeze and this after some time: BUG: spinlock lockup on CPU#0, raw_test/2924, c0a1b540 Process raw_test (pid: 2924, ti=f18bc000 task=f1bdab00 task.ti=f18bc000) I-pipe domain Xenomai Stack: Call Trace: Code: d0 85 d8 74 0f ba 71 00 00 00 b8 78 a7 8f c0 e8 3b 03 02 00 a1 28 f6 9f c0 89 f2 8b 48 20 89 d8 e8 ad fd ff ff 57 9d 8d 65 f4 5b <5e> 5f 5d c3 90 55 89 e5 0f 1f 44 00 00 8b 0d 28 f6 9f c0 ba 00 2. 2.6.35.7, maxcpus=4; no packets sent, this on console: e1000: rteth0: e1000_clean_tx_irq: Detected Tx Unit Hang Tx Queue <0> TDH <0> TDT <10> next_to_use <10> next_to_clean <0> buffer_info[next_to_clean] time_stamp <362d2> next_to_watch <0> jiffies <368f8> next_to_watch.status <0> Anders [-- Attachment #2: config-2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf --] [-- Type: text/plain, Size: 118004 bytes --] # # Automatically generated make config: don't edit # Linux kernel version: 2.6.35.7 # Wed Oct 20 12:48:12 2010 # # CONFIG_64BIT is not set CONFIG_X86_32=y # CONFIG_X86_64 is not set CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y CONFIG_OUTPUT_FORMAT="elf32-i386" CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" CONFIG_GENERIC_TIME=y 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_HWEIGHT=y CONFIG_GENERIC_GPIO=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y # CONFIG_RWSEM_GENERIC_SPINLOCK is not set CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y CONFIG_GENERIC_CALIBRATE_DELAY=y # CONFIG_GENERIC_TIME_VSYSCALL is not set CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_DEFAULT_IDLE=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_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 is not set CONFIG_ARCH_POPULATES_NODE_MAP=y # CONFIG_AUDIT_ARCH is not set CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_HAVE_EARLY_RES=y CONFIG_HAVE_INTEL_TXT=y CONFIG_GENERIC_HARDIRQS=y CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_USE_GENERIC_SMP_HELPERS=y CONFIG_X86_32_SMP=y CONFIG_X86_HT=y CONFIG_X86_TRAMPOLINE=y CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx" CONFIG_KTIME_SCALAR=y CONFIG_ARCH_CPU_PROBE_RELEASE=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_CONSTRUCTORS=y # # General setup # CONFIG_EXPERIMENTAL=y CONFIG_LOCK_KERNEL=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_LZO=y CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_BZIP2 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y CONFIG_POSIX_MQUEUE_SYSCTL=y CONFIG_BSD_PROCESS_ACCT=y # CONFIG_BSD_PROCESS_ACCT_V3 is not set CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y CONFIG_AUDIT=y CONFIG_AUDITSYSCALL=y CONFIG_AUDIT_TREE=y # # RCU Subsystem # CONFIG_TREE_RCU=y # CONFIG_TREE_PREEMPT_RCU is not set # CONFIG_TINY_RCU is not set # CONFIG_RCU_TRACE is not set CONFIG_RCU_FANOUT=32 # CONFIG_RCU_FANOUT_EXACT is not set CONFIG_RCU_FAST_NO_HZ=y # CONFIG_TREE_RCU_TRACE is not set # CONFIG_IKCONFIG is not set CONFIG_LOG_BUF_SHIFT=17 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y CONFIG_CGROUPS=y # CONFIG_CGROUP_DEBUG is not set CONFIG_CGROUP_NS=y CONFIG_CGROUP_FREEZER=y CONFIG_CGROUP_DEVICE=y CONFIG_CPUSETS=y CONFIG_PROC_PID_CPUSET=y CONFIG_CGROUP_CPUACCT=y CONFIG_RESOURCE_COUNTERS=y CONFIG_CGROUP_MEM_RES_CTLR=y CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y CONFIG_CGROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y CONFIG_RT_GROUP_SCHED=y CONFIG_BLK_CGROUP=y # CONFIG_DEBUG_BLK_CGROUP is not set CONFIG_MM_OWNER=y # CONFIG_SYSFS_DEPRECATED_V2 is not set CONFIG_RELAY=y CONFIG_NAMESPACES=y CONFIG_UTS_NS=y CONFIG_IPC_NS=y CONFIG_USER_NS=y CONFIG_PID_NS=y CONFIG_NET_NS=y CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" CONFIG_RD_GZIP=y CONFIG_RD_BZIP2=y CONFIG_RD_LZMA=y CONFIG_RD_LZO=y CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SYSCTL=y CONFIG_ANON_INODES=y # CONFIG_EMBEDDED is not set CONFIG_UID16=y CONFIG_SYSCTL_SYSCALL=y CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=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 CONFIG_PERF_USE_VMALLOC=y # # Kernel Performance Events And Counters # CONFIG_PERF_EVENTS=y CONFIG_PERF_COUNTERS=y CONFIG_DEBUG_PERF_USE_VMALLOC=y 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_SLOB is not set CONFIG_PROFILING=y CONFIG_TRACEPOINTS=y CONFIG_OPROFILE=m CONFIG_OPROFILE_EVENT_MULTIPLEX=y CONFIG_HAVE_OPROFILE=y CONFIG_KPROBES=y CONFIG_OPTPROBES=y CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y CONFIG_KRETPROBES=y CONFIG_USER_RETURN_NOTIFIER=y CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_KPROBES=y CONFIG_HAVE_KRETPROBES=y CONFIG_HAVE_OPTPROBES=y CONFIG_HAVE_ARCH_TRACEHOOK=y CONFIG_HAVE_DMA_ATTRS=y CONFIG_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 # # GCOV-based kernel profiling # # CONFIG_GCOV_KERNEL is not set CONFIG_SLOW_WORK=y CONFIG_SLOW_WORK_DEBUG=y CONFIG_HAVE_GENERIC_DMA_COHERENT=y CONFIG_SLABINFO=y CONFIG_RT_MUTEXES=y CONFIG_BASE_SMALL=0 CONFIG_MODULES=y # CONFIG_MODULE_FORCE_LOAD is not set CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y # CONFIG_MODVERSIONS is not set CONFIG_MODULE_SRCVERSION_ALL=y CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_LBDAF=y CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_INTEGRITY=y # # IO Schedulers # CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_CFQ=y CONFIG_CFQ_GROUP_IOSCHED=y # CONFIG_DEFAULT_DEADLINE is not set CONFIG_DEFAULT_CFQ=y # CONFIG_DEFAULT_NOOP is not set CONFIG_DEFAULT_IOSCHED="cfq" CONFIG_PREEMPT_NOTIFIERS=y CONFIG_PADATA=y # CONFIG_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 is not set # CONFIG_INLINE_SPIN_UNLOCK_BH is not set # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set # CONFIG_INLINE_READ_TRYLOCK is not set # CONFIG_INLINE_READ_LOCK is not set # CONFIG_INLINE_READ_LOCK_BH is not set # CONFIG_INLINE_READ_LOCK_IRQ is not set # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set # CONFIG_INLINE_READ_UNLOCK is not set # CONFIG_INLINE_READ_UNLOCK_BH is not set # CONFIG_INLINE_READ_UNLOCK_IRQ is not set # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set # CONFIG_INLINE_WRITE_TRYLOCK is not set # CONFIG_INLINE_WRITE_LOCK is not set # CONFIG_INLINE_WRITE_LOCK_BH is not set # CONFIG_INLINE_WRITE_LOCK_IRQ is not set # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set # CONFIG_INLINE_WRITE_UNLOCK is not set # CONFIG_INLINE_WRITE_UNLOCK_BH is not set # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set # CONFIG_MUTEX_SPIN_ON_OWNER is not set # # Real-time sub-system # # # WARNING! You enabled APM, CPU Frequency scaling or ACPI 'processor' # # # option. These options are known to cause troubles with Xenomai. # CONFIG_XENOMAI=y CONFIG_XENO_GENERIC_STACKPOOL=y CONFIG_XENO_FASTSYNCH=y CONFIG_XENO_OPT_NUCLEUS=m CONFIG_XENO_OPT_PERVASIVE=y CONFIG_XENO_OPT_PRIOCPL=y CONFIG_XENO_OPT_PIPELINE_HEAD=y CONFIG_XENO_OPT_SCHED_CLASSES=y # CONFIG_XENO_OPT_SCHED_TP is not set # CONFIG_XENO_OPT_SCHED_SPORADIC is not set CONFIG_XENO_OPT_PIPE=y CONFIG_XENO_OPT_MAP=y CONFIG_XENO_OPT_PIPE_NRDEV=32 CONFIG_XENO_OPT_REGISTRY_NRSLOTS=512 CONFIG_XENO_OPT_SYS_HEAPSZ=256 CONFIG_XENO_OPT_SYS_STACKPOOLSZ=128 CONFIG_XENO_OPT_SEM_HEAPSZ=12 CONFIG_XENO_OPT_GLOBAL_SEM_HEAPSZ=12 CONFIG_XENO_OPT_STATS=y # CONFIG_XENO_OPT_DEBUG is not set CONFIG_XENO_OPT_SHIRQ=y # # Timing # # CONFIG_XENO_OPT_TIMING_PERIODIC is not set CONFIG_XENO_OPT_TIMING_VIRTICK=1000 CONFIG_XENO_OPT_TIMING_SCHEDLAT=0 # # Scalability # # CONFIG_XENO_OPT_SCALABLE_SCHED is not set CONFIG_XENO_OPT_TIMER_LIST=y # CONFIG_XENO_OPT_TIMER_HEAP is not set # CONFIG_XENO_OPT_TIMER_WHEEL is not set # # Machine # CONFIG_XENO_HW_FPU=y # # NMI watchdog # # CONFIG_XENO_HW_NMI_DEBUG_LATENCY is not set # # SMI workaround # # CONFIG_XENO_HW_SMI_DETECT_DISABLE is not set CONFIG_XENO_HW_SMI_DETECT=y CONFIG_XENO_HW_SMI_WORKAROUND=y CONFIG_XENO_HW_SMI_ALL=y # # Interfaces # CONFIG_XENO_SKIN_NATIVE=m CONFIG_XENO_OPT_NATIVE_PERIOD=0 CONFIG_XENO_OPT_NATIVE_PIPE=y CONFIG_XENO_OPT_NATIVE_PIPE_BUFSZ=1024 CONFIG_XENO_OPT_NATIVE_SEM=y CONFIG_XENO_OPT_NATIVE_EVENT=y CONFIG_XENO_OPT_NATIVE_MUTEX=y CONFIG_XENO_OPT_NATIVE_COND=y CONFIG_XENO_OPT_NATIVE_QUEUE=y CONFIG_XENO_OPT_NATIVE_BUFFER=y CONFIG_XENO_OPT_NATIVE_HEAP=y CONFIG_XENO_OPT_NATIVE_ALARM=y CONFIG_XENO_OPT_NATIVE_MPS=y # CONFIG_XENO_OPT_NATIVE_INTR is not set # CONFIG_XENO_SKIN_POSIX is not set # CONFIG_XENO_SKIN_PSOS is not set # CONFIG_XENO_SKIN_UITRON is not set # CONFIG_XENO_SKIN_VRTX is not set # CONFIG_XENO_SKIN_VXWORKS is not set # CONFIG_XENO_SKIN_RTAI is not set # CONFIG_XENO_OPT_NOWARN_DEPRECATED is not set CONFIG_XENO_SKIN_RTDM=m CONFIG_XENO_OPT_RTDM_PERIOD=0 CONFIG_XENO_OPT_RTDM_FILDES=128 # CONFIG_XENO_OPT_RTDM_SELECT is not set # # Drivers # # # Serial drivers # CONFIG_XENO_DRIVERS_16550A=m CONFIG_XENO_DRIVERS_16550A_PIO=y # CONFIG_XENO_DRIVERS_16550A_MMIO is not set # CONFIG_XENO_DRIVERS_16550A_ANY is not set # # Testing drivers # # CONFIG_XENO_DRIVERS_TESTING_LEGACY_NAMES is not set CONFIG_XENO_DRIVERS_TIMERBENCH=m # CONFIG_XENO_DRIVERS_KLATENCY is not set # CONFIG_XENO_DRIVERS_IRQBENCH is not set CONFIG_XENO_DRIVERS_SWITCHTEST=m # CONFIG_XENO_DRIVERS_SIGTEST is not set CONFIG_XENO_DRIVERS_RTDMTEST=m # # CAN drivers # # CONFIG_XENO_DRIVERS_CAN is not set # # ANALOGY drivers # CONFIG_XENO_DRIVERS_ANALOGY=m CONFIG_XENO_DRIVERS_ANALOGY_DEBUG=y CONFIG_XENO_DRIVERS_ANALOGY_DEBUG_LEVEL=0 CONFIG_XENO_DRIVERS_ANALOGY_DRIVER_DEBUG_LEVEL=0 CONFIG_XENO_DRIVERS_ANALOGY_FAKE=m CONFIG_XENO_DRIVERS_ANALOGY_LOOP=m CONFIG_XENO_DRIVERS_ANALOGY_8255=m CONFIG_XENO_DRIVERS_ANALOGY_PARPORT=m CONFIG_XENO_DRIVERS_ANALOGY_NI_MITE=m CONFIG_XENO_DRIVERS_ANALOGY_NI_TIO=m CONFIG_XENO_DRIVERS_ANALOGY_NI_MIO=m CONFIG_XENO_DRIVERS_ANALOGY_NI_PCIMIO=m # CONFIG_XENO_DRIVERS_ANALOGY_S526 is not set # # Real-time IPC drivers # CONFIG_XENO_DRIVERS_RTIPC=m CONFIG_XENO_DRIVERS_RTIPC_XDDP=y CONFIG_XENO_DRIVERS_RTIPC_IDDP=y CONFIG_XENO_OPT_IDDP_NRPORT=32 CONFIG_XENO_DRIVERS_RTIPC_BUFP=y CONFIG_XENO_OPT_BUFP_NRPORT=32 CONFIG_FREEZER=y # # Processor type and features # CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_SMP=y # CONFIG_SPARSE_IRQ is not set CONFIG_X86_MPPARSE=y CONFIG_X86_BIGSMP=y CONFIG_X86_EXTENDED_PLATFORM=y # CONFIG_X86_ELAN is not set # CONFIG_X86_MRST is not set # CONFIG_X86_RDC321X is not set CONFIG_X86_32_NON_STANDARD=y # CONFIG_X86_NUMAQ is not set CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y # CONFIG_X86_SUMMIT is not set # CONFIG_X86_ES7000 is not set CONFIG_SCHED_OMIT_FRAME_POINTER=y # CONFIG_NO_BOOTMEM is not set # CONFIG_MEMTEST is not set CONFIG_X86_CYCLONE_TIMER=y # CONFIG_M386 is not set # CONFIG_M486 is not set # CONFIG_M586 is not set # CONFIG_M586TSC is not set # CONFIG_M586MMX is not set CONFIG_M686=y # CONFIG_MPENTIUMII is not set # CONFIG_MPENTIUMIII is not set # CONFIG_MPENTIUMM is not set # CONFIG_MPENTIUM4 is not set # CONFIG_MK6 is not set # CONFIG_MK7 is not set # CONFIG_MK8 is not set # CONFIG_MCRUSOE is not set # CONFIG_MEFFICEON is not set # CONFIG_MWINCHIPC6 is not set # CONFIG_MWINCHIP3D is not set # CONFIG_MGEODEGX1 is not set # CONFIG_MGEODE_LX is not set # CONFIG_MCYRIXIII is not set # CONFIG_MVIAC3_2 is not set # CONFIG_MVIAC7 is not set # CONFIG_MPSC is not set # CONFIG_MCORE2 is not set # CONFIG_MATOM is not set # CONFIG_GENERIC_CPU is not set CONFIG_X86_GENERIC=y CONFIG_X86_CPU=y CONFIG_X86_INTERNODE_CACHE_SHIFT=6 CONFIG_X86_CMPXCHG=y CONFIG_X86_L1_CACHE_SHIFT=6 CONFIG_X86_XADD=y # CONFIG_X86_PPRO_FENCE is not set CONFIG_X86_WP_WORKS_OK=y CONFIG_X86_INVLPG=y CONFIG_X86_BSWAP=y CONFIG_X86_POPAD_OK=y CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_USE_PPRO_CHECKSUM=y CONFIG_X86_TSC=y CONFIG_X86_CMPXCHG64=y CONFIG_X86_CMOV=y CONFIG_X86_MINIMUM_CPU_FAMILY=5 CONFIG_X86_DEBUGCTLMSR=y CONFIG_CPU_SUP_INTEL=y CONFIG_CPU_SUP_CYRIX_32=y CONFIG_CPU_SUP_AMD=y CONFIG_CPU_SUP_CENTAUR=y CONFIG_CPU_SUP_TRANSMETA_32=y CONFIG_CPU_SUP_UMC_32=y CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y CONFIG_DMI=y # CONFIG_IOMMU_HELPER is not set CONFIG_IOMMU_API=y CONFIG_NR_CPUS=32 CONFIG_SCHED_SMT=y CONFIG_SCHED_MC=y # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_PREEMPT is not set CONFIG_IPIPE=y CONFIG_IPIPE_DOMAINS=4 CONFIG_IPIPE_DELAYED_ATOMICSW=y # CONFIG_IPIPE_UNMASKED_CONTEXT_SWITCH is not set CONFIG_HAVE_IPIPE_HOSTRT=y CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y CONFIG_X86_MCE=y CONFIG_X86_MCE_INTEL=y CONFIG_X86_MCE_AMD=y # CONFIG_X86_ANCIENT_MCE is not set CONFIG_X86_MCE_THRESHOLD=y # CONFIG_X86_MCE_INJECT is not set CONFIG_X86_THERMAL_VECTOR=y CONFIG_VM86=y CONFIG_TOSHIBA=m CONFIG_I8K=m # CONFIG_X86_REBOOTFIXUPS is not set CONFIG_MICROCODE=m CONFIG_MICROCODE_INTEL=y CONFIG_MICROCODE_AMD=y CONFIG_MICROCODE_OLD_INTERFACE=y CONFIG_X86_MSR=y CONFIG_X86_CPUID=y # CONFIG_NOHIGHMEM is not set # CONFIG_HIGHMEM4G is not set CONFIG_HIGHMEM64G=y CONFIG_PAGE_OFFSET=0xC0000000 CONFIG_HIGHMEM=y CONFIG_X86_PAE=y CONFIG_ARCH_PHYS_ADDR_T_64BIT=y # CONFIG_NUMA is not set CONFIG_ARCH_FLATMEM_ENABLE=y CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_ILLEGAL_POINTER_VALUE=0 CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y # CONFIG_DISCONTIGMEM_MANUAL is not set # CONFIG_SPARSEMEM_MANUAL is not set CONFIG_FLATMEM=y CONFIG_FLAT_NODE_MEM_MAP=y CONFIG_SPARSEMEM_STATIC=y CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_SPLIT_PTLOCK_CPUS=999999 CONFIG_COMPACTION=y CONFIG_MIGRATION=y CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_ZONE_DMA_FLAG=1 CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y CONFIG_MMU_NOTIFIER=y CONFIG_KSM=y CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y CONFIG_MEMORY_FAILURE=y CONFIG_HWPOISON_INJECT=m CONFIG_HIGHPTE=y # CONFIG_X86_CHECK_BIOS_CORRUPTION is not set CONFIG_X86_RESERVE_LOW_64K=y # CONFIG_MATH_EMULATION is not set CONFIG_MTRR=y CONFIG_MTRR_SANITIZER=y CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1 CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 CONFIG_X86_PAT=y CONFIG_ARCH_USES_PG_UNCACHED=y CONFIG_EFI=y CONFIG_SECCOMP=y # CONFIG_CC_STACKPROTECTOR is not set # 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=y CONFIG_KEXEC=y CONFIG_CRASH_DUMP=y # CONFIG_KEXEC_JUMP is not set CONFIG_PHYSICAL_START=0x400000 CONFIG_RELOCATABLE=y CONFIG_X86_NEED_RELOCS=y CONFIG_PHYSICAL_ALIGN=0x400000 CONFIG_HOTPLUG_CPU=y # CONFIG_COMPAT_VDSO is not set # CONFIG_CMDLINE_BOOL is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y # # Power management and ACPI options # CONFIG_PM=y CONFIG_PM_DEBUG=y CONFIG_PM_ADVANCED_DEBUG=y # CONFIG_PM_VERBOSE is not set CONFIG_CAN_PM_TRACE=y CONFIG_PM_TRACE=y CONFIG_PM_TRACE_RTC=y CONFIG_PM_SLEEP_SMP=y CONFIG_PM_SLEEP=y # CONFIG_PM_SLEEP_ADVANCED_DEBUG is not set CONFIG_SUSPEND_NVS=y CONFIG_SUSPEND=y CONFIG_PM_TEST_SUSPEND=y CONFIG_SUSPEND_FREEZER=y CONFIG_HIBERNATION=y CONFIG_PM_STD_PARTITION="" CONFIG_PM_RUNTIME=y CONFIG_PM_OPS=y CONFIG_ACPI=y CONFIG_ACPI_SLEEP=y CONFIG_ACPI_PROCFS=y CONFIG_ACPI_PROCFS_POWER=y CONFIG_ACPI_POWER_METER=m CONFIG_ACPI_SYSFS_POWER=y # CONFIG_ACPI_PROC_EVENT is not set CONFIG_ACPI_AC=y CONFIG_ACPI_BATTERY=y CONFIG_ACPI_BUTTON=y CONFIG_ACPI_VIDEO=m CONFIG_ACPI_FAN=y CONFIG_ACPI_DOCK=y CONFIG_ACPI_PROCESSOR=y CONFIG_ACPI_HOTPLUG_CPU=y CONFIG_ACPI_PROCESSOR_AGGREGATOR=m CONFIG_ACPI_THERMAL=y # CONFIG_ACPI_CUSTOM_DSDT is not set CONFIG_ACPI_BLACKLIST_YEAR=1999 CONFIG_ACPI_DEBUG=y # CONFIG_ACPI_DEBUG_FUNC_TRACE is not set CONFIG_ACPI_PCI_SLOT=y CONFIG_X86_PM_TIMER=y CONFIG_ACPI_CONTAINER=y CONFIG_ACPI_SBS=m CONFIG_ACPI_HED=m CONFIG_ACPI_APEI=y CONFIG_ACPI_APEI_GHES=m # CONFIG_ACPI_APEI_EINJ is not set CONFIG_SFI=y CONFIG_X86_APM_BOOT=y CONFIG_APM=y # CONFIG_APM_IGNORE_USER_SUSPEND is not set # CONFIG_APM_DO_ENABLE is not set CONFIG_APM_CPU_IDLE=y # CONFIG_APM_DISPLAY_BLANK is not set # CONFIG_APM_ALLOW_INTS is not set # # CPU Frequency scaling # CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_TABLE=y CONFIG_CPU_FREQ_DEBUG=y CONFIG_CPU_FREQ_STAT=m CONFIG_CPU_FREQ_STAT_DETAILS=y # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=m CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=m CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m # # CPUFreq processor drivers # CONFIG_X86_PCC_CPUFREQ=m CONFIG_X86_ACPI_CPUFREQ=m # CONFIG_X86_POWERNOW_K6 is not set CONFIG_X86_POWERNOW_K7=y CONFIG_X86_POWERNOW_K7_ACPI=y CONFIG_X86_POWERNOW_K8=m # CONFIG_X86_GX_SUSPMOD is not set # CONFIG_X86_SPEEDSTEP_CENTRINO is not set CONFIG_X86_SPEEDSTEP_ICH=y CONFIG_X86_SPEEDSTEP_SMI=y CONFIG_X86_P4_CLOCKMOD=m # CONFIG_X86_CPUFREQ_NFORCE2 is not set CONFIG_X86_LONGRUN=y # CONFIG_X86_LONGHAUL is not set # CONFIG_X86_E_POWERSAVER is not set # # shared options # CONFIG_X86_SPEEDSTEP_LIB=y # CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK is not set CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y CONFIG_INTEL_IDLE=m # # Bus options (PCI etc.) # CONFIG_PCI=y # CONFIG_PCI_GOBIOS is not set # CONFIG_PCI_GOMMCONFIG is not set # CONFIG_PCI_GODIRECT is not set # CONFIG_PCI_GOOLPC is not set CONFIG_PCI_GOANY=y CONFIG_PCI_BIOS=y CONFIG_PCI_DIRECT=y CONFIG_PCI_MMCONFIG=y CONFIG_PCI_OLPC=y CONFIG_PCI_DOMAINS=y CONFIG_PCI_CNB20LE_QUIRK=y CONFIG_DMAR=y CONFIG_DMAR_DEFAULT_ON=y CONFIG_DMAR_FLOPPY_WA=y CONFIG_PCIEPORTBUS=y CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_PCIEAER=y CONFIG_PCIE_ECRC=y CONFIG_PCIEAER_INJECT=m CONFIG_PCIEASPM=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIE_PME=y CONFIG_ARCH_SUPPORTS_MSI=y CONFIG_PCI_MSI=y # CONFIG_PCI_DEBUG is not set CONFIG_PCI_STUB=y CONFIG_HT_IRQ=y CONFIG_PCI_IOV=y CONFIG_PCI_IOAPIC=y CONFIG_ISA_DMA_API=y CONFIG_ISA=y # CONFIG_EISA is not set # CONFIG_MCA is not set # CONFIG_SCx200 is not set CONFIG_OLPC=y CONFIG_K8_NB=y CONFIG_PCCARD=y CONFIG_PCMCIA=y CONFIG_PCMCIA_LOAD_CIS=y 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=m CONFIG_I82365=m # CONFIG_TCIC is not set CONFIG_PCMCIA_PROBE=y CONFIG_PCCARD_NONSTATIC=y CONFIG_HOTPLUG_PCI=y CONFIG_HOTPLUG_PCI_FAKE=m CONFIG_HOTPLUG_PCI_COMPAQ=m # CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set CONFIG_HOTPLUG_PCI_IBM=m CONFIG_HOTPLUG_PCI_ACPI=y CONFIG_HOTPLUG_PCI_ACPI_IBM=m # CONFIG_HOTPLUG_PCI_CPCI is not set # CONFIG_HOTPLUG_PCI_SHPC is not set # # Executable file formats / Emulations # CONFIG_BINFMT_ELF=y CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y CONFIG_HAVE_AOUT=y # CONFIG_BINFMT_AOUT is not set CONFIG_BINFMT_MISC=y CONFIG_HAVE_ATOMIC_IOMAP=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=m CONFIG_NET_KEY=m CONFIG_NET_KEY_MIGRATE=y CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y CONFIG_ASK_IP_FIB_HASH=y # CONFIG_IP_FIB_TRIE is not set CONFIG_IP_FIB_HASH=y CONFIG_IP_MULTIPLE_TABLES=y CONFIG_IP_ROUTE_MULTIPATH=y CONFIG_IP_ROUTE_VERBOSE=y # CONFIG_IP_PNP is not set CONFIG_NET_IPIP=m CONFIG_NET_IPGRE=m CONFIG_NET_IPGRE_BROADCAST=y CONFIG_IP_MROUTE=y CONFIG_IP_MROUTE_MULTIPLE_TABLES=y CONFIG_IP_PIMSM_V1=y CONFIG_IP_PIMSM_V2=y CONFIG_ARPD=y CONFIG_SYN_COOKIES=y CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=m CONFIG_INET_XFRM_TUNNEL=m CONFIG_INET_TUNNEL=m CONFIG_INET_XFRM_MODE_TRANSPORT=m CONFIG_INET_XFRM_MODE_TUNNEL=m CONFIG_INET_XFRM_MODE_BEET=m CONFIG_INET_LRO=y CONFIG_INET_DIAG=m CONFIG_INET_TCP_DIAG=m CONFIG_TCP_CONG_ADVANCED=y CONFIG_TCP_CONG_BIC=m CONFIG_TCP_CONG_CUBIC=y CONFIG_TCP_CONG_WESTWOOD=m CONFIG_TCP_CONG_HTCP=m CONFIG_TCP_CONG_HSTCP=m CONFIG_TCP_CONG_HYBLA=m 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=m # CONFIG_DEFAULT_BIC is not set CONFIG_DEFAULT_CUBIC=y # CONFIG_DEFAULT_HTCP is not set # CONFIG_DEFAULT_HYBLA is not set # CONFIG_DEFAULT_VEGAS is not set # CONFIG_DEFAULT_VENO is not set # CONFIG_DEFAULT_WESTWOOD is not set # CONFIG_DEFAULT_RENO is not set CONFIG_DEFAULT_TCP_CONG="cubic" CONFIG_TCP_MD5SIG=y CONFIG_IPV6=m CONFIG_IPV6_PRIVACY=y CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y CONFIG_IPV6_OPTIMISTIC_DAD=y CONFIG_INET6_AH=m CONFIG_INET6_ESP=m CONFIG_INET6_IPCOMP=m CONFIG_IPV6_MIP6=m CONFIG_INET6_XFRM_TUNNEL=m CONFIG_INET6_TUNNEL=m CONFIG_INET6_XFRM_MODE_TRANSPORT=m CONFIG_INET6_XFRM_MODE_TUNNEL=m CONFIG_INET6_XFRM_MODE_BEET=m CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m CONFIG_IPV6_SIT=m CONFIG_IPV6_SIT_6RD=y CONFIG_IPV6_NDISC_NODETYPE=y CONFIG_IPV6_TUNNEL=m CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=y CONFIG_IPV6_MROUTE=y CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y CONFIG_IPV6_PIMSM_V2=y CONFIG_NETLABEL=y CONFIG_NETWORK_SECMARK=y CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set CONFIG_NETFILTER_ADVANCED=y CONFIG_BRIDGE_NETFILTER=y # # Core Netfilter Configuration # CONFIG_NETFILTER_NETLINK=m CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NETFILTER_NETLINK_LOG=m CONFIG_NF_CONNTRACK=y CONFIG_NF_CT_ACCT=y CONFIG_NF_CONNTRACK_MARK=y CONFIG_NF_CONNTRACK_SECMARK=y CONFIG_NF_CONNTRACK_ZONES=y CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CT_PROTO_DCCP=m CONFIG_NF_CT_PROTO_GRE=m CONFIG_NF_CT_PROTO_SCTP=m CONFIG_NF_CT_PROTO_UDPLITE=m CONFIG_NF_CONNTRACK_AMANDA=m CONFIG_NF_CONNTRACK_FTP=m CONFIG_NF_CONNTRACK_H323=m CONFIG_NF_CONNTRACK_IRC=m CONFIG_NF_CONNTRACK_NETBIOS_NS=m CONFIG_NF_CONNTRACK_PPTP=m CONFIG_NF_CONNTRACK_SANE=m CONFIG_NF_CONNTRACK_SIP=m CONFIG_NF_CONNTRACK_TFTP=m CONFIG_NF_CT_NETLINK=m CONFIG_NETFILTER_TPROXY=m CONFIG_NETFILTER_XTABLES=y # # Xtables combined modules # CONFIG_NETFILTER_XT_MARK=m CONFIG_NETFILTER_XT_CONNMARK=m # # Xtables targets # CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m CONFIG_NETFILTER_XT_TARGET_CONNMARK=m CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m CONFIG_NETFILTER_XT_TARGET_CT=m CONFIG_NETFILTER_XT_TARGET_DSCP=m CONFIG_NETFILTER_XT_TARGET_HL=m CONFIG_NETFILTER_XT_TARGET_LED=m CONFIG_NETFILTER_XT_TARGET_MARK=m CONFIG_NETFILTER_XT_TARGET_NFLOG=m CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m CONFIG_NETFILTER_XT_TARGET_NOTRACK=m CONFIG_NETFILTER_XT_TARGET_RATEEST=m CONFIG_NETFILTER_XT_TARGET_TEE=m CONFIG_NETFILTER_XT_TARGET_TPROXY=m CONFIG_NETFILTER_XT_TARGET_TRACE=m CONFIG_NETFILTER_XT_TARGET_SECMARK=m CONFIG_NETFILTER_XT_TARGET_TCPMSS=m CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m # # Xtables matches # CONFIG_NETFILTER_XT_MATCH_CLUSTER=m CONFIG_NETFILTER_XT_MATCH_COMMENT=m CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m CONFIG_NETFILTER_XT_MATCH_CONNMARK=m CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y CONFIG_NETFILTER_XT_MATCH_DCCP=m CONFIG_NETFILTER_XT_MATCH_DSCP=m CONFIG_NETFILTER_XT_MATCH_ESP=m CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m CONFIG_NETFILTER_XT_MATCH_HELPER=m CONFIG_NETFILTER_XT_MATCH_HL=m CONFIG_NETFILTER_XT_MATCH_IPRANGE=m CONFIG_NETFILTER_XT_MATCH_LENGTH=m CONFIG_NETFILTER_XT_MATCH_LIMIT=m CONFIG_NETFILTER_XT_MATCH_MAC=m CONFIG_NETFILTER_XT_MATCH_MARK=m CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m CONFIG_NETFILTER_XT_MATCH_OSF=m CONFIG_NETFILTER_XT_MATCH_OWNER=m CONFIG_NETFILTER_XT_MATCH_POLICY=m CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m CONFIG_NETFILTER_XT_MATCH_QUOTA=m CONFIG_NETFILTER_XT_MATCH_RATEEST=m CONFIG_NETFILTER_XT_MATCH_REALM=m CONFIG_NETFILTER_XT_MATCH_RECENT=m CONFIG_NETFILTER_XT_MATCH_SCTP=m CONFIG_NETFILTER_XT_MATCH_SOCKET=m CONFIG_NETFILTER_XT_MATCH_STATE=y CONFIG_NETFILTER_XT_MATCH_STATISTIC=m CONFIG_NETFILTER_XT_MATCH_STRING=m CONFIG_NETFILTER_XT_MATCH_TCPMSS=m CONFIG_NETFILTER_XT_MATCH_TIME=m CONFIG_NETFILTER_XT_MATCH_U32=m CONFIG_IP_VS=m # CONFIG_IP_VS_IPV6 is not set # CONFIG_IP_VS_DEBUG is not set CONFIG_IP_VS_TAB_BITS=12 # # IPVS transport protocol load balancing support # CONFIG_IP_VS_PROTO_TCP=y CONFIG_IP_VS_PROTO_UDP=y CONFIG_IP_VS_PROTO_AH_ESP=y CONFIG_IP_VS_PROTO_ESP=y CONFIG_IP_VS_PROTO_AH=y CONFIG_IP_VS_PROTO_SCTP=y # # IPVS scheduler # CONFIG_IP_VS_RR=m CONFIG_IP_VS_WRR=m CONFIG_IP_VS_LC=m CONFIG_IP_VS_WLC=m CONFIG_IP_VS_LBLC=m CONFIG_IP_VS_LBLCR=m CONFIG_IP_VS_DH=m CONFIG_IP_VS_SH=m CONFIG_IP_VS_SED=m CONFIG_IP_VS_NQ=m # # IPVS application helper # CONFIG_IP_VS_FTP=m # # IP: Netfilter Configuration # CONFIG_NF_DEFRAG_IPV4=y CONFIG_NF_CONNTRACK_IPV4=y # CONFIG_NF_CONNTRACK_PROC_COMPAT is not set CONFIG_IP_NF_QUEUE=m CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_MATCH_ADDRTYPE=m CONFIG_IP_NF_MATCH_AH=m CONFIG_IP_NF_MATCH_ECN=m CONFIG_IP_NF_MATCH_TTL=m CONFIG_IP_NF_FILTER=y CONFIG_IP_NF_TARGET_REJECT=y CONFIG_IP_NF_TARGET_LOG=m CONFIG_IP_NF_TARGET_ULOG=m CONFIG_NF_NAT=m CONFIG_NF_NAT_NEEDED=y CONFIG_IP_NF_TARGET_MASQUERADE=m CONFIG_IP_NF_TARGET_NETMAP=m CONFIG_IP_NF_TARGET_REDIRECT=m CONFIG_NF_NAT_SNMP_BASIC=m CONFIG_NF_NAT_PROTO_DCCP=m CONFIG_NF_NAT_PROTO_GRE=m CONFIG_NF_NAT_PROTO_UDPLITE=m CONFIG_NF_NAT_PROTO_SCTP=m CONFIG_NF_NAT_FTP=m CONFIG_NF_NAT_IRC=m CONFIG_NF_NAT_TFTP=m CONFIG_NF_NAT_AMANDA=m CONFIG_NF_NAT_PPTP=m CONFIG_NF_NAT_H323=m CONFIG_NF_NAT_SIP=m CONFIG_IP_NF_MANGLE=m CONFIG_IP_NF_TARGET_CLUSTERIP=m CONFIG_IP_NF_TARGET_ECN=m CONFIG_IP_NF_TARGET_TTL=m CONFIG_IP_NF_RAW=m CONFIG_IP_NF_SECURITY=m CONFIG_IP_NF_ARPTABLES=m CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARP_MANGLE=m # # IPv6: Netfilter Configuration # CONFIG_NF_CONNTRACK_IPV6=m CONFIG_IP6_NF_QUEUE=m CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_AH=m CONFIG_IP6_NF_MATCH_EUI64=m CONFIG_IP6_NF_MATCH_FRAG=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_HL=m CONFIG_IP6_NF_MATCH_IPV6HEADER=m CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_RT=m CONFIG_IP6_NF_TARGET_HL=m CONFIG_IP6_NF_TARGET_LOG=m CONFIG_IP6_NF_FILTER=m CONFIG_IP6_NF_TARGET_REJECT=m CONFIG_IP6_NF_MANGLE=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m # # DECnet: Netfilter Configuration # # CONFIG_DECNET_NF_GRABULATOR is not set CONFIG_BRIDGE_NF_EBTABLES=m CONFIG_BRIDGE_EBT_BROUTE=m CONFIG_BRIDGE_EBT_T_FILTER=m CONFIG_BRIDGE_EBT_T_NAT=m CONFIG_BRIDGE_EBT_802_3=m CONFIG_BRIDGE_EBT_AMONG=m CONFIG_BRIDGE_EBT_ARP=m CONFIG_BRIDGE_EBT_IP=m CONFIG_BRIDGE_EBT_IP6=m CONFIG_BRIDGE_EBT_LIMIT=m CONFIG_BRIDGE_EBT_MARK=m CONFIG_BRIDGE_EBT_PKTTYPE=m CONFIG_BRIDGE_EBT_STP=m CONFIG_BRIDGE_EBT_VLAN=m CONFIG_BRIDGE_EBT_ARPREPLY=m CONFIG_BRIDGE_EBT_DNAT=m CONFIG_BRIDGE_EBT_MARK_T=m CONFIG_BRIDGE_EBT_REDIRECT=m CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_LOG=m CONFIG_BRIDGE_EBT_ULOG=m CONFIG_BRIDGE_EBT_NFLOG=m 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=y # CONFIG_IP_DCCP_CCID3_DEBUG is not set CONFIG_IP_DCCP_CCID3_RTO=100 CONFIG_IP_DCCP_TFRC_LIB=y # # DCCP Kernel Hacking # # CONFIG_IP_DCCP_DEBUG is not set CONFIG_NET_DCCPPROBE=m CONFIG_IP_SCTP=m CONFIG_NET_SCTPPROBE=m # CONFIG_SCTP_DBG_MSG is not set # 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 is not set CONFIG_ATM=m CONFIG_ATM_CLIP=m # CONFIG_ATM_CLIP_NO_ICMP is not set CONFIG_ATM_LANE=m # CONFIG_ATM_MPOA is not set CONFIG_ATM_BR2684=m # CONFIG_ATM_BR2684_IPFILTER is not set CONFIG_L2TP=m CONFIG_L2TP_DEBUGFS=m CONFIG_L2TP_V3=y CONFIG_L2TP_IP=m CONFIG_L2TP_ETH=m CONFIG_STP=m CONFIG_GARP=m CONFIG_BRIDGE=m CONFIG_BRIDGE_IGMP_SNOOPING=y CONFIG_NET_DSA=y CONFIG_NET_DSA_TAG_DSA=y CONFIG_NET_DSA_TAG_EDSA=y CONFIG_NET_DSA_TAG_TRAILER=y CONFIG_NET_DSA_MV88E6XXX=y CONFIG_NET_DSA_MV88E6060=y CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y CONFIG_NET_DSA_MV88E6131=y CONFIG_NET_DSA_MV88E6123_61_65=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_DECNET=m CONFIG_DECNET_ROUTER=y CONFIG_LLC=m # CONFIG_LLC2 is not set CONFIG_IPX=m # CONFIG_IPX_INTERN is not set CONFIG_ATALK=m CONFIG_DEV_APPLETALK=m # CONFIG_LTPC is not set # CONFIG_COPS is not set CONFIG_IPDDP=m CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP_DECAP=y # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_ECONET is not set CONFIG_WAN_ROUTER=m CONFIG_PHONET=m CONFIG_IEEE802154=m CONFIG_NET_SCHED=y # # Queueing/Scheduling # CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_HTB=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_PRIO=m CONFIG_NET_SCH_MULTIQ=m CONFIG_NET_SCH_RED=m CONFIG_NET_SCH_SFQ=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCH_NETEM=m CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_INGRESS=m # # Classification # CONFIG_NET_CLS=y CONFIG_NET_CLS_BASIC=m CONFIG_NET_CLS_TCINDEX=m CONFIG_NET_CLS_ROUTE4=m CONFIG_NET_CLS_ROUTE=y CONFIG_NET_CLS_FW=m CONFIG_NET_CLS_U32=m CONFIG_CLS_U32_PERF=y CONFIG_CLS_U32_MARK=y CONFIG_NET_CLS_RSVP=m CONFIG_NET_CLS_RSVP6=m CONFIG_NET_CLS_FLOW=m CONFIG_NET_CLS_CGROUP=y CONFIG_NET_EMATCH=y CONFIG_NET_EMATCH_STACK=32 CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_NBYTE=m CONFIG_NET_EMATCH_U32=m CONFIG_NET_EMATCH_META=m CONFIG_NET_EMATCH_TEXT=m CONFIG_NET_CLS_ACT=y CONFIG_NET_ACT_POLICE=m CONFIG_NET_ACT_GACT=m CONFIG_GACT_PROB=y CONFIG_NET_ACT_MIRRED=m CONFIG_NET_ACT_IPT=m CONFIG_NET_ACT_NAT=m CONFIG_NET_ACT_PEDIT=m CONFIG_NET_ACT_SIMP=m CONFIG_NET_ACT_SKBEDIT=m CONFIG_NET_CLS_IND=y CONFIG_NET_SCH_FIFO=y CONFIG_DCB=y CONFIG_RPS=y # # 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=m CONFIG_6PACK=m CONFIG_BPQETHER=m CONFIG_SCC=m # CONFIG_SCC_DELAY is not set CONFIG_SCC_TRXECHO=y CONFIG_BAYCOM_SER_FDX=m CONFIG_BAYCOM_SER_HDX=m CONFIG_BAYCOM_PAR=m CONFIG_BAYCOM_EPP=m CONFIG_YAM=m CONFIG_CAN=m CONFIG_CAN_RAW=m CONFIG_CAN_BCM=m # # CAN Device Drivers # CONFIG_CAN_VCAN=m CONFIG_CAN_DEV=m CONFIG_CAN_CALC_BITTIMING=y CONFIG_CAN_SJA1000=m CONFIG_CAN_SJA1000_ISA=m CONFIG_CAN_SJA1000_PLATFORM=m CONFIG_CAN_EMS_PCI=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_PLX_PCI=m # # CAN USB interfaces # CONFIG_CAN_EMS_USB=m CONFIG_CAN_DEBUG_DEVICES=y CONFIG_IRDA=m # # IrDA protocols # CONFIG_IRLAN=m CONFIG_IRNET=m CONFIG_IRCOMM=m # CONFIG_IRDA_ULTRA is not set # # IrDA options # CONFIG_IRDA_CACHE_LAST_LSAP=y CONFIG_IRDA_FAST_RR=y # CONFIG_IRDA_DEBUG is not set # # Infrared-port device drivers # # # SIR device drivers # CONFIG_IRTTY_SIR=m # # Dongle support # CONFIG_DONGLE=y CONFIG_ESI_DONGLE=m CONFIG_ACTISYS_DONGLE=m CONFIG_TEKRAM_DONGLE=m CONFIG_TOIM3232_DONGLE=m CONFIG_LITELINK_DONGLE=m CONFIG_MA600_DONGLE=m CONFIG_GIRBIL_DONGLE=m CONFIG_MCP2120_DONGLE=m CONFIG_OLD_BELKIN_DONGLE=m CONFIG_ACT200L_DONGLE=m CONFIG_KINGSUN_DONGLE=m CONFIG_KSDAZZLE_DONGLE=m CONFIG_KS959_DONGLE=m # # FIR device drivers # CONFIG_USB_IRDA=m CONFIG_SIGMATEL_FIR=m CONFIG_NSC_FIR=m CONFIG_WINBOND_FIR=m # CONFIG_TOSHIBA_FIR is not set CONFIG_SMC_IRCC_FIR=m CONFIG_ALI_FIR=m CONFIG_VLSI_FIR=m CONFIG_VIA_FIR=m CONFIG_MCS_FIR=m CONFIG_BT=m CONFIG_BT_L2CAP=m CONFIG_BT_L2CAP_EXT_FEATURES=y CONFIG_BT_SCO=m CONFIG_BT_RFCOMM=m CONFIG_BT_RFCOMM_TTY=y CONFIG_BT_BNEP=m CONFIG_BT_BNEP_MC_FILTER=y CONFIG_BT_BNEP_PROTO_FILTER=y CONFIG_BT_CMTP=m 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_LL=y CONFIG_BT_HCIBCM203X=m CONFIG_BT_HCIBPA10X=m CONFIG_BT_HCIBFUSB=m CONFIG_BT_HCIDTL1=m CONFIG_BT_HCIBT3C=m CONFIG_BT_HCIBLUECARD=m CONFIG_BT_HCIBTUART=m CONFIG_BT_HCIVHCI=m CONFIG_BT_MRVL=m CONFIG_BT_MRVL_SDIO=m CONFIG_BT_ATH3K=m # CONFIG_AF_RXRPC is not set CONFIG_FIB_RULES=y CONFIG_WIRELESS=y CONFIG_WIRELESS_EXT=y CONFIG_WEXT_CORE=y CONFIG_WEXT_PROC=y CONFIG_WEXT_SPY=y CONFIG_WEXT_PRIV=y CONFIG_CFG80211=m # CONFIG_NL80211_TESTMODE is not set # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set # CONFIG_CFG80211_REG_DEBUG is not set CONFIG_CFG80211_DEFAULT_PS=y CONFIG_CFG80211_DEBUGFS=y # CONFIG_CFG80211_INTERNAL_REGDB is not set CONFIG_CFG80211_WEXT=y CONFIG_WIRELESS_EXT_SYSFS=y CONFIG_LIB80211=m CONFIG_LIB80211_CRYPT_WEP=m CONFIG_LIB80211_CRYPT_CCMP=m CONFIG_LIB80211_CRYPT_TKIP=m # CONFIG_LIB80211_DEBUG is not set CONFIG_MAC80211=m CONFIG_MAC80211_HAS_RC=y CONFIG_MAC80211_RC_MINSTREL=y # CONFIG_MAC80211_RC_DEFAULT_PID is not set CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y CONFIG_MAC80211_RC_DEFAULT="minstrel" CONFIG_MAC80211_MESH=y CONFIG_MAC80211_LEDS=y CONFIG_MAC80211_DEBUGFS=y # CONFIG_MAC80211_DEBUG_MENU is not set CONFIG_WIMAX=m CONFIG_WIMAX_DEBUG_LEVEL=8 CONFIG_RFKILL=m CONFIG_RFKILL_LEDS=y CONFIG_RFKILL_INPUT=y CONFIG_NET_9P=m CONFIG_NET_9P_VIRTIO=m CONFIG_NET_9P_RDMA=m # CONFIG_NET_9P_DEBUG is not set # CONFIG_CAIF is not set # # Device Drivers # # # Generic Driver Options # CONFIG_UEVENT_HELPER_PATH="" CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y # CONFIG_FIRMWARE_IN_KERNEL is not set CONFIG_EXTRA_FIRMWARE="" # CONFIG_DEBUG_DRIVER is not set CONFIG_DEBUG_DEVRES=y # CONFIG_SYS_HYPERVISOR is not set CONFIG_CONNECTOR=y CONFIG_PROC_EVENTS=y CONFIG_MTD=m # CONFIG_MTD_DEBUG is not set # CONFIG_MTD_TESTS is not set CONFIG_MTD_CONCAT=m CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=m CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set # CONFIG_MTD_REDBOOT_PARTS_READONLY is not set CONFIG_MTD_AR7_PARTS=m # # User Modules And Translation Layers # CONFIG_MTD_CHAR=m CONFIG_MTD_BLKDEVS=m CONFIG_MTD_BLOCK=m CONFIG_MTD_BLOCK_RO=m CONFIG_FTL=m CONFIG_NFTL=m CONFIG_NFTL_RW=y CONFIG_INFTL=m CONFIG_RFD_FTL=m CONFIG_SSFDC=m # CONFIG_SM_FTL is not set CONFIG_MTD_OOPS=m # # RAM/ROM/Flash chip drivers # CONFIG_MTD_CFI=m CONFIG_MTD_JEDECPROBE=m CONFIG_MTD_GEN_PROBE=m # CONFIG_MTD_CFI_ADV_OPTIONS is not set CONFIG_MTD_MAP_BANK_WIDTH_1=y CONFIG_MTD_MAP_BANK_WIDTH_2=y CONFIG_MTD_MAP_BANK_WIDTH_4=y # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set CONFIG_MTD_CFI_I1=y CONFIG_MTD_CFI_I2=y # CONFIG_MTD_CFI_I4 is not set # CONFIG_MTD_CFI_I8 is not set CONFIG_MTD_CFI_INTELEXT=m CONFIG_MTD_CFI_AMDSTD=m CONFIG_MTD_CFI_STAA=m CONFIG_MTD_CFI_UTIL=m CONFIG_MTD_RAM=m CONFIG_MTD_ROM=m CONFIG_MTD_ABSENT=m # # Mapping drivers for chip access # CONFIG_MTD_COMPLEX_MAPPINGS=y # CONFIG_MTD_PHYSMAP is not set CONFIG_MTD_SC520CDP=m CONFIG_MTD_NETSC520=m CONFIG_MTD_TS5500=m # CONFIG_MTD_SBC_GXX is not set # CONFIG_MTD_AMD76XROM is not set # CONFIG_MTD_ICHXROM is not set CONFIG_MTD_ESB2ROM=m CONFIG_MTD_CK804XROM=m CONFIG_MTD_SCB2_FLASH=m # CONFIG_MTD_NETtel is not set # CONFIG_MTD_L440GX is not set CONFIG_MTD_PCI=m # CONFIG_MTD_PCMCIA is not set # CONFIG_MTD_GPIO_ADDR is not set # CONFIG_MTD_INTEL_VR_NOR is not set # CONFIG_MTD_PLATRAM is not set # # Self-contained MTD device drivers # CONFIG_MTD_PMC551=m # CONFIG_MTD_PMC551_BUGFIX is not set # CONFIG_MTD_PMC551_DEBUG is not set # CONFIG_MTD_SLRAM is not set # CONFIG_MTD_PHRAM is not set CONFIG_MTD_MTDRAM=m CONFIG_MTDRAM_TOTAL_SIZE=4096 CONFIG_MTDRAM_ERASE_SIZE=128 CONFIG_MTD_BLOCK2MTD=m # # Disk-On-Chip Device Drivers # # CONFIG_MTD_DOC2000 is not set # CONFIG_MTD_DOC2001 is not set # CONFIG_MTD_DOC2001PLUS is not set CONFIG_MTD_NAND_ECC=m CONFIG_MTD_NAND_ECC_SMC=y CONFIG_MTD_NAND=m # CONFIG_MTD_NAND_VERIFY_WRITE is not set CONFIG_MTD_SM_COMMON=m # CONFIG_MTD_NAND_MUSEUM_IDS is not set # CONFIG_MTD_NAND_DENALI is not set CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018 CONFIG_MTD_NAND_IDS=m CONFIG_MTD_NAND_RICOH=m CONFIG_MTD_NAND_DISKONCHIP=m # CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 # CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set CONFIG_MTD_NAND_CAFE=m CONFIG_MTD_NAND_CS553X=m CONFIG_MTD_NAND_NANDSIM=m # CONFIG_MTD_NAND_PLATFORM is not set CONFIG_MTD_ALAUDA=m # CONFIG_MTD_ONENAND is not set # # LPDDR flash memory drivers # CONFIG_MTD_LPDDR=m CONFIG_MTD_QINFO_PROBE=m # # UBI - Unsorted block images # CONFIG_MTD_UBI=m CONFIG_MTD_UBI_WL_THRESHOLD=4096 CONFIG_MTD_UBI_BEB_RESERVE=1 # CONFIG_MTD_UBI_GLUEBI is not set # # UBI debugging options # # CONFIG_MTD_UBI_DEBUG 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=y CONFIG_PARPORT_NOT_PC=y CONFIG_PNP=y # CONFIG_PNP_DEBUG_MESSAGES is not set # # Protocols # CONFIG_ISAPNP=y # CONFIG_PNPBIOS is not set CONFIG_PNPACPI=y CONFIG_BLK_DEV=y CONFIG_BLK_DEV_FD=m # CONFIG_BLK_DEV_XD is not set CONFIG_PARIDE=m # # Parallel IDE high-level drivers # CONFIG_PARIDE_PD=m CONFIG_PARIDE_PCD=m CONFIG_PARIDE_PF=m CONFIG_PARIDE_PT=m CONFIG_PARIDE_PG=m # # Parallel IDE protocol modules # CONFIG_PARIDE_ATEN=m CONFIG_PARIDE_BPCK=m CONFIG_PARIDE_BPCK6=m CONFIG_PARIDE_COMM=m CONFIG_PARIDE_DSTR=m CONFIG_PARIDE_FIT2=m CONFIG_PARIDE_FIT3=m CONFIG_PARIDE_EPAT=m CONFIG_PARIDE_EPATC8=y CONFIG_PARIDE_EPIA=m CONFIG_PARIDE_FRIQ=m CONFIG_PARIDE_FRPW=m CONFIG_PARIDE_KBIC=m CONFIG_PARIDE_KTTI=m CONFIG_PARIDE_ON20=m CONFIG_PARIDE_ON26=m CONFIG_BLK_CPQ_DA=m CONFIG_BLK_CPQ_CISS_DA=m CONFIG_CISS_SCSI_TAPE=y CONFIG_BLK_DEV_DAC960=m CONFIG_BLK_DEV_UMEM=m # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_DRBD=m CONFIG_DRBD_FAULT_INJECTION=y CONFIG_BLK_DEV_NBD=m CONFIG_BLK_DEV_OSD=m CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=16384 # CONFIG_BLK_DEV_XIP is not set CONFIG_CDROM_PKTCDVD=m CONFIG_CDROM_PKTCDVD_BUFFERS=8 # CONFIG_CDROM_PKTCDVD_WCACHE is not set CONFIG_ATA_OVER_ETH=m CONFIG_VIRTIO_BLK=m # CONFIG_BLK_DEV_HD is not set CONFIG_MISC_DEVICES=y # CONFIG_AD525X_DPOT is not set CONFIG_IBM_ASM=m # CONFIG_PHANTOM is not set # CONFIG_SGI_IOC4 is not set CONFIG_TIFM_CORE=m CONFIG_TIFM_7XX1=m CONFIG_ICS932S401=m CONFIG_ENCLOSURE_SERVICES=m CONFIG_CS5535_MFGPT=m CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7 CONFIG_CS5535_CLOCK_EVENT_SRC=m CONFIG_HP_ILO=m CONFIG_ISL29003=m CONFIG_SENSORS_TSL2550=m # CONFIG_DS1682 is not set CONFIG_VMWARE_BALLOON=m # CONFIG_C2PORT is not set # # EEPROM support # CONFIG_EEPROM_AT24=m CONFIG_EEPROM_LEGACY=m CONFIG_EEPROM_MAX6875=m CONFIG_EEPROM_93CX6=m CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set CONFIG_CB710_DEBUG_ASSUMPTIONS=y CONFIG_IWMC3200TOP=m # CONFIG_IWMC3200TOP_DEBUG is not set CONFIG_IWMC3200TOP_DEBUGFS=y 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=y # # SCSI support type (disk, tape, CD-ROM) # CONFIG_BLK_DEV_SD=y CONFIG_CHR_DEV_ST=m CONFIG_CHR_DEV_OSST=m CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_CHR_DEV_SG=y CONFIG_CHR_DEV_SCH=m CONFIG_SCSI_ENCLOSURE=m CONFIG_SCSI_MULTI_LUN=y CONFIG_SCSI_CONSTANTS=y CONFIG_SCSI_LOGGING=y CONFIG_SCSI_SCAN_ASYNC=y CONFIG_SCSI_WAIT_SCAN=m # # SCSI Transports # CONFIG_SCSI_SPI_ATTRS=m 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=y # CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set CONFIG_SCSI_SRP_ATTRS=m CONFIG_SCSI_SRP_TGT_ATTRS=y CONFIG_SCSI_LOWLEVEL=y CONFIG_ISCSI_TCP=m CONFIG_SCSI_CXGB3_ISCSI=m CONFIG_SCSI_BNX2_ISCSI=m CONFIG_BE2ISCSI=m CONFIG_BLK_DEV_3W_XXXX_RAID=m CONFIG_SCSI_HPSA=m CONFIG_SCSI_3W_9XXX=m CONFIG_SCSI_3W_SAS=m # CONFIG_SCSI_7000FASST is not set CONFIG_SCSI_ACARD=m CONFIG_SCSI_AHA152X=m CONFIG_SCSI_AHA1542=m CONFIG_SCSI_AACRAID=m CONFIG_SCSI_AIC7XXX=m CONFIG_AIC7XXX_CMDS_PER_DEVICE=4 CONFIG_AIC7XXX_RESET_DELAY_MS=15000 # CONFIG_AIC7XXX_DEBUG_ENABLE is not set CONFIG_AIC7XXX_DEBUG_MASK=0 # CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set CONFIG_SCSI_AIC7XXX_OLD=m CONFIG_SCSI_AIC79XX=m CONFIG_AIC79XX_CMDS_PER_DEVICE=4 CONFIG_AIC79XX_RESET_DELAY_MS=15000 # CONFIG_AIC79XX_DEBUG_ENABLE is not set CONFIG_AIC79XX_DEBUG_MASK=0 # CONFIG_AIC79XX_REG_PRETTY_PRINT is not set CONFIG_SCSI_AIC94XX=m # CONFIG_AIC94XX_DEBUG is not set CONFIG_SCSI_MVSAS=m # CONFIG_SCSI_MVSAS_DEBUG is not set # CONFIG_SCSI_DPT_I2O is not set CONFIG_SCSI_ADVANSYS=m # CONFIG_SCSI_IN2000 is not set CONFIG_SCSI_ARCMSR=m CONFIG_SCSI_ARCMSR_AER=y CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_LEGACY=m CONFIG_MEGARAID_SAS=m CONFIG_SCSI_MPT2SAS=m CONFIG_SCSI_MPT2SAS_MAX_SGE=128 CONFIG_SCSI_MPT2SAS_LOGGING=y CONFIG_SCSI_HPTIOP=m CONFIG_SCSI_BUSLOGIC=m CONFIG_SCSI_FLASHPOINT=y CONFIG_VMWARE_PVSCSI=m CONFIG_LIBFC=m CONFIG_LIBFCOE=m CONFIG_FCOE=m CONFIG_FCOE_FNIC=m # CONFIG_SCSI_DMX3191D is not set # CONFIG_SCSI_DTC3280 is not set # CONFIG_SCSI_EATA is not set CONFIG_SCSI_FUTURE_DOMAIN=m CONFIG_SCSI_GDTH=m # CONFIG_SCSI_GENERIC_NCR5380 is not set # CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set CONFIG_SCSI_IPS=m CONFIG_SCSI_INITIO=m CONFIG_SCSI_INIA100=m CONFIG_SCSI_PPA=m CONFIG_SCSI_IMM=m # CONFIG_SCSI_IZIP_EPP16 is not set # CONFIG_SCSI_IZIP_SLOW_CTR is not set # CONFIG_SCSI_NCR53C406A is not set CONFIG_SCSI_STEX=m 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=y # CONFIG_SCSI_IPR is not set # CONFIG_SCSI_PAS16 is not set # CONFIG_SCSI_QLOGIC_FAS is not set CONFIG_SCSI_QLOGIC_1280=m CONFIG_SCSI_QLA_FC=m CONFIG_SCSI_QLA_ISCSI=m CONFIG_SCSI_LPFC=m # CONFIG_SCSI_LPFC_DEBUG_FS is not set # CONFIG_SCSI_SYM53C416 is not set CONFIG_SCSI_DC395x=m CONFIG_SCSI_DC390T=m # CONFIG_SCSI_T128 is not set # CONFIG_SCSI_U14_34F is not set # CONFIG_SCSI_ULTRASTOR is not set # CONFIG_SCSI_NSP32 is not set CONFIG_SCSI_DEBUG=m CONFIG_SCSI_PMCRAID=m CONFIG_SCSI_PM8001=m CONFIG_SCSI_SRP=m CONFIG_SCSI_BFA_FC=m CONFIG_SCSI_LOWLEVEL_PCMCIA=y CONFIG_PCMCIA_AHA152X=m CONFIG_PCMCIA_FDOMAIN=m CONFIG_PCMCIA_NINJA_SCSI=m CONFIG_PCMCIA_QLOGIC=m CONFIG_PCMCIA_SYM53C500=m CONFIG_SCSI_DH=y CONFIG_SCSI_DH_RDAC=m CONFIG_SCSI_DH_HP_SW=m CONFIG_SCSI_DH_EMC=m CONFIG_SCSI_DH_ALUA=m CONFIG_SCSI_OSD_INITIATOR=m CONFIG_SCSI_OSD_ULD=m CONFIG_SCSI_OSD_DPRINT_SENSE=1 # CONFIG_SCSI_OSD_DEBUG is not set CONFIG_ATA=y # CONFIG_ATA_NONSTANDARD is not set CONFIG_ATA_VERBOSE_ERROR=y CONFIG_ATA_ACPI=y CONFIG_SATA_PMP=y # # Controllers with non-SFF native interface # CONFIG_SATA_AHCI=y CONFIG_SATA_AHCI_PLATFORM=m CONFIG_SATA_INIC162X=m CONFIG_SATA_SIL24=m CONFIG_ATA_SFF=y # # SFF controllers with custom DMA interface # CONFIG_PDC_ADMA=m CONFIG_SATA_QSTOR=m CONFIG_SATA_SX4=m CONFIG_ATA_BMDMA=y # # SATA SFF controllers with BMDMA # CONFIG_ATA_PIIX=y CONFIG_SATA_MV=m CONFIG_SATA_NV=m CONFIG_SATA_PROMISE=m CONFIG_SATA_SIL=m CONFIG_SATA_SIS=m CONFIG_SATA_SVW=m CONFIG_SATA_ULI=m CONFIG_SATA_VIA=m CONFIG_SATA_VITESSE=m # # PATA SFF controllers with BMDMA # CONFIG_PATA_ALI=m CONFIG_PATA_AMD=m CONFIG_PATA_ARTOP=m CONFIG_PATA_ATIIXP=m CONFIG_PATA_ATP867X=m CONFIG_PATA_CMD64X=m CONFIG_PATA_CS5520=m CONFIG_PATA_CS5530=m CONFIG_PATA_CS5535=m CONFIG_PATA_CS5536=m CONFIG_PATA_CYPRESS=m CONFIG_PATA_EFAR=m CONFIG_PATA_HPT366=m CONFIG_PATA_HPT37X=m CONFIG_PATA_HPT3X2N=m CONFIG_PATA_HPT3X3=m # CONFIG_PATA_HPT3X3_DMA is not set CONFIG_PATA_IT8213=m CONFIG_PATA_IT821X=m CONFIG_PATA_JMICRON=m CONFIG_PATA_MARVELL=m CONFIG_PATA_NETCELL=m CONFIG_PATA_NINJA32=m CONFIG_PATA_NS87415=m CONFIG_PATA_OLDPIIX=m CONFIG_PATA_OPTIDMA=m CONFIG_PATA_PDC2027X=m CONFIG_PATA_PDC_OLD=m # CONFIG_PATA_RADISYS is not set CONFIG_PATA_RDC=m # CONFIG_PATA_SC1200 is not set CONFIG_PATA_SCH=m CONFIG_PATA_SERVERWORKS=m CONFIG_PATA_SIL680=m CONFIG_PATA_SIS=m CONFIG_PATA_TOSHIBA=m CONFIG_PATA_TRIFLEX=m CONFIG_PATA_VIA=m CONFIG_PATA_WINBOND=m # # PIO-only SFF controllers # CONFIG_PATA_CMD640_PCI=m # CONFIG_PATA_ISAPNP is not set CONFIG_PATA_MPIIX=m CONFIG_PATA_NS87410=m CONFIG_PATA_OPTI=m CONFIG_PATA_PCMCIA=m CONFIG_PATA_QDI=m # CONFIG_PATA_RZ1000 is not set # CONFIG_PATA_WINBOND_VLB is not set # # Generic fallback / legacy drivers # CONFIG_PATA_ACPI=m CONFIG_ATA_GENERIC=m # CONFIG_PATA_LEGACY is not set CONFIG_MD=y CONFIG_BLK_DEV_MD=y CONFIG_MD_AUTODETECT=y CONFIG_MD_LINEAR=m CONFIG_MD_RAID0=m CONFIG_MD_RAID1=m CONFIG_MD_RAID10=m CONFIG_MD_RAID456=m # CONFIG_MULTICORE_RAID456 is not set CONFIG_MD_RAID6_PQ=m CONFIG_ASYNC_RAID6_TEST=m CONFIG_MD_MULTIPATH=m CONFIG_MD_FAULTY=m CONFIG_BLK_DEV_DM=y CONFIG_DM_DEBUG=y CONFIG_DM_CRYPT=m CONFIG_DM_SNAPSHOT=y CONFIG_DM_MIRROR=y CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_ZERO=y CONFIG_DM_MULTIPATH=m CONFIG_DM_MULTIPATH_QL=m CONFIG_DM_MULTIPATH_ST=m # CONFIG_DM_DELAY is not set CONFIG_DM_UEVENT=y CONFIG_FUSION=y CONFIG_FUSION_SPI=m CONFIG_FUSION_FC=m CONFIG_FUSION_SAS=m CONFIG_FUSION_MAX_SGE=40 CONFIG_FUSION_CTL=m CONFIG_FUSION_LAN=m CONFIG_FUSION_LOGGING=y # # IEEE 1394 (FireWire) support # # # You can enable one or both FireWire driver stacks. # # # The newer stack is recommended. # CONFIG_FIREWIRE=m CONFIG_FIREWIRE_OHCI=m CONFIG_FIREWIRE_OHCI_DEBUG=y CONFIG_FIREWIRE_SBP2=m CONFIG_FIREWIRE_NET=m # CONFIG_IEEE1394 is not set # CONFIG_I2O is not set CONFIG_MACINTOSH_DRIVERS=y CONFIG_MAC_EMUMOUSEBTN=y CONFIG_NETDEVICES=y CONFIG_IFB=m CONFIG_DUMMY=m CONFIG_BONDING=m CONFIG_MACVLAN=m CONFIG_MACVTAP=m CONFIG_EQUALIZER=m CONFIG_TUN=m CONFIG_VETH=m CONFIG_NET_SB1000=m # CONFIG_ARCNET is not set CONFIG_PHYLIB=y # # MII PHY device drivers # CONFIG_MARVELL_PHY=m CONFIG_DAVICOM_PHY=m CONFIG_QSEMI_PHY=m CONFIG_LXT_PHY=m CONFIG_CICADA_PHY=m CONFIG_VITESSE_PHY=m CONFIG_SMSC_PHY=m CONFIG_BROADCOM_PHY=m CONFIG_ICPLUS_PHY=m CONFIG_REALTEK_PHY=m CONFIG_NATIONAL_PHY=m CONFIG_STE10XP=m CONFIG_LSI_ET1011C_PHY=m CONFIG_MICREL_PHY=m CONFIG_FIXED_PHY=y CONFIG_MDIO_BITBANG=m # CONFIG_MDIO_GPIO is not set CONFIG_NET_ETHERNET=y CONFIG_MII=m CONFIG_HAPPYMEAL=m CONFIG_SUNGEM=m CONFIG_CASSINI=m CONFIG_NET_VENDOR_3COM=y # CONFIG_EL1 is not set # CONFIG_EL2 is not set # CONFIG_ELPLUS is not set # CONFIG_EL16 is not set CONFIG_EL3=m # CONFIG_3C515 is not set CONFIG_VORTEX=m CONFIG_TYPHOON=m # CONFIG_LANCE is not set CONFIG_NET_VENDOR_SMC=y # CONFIG_WD80x3 is not set CONFIG_ULTRA=m # CONFIG_SMC9194 is not set CONFIG_ETHOC=m # CONFIG_NET_VENDOR_RACAL is not set CONFIG_DNET=m CONFIG_NET_TULIP=y CONFIG_DE2104X=m CONFIG_DE2104X_DSL=0 CONFIG_TULIP=m # CONFIG_TULIP_MWI is not set CONFIG_TULIP_MMIO=y # CONFIG_TULIP_NAPI is not set CONFIG_DE4X5=m CONFIG_WINBOND_840=m CONFIG_DM9102=m CONFIG_ULI526X=m CONFIG_PCMCIA_XIRCOM=m # CONFIG_AT1700 is not set # CONFIG_DEPCA is not set # CONFIG_HP100 is not set CONFIG_NET_ISA=y # CONFIG_E2100 is not set CONFIG_EWRK3=m # CONFIG_EEXPRESS is not set # CONFIG_EEXPRESS_PRO is not set # CONFIG_HPLAN_PLUS is not set # CONFIG_HPLAN is not set # CONFIG_LP486E is not set # CONFIG_ETH16I is not set CONFIG_NE2000=m # CONFIG_ZNET is not set # CONFIG_SEEQ8005 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=m CONFIG_AMD8111_ETH=m CONFIG_ADAPTEC_STARFIRE=m # CONFIG_AC3200 is not set CONFIG_KSZ884X_PCI=m # CONFIG_APRICOT is not set CONFIG_B44=m CONFIG_B44_PCI_AUTOSELECT=y CONFIG_B44_PCICORE_AUTOSELECT=y CONFIG_B44_PCI=y CONFIG_FORCEDETH=m # CONFIG_CS89x0 is not set CONFIG_E100=m CONFIG_FEALNX=m CONFIG_NATSEMI=m CONFIG_NE2K_PCI=m CONFIG_8139CP=m CONFIG_8139TOO=m # CONFIG_8139TOO_PIO is not set # CONFIG_8139TOO_TUNE_TWISTER is not set CONFIG_8139TOO_8129=y # CONFIG_8139_OLD_RX_RESET is not set CONFIG_R6040=m CONFIG_SIS900=m CONFIG_EPIC100=m CONFIG_SMSC9420=m CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set CONFIG_TLAN=m # CONFIG_KS8842 is not set # CONFIG_KS8851_MLL is not set CONFIG_VIA_RHINE=m CONFIG_VIA_RHINE_MMIO=y CONFIG_SC92031=m CONFIG_NET_POCKET=y CONFIG_ATP=m CONFIG_DE600=m CONFIG_DE620=m CONFIG_ATL2=m CONFIG_NETDEV_1000=y CONFIG_ACENIC=m # CONFIG_ACENIC_OMIT_TIGON_I is not set CONFIG_DL2K=m CONFIG_E1000=m CONFIG_E1000E=m CONFIG_IP1000=m CONFIG_IGB=m CONFIG_IGB_DCA=y CONFIG_IGBVF=m CONFIG_NS83820=m CONFIG_HAMACHI=m CONFIG_YELLOWFIN=m CONFIG_R8169=m CONFIG_R8169_VLAN=y CONFIG_SIS190=m CONFIG_SKGE=m # CONFIG_SKGE_DEBUG is not set CONFIG_SKY2=m # CONFIG_SKY2_DEBUG is not set CONFIG_VIA_VELOCITY=m CONFIG_TIGON3=m CONFIG_BNX2=m CONFIG_CNIC=m CONFIG_QLA3XXX=m CONFIG_ATL1=m CONFIG_ATL1E=m CONFIG_ATL1C=m CONFIG_JME=m CONFIG_NETDEV_10000=y CONFIG_MDIO=m CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T3_DEPENDS=y CONFIG_CHELSIO_T3=m CONFIG_CHELSIO_T4_DEPENDS=y CONFIG_CHELSIO_T4=m CONFIG_ENIC=m CONFIG_IXGBE=m CONFIG_IXGBE_DCA=y CONFIG_IXGBE_DCB=y CONFIG_IXGBEVF=m CONFIG_IXGB=m CONFIG_S2IO=m CONFIG_VXGE=m # CONFIG_VXGE_DEBUG_TRACE_ALL is not set CONFIG_MYRI10GE=m CONFIG_MYRI10GE_DCA=y CONFIG_NETXEN_NIC=m CONFIG_NIU=m CONFIG_MLX4_EN=m CONFIG_MLX4_CORE=m CONFIG_MLX4_DEBUG=y CONFIG_TEHUTI=m CONFIG_BNX2X=m CONFIG_QLCNIC=m CONFIG_QLGE=m CONFIG_SFC=m CONFIG_SFC_MTD=y CONFIG_BE2NET=m # CONFIG_TR is not set CONFIG_WLAN=y # CONFIG_PCMCIA_RAYCS is not set CONFIG_LIBERTAS_THINFIRM=m # CONFIG_LIBERTAS_THINFIRM_DEBUG is not set CONFIG_LIBERTAS_THINFIRM_USB=m CONFIG_AIRO=m CONFIG_ATMEL=m CONFIG_PCI_ATMEL=m CONFIG_PCMCIA_ATMEL=m CONFIG_AT76C50X_USB=m CONFIG_AIRO_CS=m CONFIG_PCMCIA_WL3501=m # CONFIG_PRISM54 is not set CONFIG_USB_ZD1201=m CONFIG_USB_NET_RNDIS_WLAN=m CONFIG_RTL8180=m CONFIG_RTL8187=m CONFIG_RTL8187_LEDS=y CONFIG_ADM8211=m CONFIG_MAC80211_HWSIM=m CONFIG_MWL8K=m CONFIG_ATH_COMMON=m CONFIG_ATH_DEBUG=y CONFIG_ATH5K=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH9K_HW=m CONFIG_ATH9K_COMMON=m CONFIG_ATH9K=m CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_HTC=m # CONFIG_ATH9K_HTC_DEBUGFS is not set CONFIG_AR9170_USB=m CONFIG_AR9170_LEDS=y CONFIG_B43=m CONFIG_B43_PCI_AUTOSELECT=y CONFIG_B43_PCICORE_AUTOSELECT=y CONFIG_B43_PCMCIA=y CONFIG_B43_SDIO=y CONFIG_B43_PIO=y CONFIG_B43_PHY_LP=y CONFIG_B43_LEDS=y CONFIG_B43_HWRNG=y CONFIG_B43_DEBUG=y # CONFIG_B43_FORCE_PIO is not set CONFIG_B43LEGACY=m CONFIG_B43LEGACY_PCI_AUTOSELECT=y CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y CONFIG_B43LEGACY_LEDS=y CONFIG_B43LEGACY_HWRNG=y CONFIG_B43LEGACY_DEBUG=y CONFIG_B43LEGACY_DMA=y CONFIG_B43LEGACY_PIO=y CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y # CONFIG_B43LEGACY_DMA_MODE is not set # CONFIG_B43LEGACY_PIO_MODE is not set CONFIG_HOSTAP=m CONFIG_HOSTAP_FIRMWARE=y CONFIG_HOSTAP_FIRMWARE_NVRAM=y CONFIG_HOSTAP_PLX=m CONFIG_HOSTAP_PCI=m CONFIG_HOSTAP_CS=m CONFIG_IPW2100=m CONFIG_IPW2100_MONITOR=y # CONFIG_IPW2100_DEBUG is not set CONFIG_IPW2200=m CONFIG_IPW2200_MONITOR=y CONFIG_IPW2200_RADIOTAP=y CONFIG_IPW2200_PROMISCUOUS=y CONFIG_IPW2200_QOS=y # CONFIG_IPW2200_DEBUG is not set CONFIG_LIBIPW=m # CONFIG_LIBIPW_DEBUG is not set CONFIG_IWLWIFI=m CONFIG_IWLWIFI_DEBUG=y CONFIG_IWLWIFI_DEBUGFS=y CONFIG_IWLWIFI_DEVICE_TRACING=y CONFIG_IWLAGN=m CONFIG_IWL4965=y CONFIG_IWL5000=y CONFIG_IWL3945=m CONFIG_IWM=m # CONFIG_IWM_DEBUG is not set # CONFIG_IWM_TRACING is not set CONFIG_LIBERTAS=m CONFIG_LIBERTAS_USB=m CONFIG_LIBERTAS_CS=m CONFIG_LIBERTAS_SDIO=m # CONFIG_LIBERTAS_DEBUG is not set CONFIG_LIBERTAS_MESH=y CONFIG_HERMES=m # CONFIG_HERMES_PRISM is not set CONFIG_HERMES_CACHE_FW_ON_INIT=y CONFIG_PLX_HERMES=m CONFIG_TMD_HERMES=m CONFIG_NORTEL_HERMES=m CONFIG_PCMCIA_HERMES=m CONFIG_PCMCIA_SPECTRUM=m CONFIG_ORINOCO_USB=m CONFIG_P54_COMMON=m CONFIG_P54_USB=m CONFIG_P54_PCI=m CONFIG_P54_LEDS=y CONFIG_RT2X00=m CONFIG_RT2400PCI=m CONFIG_RT2500PCI=m CONFIG_RT61PCI=m CONFIG_RT2800PCI_PCI=y CONFIG_RT2800PCI=m # CONFIG_RT2800PCI_RT30XX is not set # CONFIG_RT2800PCI_RT35XX is not set CONFIG_RT2500USB=m CONFIG_RT73USB=m CONFIG_RT2800USB=m # CONFIG_RT2800USB_RT30XX is not set # CONFIG_RT2800USB_RT35XX is not set # CONFIG_RT2800USB_UNKNOWN is not set CONFIG_RT2800_LIB=m CONFIG_RT2X00_LIB_PCI=m CONFIG_RT2X00_LIB_USB=m CONFIG_RT2X00_LIB=m CONFIG_RT2X00_LIB_HT=y CONFIG_RT2X00_LIB_FIRMWARE=y CONFIG_RT2X00_LIB_CRYPTO=y CONFIG_RT2X00_LIB_LEDS=y CONFIG_RT2X00_LIB_DEBUGFS=y # CONFIG_RT2X00_DEBUG is not set CONFIG_WL12XX=m CONFIG_WL1251=m CONFIG_WL1251_SDIO=m CONFIG_ZD1211RW=m # CONFIG_ZD1211RW_DEBUG is not set # # WiMAX Wireless Broadband devices # CONFIG_WIMAX_I2400M=m CONFIG_WIMAX_I2400M_USB=m CONFIG_WIMAX_I2400M_SDIO=m CONFIG_WIMAX_IWMC3200_SDIO=y CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 # # USB Network Adapters # CONFIG_USB_CATC=m CONFIG_USB_KAWETH=m CONFIG_USB_PEGASUS=m CONFIG_USB_RTL8150=m CONFIG_USB_USBNET=m CONFIG_USB_NET_AX8817X=m CONFIG_USB_NET_CDCETHER=m CONFIG_USB_NET_CDC_EEM=m CONFIG_USB_NET_DM9601=m CONFIG_USB_NET_SMSC75XX=m CONFIG_USB_NET_SMSC95XX=m CONFIG_USB_NET_GL620A=m CONFIG_USB_NET_NET1080=m CONFIG_USB_NET_PLUSB=m CONFIG_USB_NET_MCS7830=m CONFIG_USB_NET_RNDIS_HOST=m CONFIG_USB_NET_CDC_SUBSET=m CONFIG_USB_ALI_M5632=y CONFIG_USB_AN2720=y CONFIG_USB_BELKIN=y CONFIG_USB_ARMLINUX=y CONFIG_USB_EPSON2888=y CONFIG_USB_KC2190=y CONFIG_USB_NET_ZAURUS=m CONFIG_USB_HSO=m CONFIG_USB_NET_INT51X1=m CONFIG_USB_CDC_PHONET=m CONFIG_USB_IPHETH=m CONFIG_USB_SIERRA_NET=m CONFIG_NET_PCMCIA=y CONFIG_PCMCIA_3C589=m CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_FMVJ18X=m CONFIG_PCMCIA_PCNET=m CONFIG_PCMCIA_NMCLAN=m CONFIG_PCMCIA_SMC91C92=m CONFIG_PCMCIA_XIRC2PS=m CONFIG_PCMCIA_AXNET=m # CONFIG_WAN is not set CONFIG_ATM_DRIVERS=y # CONFIG_ATM_DUMMY is not set CONFIG_ATM_TCP=m # CONFIG_ATM_LANAI is not set CONFIG_ATM_ENI=m # CONFIG_ATM_ENI_DEBUG is not set # CONFIG_ATM_ENI_TUNE_BURST is not set CONFIG_ATM_FIRESTREAM=m # CONFIG_ATM_ZATM is not set CONFIG_ATM_NICSTAR=m # CONFIG_ATM_NICSTAR_USE_SUNI is not set # CONFIG_ATM_NICSTAR_USE_IDT77105 is not set # CONFIG_ATM_IDT77252 is not set # CONFIG_ATM_AMBASSADOR is not set # CONFIG_ATM_HORIZON is not set # CONFIG_ATM_IA is not set # CONFIG_ATM_FORE200E is not set CONFIG_ATM_HE=m # CONFIG_ATM_HE_USE_SUNI is not set CONFIG_ATM_SOLOS=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKEHARD=m CONFIG_FDDI=y # CONFIG_DEFXX is not set CONFIG_SKFP=m # CONFIG_HIPPI is not set CONFIG_PLIP=m CONFIG_PPP=m CONFIG_PPP_MULTILINK=y CONFIG_PPP_FILTER=y CONFIG_PPP_ASYNC=m CONFIG_PPP_SYNC_TTY=m CONFIG_PPP_DEFLATE=m # CONFIG_PPP_BSDCOMP is not set CONFIG_PPP_MPPE=m CONFIG_PPPOE=m CONFIG_PPPOATM=m CONFIG_PPPOL2TP=m CONFIG_SLIP=m CONFIG_SLIP_COMPRESSED=y CONFIG_SLHC=m CONFIG_SLIP_SMART=y # CONFIG_SLIP_MODE_SLIP6 is not set CONFIG_NET_FC=y CONFIG_NETCONSOLE=m CONFIG_NETCONSOLE_DYNAMIC=y CONFIG_NETPOLL=y CONFIG_NETPOLL_TRAP=y CONFIG_NET_POLL_CONTROLLER=y CONFIG_VIRTIO_NET=m CONFIG_VMXNET3=m CONFIG_ISDN=y CONFIG_ISDN_I4L=m 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=y CONFIG_ISDN_TTY_FAX=y # # ISDN feature submodules # CONFIG_ISDN_DIVERSION=m # # ISDN4Linux hardware drivers # # # Passive cards # CONFIG_ISDN_DRV_HISAX=m # # D-channel protocol features # CONFIG_HISAX_EURO=y CONFIG_DE_AOC=y CONFIG_HISAX_NO_SENDCOMPLETE=y CONFIG_HISAX_NO_LLC=y CONFIG_HISAX_NO_KEYPAD=y CONFIG_HISAX_1TR6=y CONFIG_HISAX_NI1=y CONFIG_HISAX_MAX_CARDS=8 # # HiSax supported cards # # CONFIG_HISAX_16_0 is not set CONFIG_HISAX_16_3=y CONFIG_HISAX_TELESPCI=y CONFIG_HISAX_S0BOX=y # CONFIG_HISAX_AVM_A1 is not set CONFIG_HISAX_FRITZPCI=y CONFIG_HISAX_AVM_A1_PCMCIA=y CONFIG_HISAX_ELSA=y # CONFIG_HISAX_IX1MICROR2 is not set CONFIG_HISAX_DIEHLDIVA=y # CONFIG_HISAX_ASUSCOM is not set # CONFIG_HISAX_TELEINT is not set # CONFIG_HISAX_HFCS is not set CONFIG_HISAX_SEDLBAUER=y # CONFIG_HISAX_SPORTSTER is not set # CONFIG_HISAX_MIC is not set CONFIG_HISAX_NETJET=y CONFIG_HISAX_NETJET_U=y CONFIG_HISAX_NICCY=y # CONFIG_HISAX_ISURF is not set # CONFIG_HISAX_HSTSAPHIR is not set CONFIG_HISAX_BKM_A4T=y CONFIG_HISAX_SCT_QUADRO=y CONFIG_HISAX_GAZEL=y CONFIG_HISAX_HFC_PCI=y CONFIG_HISAX_W6692=y CONFIG_HISAX_HFC_SX=y CONFIG_HISAX_ENTERNOW_PCI=y # CONFIG_HISAX_DEBUG is not set # # HiSax PCMCIA card service modules # CONFIG_HISAX_SEDLBAUER_CS=m CONFIG_HISAX_ELSA_CS=m CONFIG_HISAX_AVM_A1_CS=m CONFIG_HISAX_TELES_CS=m # # HiSax sub driver modules # CONFIG_HISAX_ST5481=m # CONFIG_HISAX_HFCUSB is not set CONFIG_HISAX_HFC4S8S=m CONFIG_HISAX_FRITZ_PCIPNP=m # # Active cards # # CONFIG_ISDN_DRV_ICN is not set # CONFIG_ISDN_DRV_PCBIT is not set # CONFIG_ISDN_DRV_SC is not set # CONFIG_ISDN_DRV_ACT2000 is not set CONFIG_ISDN_CAPI=m CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y # CONFIG_CAPI_TRACE is not set CONFIG_ISDN_CAPI_MIDDLEWARE=y CONFIG_ISDN_CAPI_CAPI20=m CONFIG_ISDN_CAPI_CAPIFS_BOOL=y CONFIG_ISDN_CAPI_CAPIFS=m CONFIG_ISDN_CAPI_CAPIDRV=m # # CAPI hardware drivers # CONFIG_CAPI_AVM=y # CONFIG_ISDN_DRV_AVMB1_B1ISA is not set CONFIG_ISDN_DRV_AVMB1_B1PCI=m CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y # CONFIG_ISDN_DRV_AVMB1_T1ISA is not set CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m CONFIG_ISDN_DRV_AVMB1_AVM_CS=m CONFIG_ISDN_DRV_AVMB1_T1PCI=m CONFIG_ISDN_DRV_AVMB1_C4=m CONFIG_CAPI_EICON=y CONFIG_ISDN_DIVAS=m CONFIG_ISDN_DIVAS_BRIPCI=y CONFIG_ISDN_DIVAS_PRIPCI=y CONFIG_ISDN_DIVAS_DIVACAPI=m CONFIG_ISDN_DIVAS_USERIDI=m CONFIG_ISDN_DIVAS_MAINT=m CONFIG_ISDN_DRV_GIGASET=m CONFIG_GIGASET_CAPI=y # CONFIG_GIGASET_I4L is not set # CONFIG_GIGASET_DUMMYLL is not set CONFIG_GIGASET_BASE=m CONFIG_GIGASET_M105=m CONFIG_GIGASET_M101=m # CONFIG_GIGASET_DEBUG is not set CONFIG_HYSDN=m CONFIG_HYSDN_CAPI=y CONFIG_MISDN=m CONFIG_MISDN_DSP=m CONFIG_MISDN_L1OIP=m # # mISDN hardware drivers # CONFIG_MISDN_HFCPCI=m CONFIG_MISDN_HFCMULTI=m CONFIG_MISDN_HFCUSB=m CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_SPEEDFAX=m CONFIG_MISDN_INFINEON=m CONFIG_MISDN_W6692=m CONFIG_MISDN_NETJET=m CONFIG_MISDN_IPAC=m CONFIG_MISDN_ISAR=m CONFIG_ISDN_HDLC=m # CONFIG_PHONE is not set # # Input device support # CONFIG_INPUT=y CONFIG_INPUT_FF_MEMLESS=y CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_SPARSEKMAP=m # # Userland interfaces # CONFIG_INPUT_MOUSEDEV=y # CONFIG_INPUT_MOUSEDEV_PSAUX is not set CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_JOYDEV=m CONFIG_INPUT_EVDEV=y # CONFIG_INPUT_EVBUG is not set # # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ADP5588=m CONFIG_KEYBOARD_ATKBD=y CONFIG_KEYBOARD_QT2160=m # CONFIG_KEYBOARD_LKKBD is not set # CONFIG_KEYBOARD_GPIO is not set # CONFIG_KEYBOARD_TCA6416 is not set # CONFIG_KEYBOARD_MATRIX is not set # CONFIG_KEYBOARD_LM8323 is not set CONFIG_KEYBOARD_MAX7359=m # CONFIG_KEYBOARD_NEWTON is not set CONFIG_KEYBOARD_OPENCORES=m # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_XTKBD is not set CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=y CONFIG_MOUSE_PS2_ALPS=y CONFIG_MOUSE_PS2_LOGIPS2PP=y CONFIG_MOUSE_PS2_SYNAPTICS=y CONFIG_MOUSE_PS2_LIFEBOOK=y CONFIG_MOUSE_PS2_TRACKPOINT=y CONFIG_MOUSE_PS2_ELANTECH=y CONFIG_MOUSE_PS2_SENTELIC=y # CONFIG_MOUSE_PS2_TOUCHKIT is not set CONFIG_MOUSE_PS2_OLPC=y CONFIG_MOUSE_SERIAL=m CONFIG_MOUSE_APPLETOUCH=m CONFIG_MOUSE_BCM5974=m # CONFIG_MOUSE_INPORT is not set # CONFIG_MOUSE_LOGIBM is not set # CONFIG_MOUSE_PC110PAD is not set CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOUSE_GPIO is not set CONFIG_MOUSE_SYNAPTICS_I2C=m CONFIG_INPUT_JOYSTICK=y CONFIG_JOYSTICK_ANALOG=m CONFIG_JOYSTICK_A3D=m CONFIG_JOYSTICK_ADI=m CONFIG_JOYSTICK_COBRA=m CONFIG_JOYSTICK_GF2K=m CONFIG_JOYSTICK_GRIP=m CONFIG_JOYSTICK_GRIP_MP=m CONFIG_JOYSTICK_GUILLEMOT=m CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_TMDC=m CONFIG_JOYSTICK_IFORCE=m CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_IFORCE_232=y CONFIG_JOYSTICK_WARRIOR=m CONFIG_JOYSTICK_MAGELLAN=m CONFIG_JOYSTICK_SPACEORB=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_STINGER=m CONFIG_JOYSTICK_TWIDJOY=m CONFIG_JOYSTICK_ZHENHUA=m CONFIG_JOYSTICK_DB9=m CONFIG_JOYSTICK_GAMECON=m CONFIG_JOYSTICK_TURBOGRAFX=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_XPAD=m CONFIG_JOYSTICK_XPAD_FF=y CONFIG_JOYSTICK_XPAD_LEDS=y CONFIG_JOYSTICK_WALKERA0701=m CONFIG_INPUT_TABLET=y CONFIG_TABLET_USB_ACECAD=m CONFIG_TABLET_USB_AIPTEK=m CONFIG_TABLET_USB_GTCO=m CONFIG_TABLET_USB_KBTAB=m CONFIG_TABLET_USB_WACOM=m CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_AD7879_I2C=m CONFIG_TOUCHSCREEN_AD7879=m CONFIG_TOUCHSCREEN_DYNAPRO=m # CONFIG_TOUCHSCREEN_HAMPSHIRE is not set CONFIG_TOUCHSCREEN_EETI=m CONFIG_TOUCHSCREEN_FUJITSU=m CONFIG_TOUCHSCREEN_GUNZE=m CONFIG_TOUCHSCREEN_ELO=m CONFIG_TOUCHSCREEN_WACOM_W8001=m CONFIG_TOUCHSCREEN_MCS5000=m CONFIG_TOUCHSCREEN_MTOUCH=m CONFIG_TOUCHSCREEN_INEXIO=m CONFIG_TOUCHSCREEN_MK712=m CONFIG_TOUCHSCREEN_HTCPEN=m CONFIG_TOUCHSCREEN_PENMOUNT=m CONFIG_TOUCHSCREEN_TOUCHRIGHT=m CONFIG_TOUCHSCREEN_TOUCHWIN=m # CONFIG_TOUCHSCREEN_WM97XX is not set 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=y CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y CONFIG_TOUCHSCREEN_USB_ETT_TC5UH=y CONFIG_TOUCHSCREEN_USB_NEXIO=y CONFIG_TOUCHSCREEN_TOUCHIT213=m CONFIG_TOUCHSCREEN_TSC2007=m # CONFIG_TOUCHSCREEN_TPS6507X is not set CONFIG_INPUT_MISC=y # CONFIG_INPUT_AD714X is not set CONFIG_INPUT_PCSPKR=m CONFIG_INPUT_APANEL=m CONFIG_INPUT_WISTRON_BTNS=m CONFIG_INPUT_ATLAS_BTNS=m CONFIG_INPUT_ATI_REMOTE=m CONFIG_INPUT_ATI_REMOTE2=m CONFIG_INPUT_KEYSPAN_REMOTE=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_YEALINK=m CONFIG_INPUT_CM109=m CONFIG_INPUT_UINPUT=m CONFIG_INPUT_WINBOND_CIR=m # CONFIG_INPUT_PCF8574 is not set CONFIG_INPUT_GPIO_ROTARY_ENCODER=m # # Hardware I/O ports # CONFIG_SERIO=y CONFIG_SERIO_I8042=y CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_CT82C710 is not set # CONFIG_SERIO_PARKBD is not set # CONFIG_SERIO_PCIPS2 is not set CONFIG_SERIO_LIBPS2=y CONFIG_SERIO_RAW=m CONFIG_SERIO_ALTERA_PS2=m CONFIG_GAMEPORT=m CONFIG_GAMEPORT_NS558=m CONFIG_GAMEPORT_L4=m CONFIG_GAMEPORT_EMU10K1=m CONFIG_GAMEPORT_FM801=m # # Character devices # CONFIG_VT=y CONFIG_CONSOLE_TRANSLATIONS=y CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y # CONFIG_DEVKMEM is not set CONFIG_SERIAL_NONSTANDARD=y # CONFIG_COMPUTONE is not set CONFIG_ROCKETPORT=m CONFIG_CYCLADES=m # CONFIG_CYZ_INTR is not set # CONFIG_DIGIEPCA is not set # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set # CONFIG_ISI is not set CONFIG_SYNCLINK=m CONFIG_SYNCLINKMP=m CONFIG_SYNCLINK_GT=m CONFIG_N_HDLC=m CONFIG_N_GSM=m # CONFIG_RISCOM8 is not set # CONFIG_SPECIALIX is not set # CONFIG_STALDRV is not set CONFIG_NOZOMI=m # # Serial drivers # CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_PNP=y CONFIG_SERIAL_8250_CS=m CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_RUNTIME_UARTS=4 CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_MANY_PORTS=y # CONFIG_SERIAL_8250_FOURPORT is not set # CONFIG_SERIAL_8250_ACCENT is not set # CONFIG_SERIAL_8250_BOCA is not set # CONFIG_SERIAL_8250_EXAR_ST16C554 is not set # CONFIG_SERIAL_8250_HUB6 is not set CONFIG_SERIAL_8250_SHARE_IRQ=y CONFIG_SERIAL_8250_DETECT_IRQ=y CONFIG_SERIAL_8250_RSA=y # # Non-8250 serial port support # CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_CONSOLE_POLL=y CONFIG_SERIAL_JSM=m # CONFIG_SERIAL_TIMBERDALE is not set # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set CONFIG_UNIX98_PTYS=y CONFIG_DEVPTS_MULTIPLE_INSTANCES=y # CONFIG_LEGACY_PTYS is not set CONFIG_PRINTER=m CONFIG_LP_CONSOLE=y CONFIG_PPDEV=m CONFIG_HVC_DRIVER=y CONFIG_VIRTIO_CONSOLE=m CONFIG_IPMI_HANDLER=m # CONFIG_IPMI_PANIC_EVENT is not set CONFIG_IPMI_DEVICE_INTERFACE=m CONFIG_IPMI_SI=m CONFIG_IPMI_WATCHDOG=m CONFIG_IPMI_POWEROFF=m CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_AMD=m CONFIG_HW_RANDOM_GEODE=m CONFIG_HW_RANDOM_VIA=m CONFIG_HW_RANDOM_VIRTIO=m CONFIG_NVRAM=y CONFIG_DTLK=m CONFIG_R3964=m # CONFIG_APPLICOM is not set CONFIG_SONYPI=m # # PCMCIA character devices # # CONFIG_SYNCLINK_CS is not set CONFIG_CARDMAN_4000=m CONFIG_CARDMAN_4040=m CONFIG_IPWIRELESS=m CONFIG_MWAVE=m CONFIG_PC8736x_GPIO=m CONFIG_NSC_GPIO=m CONFIG_CS5535_GPIO=m CONFIG_RAW_DRIVER=y CONFIG_MAX_RAW_DEVS=8192 CONFIG_HPET=y # CONFIG_HPET_MMAP is not set CONFIG_HANGCHECK_TIMER=m CONFIG_TCG_TPM=y CONFIG_TCG_TIS=y CONFIG_TCG_NSC=m CONFIG_TCG_ATMEL=m CONFIG_TCG_INFINEON=m CONFIG_TELCLOCK=m CONFIG_DEVPORT=y # CONFIG_RAMOOPS is not set CONFIG_I2C=m CONFIG_I2C_BOARDINFO=y CONFIG_I2C_COMPAT=y CONFIG_I2C_CHARDEV=m CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_SMBUS=m CONFIG_I2C_ALGOBIT=m CONFIG_I2C_ALGOPCA=m # # I2C Hardware Bus support # # # PC SMBus host controller drivers # CONFIG_I2C_ALI1535=m CONFIG_I2C_ALI1563=m CONFIG_I2C_ALI15X3=m CONFIG_I2C_AMD756=m CONFIG_I2C_AMD756_S4882=m CONFIG_I2C_AMD8111=m CONFIG_I2C_I801=m CONFIG_I2C_ISCH=m CONFIG_I2C_PIIX4=m CONFIG_I2C_NFORCE2=m CONFIG_I2C_NFORCE2_S4985=m CONFIG_I2C_SIS5595=m CONFIG_I2C_SIS630=m CONFIG_I2C_SIS96X=m CONFIG_I2C_VIA=m CONFIG_I2C_VIAPRO=m # # ACPI drivers # CONFIG_I2C_SCMI=m # # I2C system bus drivers (mostly embedded / system-on-chip) # # CONFIG_I2C_GPIO is not set # CONFIG_I2C_OCORES is not set CONFIG_I2C_PCA_PLATFORM=m CONFIG_I2C_SIMTEC=m # CONFIG_I2C_XILINX is not set # # External I2C/SMBus adapter drivers # CONFIG_I2C_PARPORT=m CONFIG_I2C_PARPORT_LIGHT=m # CONFIG_I2C_TAOS_EVM is not set CONFIG_I2C_TINY_USB=m # # Other I2C/SMBus bus drivers # CONFIG_I2C_PCA_ISA=m CONFIG_I2C_STUB=m CONFIG_SCx200_ACB=m # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_SPI is not set # # PPS support # CONFIG_PPS=m # CONFIG_PPS_DEBUG is not set # # PPS clients support # # CONFIG_PPS_CLIENT_KTIMER is not set CONFIG_PPS_CLIENT_LDISC=m CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y CONFIG_GPIOLIB=y # CONFIG_DEBUG_GPIO is not set CONFIG_GPIO_SYSFS=y # # Memory mapped GPIO expanders: # # CONFIG_GPIO_IT8761E is not set CONFIG_GPIO_SCH=m # # I2C GPIO expanders: # # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX732X is not set # CONFIG_GPIO_PCA953X is not set # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_ADP5588 is not set # # PCI GPIO expanders: # # CONFIG_GPIO_CS5535 is not set CONFIG_GPIO_LANGWELL=y # CONFIG_GPIO_RDC321X is not set # # SPI GPIO expanders: # # # AC97 GPIO expanders: # # # MODULbus GPIO expanders: # CONFIG_W1=m CONFIG_W1_CON=y # # 1-wire Bus Masters # # CONFIG_W1_MASTER_MATROX is not set CONFIG_W1_MASTER_DS2490=m CONFIG_W1_MASTER_DS2482=m # CONFIG_W1_MASTER_GPIO is not set # # 1-wire Slaves # CONFIG_W1_SLAVE_THERM=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_BQ27000=m CONFIG_POWER_SUPPLY=y # CONFIG_POWER_SUPPLY_DEBUG is not set # CONFIG_PDA_POWER is not set # CONFIG_TEST_POWER is not set # CONFIG_BATTERY_DS2760 is not set # CONFIG_BATTERY_DS2782 is not set CONFIG_BATTERY_OLPC=y CONFIG_BATTERY_BQ27x00=m CONFIG_BATTERY_MAX17040=m CONFIG_HWMON=y CONFIG_HWMON_VID=m # CONFIG_HWMON_DEBUG_CHIP is not set # # Native drivers # CONFIG_SENSORS_ABITUGURU=m CONFIG_SENSORS_ABITUGURU3=m CONFIG_SENSORS_AD7414=m CONFIG_SENSORS_AD7418=m CONFIG_SENSORS_ADM1021=m CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADT7411=m CONFIG_SENSORS_ADT7462=m CONFIG_SENSORS_ADT7470=m CONFIG_SENSORS_ADT7475=m CONFIG_SENSORS_ASC7621=m CONFIG_SENSORS_K8TEMP=m CONFIG_SENSORS_K10TEMP=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_I5K_AMB=m CONFIG_SENSORS_F71805F=m CONFIG_SENSORS_F71882FG=m CONFIG_SENSORS_F75375S=m CONFIG_SENSORS_FSCHMD=m CONFIG_SENSORS_G760A=m CONFIG_SENSORS_GL518SM=m CONFIG_SENSORS_GL520SM=m CONFIG_SENSORS_CORETEMP=m CONFIG_SENSORS_IBMAEM=m CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_IT87=m CONFIG_SENSORS_LM63=m CONFIG_SENSORS_LM73=m CONFIG_SENSORS_LM75=m CONFIG_SENSORS_LM77=m CONFIG_SENSORS_LM78=m CONFIG_SENSORS_LM80=m CONFIG_SENSORS_LM83=m CONFIG_SENSORS_LM85=m CONFIG_SENSORS_LM87=m CONFIG_SENSORS_LM90=m CONFIG_SENSORS_LM92=m CONFIG_SENSORS_LM93=m CONFIG_SENSORS_LTC4215=m CONFIG_SENSORS_LTC4245=m CONFIG_SENSORS_LM95241=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX6650=m CONFIG_SENSORS_PC87360=m CONFIG_SENSORS_PC87427=m CONFIG_SENSORS_PCF8591=m CONFIG_SENSORS_SHT15=m CONFIG_SENSORS_SIS5595=m CONFIG_SENSORS_DME1737=m CONFIG_SENSORS_EMC1403=m CONFIG_SENSORS_SMSC47M1=m CONFIG_SENSORS_SMSC47M192=m CONFIG_SENSORS_SMSC47B397=m CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_THMC50=m CONFIG_SENSORS_TMP102=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_VIA_CPUTEMP=m CONFIG_SENSORS_VIA686A=m CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m CONFIG_SENSORS_W83627HF=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_HDAPS=m CONFIG_SENSORS_LIS3_I2C=m CONFIG_SENSORS_APPLESMC=m # # ACPI drivers # CONFIG_SENSORS_ATK0110=m CONFIG_SENSORS_LIS3LV02D=m CONFIG_THERMAL=y CONFIG_THERMAL_HWMON=y CONFIG_WATCHDOG=y # CONFIG_WATCHDOG_NOWAYOUT is not set # # Watchdog Device Drivers # CONFIG_SOFT_WATCHDOG=m # CONFIG_ACQUIRE_WDT is not set # CONFIG_ADVANTECH_WDT is not set CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m CONFIG_GEODE_WDT=m # CONFIG_SC520_WDT is not set CONFIG_SBC_FITPC2_WATCHDOG=m # CONFIG_EUROTECH_WDT is not set CONFIG_IB700_WDT=m CONFIG_IBMASR=m # CONFIG_WAFER_WDT is not set CONFIG_I6300ESB_WDT=m CONFIG_ITCO_WDT=m CONFIG_ITCO_VENDOR_SUPPORT=y CONFIG_IT8712F_WDT=m CONFIG_IT87_WDT=m CONFIG_HP_WATCHDOG=m # CONFIG_SC1200_WDT is not set # CONFIG_PC87413_WDT is not set # CONFIG_60XX_WDT is not set # CONFIG_SBC8360_WDT is not set # CONFIG_SBC7240_WDT is not set # CONFIG_CPU5_WDT is not set CONFIG_SMSC_SCH311X_WDT=m # CONFIG_SMSC37B787_WDT is not set CONFIG_W83627HF_WDT=m CONFIG_W83697HF_WDT=m CONFIG_W83697UG_WDT=m CONFIG_W83877F_WDT=m CONFIG_W83977F_WDT=m CONFIG_MACHZ_WDT=m # CONFIG_SBC_EPX_C3_WATCHDOG is not set # # ISA-based Watchdog Cards # # CONFIG_PCWATCHDOG is not set # CONFIG_MIXCOMWD is not set # CONFIG_WDT is not set # # PCI-based Watchdog Cards # CONFIG_PCIPCWATCHDOG=m CONFIG_WDTPCI=m # # USB-based Watchdog Cards # CONFIG_USBPCWATCHDOG=m CONFIG_SSB_POSSIBLE=y # # Sonics Silicon Backplane # CONFIG_SSB=m CONFIG_SSB_SPROM=y CONFIG_SSB_BLOCKIO=y CONFIG_SSB_PCIHOST_POSSIBLE=y CONFIG_SSB_PCIHOST=y CONFIG_SSB_B43_PCI_BRIDGE=y CONFIG_SSB_PCMCIAHOST_POSSIBLE=y CONFIG_SSB_PCMCIAHOST=y CONFIG_SSB_SDIOHOST_POSSIBLE=y CONFIG_SSB_SDIOHOST=y # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y CONFIG_SSB_DRIVER_PCICORE=y CONFIG_MFD_SUPPORT=y CONFIG_MFD_CORE=m CONFIG_MFD_SM501=m CONFIG_MFD_SM501_GPIO=y # CONFIG_HTC_PASIC3 is not set # CONFIG_UCB1400_CORE is not set # CONFIG_TPS65010 is not set # CONFIG_TPS6507X is not set # CONFIG_MFD_TMIO is not set CONFIG_MFD_WM8400=m # CONFIG_MFD_PCF50633 is not set # CONFIG_ABX500_CORE is not set # CONFIG_MFD_TIMBERDALE is not set CONFIG_LPC_SCH=m # CONFIG_MFD_RDC321X is not set # CONFIG_MFD_JANZ_CMODIO is not set # CONFIG_REGULATOR is not set CONFIG_MEDIA_SUPPORT=m # # Multimedia core support # CONFIG_VIDEO_DEV=m CONFIG_VIDEO_V4L2_COMMON=m CONFIG_VIDEO_ALLOW_V4L1=y CONFIG_VIDEO_V4L1_COMPAT=y CONFIG_DVB_CORE=m CONFIG_VIDEO_MEDIA=m # # Multimedia drivers # CONFIG_VIDEO_SAA7146=m CONFIG_VIDEO_SAA7146_VV=m CONFIG_IR_CORE=m CONFIG_VIDEO_IR=m CONFIG_RC_MAP=m CONFIG_IR_NEC_DECODER=m CONFIG_IR_RC5_DECODER=m CONFIG_IR_RC6_DECODER=m CONFIG_IR_JVC_DECODER=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_IMON=m CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_TUNER=m CONFIG_MEDIA_TUNER_CUSTOMISE=y CONFIG_MEDIA_TUNER_SIMPLE=m CONFIG_MEDIA_TUNER_TDA8290=m CONFIG_MEDIA_TUNER_TDA827X=m CONFIG_MEDIA_TUNER_TDA18271=m CONFIG_MEDIA_TUNER_TDA9887=m CONFIG_MEDIA_TUNER_TEA5761=m CONFIG_MEDIA_TUNER_TEA5767=m CONFIG_MEDIA_TUNER_MT20XX=m CONFIG_MEDIA_TUNER_MT2060=m CONFIG_MEDIA_TUNER_MT2266=m CONFIG_MEDIA_TUNER_MT2131=m CONFIG_MEDIA_TUNER_QT1010=m CONFIG_MEDIA_TUNER_XC2028=m CONFIG_MEDIA_TUNER_XC5000=m CONFIG_MEDIA_TUNER_MXL5005S=m CONFIG_MEDIA_TUNER_MXL5007T=m CONFIG_MEDIA_TUNER_MC44S803=m CONFIG_MEDIA_TUNER_MAX2165=m CONFIG_VIDEO_V4L2=m CONFIG_VIDEO_V4L1=m CONFIG_VIDEOBUF_GEN=m CONFIG_VIDEOBUF_DMA_SG=m CONFIG_VIDEOBUF_VMALLOC=m CONFIG_VIDEOBUF_DVB=m CONFIG_VIDEO_BTCX=m CONFIG_VIDEO_TVEEPROM=m CONFIG_VIDEO_TUNER=m CONFIG_VIDEO_CAPTURE_DRIVERS=y # CONFIG_VIDEO_ADV_DEBUG is not set # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set CONFIG_VIDEO_HELPER_CHIPS_AUTO=y CONFIG_VIDEO_IR_I2C=m CONFIG_VIDEO_TVAUDIO=m CONFIG_VIDEO_TDA7432=m CONFIG_VIDEO_TDA9840=m CONFIG_VIDEO_TEA6415C=m CONFIG_VIDEO_TEA6420=m CONFIG_VIDEO_MSP3400=m CONFIG_VIDEO_CS5345=m CONFIG_VIDEO_CS53L32A=m CONFIG_VIDEO_M52790=m CONFIG_VIDEO_WM8775=m CONFIG_VIDEO_WM8739=m CONFIG_VIDEO_VP27SMPX=m CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_BT819=m CONFIG_VIDEO_BT856=m CONFIG_VIDEO_BT866=m CONFIG_VIDEO_KS0127=m CONFIG_VIDEO_OV7670=m CONFIG_VIDEO_MT9V011=m CONFIG_VIDEO_SAA7110=m CONFIG_VIDEO_SAA711X=m CONFIG_VIDEO_SAA717X=m CONFIG_VIDEO_TVP5150=m CONFIG_VIDEO_VPX3220=m CONFIG_VIDEO_CX25840=m CONFIG_VIDEO_CX2341X=m CONFIG_VIDEO_SAA7127=m CONFIG_VIDEO_SAA7185=m CONFIG_VIDEO_ADV7170=m CONFIG_VIDEO_ADV7175=m CONFIG_VIDEO_UPD64031A=m CONFIG_VIDEO_UPD64083=m CONFIG_VIDEO_BT848=m CONFIG_VIDEO_BT848_DVB=y # CONFIG_VIDEO_PMS is not set CONFIG_VIDEO_BWQCAM=m CONFIG_VIDEO_CQCAM=m CONFIG_VIDEO_W9966=m # CONFIG_VIDEO_CPIA is not set CONFIG_VIDEO_CPIA2=m CONFIG_VIDEO_SAA5246A=m CONFIG_VIDEO_SAA5249=m CONFIG_VIDEO_STRADIS=m CONFIG_VIDEO_ZORAN=m CONFIG_VIDEO_ZORAN_DC30=m CONFIG_VIDEO_ZORAN_ZR36060=m CONFIG_VIDEO_ZORAN_BUZ=m CONFIG_VIDEO_ZORAN_DC10=m CONFIG_VIDEO_ZORAN_LML33=m CONFIG_VIDEO_ZORAN_LML33R10=m CONFIG_VIDEO_ZORAN_AVS6EYES=m CONFIG_VIDEO_MEYE=m CONFIG_VIDEO_SAA7134=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m CONFIG_VIDEO_MXB=m CONFIG_VIDEO_HEXIUM_ORION=m CONFIG_VIDEO_HEXIUM_GEMINI=m CONFIG_VIDEO_CX88=m CONFIG_VIDEO_CX88_ALSA=m CONFIG_VIDEO_CX88_BLACKBIRD=m CONFIG_VIDEO_CX88_DVB=m CONFIG_VIDEO_CX88_MPEG=m CONFIG_VIDEO_CX88_VP3054=m CONFIG_VIDEO_CX23885=m CONFIG_VIDEO_AU0828=m CONFIG_VIDEO_IVTV=m CONFIG_VIDEO_FB_IVTV=m CONFIG_VIDEO_CX18=m CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_SAA7164=m CONFIG_VIDEO_CAFE_CCIC=m CONFIG_SOC_CAMERA=m CONFIG_SOC_CAMERA_MT9M001=m CONFIG_SOC_CAMERA_MT9M111=m CONFIG_SOC_CAMERA_MT9T031=m CONFIG_SOC_CAMERA_MT9T112=m CONFIG_SOC_CAMERA_MT9V022=m CONFIG_SOC_CAMERA_RJ54N1=m CONFIG_SOC_CAMERA_TW9910=m CONFIG_SOC_CAMERA_PLATFORM=m CONFIG_SOC_CAMERA_OV772X=m CONFIG_SOC_CAMERA_OV9640=m CONFIG_V4L_USB_DRIVERS=y CONFIG_USB_VIDEO_CLASS=m CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y CONFIG_USB_GSPCA=m CONFIG_USB_M5602=m CONFIG_USB_STV06XX=m CONFIG_USB_GL860=m CONFIG_USB_GSPCA_BENQ=m CONFIG_USB_GSPCA_CONEX=m CONFIG_USB_GSPCA_CPIA1=m CONFIG_USB_GSPCA_ETOMS=m CONFIG_USB_GSPCA_FINEPIX=m CONFIG_USB_GSPCA_JEILINJ=m CONFIG_USB_GSPCA_MARS=m CONFIG_USB_GSPCA_MR97310A=m CONFIG_USB_GSPCA_OV519=m CONFIG_USB_GSPCA_OV534=m CONFIG_USB_GSPCA_OV534_9=m CONFIG_USB_GSPCA_PAC207=m CONFIG_USB_GSPCA_PAC7302=m CONFIG_USB_GSPCA_PAC7311=m CONFIG_USB_GSPCA_SN9C2028=m CONFIG_USB_GSPCA_SN9C20X=m CONFIG_USB_GSPCA_SONIXB=m CONFIG_USB_GSPCA_SONIXJ=m CONFIG_USB_GSPCA_SPCA500=m CONFIG_USB_GSPCA_SPCA501=m CONFIG_USB_GSPCA_SPCA505=m CONFIG_USB_GSPCA_SPCA506=m CONFIG_USB_GSPCA_SPCA508=m CONFIG_USB_GSPCA_SPCA561=m CONFIG_USB_GSPCA_SQ905=m CONFIG_USB_GSPCA_SQ905C=m CONFIG_USB_GSPCA_STK014=m CONFIG_USB_GSPCA_STV0680=m CONFIG_USB_GSPCA_SUNPLUS=m CONFIG_USB_GSPCA_T613=m CONFIG_USB_GSPCA_TV8532=m CONFIG_USB_GSPCA_VC032X=m CONFIG_USB_GSPCA_ZC3XX=m CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y CONFIG_VIDEO_PVRUSB2_DVB=y # CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set CONFIG_VIDEO_HDPVR=m CONFIG_VIDEO_EM28XX=m CONFIG_VIDEO_EM28XX_ALSA=m CONFIG_VIDEO_EM28XX_DVB=m CONFIG_VIDEO_TLG2300=m CONFIG_VIDEO_CX231XX=m CONFIG_VIDEO_CX231XX_ALSA=m CONFIG_VIDEO_CX231XX_DVB=m CONFIG_VIDEO_USBVISION=m CONFIG_VIDEO_USBVIDEO=m CONFIG_USB_VICAM=m CONFIG_USB_IBMCAM=m CONFIG_USB_KONICAWC=m # CONFIG_USB_QUICKCAM_MESSENGER is not set # CONFIG_USB_ET61X251 is not set # CONFIG_VIDEO_OVCAMCHIP is not set # CONFIG_USB_OV511 is not set CONFIG_USB_SE401=m # CONFIG_USB_SN9C102 is not set # CONFIG_USB_STV680 is not set # CONFIG_USB_ZC0301 is not set CONFIG_USB_PWC=m # CONFIG_USB_PWC_DEBUG is not set CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_ZR364XX=m CONFIG_USB_STKWEBCAM=m CONFIG_USB_S2255=m CONFIG_V4L_MEM2MEM_DRIVERS=y # CONFIG_VIDEO_MEM2MEM_TESTDEV is not set CONFIG_RADIO_ADAPTERS=y # CONFIG_RADIO_CADET is not set # CONFIG_RADIO_RTRACK is not set # CONFIG_RADIO_RTRACK2 is not set # CONFIG_RADIO_AZTECH is not set # CONFIG_RADIO_GEMTEK is not set CONFIG_RADIO_GEMTEK_PCI=m CONFIG_RADIO_MAXIRADIO=m CONFIG_RADIO_MAESTRO=m # CONFIG_RADIO_MIROPCM20 is not set # CONFIG_RADIO_SF16FMI is not set # CONFIG_RADIO_SF16FMR2 is not set # CONFIG_RADIO_TERRATEC is not set # CONFIG_RADIO_TRUST is not set # CONFIG_RADIO_TYPHOON is not set # CONFIG_RADIO_ZOLTRIX is not set CONFIG_I2C_SI4713=m CONFIG_RADIO_SI4713=m CONFIG_USB_DSBR=m CONFIG_RADIO_SI470X=y CONFIG_USB_SI470X=m CONFIG_I2C_SI470X=m CONFIG_USB_MR800=m # CONFIG_RADIO_TEA5764 is not set # CONFIG_RADIO_SAA7706H is not set # CONFIG_RADIO_TEF6862 is not set CONFIG_DVB_MAX_ADAPTERS=8 CONFIG_DVB_DYNAMIC_MINORS=y CONFIG_DVB_CAPTURE_DRIVERS=y # # Supported SAA7146 based PCI Adapters # CONFIG_TTPCI_EEPROM=m CONFIG_DVB_AV7110=m CONFIG_DVB_AV7110_OSD=y CONFIG_DVB_BUDGET_CORE=m CONFIG_DVB_BUDGET=m CONFIG_DVB_BUDGET_CI=m CONFIG_DVB_BUDGET_AV=m CONFIG_DVB_BUDGET_PATCH=m # # Supported USB Adapters # CONFIG_DVB_USB=m # CONFIG_DVB_USB_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_DIBUSB_MB=m # CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set CONFIG_DVB_USB_DIBUSB_MC=m CONFIG_DVB_USB_DIB0700=m CONFIG_DVB_USB_UMT_010=m CONFIG_DVB_USB_CXUSB=m CONFIG_DVB_USB_M920X=m CONFIG_DVB_USB_GL861=m CONFIG_DVB_USB_AU6610=m CONFIG_DVB_USB_DIGITV=m CONFIG_DVB_USB_VP7045=m CONFIG_DVB_USB_VP702X=m CONFIG_DVB_USB_GP8PSK=m CONFIG_DVB_USB_NOVA_T_USB2=m CONFIG_DVB_USB_TTUSB2=m CONFIG_DVB_USB_DTT200U=m CONFIG_DVB_USB_OPERA1=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m CONFIG_DVB_USB_DW2102=m CONFIG_DVB_USB_CINERGY_T2=m CONFIG_DVB_USB_ANYSEE=m CONFIG_DVB_USB_DTV5100=m CONFIG_DVB_USB_AF9015=m CONFIG_DVB_USB_CE6230=m CONFIG_DVB_USB_FRIIO=m CONFIG_DVB_USB_EC168=m CONFIG_DVB_USB_AZ6027=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m CONFIG_SMS_SIANO_MDTV=m # # Siano module components # CONFIG_SMS_USB_DRV=m CONFIG_SMS_SDIO_DRV=m # # Supported FlexCopII (B2C2) Adapters # CONFIG_DVB_B2C2_FLEXCOP=m CONFIG_DVB_B2C2_FLEXCOP_PCI=m CONFIG_DVB_B2C2_FLEXCOP_USB=m # CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set # # Supported BT878 Adapters # CONFIG_DVB_BT8XX=m # # Supported Pluto2 Adapters # CONFIG_DVB_PLUTO2=m # # Supported SDMC DM1105 Adapters # CONFIG_DVB_DM1105=m CONFIG_DVB_FIREDTV=m CONFIG_DVB_FIREDTV_FIREWIRE=y # CONFIG_DVB_FIREDTV_IEEE1394 is not set CONFIG_DVB_FIREDTV_INPUT=y # # Supported Earthsoft PT1 Adapters # CONFIG_DVB_PT1=m # # Supported Mantis Adapters # CONFIG_MANTIS_CORE=m CONFIG_DVB_MANTIS=m CONFIG_DVB_HOPPER=m # # Supported nGene Adapters # CONFIG_DVB_NGENE=m # # Supported DVB Frontends # CONFIG_DVB_FE_CUSTOMISE=y # # Customise DVB Frontends # # # Multistandard (satellite) frontends # CONFIG_DVB_STB0899=m CONFIG_DVB_STB6100=m CONFIG_DVB_STV090x=m CONFIG_DVB_STV6110x=m # # DVB-S (satellite) frontends # CONFIG_DVB_CX24110=m CONFIG_DVB_CX24123=m CONFIG_DVB_MT312=m CONFIG_DVB_ZL10036=m CONFIG_DVB_ZL10039=m CONFIG_DVB_S5H1420=m CONFIG_DVB_STV0288=m CONFIG_DVB_STB6000=m CONFIG_DVB_STV0299=m CONFIG_DVB_STV6110=m CONFIG_DVB_STV0900=m CONFIG_DVB_TDA8083=m CONFIG_DVB_TDA10086=m CONFIG_DVB_TDA8261=m CONFIG_DVB_VES1X93=m CONFIG_DVB_TUNER_ITD1000=m CONFIG_DVB_TUNER_CX24113=m CONFIG_DVB_TDA826X=m CONFIG_DVB_TUA6100=m CONFIG_DVB_CX24116=m CONFIG_DVB_SI21XX=m CONFIG_DVB_DS3000=m CONFIG_DVB_MB86A16=m # # DVB-T (terrestrial) frontends # CONFIG_DVB_SP8870=m CONFIG_DVB_SP887X=m CONFIG_DVB_CX22700=m CONFIG_DVB_CX22702=m CONFIG_DVB_DRX397XD=m CONFIG_DVB_L64781=m CONFIG_DVB_TDA1004X=m CONFIG_DVB_NXT6000=m CONFIG_DVB_MT352=m CONFIG_DVB_ZL10353=m CONFIG_DVB_DIB3000MB=m CONFIG_DVB_DIB3000MC=m CONFIG_DVB_DIB7000M=m CONFIG_DVB_DIB7000P=m CONFIG_DVB_TDA10048=m CONFIG_DVB_AF9013=m CONFIG_DVB_EC100=m # # DVB-C (cable) frontends # CONFIG_DVB_VES1820=m CONFIG_DVB_TDA10021=m CONFIG_DVB_TDA10023=m CONFIG_DVB_STV0297=m # # ATSC (North American/Korean Terrestrial/Cable DTV) frontends # CONFIG_DVB_NXT200X=m CONFIG_DVB_OR51211=m CONFIG_DVB_OR51132=m CONFIG_DVB_BCM3510=m CONFIG_DVB_LGDT330X=m CONFIG_DVB_LGDT3304=m CONFIG_DVB_LGDT3305=m CONFIG_DVB_S5H1409=m CONFIG_DVB_AU8522=m CONFIG_DVB_S5H1411=m # # ISDB-T (terrestrial) frontends # CONFIG_DVB_S921=m CONFIG_DVB_DIB8000=m # # Digital terrestrial only tuners/PLL # CONFIG_DVB_PLL=m CONFIG_DVB_TUNER_DIB0070=m CONFIG_DVB_TUNER_DIB0090=m # # SEC control devices for DVB-S # CONFIG_DVB_LNBP21=m CONFIG_DVB_ISL6405=m CONFIG_DVB_ISL6421=m CONFIG_DVB_ISL6423=m CONFIG_DVB_LGS8GL5=m CONFIG_DVB_LGS8GXX=m CONFIG_DVB_ATBM8830=m CONFIG_DVB_TDA665x=m # # Tools to develop new frontends # CONFIG_DVB_DUMMY_FE=m CONFIG_DAB=y CONFIG_USB_DABUSB=m # # Graphics support # CONFIG_AGP=y CONFIG_AGP_ALI=y CONFIG_AGP_ATI=y CONFIG_AGP_AMD=y CONFIG_AGP_AMD64=y CONFIG_AGP_INTEL=y CONFIG_AGP_NVIDIA=y CONFIG_AGP_SIS=y CONFIG_AGP_SWORKS=y CONFIG_AGP_VIA=y CONFIG_AGP_EFFICEON=y CONFIG_VGA_ARB=y CONFIG_VGA_ARB_MAX_GPUS=16 CONFIG_VGA_SWITCHEROO=y CONFIG_DRM=m CONFIG_DRM_KMS_HELPER=m CONFIG_DRM_TTM=m CONFIG_DRM_TDFX=m CONFIG_DRM_R128=m CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_KMS=y CONFIG_DRM_I810=m # CONFIG_DRM_I830 is not set CONFIG_DRM_I915=m CONFIG_DRM_I915_KMS=y CONFIG_DRM_MGA=m CONFIG_DRM_SIS=m CONFIG_DRM_VIA=m CONFIG_DRM_SAVAGE=m CONFIG_VGASTATE=m CONFIG_VIDEO_OUTPUT_CONTROL=m CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set CONFIG_FB_DDC=m CONFIG_FB_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set CONFIG_FB_SYS_FILLRECT=m CONFIG_FB_SYS_COPYAREA=m CONFIG_FB_SYS_IMAGEBLIT=m # CONFIG_FB_FOREIGN_ENDIAN is not set CONFIG_FB_SYS_FOPS=m CONFIG_FB_DEFERRED_IO=y CONFIG_FB_SVGALIB=m # CONFIG_FB_MACMODES is not set CONFIG_FB_BACKLIGHT=y CONFIG_FB_MODE_HELPERS=y CONFIG_FB_TILEBLITTING=y # # Frame buffer hardware drivers # CONFIG_FB_CIRRUS=m # CONFIG_FB_PM2 is not set # CONFIG_FB_CYBER2000 is not set # CONFIG_FB_ARC is not set # CONFIG_FB_ASILIANT is not set # CONFIG_FB_IMSTT is not set CONFIG_FB_VGA16=m # CONFIG_FB_UVESA is not set CONFIG_FB_VESA=y CONFIG_FB_EFI=y # CONFIG_FB_N411 is not set # CONFIG_FB_HGA is not set # CONFIG_FB_S1D13XXX is not set CONFIG_FB_NVIDIA=m CONFIG_FB_NVIDIA_I2C=y # CONFIG_FB_NVIDIA_DEBUG is not set CONFIG_FB_NVIDIA_BACKLIGHT=y CONFIG_FB_RIVA=m # CONFIG_FB_RIVA_I2C is not set # CONFIG_FB_RIVA_DEBUG is not set CONFIG_FB_RIVA_BACKLIGHT=y CONFIG_FB_I810=m CONFIG_FB_I810_GTF=y CONFIG_FB_I810_I2C=y # CONFIG_FB_LE80578 is not set CONFIG_FB_MATROX=m CONFIG_FB_MATROX_MILLENIUM=y CONFIG_FB_MATROX_MYSTIQUE=y CONFIG_FB_MATROX_G=y CONFIG_FB_MATROX_I2C=m CONFIG_FB_MATROX_MAVEN=m CONFIG_FB_RADEON=m CONFIG_FB_RADEON_I2C=y CONFIG_FB_RADEON_BACKLIGHT=y # CONFIG_FB_RADEON_DEBUG is not set CONFIG_FB_ATY128=m CONFIG_FB_ATY128_BACKLIGHT=y CONFIG_FB_ATY=m CONFIG_FB_ATY_CT=y CONFIG_FB_ATY_GENERIC_LCD=y CONFIG_FB_ATY_GX=y CONFIG_FB_ATY_BACKLIGHT=y CONFIG_FB_S3=m CONFIG_FB_SAVAGE=m CONFIG_FB_SAVAGE_I2C=y CONFIG_FB_SAVAGE_ACCEL=y # CONFIG_FB_SIS is not set CONFIG_FB_VIA=m # CONFIG_FB_VIA_DIRECT_PROCFS is not set CONFIG_FB_NEOMAGIC=m CONFIG_FB_KYRO=m CONFIG_FB_3DFX=m CONFIG_FB_3DFX_ACCEL=y CONFIG_FB_3DFX_I2C=y CONFIG_FB_VOODOO1=m # CONFIG_FB_VT8623 is not set CONFIG_FB_TRIDENT=m # CONFIG_FB_ARK is not set # CONFIG_FB_PM3 is not set # CONFIG_FB_CARMINE is not set CONFIG_FB_GEODE=y CONFIG_FB_GEODE_LX=y CONFIG_FB_GEODE_GX=y # CONFIG_FB_GEODE_GX1 is not set # CONFIG_FB_TMIO is not set CONFIG_FB_SM501=m CONFIG_FB_VIRTUAL=m CONFIG_FB_METRONOME=m CONFIG_FB_MB862XX=m CONFIG_FB_MB862XX_PCI_GDC=y # CONFIG_FB_BROADSHEET is not set CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_LCD_CLASS_DEVICE=m CONFIG_LCD_PLATFORM=m CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set CONFIG_BACKLIGHT_PROGEAR=m CONFIG_BACKLIGHT_MBP_NVIDIA=m # CONFIG_BACKLIGHT_SAHARA is not set # CONFIG_BACKLIGHT_ADP8860 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=y CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64 # CONFIG_MDA_CONSOLE is not set CONFIG_DUMMY_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y # CONFIG_FONTS is not set CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y CONFIG_LOGO=y # CONFIG_LOGO_LINUX_MONO is not set # CONFIG_LOGO_LINUX_VGA16 is not set CONFIG_LOGO_LINUX_CLUT224=y CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE=y CONFIG_SOUND_OSS_CORE_PRECLAIM=y 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=m CONFIG_SND_SEQ_DUMMY=m CONFIG_SND_OSSEMUL=y CONFIG_SND_MIXER_OSS=m CONFIG_SND_PCM_OSS=m CONFIG_SND_PCM_OSS_PLUGINS=y CONFIG_SND_SEQUENCER_OSS=y CONFIG_SND_HRTIMER=m CONFIG_SND_SEQ_HRTIMER_DEFAULT=y CONFIG_SND_DYNAMIC_MINORS=y # 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_VMASTER=y CONFIG_SND_DMA_SGBUF=y CONFIG_SND_RAWMIDI_SEQ=m CONFIG_SND_OPL3_LIB_SEQ=m CONFIG_SND_OPL4_LIB_SEQ=m CONFIG_SND_SBAWE_SEQ=m CONFIG_SND_EMU10K1_SEQ=m CONFIG_SND_MPU401_UART=m CONFIG_SND_OPL3_LIB=m CONFIG_SND_OPL4_LIB=m CONFIG_SND_VX_LIB=m CONFIG_SND_AC97_CODEC=m CONFIG_SND_DRIVERS=y CONFIG_SND_PCSP=m CONFIG_SND_DUMMY=m CONFIG_SND_VIRMIDI=m CONFIG_SND_MTPAV=m CONFIG_SND_MTS64=m CONFIG_SND_SERIAL_U16550=m CONFIG_SND_MPU401=m CONFIG_SND_PORTMAN2X4=m CONFIG_SND_AC97_POWER_SAVE=y CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 CONFIG_SND_WSS_LIB=m CONFIG_SND_SB_COMMON=m CONFIG_SND_SB16_DSP=m CONFIG_SND_ISA=y CONFIG_SND_ADLIB=m # CONFIG_SND_AD1816A is not set # CONFIG_SND_AD1848 is not set # CONFIG_SND_ALS100 is not set # CONFIG_SND_AZT2320 is not set # CONFIG_SND_CMI8330 is not set # CONFIG_SND_CS4231 is not set CONFIG_SND_CS4236=m # CONFIG_SND_ES1688 is not set CONFIG_SND_ES18XX=m CONFIG_SND_SC6000=m # CONFIG_SND_GUSCLASSIC is not set # CONFIG_SND_GUSEXTREME is not set # CONFIG_SND_GUSMAX is not set # CONFIG_SND_INTERWAVE is not set # CONFIG_SND_INTERWAVE_STB is not set # CONFIG_SND_JAZZ16 is not set CONFIG_SND_OPL3SA2=m # CONFIG_SND_OPTI92X_AD1848 is not set # CONFIG_SND_OPTI92X_CS4231 is not set # CONFIG_SND_OPTI93X is not set CONFIG_SND_MIRO=m # CONFIG_SND_SB8 is not set CONFIG_SND_SB16=m CONFIG_SND_SBAWE=m # CONFIG_SND_SB16_CSP is not set # CONFIG_SND_SGALAXY is not set # CONFIG_SND_SSCAPE is not set # CONFIG_SND_WAVEFRONT is not set # CONFIG_SND_MSND_PINNACLE is not set # CONFIG_SND_MSND_CLASSIC is not set CONFIG_SND_PCI=y CONFIG_SND_AD1889=m CONFIG_SND_ALS300=m CONFIG_SND_ALS4000=m CONFIG_SND_ALI5451=m CONFIG_SND_ASIHPI=m CONFIG_SND_ATIIXP=m CONFIG_SND_ATIIXP_MODEM=m CONFIG_SND_AU8810=m CONFIG_SND_AU8820=m CONFIG_SND_AU8830=m # CONFIG_SND_AW2 is not set CONFIG_SND_AZT3328=m CONFIG_SND_BT87X=m # CONFIG_SND_BT87X_OVERCLOCK is not set CONFIG_SND_CA0106=m CONFIG_SND_CMIPCI=m CONFIG_SND_OXYGEN_LIB=m CONFIG_SND_OXYGEN=m CONFIG_SND_CS4281=m CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5530=m CONFIG_SND_CS5535AUDIO=m CONFIG_SND_CTXFI=m CONFIG_SND_DARLA20=m CONFIG_SND_GINA20=m CONFIG_SND_LAYLA20=m CONFIG_SND_DARLA24=m CONFIG_SND_GINA24=m CONFIG_SND_LAYLA24=m CONFIG_SND_MONA=m CONFIG_SND_MIA=m CONFIG_SND_ECHO3G=m CONFIG_SND_INDIGO=m CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGODJ=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGODJX=m CONFIG_SND_EMU10K1=m CONFIG_SND_EMU10K1X=m CONFIG_SND_ENS1370=m CONFIG_SND_ENS1371=m CONFIG_SND_ES1938=m CONFIG_SND_ES1968=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_FM801=m CONFIG_SND_FM801_TEA575X_BOOL=y CONFIG_SND_FM801_TEA575X=m CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_JACK=y 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=y CONFIG_SND_HDA_CODEC_ATIHDMI=y CONFIG_SND_HDA_CODEC_NVHDMI=y CONFIG_SND_HDA_CODEC_INTELHDMI=y CONFIG_SND_HDA_ELD=y 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=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HIFIER=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INTEL8X0=m CONFIG_SND_INTEL8X0M=m CONFIG_SND_KORG1212=m CONFIG_SND_LX6464ES=m CONFIG_SND_MAESTRO3=m CONFIG_SND_MAESTRO3_INPUT=y CONFIG_SND_MIXART=m CONFIG_SND_NM256=m CONFIG_SND_PCXHR=m CONFIG_SND_RIPTIDE=m CONFIG_SND_RME32=m CONFIG_SND_RME96=m CONFIG_SND_RME9652=m CONFIG_SND_SIS7019=m CONFIG_SND_SONICVIBES=m CONFIG_SND_TRIDENT=m CONFIG_SND_VIA82XX=m CONFIG_SND_VIA82XX_MODEM=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m CONFIG_SND_YMFPCI=m CONFIG_SND_USB=y CONFIG_SND_USB_AUDIO=m CONFIG_SND_USB_UA101=m CONFIG_SND_USB_USX2Y=m CONFIG_SND_USB_CAIAQ=m CONFIG_SND_USB_CAIAQ_INPUT=y CONFIG_SND_USB_US122L=m CONFIG_SND_PCMCIA=y CONFIG_SND_VXPOCKET=m CONFIG_SND_PDAUDIOCF=m # CONFIG_SND_SOC is not set # CONFIG_SOUND_PRIME is not set CONFIG_AC97_BUS=m CONFIG_HID_SUPPORT=y CONFIG_HID=y CONFIG_HIDRAW=y # # USB Input Devices # CONFIG_USB_HID=y CONFIG_HID_PID=y CONFIG_USB_HIDDEV=y # # Special HID drivers # CONFIG_HID_3M_PCT=y CONFIG_HID_A4TECH=y CONFIG_HID_APPLE=y CONFIG_HID_BELKIN=y CONFIG_HID_CANDO=m CONFIG_HID_CHERRY=y CONFIG_HID_CHICONY=y CONFIG_HID_PRODIKEYS=m CONFIG_HID_CYPRESS=y CONFIG_HID_DRAGONRISE=m CONFIG_DRAGONRISE_FF=y CONFIG_HID_EGALAX=m CONFIG_HID_EZKEY=y CONFIG_HID_KYE=y CONFIG_HID_GYRATION=m CONFIG_HID_TWINHAN=m CONFIG_HID_KENSINGTON=y CONFIG_HID_LOGITECH=y CONFIG_LOGITECH_FF=y CONFIG_LOGIRUMBLEPAD2_FF=y CONFIG_LOGIG940_FF=y CONFIG_HID_MAGICMOUSE=m CONFIG_HID_MICROSOFT=y CONFIG_HID_MOSART=y CONFIG_HID_MONTEREY=y CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m CONFIG_PANTHERLORD_FF=y CONFIG_HID_PETALYNX=m CONFIG_HID_PICOLCD=m CONFIG_HID_PICOLCD_FB=y CONFIG_HID_PICOLCD_BACKLIGHT=y CONFIG_HID_PICOLCD_LCD=y CONFIG_HID_PICOLCD_LEDS=y CONFIG_HID_QUANTA=y CONFIG_HID_ROCCAT=m CONFIG_HID_ROCCAT_KONE=m CONFIG_HID_SAMSUNG=m CONFIG_HID_SONY=m CONFIG_HID_STANTUM=y CONFIG_HID_SUNPLUS=m CONFIG_HID_GREENASIA=m CONFIG_GREENASIA_FF=y CONFIG_HID_SMARTJOYPLUS=m CONFIG_SMARTJOYPLUS_FF=y CONFIG_HID_TOPSEED=m CONFIG_HID_THRUSTMASTER=m CONFIG_THRUSTMASTER_FF=y CONFIG_HID_WACOM=m CONFIG_HID_WACOM_POWER_SUPPLY=y CONFIG_HID_ZEROPLUS=m CONFIG_ZEROPLUS_FF=y CONFIG_HID_ZYDACRON=m 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=y # # Miscellaneous USB options # CONFIG_USB_DEVICEFS=y # CONFIG_USB_DEVICE_CLASS is not set # CONFIG_USB_DYNAMIC_MINORS is not set CONFIG_USB_SUSPEND=y # CONFIG_USB_OTG is not set CONFIG_USB_MON=y CONFIG_USB_WUSB=m CONFIG_USB_WUSB_CBAF=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set # # USB Host Controller Drivers # # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_XHCI_HCD=m # CONFIG_USB_XHCI_HCD_DEBUGGING is not set 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 is not set CONFIG_USB_ISP1362_HCD=m 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=m # CONFIG_USB_SL811_CS is not set # CONFIG_USB_R8A66597_HCD is not set CONFIG_USB_WHCI_HCD=m CONFIG_USB_HWA_HCD=m # # USB Device Class drivers # CONFIG_USB_ACM=m CONFIG_USB_PRINTER=m CONFIG_USB_WDM=m CONFIG_USB_TMC=m # # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may # # # also be needed; see USB_STORAGE Help for more info # CONFIG_USB_STORAGE=m # CONFIG_USB_STORAGE_DEBUG is not set CONFIG_USB_STORAGE_DATAFAB=m CONFIG_USB_STORAGE_FREECOM=m CONFIG_USB_STORAGE_ISD200=m CONFIG_USB_STORAGE_USBAT=m CONFIG_USB_STORAGE_SDDR09=m CONFIG_USB_STORAGE_SDDR55=m CONFIG_USB_STORAGE_JUMPSHOT=m CONFIG_USB_STORAGE_ALAUDA=m CONFIG_USB_STORAGE_ONETOUCH=m CONFIG_USB_STORAGE_KARMA=m CONFIG_USB_STORAGE_CYPRESS_ATACB=m # CONFIG_USB_LIBUSUAL is not set # # USB Imaging devices # CONFIG_USB_MDC800=m CONFIG_USB_MICROTEK=m # # USB port drivers # CONFIG_USB_USS720=m CONFIG_USB_SERIAL=m CONFIG_USB_EZUSB=y CONFIG_USB_SERIAL_GENERIC=y CONFIG_USB_SERIAL_AIRCABLE=m 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=m 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=m CONFIG_USB_SERIAL_IPAQ=m CONFIG_USB_SERIAL_IR=m CONFIG_USB_SERIAL_EDGEPORT=m CONFIG_USB_SERIAL_EDGEPORT_TI=m CONFIG_USB_SERIAL_GARMIN=m CONFIG_USB_SERIAL_IPW=m CONFIG_USB_SERIAL_IUU=m CONFIG_USB_SERIAL_KEYSPAN_PDA=m CONFIG_USB_SERIAL_KEYSPAN=m CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7715_PARPORT=y CONFIG_USB_SERIAL_MOS7840=m CONFIG_USB_SERIAL_MOTOROLA=m CONFIG_USB_SERIAL_NAVMAN=m CONFIG_USB_SERIAL_PL2303=m CONFIG_USB_SERIAL_OTI6858=m CONFIG_USB_SERIAL_QCAUX=m CONFIG_USB_SERIAL_QUALCOMM=m CONFIG_USB_SERIAL_SPCP8X5=m CONFIG_USB_SERIAL_HP4X=m CONFIG_USB_SERIAL_SAFE=m CONFIG_USB_SERIAL_SAFE_PADDED=y CONFIG_USB_SERIAL_SIEMENS_MPI=m CONFIG_USB_SERIAL_SIERRAWIRELESS=m CONFIG_USB_SERIAL_SYMBOL=m CONFIG_USB_SERIAL_TI=m CONFIG_USB_SERIAL_CYBERJACK=m CONFIG_USB_SERIAL_XIRCOM=m 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 is not set CONFIG_USB_SERIAL_DEBUG=m # # USB Miscellaneous drivers # CONFIG_USB_EMI62=m CONFIG_USB_EMI26=m CONFIG_USB_ADUTUX=m CONFIG_USB_SEVSEG=m # CONFIG_USB_RIO500 is not set CONFIG_USB_LEGOTOWER=m CONFIG_USB_LCD=m 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=m CONFIG_USB_SISUSBVGA=m CONFIG_USB_SISUSBVGA_CON=y CONFIG_USB_LD=m CONFIG_USB_TRANCEVIBRATOR=m CONFIG_USB_IOWARRIOR=m # CONFIG_USB_TEST is not set CONFIG_USB_ISIGHTFW=m CONFIG_USB_ATM=m CONFIG_USB_SPEEDTOUCH=m CONFIG_USB_CXACRU=m CONFIG_USB_UEAGLEATM=m CONFIG_USB_XUSBATM=m # CONFIG_USB_GADGET is not set # # OTG and related infrastructure # CONFIG_USB_OTG_UTILS=y # CONFIG_USB_GPIO_VBUS is not set CONFIG_NOP_USB_XCEIV=m CONFIG_UWB=m CONFIG_UWB_HWA=m CONFIG_UWB_WHCI=m CONFIG_UWB_WLP=m CONFIG_UWB_I1480U=m CONFIG_UWB_I1480U_WLP=m CONFIG_MMC=m # CONFIG_MMC_DEBUG is not set # CONFIG_MMC_UNSAFE_RESUME is not set # # MMC/SD/SDIO Card Drivers # CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_SDIO_UART=m # 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=m CONFIG_MMC_WBSD=m CONFIG_MMC_TIFM_SD=m CONFIG_MMC_SDRICOH_CS=m CONFIG_MMC_CB710=m CONFIG_MMC_VIA_SDMMC=m CONFIG_MEMSTICK=m # CONFIG_MEMSTICK_DEBUG is not set # # MemoryStick drivers # # CONFIG_MEMSTICK_UNSAFE_RESUME is not set CONFIG_MSPRO_BLOCK=m # # MemoryStick Host Controller Drivers # CONFIG_MEMSTICK_TIFM_MS=m CONFIG_MEMSTICK_JMICRON_38X=m CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y # # LED drivers # CONFIG_LEDS_ALIX2=m # CONFIG_LEDS_PCA9532 is not set # CONFIG_LEDS_GPIO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_PCA955X is not set # CONFIG_LEDS_BD2802 is not set CONFIG_LEDS_INTEL_SS4200=m CONFIG_LEDS_LT3593=m CONFIG_LEDS_DELL_NETBOOKS=m CONFIG_LEDS_TRIGGERS=y # # LED Triggers # CONFIG_LEDS_TRIGGER_TIMER=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_BACKLIGHT=m CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_DEFAULT_ON=m # # iptables trigger is under Netfilter config (LED target) # CONFIG_ACCESSIBILITY=y CONFIG_A11Y_BRAILLE_CONSOLE=y CONFIG_INFINIBAND=m CONFIG_INFINIBAND_USER_MAD=m CONFIG_INFINIBAND_USER_ACCESS=m CONFIG_INFINIBAND_USER_MEM=y CONFIG_INFINIBAND_ADDR_TRANS=y CONFIG_INFINIBAND_MTHCA=m CONFIG_INFINIBAND_MTHCA_DEBUG=y CONFIG_INFINIBAND_AMSO1100=m # CONFIG_INFINIBAND_AMSO1100_DEBUG is not set CONFIG_INFINIBAND_CXGB3=m # CONFIG_INFINIBAND_CXGB3_DEBUG is not set CONFIG_INFINIBAND_CXGB4=m CONFIG_MLX4_INFINIBAND=m CONFIG_INFINIBAND_NES=m # CONFIG_INFINIBAND_NES_DEBUG is not set CONFIG_INFINIBAND_IPOIB=m CONFIG_INFINIBAND_IPOIB_CM=y CONFIG_INFINIBAND_IPOIB_DEBUG=y CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y CONFIG_INFINIBAND_SRP=m CONFIG_INFINIBAND_ISER=m CONFIG_EDAC=y # # Reporting subsystems # # CONFIG_EDAC_DEBUG is not set CONFIG_EDAC_DECODE_MCE=m CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_MCE=y CONFIG_EDAC_AMD76X=m CONFIG_EDAC_E7XXX=m CONFIG_EDAC_E752X=m CONFIG_EDAC_I82875P=m CONFIG_EDAC_I82975X=m CONFIG_EDAC_I3000=m CONFIG_EDAC_I3200=m CONFIG_EDAC_X38=m CONFIG_EDAC_I5400=m CONFIG_EDAC_I7CORE=m CONFIG_EDAC_I82860=m CONFIG_EDAC_R82600=m CONFIG_EDAC_I5000=m CONFIG_EDAC_I5100=m CONFIG_RTC_LIB=y CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y CONFIG_RTC_HCTOSYS_DEVICE="rtc0" # CONFIG_RTC_DEBUG is not set # # RTC interfaces # CONFIG_RTC_INTF_SYSFS=y CONFIG_RTC_INTF_PROC=y CONFIG_RTC_INTF_DEV=y # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set # CONFIG_RTC_DRV_TEST is not set # # I2C RTC drivers # CONFIG_RTC_DRV_DS1307=m CONFIG_RTC_DRV_DS1374=m CONFIG_RTC_DRV_DS1672=m CONFIG_RTC_DRV_MAX6900=m CONFIG_RTC_DRV_RS5C372=m CONFIG_RTC_DRV_ISL1208=m CONFIG_RTC_DRV_X1205=m CONFIG_RTC_DRV_PCF8563=m CONFIG_RTC_DRV_PCF8583=m CONFIG_RTC_DRV_M41T80=m CONFIG_RTC_DRV_M41T80_WDT=y CONFIG_RTC_DRV_BQ32K=m # CONFIG_RTC_DRV_S35390A is not set CONFIG_RTC_DRV_FM3130=m CONFIG_RTC_DRV_RX8581=m CONFIG_RTC_DRV_RX8025=m # # SPI RTC drivers # # # Platform RTC drivers # CONFIG_RTC_DRV_CMOS=y CONFIG_RTC_DRV_DS1286=m CONFIG_RTC_DRV_DS1511=m CONFIG_RTC_DRV_DS1553=m CONFIG_RTC_DRV_DS1742=m CONFIG_RTC_DRV_STK17TA8=m # CONFIG_RTC_DRV_M48T86 is not set CONFIG_RTC_DRV_M48T35=m CONFIG_RTC_DRV_M48T59=m CONFIG_RTC_DRV_MSM6242=m CONFIG_RTC_DRV_BQ4802=m CONFIG_RTC_DRV_RP5C01=m CONFIG_RTC_DRV_V3020=m # # on-CPU RTC drivers # CONFIG_DMADEVICES=y CONFIG_DMADEVICES_DEBUG=y CONFIG_DMADEVICES_VDEBUG=y # # DMA Devices # CONFIG_ASYNC_TX_DISABLE_CHANNEL_SWITCH=y CONFIG_INTEL_IOATDMA=m # CONFIG_TIMB_DMA is not set CONFIG_DMA_ENGINE=y # # DMA Clients # CONFIG_NET_DMA=y CONFIG_ASYNC_TX_DMA=y # CONFIG_DMATEST is not set CONFIG_DCA=m CONFIG_AUXDISPLAY=y CONFIG_KS0108=m CONFIG_KS0108_PORT=0x378 CONFIG_KS0108_DELAY=2 CONFIG_CFAG12864B=m CONFIG_CFAG12864B_RATE=20 CONFIG_UIO=m CONFIG_UIO_CIF=m # CONFIG_UIO_PDRV is not set # CONFIG_UIO_PDRV_GENIRQ is not set CONFIG_UIO_AEC=m CONFIG_UIO_SERCOS3=m CONFIG_UIO_PCI_GENERIC=m # CONFIG_UIO_NETX is not set CONFIG_STAGING=y # CONFIG_STAGING_EXCLUDE_BUILD is not set # CONFIG_ET131X is not set # CONFIG_SLICOSS is not set # CONFIG_VIDEO_GO7007 is not set # CONFIG_VIDEO_CX25821 is not set # CONFIG_VIDEO_TM6000 is not set # CONFIG_USB_IP_COMMON is not set # CONFIG_W35UND is not set # CONFIG_PRISM2_USB is not set # CONFIG_ECHO is not set # CONFIG_OTUS is not set # CONFIG_RT2860 is not set # CONFIG_RT2870 is not set # CONFIG_COMEDI is not set # CONFIG_ASUS_OLED is not set # CONFIG_PANEL is not set # CONFIG_R8187SE is not set # CONFIG_RTL8192SU is not set # CONFIG_RTL8192U is not set # CONFIG_RTL8192E is not set # CONFIG_TRANZPORT is not set # CONFIG_POHMELFS is not set # CONFIG_IDE_PHISON is not set # CONFIG_LINE6_USB is not set CONFIG_DRM_VMWGFX=m CONFIG_DRM_NOUVEAU=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU_DEBUG=y # # I2C encoder or helper chips # CONFIG_DRM_I2C_CH7006=m # CONFIG_USB_SERIAL_QUATECH2 is not set # CONFIG_USB_SERIAL_QUATECH_USB2 is not set # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set # CONFIG_FB_UDL is not set # CONFIG_HYPERV is not set # CONFIG_VME_BUS is not set # # RAR Register Driver # # CONFIG_RAR_REGISTER is not set # CONFIG_IIO is not set # CONFIG_RAMZSWAP is not set # CONFIG_WLAGS49_H2 is not set # CONFIG_WLAGS49_H25 is not set # CONFIG_BATMAN_ADV is not set # CONFIG_SAMSUNG_LAPTOP is not set # CONFIG_FB_SM7XX is not set # CONFIG_DT3155 is not set # CONFIG_VIDEO_DT3155 is not set CONFIG_CRYSTALHD=m # # Texas Instruments shared transport line discipline # # CONFIG_TI_ST is not set # CONFIG_ST_BT is not set # CONFIG_FB_XGI is not set CONFIG_X86_PLATFORM_DEVICES=y CONFIG_ACER_WMI=m CONFIG_ACERHDF=m CONFIG_ASUS_LAPTOP=m CONFIG_DELL_LAPTOP=m CONFIG_DELL_WMI=m CONFIG_FUJITSU_LAPTOP=m # CONFIG_FUJITSU_LAPTOP_DEBUG is not set CONFIG_TC1100_WMI=m CONFIG_HP_WMI=m CONFIG_MSI_LAPTOP=m CONFIG_PANASONIC_LAPTOP=m CONFIG_COMPAL_LAPTOP=m CONFIG_SONY_LAPTOP=m CONFIG_SONYPI_COMPAT=y CONFIG_THINKPAD_ACPI=m CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y # CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set # CONFIG_THINKPAD_ACPI_DEBUG is not set # CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set CONFIG_THINKPAD_ACPI_VIDEO=y CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y # CONFIG_INTEL_MENLOW is not set CONFIG_EEEPC_LAPTOP=m CONFIG_EEEPC_WMI=m CONFIG_ACPI_WMI=m CONFIG_MSI_WMI=m # CONFIG_ACPI_ASUS is not set CONFIG_TOPSTAR_LAPTOP=m CONFIG_ACPI_TOSHIBA=m CONFIG_TOSHIBA_BT_RFKILL=m CONFIG_ACPI_CMPC=m # # Firmware Drivers # CONFIG_EDD=m # CONFIG_EDD_OFF is not set CONFIG_FIRMWARE_MEMMAP=y CONFIG_EFI_VARS=y CONFIG_DELL_RBU=m CONFIG_DCDBAS=m CONFIG_DMIID=y CONFIG_ISCSI_IBFT_FIND=y CONFIG_ISCSI_IBFT=m # # File systems # CONFIG_EXT2_FS=m CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT2_FS_SECURITY=y CONFIG_EXT2_FS_XIP=y CONFIG_EXT3_FS=y CONFIG_EXT3_DEFAULTS_TO_ORDERED=y CONFIG_EXT3_FS_XATTR=y CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT3_FS_SECURITY=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_XATTR=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y CONFIG_EXT4_DEBUG=y CONFIG_FS_XIP=y CONFIG_JBD=y # CONFIG_JBD_DEBUG is not set CONFIG_JBD2=y CONFIG_JBD2_DEBUG=y 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=y CONFIG_REISERFS_FS_SECURITY=y CONFIG_JFS_FS=m CONFIG_JFS_POSIX_ACL=y CONFIG_JFS_SECURITY=y # CONFIG_JFS_DEBUG is not set # CONFIG_JFS_STATISTICS is not set CONFIG_FS_POSIX_ACL=y CONFIG_XFS_FS=m CONFIG_XFS_QUOTA=y CONFIG_XFS_POSIX_ACL=y # CONFIG_XFS_RT is not set # CONFIG_XFS_DEBUG is not set CONFIG_GFS2_FS=m CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_OCFS2_FS=m CONFIG_OCFS2_FS_O2CB=m CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m # CONFIG_OCFS2_FS_STATS is not set # CONFIG_OCFS2_DEBUG_MASKLOG is not set # CONFIG_OCFS2_DEBUG_FS is not set CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y CONFIG_NILFS2_FS=m CONFIG_FILE_LOCKING=y CONFIG_FSNOTIFY=y CONFIG_DNOTIFY=y CONFIG_INOTIFY=y CONFIG_INOTIFY_USER=y CONFIG_QUOTA=y CONFIG_QUOTA_NETLINK_INTERFACE=y # CONFIG_PRINT_QUOTA_WARNING is not set CONFIG_QUOTA_DEBUG=y CONFIG_QUOTA_TREE=y # CONFIG_QFMT_V1 is not set CONFIG_QFMT_V2=y CONFIG_QUOTACTL=y # CONFIG_AUTOFS_FS is not set CONFIG_AUTOFS4_FS=y CONFIG_FUSE_FS=m CONFIG_CUSE=m CONFIG_GENERIC_ACL=y # # Caches # CONFIG_FSCACHE=m CONFIG_FSCACHE_STATS=y # CONFIG_FSCACHE_HISTOGRAM is not set # CONFIG_FSCACHE_DEBUG is not set CONFIG_FSCACHE_OBJECT_LIST=y CONFIG_CACHEFILES=m # CONFIG_CACHEFILES_DEBUG is not set # CONFIG_CACHEFILES_HISTOGRAM is not set # # CD-ROM/DVD Filesystems # CONFIG_ISO9660_FS=y CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_UDF_FS=m CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems # CONFIG_FAT_FS=m CONFIG_MSDOS_FS=m CONFIG_VFAT_FS=m CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="ascii" # CONFIG_NTFS_FS is not set # # Pseudo filesystems # CONFIG_PROC_FS=y CONFIG_PROC_KCORE=y CONFIG_PROC_VMCORE=y CONFIG_PROC_SYSCTL=y CONFIG_PROC_PAGE_MONITOR=y CONFIG_SYSFS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y CONFIG_CONFIGFS_FS=m CONFIG_MISC_FILESYSTEMS=y # CONFIG_ADFS_FS is not set CONFIG_AFFS_FS=m CONFIG_ECRYPT_FS=m CONFIG_HFS_FS=m CONFIG_HFSPLUS_FS=m CONFIG_BEFS_FS=m # CONFIG_BEFS_DEBUG is not set CONFIG_BFS_FS=m CONFIG_EFS_FS=m CONFIG_JFFS2_FS=m CONFIG_JFFS2_FS_DEBUG=0 CONFIG_JFFS2_FS_WRITEBUFFER=y # CONFIG_JFFS2_FS_WBUF_VERIFY is not set CONFIG_JFFS2_SUMMARY=y CONFIG_JFFS2_FS_XATTR=y CONFIG_JFFS2_FS_POSIX_ACL=y CONFIG_JFFS2_FS_SECURITY=y # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set CONFIG_JFFS2_ZLIB=y # CONFIG_JFFS2_LZO is not set CONFIG_JFFS2_RTIME=y # CONFIG_JFFS2_RUBIN is not set CONFIG_UBIFS_FS=m CONFIG_UBIFS_FS_XATTR=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_LZO=y CONFIG_UBIFS_FS_ZLIB=y # CONFIG_UBIFS_FS_DEBUG is not set CONFIG_LOGFS=m CONFIG_CRAMFS=m CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTRS=y # CONFIG_SQUASHFS_EMBEDDED is not set CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 CONFIG_VXFS_FS=m CONFIG_MINIX_FS=m CONFIG_OMFS_FS=m # CONFIG_HPFS_FS is not set CONFIG_QNX4FS_FS=m CONFIG_ROMFS_FS=m CONFIG_ROMFS_BACKED_BY_BLOCK=y # CONFIG_ROMFS_BACKED_BY_MTD is not set # CONFIG_ROMFS_BACKED_BY_BOTH is not set CONFIG_ROMFS_ON_BLOCK=y CONFIG_SYSV_FS=m CONFIG_UFS_FS=m # CONFIG_UFS_FS_WRITE is not set # CONFIG_UFS_DEBUG is not set CONFIG_EXOFS_FS=m # CONFIG_EXOFS_DEBUG is not set CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=m CONFIG_NFS_V3=y CONFIG_NFS_V3_ACL=y CONFIG_NFS_V4=y CONFIG_NFS_V4_1=y CONFIG_NFS_FSCACHE=y CONFIG_NFSD=m CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y CONFIG_LOCKD=m CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=m CONFIG_NFS_ACL_SUPPORT=m CONFIG_NFS_COMMON=y CONFIG_SUNRPC=m CONFIG_SUNRPC_GSS=m CONFIG_SUNRPC_XPRT_RDMA=m CONFIG_RPCSEC_GSS_KRB5=m CONFIG_RPCSEC_GSS_SPKM3=m # CONFIG_SMB_FS is not set CONFIG_CEPH_FS=m CONFIG_CEPH_FS_PRETTYDEBUG=y CONFIG_CIFS=m CONFIG_CIFS_STATS=y # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y # CONFIG_CIFS_DEBUG2 is not set CONFIG_CIFS_DFS_UPCALL=y CONFIG_CIFS_EXPERIMENTAL=y CONFIG_NCP_FS=m CONFIG_NCPFS_PACKET_SIGNING=y CONFIG_NCPFS_IOCTL_LOCKING=y CONFIG_NCPFS_STRONG=y CONFIG_NCPFS_NFS_NS=y CONFIG_NCPFS_OS2_NS=y CONFIG_NCPFS_SMALLDOS=y CONFIG_NCPFS_NLS=y CONFIG_NCPFS_EXTRAS=y CONFIG_CODA_FS=m # CONFIG_AFS_FS is not set CONFIG_9P_FS=m CONFIG_9P_FSCACHE=y # # Partition Types # CONFIG_PARTITION_ADVANCED=y # CONFIG_ACORN_PARTITION is not set CONFIG_OSF_PARTITION=y 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=y CONFIG_SOLARIS_X86_PARTITION=y CONFIG_UNIXWARE_DISKLABEL=y # CONFIG_LDM_PARTITION is not set CONFIG_SGI_PARTITION=y # CONFIG_ULTRIX_PARTITION is not set CONFIG_SUN_PARTITION=y CONFIG_KARMA_PARTITION=y CONFIG_EFI_PARTITION=y # CONFIG_SYSV68_PARTITION is not set CONFIG_NLS=y CONFIG_NLS_DEFAULT="utf8" CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_775=m CONFIG_NLS_CODEPAGE_850=m CONFIG_NLS_CODEPAGE_852=m CONFIG_NLS_CODEPAGE_855=m CONFIG_NLS_CODEPAGE_857=m CONFIG_NLS_CODEPAGE_860=m CONFIG_NLS_CODEPAGE_861=m CONFIG_NLS_CODEPAGE_862=m CONFIG_NLS_CODEPAGE_863=m CONFIG_NLS_CODEPAGE_864=m CONFIG_NLS_CODEPAGE_865=m CONFIG_NLS_CODEPAGE_866=m CONFIG_NLS_CODEPAGE_869=m CONFIG_NLS_CODEPAGE_936=m CONFIG_NLS_CODEPAGE_950=m CONFIG_NLS_CODEPAGE_932=m CONFIG_NLS_CODEPAGE_949=m CONFIG_NLS_CODEPAGE_874=m CONFIG_NLS_ISO8859_8=m CONFIG_NLS_CODEPAGE_1250=m CONFIG_NLS_CODEPAGE_1251=m CONFIG_NLS_ASCII=y CONFIG_NLS_ISO8859_1=m CONFIG_NLS_ISO8859_2=m CONFIG_NLS_ISO8859_3=m CONFIG_NLS_ISO8859_4=m CONFIG_NLS_ISO8859_5=m CONFIG_NLS_ISO8859_6=m CONFIG_NLS_ISO8859_7=m CONFIG_NLS_ISO8859_9=m CONFIG_NLS_ISO8859_13=m CONFIG_NLS_ISO8859_14=m CONFIG_NLS_ISO8859_15=m CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m 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 is not set CONFIG_ENABLE_MUST_CHECK=y CONFIG_FRAME_WARN=1024 CONFIG_MAGIC_SYSRQ=y CONFIG_STRIP_ASM_SYMS=y CONFIG_UNUSED_SYMBOLS=y CONFIG_DEBUG_FS=y CONFIG_HEADERS_CHECK=y # CONFIG_IPIPE_DEBUG is not set CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_SHIRQ=y CONFIG_DETECT_SOFTLOCKUP=y # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 # CONFIG_DETECT_HUNG_TASK is not set CONFIG_SCHED_DEBUG=y CONFIG_SCHEDSTATS=y CONFIG_TIMER_STATS=y CONFIG_DEBUG_OBJECTS=y # CONFIG_DEBUG_OBJECTS_SELFTEST is not set CONFIG_DEBUG_OBJECTS_FREE=y CONFIG_DEBUG_OBJECTS_TIMERS=y CONFIG_DEBUG_OBJECTS_WORK=y CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 CONFIG_SLUB_DEBUG_ON=y # CONFIG_SLUB_STATS is not set # CONFIG_DEBUG_KMEMLEAK is not set CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_PI_LIST=y # CONFIG_RT_MUTEX_TESTER is not set CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_MUTEXES=y CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y CONFIG_PROVE_RCU=y # CONFIG_PROVE_RCU_REPEATEDLY is not set CONFIG_LOCKDEP=y CONFIG_LOCK_STAT=y # CONFIG_DEBUG_LOCKDEP is not set CONFIG_TRACE_IRQFLAGS=y CONFIG_DEBUG_SPINLOCK_SLEEP=y # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set CONFIG_STACKTRACE=y # CONFIG_DEBUG_KOBJECT is not set CONFIG_DEBUG_HIGHMEM=y CONFIG_DEBUG_BUGVERBOSE=y CONFIG_DEBUG_INFO=y CONFIG_DEBUG_VM=y # CONFIG_DEBUG_VIRTUAL is not set CONFIG_DEBUG_WRITECOUNT=y CONFIG_DEBUG_MEMORY_INIT=y CONFIG_DEBUG_LIST=y CONFIG_DEBUG_SG=y CONFIG_DEBUG_NOTIFIERS=y CONFIG_DEBUG_CREDENTIALS=y CONFIG_ARCH_WANT_FRAME_POINTERS=y CONFIG_FRAME_POINTER=y CONFIG_BOOT_PRINTK_DELAY=y # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_CPU_STALL_DETECTOR is not set # CONFIG_KPROBES_SANITY_TEST is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y # CONFIG_LKDTM is not set CONFIG_CPU_NOTIFIER_ERROR_INJECT=m CONFIG_FAULT_INJECTION=y CONFIG_FAILSLAB=y CONFIG_FAIL_PAGE_ALLOC=y CONFIG_FAIL_MAKE_REQUEST=y CONFIG_FAIL_IO_TIMEOUT=y CONFIG_FAULT_INJECTION_DEBUG_FS=y CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y CONFIG_LATENCYTOP=y CONFIG_SYSCTL_SYSCALL_CHECK=y # CONFIG_DEBUG_PAGEALLOC 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_TRACER_MAX_TRACE=y CONFIG_RING_BUFFER=y CONFIG_FTRACE_NMI_ENTER=y CONFIG_EVENT_TRACING=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_IRQSOFF_TRACER is not set CONFIG_SYSPROF_TRACER=y CONFIG_SCHED_TRACER=y CONFIG_FTRACE_SYSCALLS=y CONFIG_BOOT_TRACER=y CONFIG_BRANCH_PROFILE_NONE=y # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set # CONFIG_PROFILE_ALL_BRANCHES is not set CONFIG_KSYM_TRACER=y CONFIG_PROFILE_KSYM_TRACER=y CONFIG_STACK_TRACER=y CONFIG_KMEMTRACE=y CONFIG_WORKQUEUE_TRACER=y CONFIG_BLK_DEV_IO_TRACE=y CONFIG_KPROBE_EVENT=y 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=m # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set # CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set CONFIG_BUILD_DOCSRC=y CONFIG_DYNAMIC_DEBUG=y CONFIG_DMA_API_DEBUG=y CONFIG_ATOMIC64_SELFTEST=y # CONFIG_SAMPLES is not set CONFIG_HAVE_ARCH_KGDB=y CONFIG_KGDB=y CONFIG_KGDB_SERIAL_CONSOLE=y CONFIG_KGDB_TESTS=y # CONFIG_KGDB_TESTS_ON_BOOT is not set CONFIG_KGDB_LOW_LEVEL_TRAP=y CONFIG_KGDB_KDB=y CONFIG_KDB_KEYBOARD=y CONFIG_HAVE_ARCH_KMEMCHECK=y CONFIG_STRICT_DEVMEM=y # CONFIG_X86_VERBOSE_BOOTUP is not set CONFIG_EARLY_PRINTK=y CONFIG_EARLY_PRINTK_DBGP=y CONFIG_DEBUG_STACKOVERFLOW=y CONFIG_DEBUG_STACK_USAGE=y # CONFIG_DEBUG_PER_CPU_MAPS is not set CONFIG_X86_PTDUMP=y CONFIG_DEBUG_RODATA=y CONFIG_DEBUG_RODATA_TEST=y CONFIG_DEBUG_NX_TEST=m # CONFIG_4KSTACKS is not set CONFIG_DOUBLEFAULT=y # CONFIG_IOMMU_STRESS is not set CONFIG_HAVE_MMIOTRACE_SUPPORT=y CONFIG_X86_DECODER_SELFTEST=y CONFIG_IO_DELAY_TYPE_0X80=0 CONFIG_IO_DELAY_TYPE_0XED=1 CONFIG_IO_DELAY_TYPE_UDELAY=2 CONFIG_IO_DELAY_TYPE_NONE=3 CONFIG_IO_DELAY_0X80=y # CONFIG_IO_DELAY_0XED is not set # CONFIG_IO_DELAY_UDELAY is not set # CONFIG_IO_DELAY_NONE is not set CONFIG_DEFAULT_IO_DELAY_TYPE=0 CONFIG_DEBUG_BOOT_PARAMS=y # CONFIG_CPA_DEBUG is not set CONFIG_OPTIMIZE_INLINING=y CONFIG_DEBUG_STRICT_USER_COPY_CHECKS=y # # Security options # CONFIG_KEYS=y CONFIG_KEYS_DEBUG_PROC_KEYS=y CONFIG_SECURITY=y CONFIG_SECURITYFS=y CONFIG_SECURITY_NETWORK=y CONFIG_SECURITY_NETWORK_XFRM=y # CONFIG_SECURITY_PATH is not set # CONFIG_INTEL_TXT is not set CONFIG_LSM_MMAP_MIN_ADDR=65536 CONFIG_SECURITY_SELINUX=y CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 CONFIG_SECURITY_SELINUX_DISABLE=y CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_AVC_STATS=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set CONFIG_IMA=y CONFIG_IMA_MEASURE_PCR_IDX=10 CONFIG_IMA_AUDIT=y CONFIG_IMA_LSM_RULES=y CONFIG_DEFAULT_SECURITY_SELINUX=y # CONFIG_DEFAULT_SECURITY_SMACK is not set # CONFIG_DEFAULT_SECURITY_TOMOYO is not set # CONFIG_DEFAULT_SECURITY_DAC is not set CONFIG_DEFAULT_SECURITY="selinux" CONFIG_XOR_BLOCKS=m CONFIG_ASYNC_CORE=m CONFIG_ASYNC_MEMCPY=m CONFIG_ASYNC_XOR=m CONFIG_ASYNC_PQ=m CONFIG_ASYNC_RAID6_RECOV=m CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y CONFIG_CRYPTO=y # # Crypto core or helper # CONFIG_CRYPTO_FIPS=y CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y CONFIG_CRYPTO_AEAD=m CONFIG_CRYPTO_AEAD2=y CONFIG_CRYPTO_BLKCIPHER=m CONFIG_CRYPTO_BLKCIPHER2=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y CONFIG_CRYPTO_RNG=m CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_PCOMP=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y CONFIG_CRYPTO_MANAGER_TESTS=y CONFIG_CRYPTO_GF128MUL=m CONFIG_CRYPTO_NULL=m CONFIG_CRYPTO_PCRYPT=m CONFIG_CRYPTO_WORKQUEUE=y # CONFIG_CRYPTO_CRYPTD is not set CONFIG_CRYPTO_AUTHENC=m CONFIG_CRYPTO_TEST=m # # Authenticated Encryption with Associated Data # CONFIG_CRYPTO_CCM=m CONFIG_CRYPTO_GCM=m CONFIG_CRYPTO_SEQIV=m # # Block modes # CONFIG_CRYPTO_CBC=m CONFIG_CRYPTO_CTR=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_ECB=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m # # Hash modes # CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_VMAC=m # # Digest # CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32C_INTEL=m CONFIG_CRYPTO_GHASH=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m CONFIG_CRYPTO_RMD128=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RMD256=m CONFIG_CRYPTO_RMD320=m CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_TGR192=m CONFIG_CRYPTO_WP512=m # # Ciphers # CONFIG_CRYPTO_AES=m CONFIG_CRYPTO_AES_586=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SALSA20=m CONFIG_CRYPTO_SALSA20_586=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_586=m # # Compression # CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_ZLIB=m CONFIG_CRYPTO_LZO=m # # Random Number Generation # CONFIG_CRYPTO_ANSI_CPRNG=m CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_DEV_PADLOCK=m CONFIG_CRYPTO_DEV_PADLOCK_AES=m CONFIG_CRYPTO_DEV_PADLOCK_SHA=m CONFIG_CRYPTO_DEV_GEODE=m CONFIG_CRYPTO_DEV_HIFN_795X=m CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y CONFIG_HAVE_KVM=y CONFIG_HAVE_KVM_IRQCHIP=y CONFIG_HAVE_KVM_EVENTFD=y CONFIG_KVM_APIC_ARCHITECTURE=y CONFIG_KVM_MMIO=y CONFIG_VIRTUALIZATION=y CONFIG_KVM=m CONFIG_KVM_INTEL=m CONFIG_KVM_AMD=m CONFIG_VHOST_NET=m CONFIG_LGUEST=m CONFIG_VIRTIO=m CONFIG_VIRTIO_RING=m CONFIG_VIRTIO_PCI=m 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=y CONFIG_CRC_T10DIF=y CONFIG_CRC_ITU_T=m CONFIG_CRC32=y CONFIG_CRC7=m CONFIG_LIBCRC32C=m CONFIG_AUDIT_GENERIC=y CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=m CONFIG_LZO_COMPRESS=m CONFIG_LZO_DECOMPRESS=y CONFIG_DECOMPRESS_GZIP=y CONFIG_DECOMPRESS_BZIP2=y CONFIG_DECOMPRESS_LZMA=y CONFIG_DECOMPRESS_LZO=y CONFIG_GENERIC_ALLOCATOR=y CONFIG_REED_SOLOMON=m CONFIG_REED_SOLOMON_DEC16=y CONFIG_TEXTSEARCH=y CONFIG_TEXTSEARCH_KMP=m CONFIG_TEXTSEARCH_BM=m CONFIG_TEXTSEARCH_FSM=m CONFIG_BTREE=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y CONFIG_HAS_DMA=y CONFIG_CHECK_SIGNATURE=y CONFIG_NLATTR=y CONFIG_LRU_CACHE=m ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-10-28 15:05 ` Anders Blomdell @ 2010-10-28 15:09 ` Jan Kiszka 2010-10-28 15:18 ` Anders Blomdell 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-10-28 15:09 UTC (permalink / raw) To: Anders Blomdell; +Cc: xenomai Am 28.10.2010 17:05, Anders Blomdell wrote: > Current results: > > 1. 2.6.35.7, maxcpus=1; a few thousand rounds, freeze and this after > some time: > > BUG: spinlock lockup on CPU#0, raw_test/2924, c0a1b540 > Process raw_test (pid: 2924, ti=f18bc000 task=f1bdab00 task.ti=f18bc000) > I-pipe domain Xenomai > Stack: > Call Trace: > Code: d0 85 d8 74 0f ba 71 00 00 00 b8 78 a7 8f c0 e8 3b 03 02 00 a1 28 > f6 9f c0 89 f2 8b 48 20 89 d8 e8 ad fd ff ff 57 9d 8d 65 f4 5b <5e> 5f > 5d c3 90 55 89 e5 0f 1f 44 00 00 8b 0d 28 f6 9f c0 ba 00 > Please provide the full kernel log, ideally also with the I-pipe tracer (with panic tracing) enabled. > 2. 2.6.35.7, maxcpus=4; no packets sent, this on console: > > e1000: rteth0: e1000_clean_tx_irq: Detected Tx Unit Hang Err, is this another NIC used on this box? If yes and when used as RTnet NIC instead, does it trigger the same issue? > Tx Queue <0> > TDH <0> > TDT <10> > next_to_use <10> > next_to_clean <0> > buffer_info[next_to_clean] > time_stamp <362d2> > next_to_watch <0> > jiffies <368f8> > next_to_watch.status <0> > > Anders Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-10-28 15:09 ` Jan Kiszka @ 2010-10-28 15:18 ` Anders Blomdell 2010-10-28 15:34 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Anders Blomdell @ 2010-10-28 15:18 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai On 2010-10-28 17.09, Jan Kiszka wrote: > Am 28.10.2010 17:05, Anders Blomdell wrote: >> Current results: >> >> 1. 2.6.35.7, maxcpus=1; a few thousand rounds, freeze and this after >> some time: >> >> BUG: spinlock lockup on CPU#0, raw_test/2924, c0a1b540 >> Process raw_test (pid: 2924, ti=f18bc000 task=f1bdab00 task.ti=f18bc000) >> I-pipe domain Xenomai >> Stack: >> Call Trace: >> Code: d0 85 d8 74 0f ba 71 00 00 00 b8 78 a7 8f c0 e8 3b 03 02 00 a1 28 >> f6 9f c0 89 f2 8b 48 20 89 d8 e8 ad fd ff ff 57 9d 8d 65 f4 5b <5e> 5f >> 5d c3 90 55 89 e5 0f 1f 44 00 00 8b 0d 28 f6 9f c0 ba 00 >> > > Please provide the full kernel log, ideally also with the I-pipe tracer > (with panic tracing) enabled. Will reconfigure/recompile and do that, with full kernel log do you mean all bootup info? > >> 2. 2.6.35.7, maxcpus=4; no packets sent, this on console: >> >> e1000: rteth0: e1000_clean_tx_irq: Detected Tx Unit Hang > > Err, is this another NIC used on this box? If yes and when used as RTnet > NIC instead, does it trigger the same issue? Switched the eepro100 to a e1000, and got same user program issues (indicating ipipe/rtdm/rtnet_stack issues and not a specific driver), have not switched back yet, will do if you rather want that. > >> Tx Queue <0> >> TDH <0> >> TDT <10> >> next_to_use <10> >> next_to_clean <0> >> buffer_info[next_to_clean] >> time_stamp <362d2> >> next_to_watch <0> >> jiffies <368f8> >> next_to_watch.status <0> /Anders -- Anders Blomdell Email: anders.blomdell@domain.hid Department of Automatic Control Lund University Phone: +46 46 222 4625 P.O. Box 118 Fax: +46 46 138118 SE-221 00 Lund, Sweden ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-10-28 15:18 ` Anders Blomdell @ 2010-10-28 15:34 ` Jan Kiszka 2010-10-29 17:42 ` Anders Blomdell 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-10-28 15:34 UTC (permalink / raw) To: Anders Blomdell; +Cc: xenomai@xenomai.org Am 28.10.2010 17:18, Anders Blomdell wrote: > On 2010-10-28 17.09, Jan Kiszka wrote: >> Am 28.10.2010 17:05, Anders Blomdell wrote: >>> Current results: >>> >>> 1. 2.6.35.7, maxcpus=1; a few thousand rounds, freeze and this after >>> some time: >>> >>> BUG: spinlock lockup on CPU#0, raw_test/2924, c0a1b540 >>> Process raw_test (pid: 2924, ti=f18bc000 task=f1bdab00 task.ti=f18bc000) >>> I-pipe domain Xenomai >>> Stack: >>> Call Trace: >>> Code: d0 85 d8 74 0f ba 71 00 00 00 b8 78 a7 8f c0 e8 3b 03 02 00 a1 28 >>> f6 9f c0 89 f2 8b 48 20 89 d8 e8 ad fd ff ff 57 9d 8d 65 f4 5b <5e> 5f >>> 5d c3 90 55 89 e5 0f 1f 44 00 00 8b 0d 28 f6 9f c0 ba 00 >>> >> >> Please provide the full kernel log, ideally also with the I-pipe tracer >> (with panic tracing) enabled. > Will reconfigure/recompile and do that, with full kernel log do you mean all > bootup info? That's best to avoid missing some detail or doing Q&A ping-pong. >> >>> 2. 2.6.35.7, maxcpus=4; no packets sent, this on console: >>> >>> e1000: rteth0: e1000_clean_tx_irq: Detected Tx Unit Hang >> >> Err, is this another NIC used on this box? If yes and when used as RTnet >> NIC instead, does it trigger the same issue? > Switched the eepro100 to a e1000, and got same user program issues (indicating > ipipe/rtdm/rtnet_stack issues and not a specific driver), have not switched back > yet, will do if you rather want that. As both NICs are apparently affected, just stick with one. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-10-28 15:34 ` Jan Kiszka @ 2010-10-29 17:42 ` Anders Blomdell 2010-10-29 18:06 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Anders Blomdell @ 2010-10-29 17:42 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 347 bytes --] Jan Kiszka wrote: >>> Please provide the full kernel log, ideally also with the I-pipe tracer >>> (with panic tracing) enabled. >> Will reconfigure/recompile and do that, with full kernel log do you mean all >> bootup info? > > That's best to avoid missing some detail or doing Q&A ping-pong. Full trace attached (finally...) Regards Anders [-- Attachment #2: xenomai-2010-10-29 --] [-- Type: text/plain, Size: 91420 bytes --] Initializing cgroup subsys cpuset Initializing cgroup subsys cpu Linux version 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace (andersb@domain.hidn) (gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC) ) #1 SMP Fri Oct 29 11:02:56 CEST 2010 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 00000000ce7b4000 (usable) BIOS-e820: 00000000ce7b4000 - 00000000ce877000 (ACPI NVS) BIOS-e820: 00000000ce877000 - 00000000cfa9e000 (usable) BIOS-e820: 00000000cfa9e000 - 00000000cfaa0000 (reserved) BIOS-e820: 00000000cfaa0000 - 00000000cfb8e000 (usable) BIOS-e820: 00000000cfb8e000 - 00000000cfbe5000 (ACPI NVS) BIOS-e820: 00000000cfbe5000 - 00000000cfbe8000 (usable) BIOS-e820: 00000000cfbe8000 - 00000000cfbf3000 (ACPI data) BIOS-e820: 00000000cfbf3000 - 00000000cfbf4000 (usable) BIOS-e820: 00000000cfbf4000 - 00000000cfbff000 (ACPI data) BIOS-e820: 00000000cfbff000 - 00000000cfc00000 (usable) BIOS-e820: 00000000cfc00000 - 00000000d0000000 (reserved) BIOS-e820: 00000000f0000000 - 00000000f8000000 (reserved) BIOS-e820: 00000000fff00000 - 0000000100000000 (reserved) BIOS-e820: 0000000100000000 - 000000012c000000 (usable) NX (Execute Disable) protection: active DMI 2.4 present. e820 update range: 0000000000000000 - 0000000000001000 (usable) ==> (reserved) e820 remove range: 00000000000a0000 - 0000000000100000 (usable) last_pfn = 0x12c000 max_arch_pfn = 0x1000000 MTRR default type: write-back MTRR fixed ranges enabled: 00000-9FFFF write-back A0000-BFFFF uncachable C0000-DFFFF write-protect E0000-FFFFF uncachable MTRR variable ranges enabled: 0 base 0CFF00000 mask FFFF00000 uncachable 1 base 0D0000000 mask FF0000000 uncachable 2 base 0E0000000 mask FE0000000 uncachable 3 base 0CFBAC000 mask FFFFFF000 write-back 4 disabled 5 disabled 6 disabled 7 disabled x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106 initial memory mapped : 0 - 01800000 found SMP MP-table at [c00fe200] fe200 init_memory_mapping: 0000000000000000-00000000375fe000 0000000000 - 0000200000 page 4k 0000200000 - 0037400000 page 2M 0037400000 - 00375fe000 page 4k kernel direct mapping tables up to 375fe000 @ 7000-f000 RAMDISK: 373ae000 - 37ff0000 Allocated new RAMDISK: 01368000 - 01fa9a4d Move RAMDISK from 00000000373ae000 - 0000000037fefa4c to 01368000 - 01fa9a4c ACPI: RSDP 000fe020 00014 (v00 INTEL ) ACPI: RSDT cfbfd038 00064 (v01 INTEL DP35DP 000001B5 01000013) ACPI: FACP cfbfc000 00074 (v01 INTEL DP35DP 000001B5 MSFT 01000013) ACPI: DSDT cfbf8000 03DB9 (v01 INTEL DP35DP 000001B5 MSFT 01000013) ACPI: FACS cfb99000 00040 ACPI: APIC cfbf7000 00078 (v01 INTEL DP35DP 000001B5 MSFT 01000013) ACPI: WDDT cfbf6000 00040 (v01 INTEL DP35DP 000001B5 MSFT 01000013) ACPI: MCFG cfbf5000 0003C (v01 INTEL DP35DP 000001B5 MSFT 01000013) ACPI: ASF! cfbf4000 000A6 (v32 INTEL DP35DP 000001B5 MSFT 01000013) ACPI: ASPT cfbf2000 0002C (v01 INTEL DP35DP 000001B5 MSFT 01000013) ACPI: WDTT cfbf1000 002CC (v01 INTEL DP35DP 000001B5 MSFT 01000013) ACPI: SSDT cfbf0000 00204 (v01 INTEL CpuPm 000001B5 MSFT 01000013) ACPI: SSDT cfbef000 001F9 (v01 INTEL Cpu0Ist 000001B5 MSFT 01000013) ACPI: SSDT cfbee000 001F9 (v01 INTEL Cpu1Ist 000001B5 MSFT 01000013) ACPI: SSDT cfbed000 001F9 (v01 INTEL Cpu2Ist 000001B5 MSFT 01000013) ACPI: SSDT cfbec000 001F9 (v01 INTEL Cpu3Ist 000001B5 MSFT 01000013) ACPI: SSDT cfbeb000 001CF (v01 INTEL Cpu0Cst 000001B5 MSFT 01000013) ACPI: SSDT cfbea000 001CF (v01 INTEL Cpu1Cst 000001B5 MSFT 01000013) ACPI: SSDT cfbe9000 001CF (v01 INTEL Cpu2Cst 000001B5 MSFT 01000013) ACPI: SSDT cfbe8000 001CF (v01 INTEL Cpu3Cst 000001B5 MSFT 01000013) ACPI: Local APIC address 0xfee00000 3914MB HIGHMEM available. 885MB LOWMEM available. mapped low ram: 0 - 375fe000 low ram: 0 - 375fe000 node 0 low ram: 00000000 - 375fe000 node 0 bootmap 0000b000 - 00011ec0 (12/32 early reservations) ==> bootmem [0000000000 - 00375fe000] #0 [0000001000 - 0000002000] EX TRAMPOLINE ==> [0000001000 - 0000002000] #1 [0000400000 - 000135aacc] TEXT DATA BSS ==> [0000400000 - 000135aacc] #2 [000135b000 - 0001367136] BRK ==> [000135b000 - 0001367136] #3 [000009fc00 - 00000fe200] BIOS reserved ==> [000009fc00 - 00000fe200] #4 [00000fe200 - 00000fe210] MP-table mpf ==> [00000fe200 - 00000fe210] #5 [00000fe250 - 0000100000] BIOS reserved ==> [00000fe250 - 0000100000] #6 [00000fe210 - 00000fe250] MP-table mpc ==> [00000fe210 - 00000fe250] #7 [0000002000 - 0000003000] TRAMPOLINE ==> [0000002000 - 0000003000] #8 [0000003000 - 0000007000] ACPI WAKEUP ==> [0000003000 - 0000007000] #9 [0000007000 - 000000b000] PGTABLE ==> [0000007000 - 000000b000] #10 [0001368000 - 0001faa000] NEW RAMDISK ==> [0001368000 - 0001faa000] #11 [000000b000 - 0000012000] BOOTMAP ==> [000000b000 - 0000012000] Zone PFN ranges: DMA 0x00000001 -> 0x00001000 Normal 0x00001000 -> 0x000375fe HighMem 0x000375fe -> 0x0012c000 Movable zone start PFN for each node early_node_map[8] active PFN ranges 0: 0x00000001 -> 0x0000009f 0: 0x00000100 -> 0x000ce7b4 0: 0x000ce877 -> 0x000cfa9e 0: 0x000cfaa0 -> 0x000cfb8e 0: 0x000cfbe5 -> 0x000cfbe8 0: 0x000cfbf3 -> 0x000cfbf4 0: 0x000cfbff -> 0x000cfc00 0: 0x00100000 -> 0x0012c000 On node 0 totalpages: 1030764 free_area_init_node: node 0, pgdat c0a3f880, node_mem_map c1fab020 DMA zone: 32 pages used for memmap DMA zone: 0 pages reserved DMA zone: 3966 pages, LIFO batch:0 Normal zone: 1740 pages used for memmap Normal zone: 220978 pages, LIFO batch:31 HighMem zone: 7829 pages used for memmap HighMem zone: 796219 pages, LIFO batch:31 Using APIC driver default ACPI: PM-Timer IO Port: 0x408 ACPI: Local APIC address 0xfee00000 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled) ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1]) ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1]) ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) ACPI: IRQ0 used by override. ACPI: IRQ2 used by override. ACPI: IRQ9 used by override. Using ACPI (MADT) for SMP configuration information SMP: Allowing 4 CPUs, 0 hotplug CPUs nr_irqs_gsi: 40 PM: Registered nosave memory: 000000000009f000 - 00000000000a0000 PM: Registered nosave memory: 00000000000a0000 - 00000000000e0000 PM: Registered nosave memory: 00000000000e0000 - 0000000000100000 Allocating PCI resources starting at d0000000 (gap: d0000000:20000000) setup_percpu: NR_CPUS:32 nr_cpumask_bits:32 nr_cpu_ids:4 nr_node_ids:1 PERCPU: Embedded 340 pages/cpu @c4600000 s1368384 r0 d24256 u2097152 pcpu-alloc: s1368384 r0 d24256 u2097152 alloc=1*2097152 pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 1021163 Kernel command line: ro root=UUID=c3fb4b4b-4e9c-477c-8e9a-0a95d05f8e08 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=sv-latin1 8250.nr_uarts=20 console=ttyS4,115200 loglevel=8 maxcpus=1 PID hash table entries: 4096 (order: 2, 16384 bytes) Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Initializing CPU#0 allocated 24575980 bytes of page_cgroup please try 'cgroup_disable=memory' option if you don't want memory cgroups Initializing HighMem for node 0 (000375fe:0012c000) Memory: 4025832k/4915200k available (3947k kernel code, 97224k reserved, 2575k data, 1860k init, 3216192k highmem) virtual kernel memory layout: fixmap : 0xffa96000 - 0xfffff000 (5540 kB) pkmap : 0xff600000 - 0xff800000 (2048 kB) vmalloc : 0xf7dfe000 - 0xff5fe000 ( 120 MB) lowmem : 0xc0000000 - 0xf75fe000 ( 885 MB) .init : 0xc0a5f000 - 0xc0c30000 (1860 kB) .data : 0xc07dae37 - 0xc0a5ea40 (2575 kB) .text : 0xc0400000 - 0xc07dae37 (3947 kB) Checking if this processor honours the WP bit even in supervisor mode...Ok. SLUB: Genslabs=13, HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 Hierarchical RCU implementation. RCU dyntick-idle grace-period acceleration is enabled. RCU lockdep checking is enabled. RCU-based detection of stalled CPUs is disabled. Verbose stalled-CPUs detection is disabled. NR_IRQS:1280 I-pipe 2.7-04: pipeline enabled. Console: colour VGA+ 80x25 Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar ... MAX_LOCKDEP_SUBCLASSES: 8 ... MAX_LOCK_DEPTH: 48 ... MAX_LOCKDEP_KEYS: 8191 ... CLASSHASH_SIZE: 4096 ... MAX_LOCKDEP_ENTRIES: 16384 ... MAX_LOCKDEP_CHAINS: 32768 ... CHAINHASH_SIZE: 16384 memory used by lock dependency info: 3823 kB per task-struct memory footprint: 1920 bytes ODEBUG: 29 of 29 active objects replaced Fast TSC calibration using PIT Detected 2400.116 MHz processor. Calibrating delay loop (skipped), value calculated using timer frequency.. 4800.23 BogoMIPS (lpj=2400116) pid_max: default: 32768 minimum: 301 Security Framework initialized SELinux: Initializing. SELinux: Starting in permissive mode Mount-cache hash table entries: 512 Initializing cgroup subsys ns Initializing cgroup subsys cpuacct Initializing cgroup subsys memory Initializing cgroup subsys devices Initializing cgroup subsys freezer Initializing cgroup subsys net_cls Initializing cgroup subsys blkio CPU: Physical Processor ID: 0 CPU: Processor Core ID: 0 mce: CPU supports 6 MCE banks CPU0: Thermal monitoring enabled (TM2) Performance Events: PEBS fmt0+, Core2 events, Intel PMU driver. PEBS disabled due to CPU errata. ... version: 2 ... bit width: 40 ... generic registers: 2 ... value mask: 000000ffffffffff ... max period: 000000007fffffff ... fixed-purpose events: 3 ... event mask: 0000000700000003 lockdep: fixing up alternatives. SMP alternatives: switching to UP code ACPI: Core revision 20100428 ftrace: converting mcount calls to 0f 1f 44 00 00 ftrace: allocating 20823 entries in 41 pages Enabling APIC mode: Flat. Using 1 I/O APICs ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 ..MP-BIOS bug: 8254 timer not connected to IO-APIC ...trying to set up timer (IRQ0) through the 8259A ... ..... (found apic 0 pin 2) ... ....... works. CPU0: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz stepping 0b APIC calibration not consistent with PM-Timer: 103ms instead of 100ms APIC delta adjusted to PM-Timer: 1666723 (1733126) Brought up 1 CPUs Total of 1 processors activated (4800.23 BogoMIPS). devtmpfs: initialized atomic64 test passed for i586+ platform with CX8 and with SSE Time: 17:27:12 Date: 10/29/10 NET: Registered protocol family 16 =================================================== [ INFO: suspicious rcu_dereference_check() usage. ] --------------------------------------------------- include/linux/cgroup.h:542 invoked rcu_dereference_check() without protection! other info that might help us debug this: rcu_scheduler_active = 1, debug_locks = 0 1 lock held by swapper/1: #0: (net_mutex){+.+.+.}, at: [<c073d522>] register_pernet_subsys+0x17/0x35 stack backtrace: Pid: 1, comm: swapper Not tainted 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace #1 Call Trace: [<c0461980>] lockdep_rcu_dereference+0x7d/0x86 [<c0736141>] sock_update_classid+0x8c/0x92 [<c0737157>] sk_alloc+0x5b/0x66 [<c0758c1d>] __netlink_create+0x2a/0x90 [<c075ab3d>] netlink_kernel_create+0x5f/0x14e [<c074995e>] rtnetlink_net_init+0x23/0x3b [<c074ae31>] ? rtnetlink_rcv+0x0/0x27 [<c073d261>] ops_init+0xe3/0xeb [<c073d454>] register_pernet_operations+0x82/0xed [<c073d52e>] register_pernet_subsys+0x23/0x35 [<c0a949ef>] rtnetlink_init+0x42/0xe0 [<c0a9505d>] netlink_proto_init+0xf2/0x106 [<c0a94f6b>] ? netlink_proto_init+0x0/0x106 [<c0401154>] do_one_initcall+0x62/0x187 [<c0a5f39b>] kernel_init+0x149/0x1ca [<c0a5f252>] ? kernel_init+0x0/0x1ca [<c0402f16>] kernel_thread_helper+0x6/0x10 ACPI: bus type pci registered PCI: MMCONFIG for domain 0000 [bus 00-7f] at [mem 0xf0000000-0xf7ffffff] (base 0xf0000000) PCI: MMCONFIG at [mem 0xf0000000-0xf7ffffff] reserved in E820 PCI: Using MMCONFIG for extended config space PCI: Using configuration type 1 for base access bio: create slab <bio-0> at 0 ACPI: EC: Look up EC in DSDT ACPI: Interpreter enabled ACPI: (supports S0 S1 S3 S4 S5) ACPI: Using IOAPIC for interrupt routing ACPI: No dock devices found. PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff]) pci_root PNP0A03:00: host bridge window [io 0x0000-0x0cf7] pci_root PNP0A03:00: host bridge window [io 0x0d00-0xffff] pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff] pci_root PNP0A03:00: host bridge window [mem 0x000e0000-0x000effff] pci_root PNP0A03:00: host bridge window [mem 0xf8000000-0xfeafffff] pci_root PNP0A03:00: host bridge window [mem 0xd0000000-0xefffffff] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold pci 0000:00:01.0: PME# disabled pci 0000:00:03.0: reg 10: [mem 0xe2325900-0xe232590f 64bit] pci 0000:00:03.0: PME# supported from D0 D3hot D3cold pci 0000:00:03.0: PME# disabled pci 0000:00:19.0: reg 10: [mem 0xe2300000-0xe231ffff] pci 0000:00:19.0: reg 14: [mem 0xe2324000-0xe2324fff] pci 0000:00:19.0: reg 18: [io 0x40e0-0x40ff] pci 0000:00:19.0: PME# supported from D0 D3hot D3cold pci 0000:00:19.0: PME# disabled pci 0000:00:1a.0: reg 20: [io 0x40c0-0x40df] pci 0000:00:1a.1: reg 20: [io 0x40a0-0x40bf] pci 0000:00:1a.2: reg 20: [io 0x4080-0x409f] pci 0000:00:1a.7: reg 10: [mem 0xe2325400-0xe23257ff] pci 0000:00:1a.7: PME# supported from D0 D3hot D3cold pci 0000:00:1a.7: PME# disabled pci 0000:00:1b.0: reg 10: [mem 0xe2320000-0xe2323fff 64bit] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold pci 0000:00:1b.0: PME# disabled pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold pci 0000:00:1c.0: PME# disabled pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold pci 0000:00:1c.1: PME# disabled pci 0000:00:1c.2: PME# supported from D0 D3hot D3cold pci 0000:00:1c.2: PME# disabled pci 0000:00:1c.3: PME# supported from D0 D3hot D3cold pci 0000:00:1c.3: PME# disabled pci 0000:00:1c.4: PME# supported from D0 D3hot D3cold pci 0000:00:1c.4: PME# disabled pci 0000:00:1d.0: reg 20: [io 0x4060-0x407f] pci 0000:00:1d.1: reg 20: [io 0x4040-0x405f] pci 0000:00:1d.2: reg 20: [io 0x4020-0x403f] pci 0000:00:1d.7: reg 10: [mem 0xe2325000-0xe23253ff] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold pci 0000:00:1d.7: PME# disabled pci 0000:00:1f.0: Force enabled HPET at 0xfed00000 pci 0000:00:1f.0: quirk: [io 0x0400-0x047f] claimed by ICH6 ACPI/GPIO/TCO pci 0000:00:1f.0: quirk: [io 0x0500-0x053f] claimed by ICH6 GPIO pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at 0680 (mask 007f) pci 0000:00:1f.0: ICH7 LPC Generic IO decode 2 PIO at 0810 (mask 007f) pci 0000:00:1f.2: reg 10: [io 0x4458-0x445f] pci 0000:00:1f.2: reg 14: [io 0x446c-0x446f] pci 0000:00:1f.2: reg 18: [io 0x4450-0x4457] pci 0000:00:1f.2: reg 1c: [io 0x4468-0x446b] pci 0000:00:1f.2: reg 20: [io 0x4430-0x443f] pci 0000:00:1f.2: reg 24: [io 0x4420-0x442f] pci 0000:00:1f.3: reg 10: [mem 0xe2325800-0xe23258ff 64bit] pci 0000:00:1f.3: reg 20: [io 0x4000-0x401f] pci 0000:00:1f.5: reg 10: [io 0x4448-0x444f] pci 0000:00:1f.5: reg 14: [io 0x4464-0x4467] pci 0000:00:1f.5: reg 18: [io 0x4440-0x4447] pci 0000:00:1f.5: reg 1c: [io 0x4460-0x4463] pci 0000:00:1f.5: reg 20: [io 0x4410-0x441f] pci 0000:00:1f.5: reg 24: [io 0x4400-0x440f] pci 0000:01:00.0: reg 10: [mem 0xe1000000-0xe1ffffff] pci 0000:01:00.0: reg 14: [mem 0xd0000000-0xdfffffff 64bit pref] pci 0000:01:00.0: reg 1c: [mem 0xe0000000-0xe0ffffff 64bit] pci 0000:01:00.0: reg 30: [mem 0xfffe0000-0xffffffff pref] pci 0000:01:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force' pci 0000:00:01.0: PCI bridge to [bus 01-01] pci 0000:00:01.0: bridge window [io 0xf000-0x0000] (disabled) pci 0000:00:01.0: bridge window [mem 0xe0000000-0xe1ffffff] pci 0000:00:01.0: bridge window [mem 0xd0000000-0xdfffffff 64bit pref] pci 0000:00:1c.0: PCI bridge to [bus 02-02] pci 0000:00:1c.0: bridge window [io 0xf000-0x0000] (disabled) pci 0000:00:1c.0: bridge window [mem 0xfff00000-0x000fffff] (disabled) pci 0000:00:1c.0: bridge window [mem 0xfff00000-0x000fffff pref] (disabled) pci 0000:03:00.0: reg 10: [io 0x3018-0x301f] pci 0000:03:00.0: reg 14: [io 0x3024-0x3027] pci 0000:03:00.0: reg 18: [io 0x3010-0x3017] pci 0000:03:00.0: reg 1c: [io 0x3020-0x3023] pci 0000:03:00.0: reg 20: [io 0x3000-0x300f] pci 0000:03:00.0: reg 24: [mem 0xe2200000-0xe22001ff] pci 0000:03:00.0: supports D1 pci 0000:03:00.0: PME# supported from D0 D1 D3hot pci 0000:03:00.0: PME# disabled pci 0000:03:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force' pci 0000:00:1c.1: PCI bridge to [bus 03-03] pci 0000:00:1c.1: bridge window [io 0x3000-0x3fff] pci 0000:00:1c.1: bridge window [mem 0xe2200000-0xe22fffff] pci 0000:00:1c.1: bridge window [mem 0xfff00000-0x000fffff pref] (disabled) pci 0000:00:1c.2: PCI bridge to [bus 04-04] pci 0000:00:1c.2: bridge window [io 0xf000-0x0000] (disabled) pci 0000:00:1c.2: bridge window [mem 0xfff00000-0x000fffff] (disabled) pci 0000:00:1c.2: bridge window [mem 0xfff00000-0x000fffff pref] (disabled) pci 0000:00:1c.3: PCI bridge to [bus 05-05] pci 0000:00:1c.3: bridge window [io 0xf000-0x0000] (disabled) pci 0000:00:1c.3: bridge window [mem 0xfff00000-0x000fffff] (disabled) pci 0000:00:1c.3: bridge window [mem 0xfff00000-0x000fffff pref] (disabled) pci 0000:06:00.0: reg 10: [io 0x2010-0x2017] pci 0000:06:00.0: reg 14: [mem 0xe2105000-0xe2105fff] pci 0000:06:00.0: reg 20: [mem 0xe2104000-0xe2104fff] pci 0000:06:00.0: supports D1 D2 pci 0000:06:00.0: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:06:00.0: PME# disabled pci 0000:06:00.1: reg 10: [io 0x2008-0x200f] pci 0000:06:00.1: reg 14: [mem 0xe2103000-0xe2103fff] pci 0000:06:00.1: reg 20: [mem 0xe2102000-0xe2102fff] pci 0000:06:00.1: supports D1 D2 pci 0000:06:00.1: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:06:00.1: PME# disabled pci 0000:06:00.2: reg 10: [io 0x2000-0x2007] pci 0000:06:00.2: reg 14: [io 0x2018-0x201b] pci 0000:06:00.2: reg 18: [mem 0xe2101000-0xe2101fff] pci 0000:06:00.2: reg 20: [mem 0xe2100000-0xe2100fff] pci 0000:06:00.2: supports D1 D2 pci 0000:06:00.2: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:06:00.2: PME# disabled pci 0000:06:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force' pci 0000:00:1c.4: PCI bridge to [bus 06-06] pci 0000:00:1c.4: bridge window [io 0x2000-0x2fff] pci 0000:00:1c.4: bridge window [mem 0xe2100000-0xe21fffff] pci 0000:00:1c.4: bridge window [mem 0xfff00000-0x000fffff pref] (disabled) pci 0000:07:00.0: reg 10: [mem 0xe2044000-0xe2044fff] pci 0000:07:00.0: supports D1 D2 pci 0000:07:00.0: PME# supported from D0 D1 D2 D3hot pci 0000:07:00.0: PME# disabled pci 0000:07:01.0: reg 10: [mem 0xe2020000-0xe203ffff] pci 0000:07:01.0: reg 14: [mem 0xe2000000-0xe201ffff] pci 0000:07:01.0: reg 18: [io 0x1000-0x103f] pci 0000:07:01.0: reg 30: [mem 0xfffe0000-0xffffffff pref] pci 0000:07:01.0: PME# supported from D0 D3hot D3cold pci 0000:07:01.0: PME# disabled pci 0000:07:02.0: reg 10: [io 0x0000-0x0007] pci 0000:07:02.0: reg 14: [io 0x0000-0x0007] pci 0000:07:02.0: reg 18: [io 0x0000-0x0007] pci 0000:07:02.0: reg 1c: [io 0x0000-0x0007] pci 0000:07:02.1: reg 10: [io 0x0000-0x0007] pci 0000:07:02.1: reg 14: [io 0x0000-0x0007] pci 0000:07:02.1: reg 18: [io 0x0000-0x0007] pci 0000:07:02.1: reg 1c: [io 0x0000-0x0007] pci 0000:07:03.0: reg 10: [mem 0xe2045000-0xe20457ff] pci 0000:07:03.0: reg 14: [mem 0xe2040000-0xe2043fff] pci 0000:07:03.0: supports D1 D2 pci 0000:07:03.0: PME# supported from D0 D1 D2 D3hot pci 0000:07:03.0: PME# disabled pci 0000:00:1e.0: PCI bridge to [bus 07-07] (subtractive decode) pci 0000:00:1e.0: bridge window [io 0x1000-0x1fff] pci 0000:00:1e.0: bridge window [mem 0xe2000000-0xe20fffff] pci 0000:00:1e.0: bridge window [mem 0xfff00000-0x000fffff pref] (disabled) pci 0000:00:1e.0: bridge window [io 0x0000-0x0cf7] (subtractive decode) pci 0000:00:1e.0: bridge window [io 0x0d00-0xffff] (subtractive decode) pci 0000:00:1e.0: bridge window [mem 0x000a0000-0x000bffff] (subtractive decode) pci 0000:00:1e.0: bridge window [mem 0x000e0000-0x000effff] (subtractive decode) pci 0000:00:1e.0: bridge window [mem 0xf8000000-0xfeafffff] (subtractive decode) pci 0000:00:1e.0: bridge window [mem 0xd0000000-0xefffffff] (subtractive decode) pci_bus 0000:00: on NUMA node 0 ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P32_._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX0._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX1._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX2._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX3._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX4._PRT] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 9 10 *11 12) ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 *9 10 11 12) ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 9 *10 11 12) ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 9 10 *11 12) ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 *9 10 11 12) ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 9 10 *11 12) ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 7 9 *10 11 12) ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 7 9 10 *11 12) HEST: Table is not found! vgaarb: device added: PCI:0000:01:00.0,decodes=io+mem,owns=io+mem,locks=none vgaarb: loaded SCSI subsystem initialized libata version 3.00 loaded. usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb PCI: Using ACPI for IRQ routing PCI: pci_cache_line_size set to 64 bytes reserve RAM buffer: 000000000009fc00 - 000000000009ffff reserve RAM buffer: 00000000ce7b4000 - 00000000cfffffff reserve RAM buffer: 00000000cfa9e000 - 00000000cfffffff reserve RAM buffer: 00000000cfb8e000 - 00000000cfffffff reserve RAM buffer: 00000000cfbe8000 - 00000000cfffffff reserve RAM buffer: 00000000cfbf4000 - 00000000cfffffff reserve RAM buffer: 00000000cfc00000 - 00000000cfffffff NetLabel: Initializing NetLabel: domain hash size = 128 NetLabel: protocols = UNLABELED CIPSOv4 NetLabel: unlabeled traffic allowed by default hpet clockevent registered HPET: 4 timers in total, 0 timers will be used for per-cpu timer hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0 hpet0: 4 comparators, 64-bit 14.318180 MHz counter Switching to clocksource tsc pnp: PnP ACPI init ACPI: bus type pnp registered pnp: PnP ACPI: found 10 devices ACPI: ACPI bus type pnp unregistered system 00:01: [mem 0xf0000000-0xf7ffffff] has been reserved system 00:01: [mem 0xfeb00000-0xfeb03fff] has been reserved system 00:01: [mem 0xfed13000-0xfed13fff] has been reserved system 00:01: [mem 0xfed14000-0xfed17fff] has been reserved system 00:01: [mem 0xfed18000-0xfed18fff] has been reserved system 00:01: [mem 0xfed19000-0xfed19fff] has been reserved system 00:01: [mem 0xfed1c000-0xfed1ffff] has been reserved system 00:01: [mem 0xfed20000-0xfed3ffff] has been reserved system 00:01: [mem 0xfed45000-0xfed99fff] has been reserved system 00:01: [mem 0x000c0000-0x000dffff] could not be reserved system 00:01: [mem 0x000e0000-0x000fffff] could not be reserved system 00:01: [mem 0xffc00000-0xffffffff] could not be reserved system 00:06: [io 0x0500-0x053f] has been reserved system 00:06: [io 0x0400-0x047f] has been reserved system 00:06: [io 0x0680-0x06ff] has been reserved pci 0000:01:00.0: no compatible bridge window for [mem 0xfffe0000-0xffffffff pref] pci 0000:07:01.0: no compatible bridge window for [mem 0xfffe0000-0xffffffff pref] pci 0000:00:1c.0: BAR 14: assigned [mem 0xf8000000-0xf81fffff] pci 0000:00:1c.0: BAR 15: assigned [mem 0xf8200000-0xf83fffff 64bit pref] pci 0000:00:1c.1: BAR 15: assigned [mem 0xf8400000-0xf85fffff 64bit pref] pci 0000:00:1c.2: BAR 14: assigned [mem 0xf8600000-0xf87fffff] pci 0000:00:1c.2: BAR 15: assigned [mem 0xf8800000-0xf89fffff 64bit pref] pci 0000:00:1c.3: BAR 14: assigned [mem 0xf8a00000-0xf8bfffff] pci 0000:00:1c.3: BAR 15: assigned [mem 0xf8c00000-0xf8dfffff 64bit pref] pci 0000:00:1c.4: BAR 15: assigned [mem 0xf8e00000-0xf8ffffff 64bit pref] pci 0000:00:1e.0: BAR 15: assigned [mem 0xf9000000-0xf90fffff pref] pci 0000:00:1c.0: BAR 13: assigned [io 0x5000-0x5fff] pci 0000:00:1c.2: BAR 13: assigned [io 0x6000-0x6fff] pci 0000:00:1c.3: BAR 13: assigned [io 0x7000-0x7fff] pci 0000:01:00.0: BAR 6: can't assign mem pref (size 0x20000) pci 0000:00:01.0: PCI bridge to [bus 01-01] pci 0000:00:01.0: bridge window [io disabled] pci 0000:00:01.0: bridge window [mem 0xe0000000-0xe1ffffff] pci 0000:00:01.0: bridge window [mem 0xd0000000-0xdfffffff 64bit pref] pci 0000:00:1c.0: PCI bridge to [bus 02-02] pci 0000:00:1c.0: bridge window [io 0x5000-0x5fff] pci 0000:00:1c.0: bridge window [mem 0xf8000000-0xf81fffff] pci 0000:00:1c.0: bridge window [mem 0xf8200000-0xf83fffff 64bit pref] pci 0000:00:1c.1: PCI bridge to [bus 03-03] pci 0000:00:1c.1: bridge window [io 0x3000-0x3fff] pci 0000:00:1c.1: bridge window [mem 0xe2200000-0xe22fffff] pci 0000:00:1c.1: bridge window [mem 0xf8400000-0xf85fffff 64bit pref] pci 0000:00:1c.2: PCI bridge to [bus 04-04] pci 0000:00:1c.2: bridge window [io 0x6000-0x6fff] pci 0000:00:1c.2: bridge window [mem 0xf8600000-0xf87fffff] pci 0000:00:1c.2: bridge window [mem 0xf8800000-0xf89fffff 64bit pref] pci 0000:00:1c.3: PCI bridge to [bus 05-05] pci 0000:00:1c.3: bridge window [io 0x7000-0x7fff] pci 0000:00:1c.3: bridge window [mem 0xf8a00000-0xf8bfffff] pci 0000:00:1c.3: bridge window [mem 0xf8c00000-0xf8dfffff 64bit pref] pci 0000:00:1c.4: PCI bridge to [bus 06-06] pci 0000:00:1c.4: bridge window [io 0x2000-0x2fff] pci 0000:00:1c.4: bridge window [mem 0xe2100000-0xe21fffff] pci 0000:00:1c.4: bridge window [mem 0xf8e00000-0xf8ffffff 64bit pref] pci 0000:07:01.0: BAR 6: assigned [mem 0xf9000000-0xf901ffff pref] pci 0000:07:02.0: BAR 0: assigned [io 0x1040-0x1047] pci 0000:07:02.0: BAR 0: set to [io 0x1040-0x1047] (PCI address [0x1040-0x1047] pci 0000:07:02.0: BAR 1: assigned [io 0x1048-0x104f] pci 0000:07:02.0: BAR 1: set to [io 0x1048-0x104f] (PCI address [0x1048-0x104f] pci 0000:07:02.0: BAR 2: assigned [io 0x1050-0x1057] pci 0000:07:02.0: BAR 2: set to [io 0x1050-0x1057] (PCI address [0x1050-0x1057] pci 0000:07:02.0: BAR 3: assigned [io 0x1058-0x105f] pci 0000:07:02.0: BAR 3: set to [io 0x1058-0x105f] (PCI address [0x1058-0x105f] pci 0000:07:02.1: BAR 0: assigned [io 0x1060-0x1067] pci 0000:07:02.1: BAR 0: set to [io 0x1060-0x1067] (PCI address [0x1060-0x1067] pci 0000:07:02.1: BAR 1: assigned [io 0x1068-0x106f] pci 0000:07:02.1: BAR 1: set to [io 0x1068-0x106f] (PCI address [0x1068-0x106f] pci 0000:07:02.1: BAR 2: assigned [io 0x1070-0x1077] pci 0000:07:02.1: BAR 2: set to [io 0x1070-0x1077] (PCI address [0x1070-0x1077] pci 0000:07:02.1: BAR 3: assigned [io 0x1078-0x107f] pci 0000:07:02.1: BAR 3: set to [io 0x1078-0x107f] (PCI address [0x1078-0x107f] pci 0000:00:1e.0: PCI bridge to [bus 07-07] pci 0000:00:1e.0: bridge window [io 0x1000-0x1fff] pci 0000:00:1e.0: bridge window [mem 0xe2000000-0xe20fffff] pci 0000:00:1e.0: bridge window [mem 0xf9000000-0xf90fffff pref] pci 0000:00:01.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 pci 0000:00:01.0: setting latency timer to 64 pci 0000:00:1c.0: enabling device (0000 -> 0003) pci 0000:00:1c.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 pci 0000:00:1c.0: setting latency timer to 64 pci 0000:00:1c.1: PCI INT B -> GSI 20 (level, low) -> IRQ 20 pci 0000:00:1c.1: setting latency timer to 64 pci 0000:00:1c.2: enabling device (0000 -> 0003) pci 0000:00:1c.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18 pci 0000:00:1c.2: setting latency timer to 64 pci 0000:00:1c.3: enabling device (0000 -> 0003) pci 0000:00:1c.3: PCI INT D -> GSI 19 (level, low) -> IRQ 19 pci 0000:00:1c.3: setting latency timer to 64 pci 0000:00:1c.4: PCI INT A -> GSI 17 (level, low) -> IRQ 17 pci 0000:00:1c.4: setting latency timer to 64 pci 0000:00:1e.0: setting latency timer to 64 pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7] pci_bus 0000:00: resource 5 [io 0x0d00-0xffff] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff] pci_bus 0000:00: resource 7 [mem 0x000e0000-0x000effff] pci_bus 0000:00: resource 8 [mem 0xf8000000-0xfeafffff] pci_bus 0000:00: resource 9 [mem 0xd0000000-0xefffffff] pci_bus 0000:01: resource 1 [mem 0xe0000000-0xe1ffffff] pci_bus 0000:01: resource 2 [mem 0xd0000000-0xdfffffff 64bit pref] pci_bus 0000:02: resource 0 [io 0x5000-0x5fff] pci_bus 0000:02: resource 1 [mem 0xf8000000-0xf81fffff] pci_bus 0000:02: resource 2 [mem 0xf8200000-0xf83fffff 64bit pref] pci_bus 0000:03: resource 0 [io 0x3000-0x3fff] pci_bus 0000:03: resource 1 [mem 0xe2200000-0xe22fffff] pci_bus 0000:03: resource 2 [mem 0xf8400000-0xf85fffff 64bit pref] pci_bus 0000:04: resource 0 [io 0x6000-0x6fff] pci_bus 0000:04: resource 1 [mem 0xf8600000-0xf87fffff] pci_bus 0000:04: resource 2 [mem 0xf8800000-0xf89fffff 64bit pref] pci_bus 0000:05: resource 0 [io 0x7000-0x7fff] pci_bus 0000:05: resource 1 [mem 0xf8a00000-0xf8bfffff] pci_bus 0000:05: resource 2 [mem 0xf8c00000-0xf8dfffff 64bit pref] pci_bus 0000:06: resource 0 [io 0x2000-0x2fff] pci_bus 0000:06: resource 1 [mem 0xe2100000-0xe21fffff] pci_bus 0000:06: resource 2 [mem 0xf8e00000-0xf8ffffff 64bit pref] pci_bus 0000:07: resource 0 [io 0x1000-0x1fff] pci_bus 0000:07: resource 1 [mem 0xe2000000-0xe20fffff] pci_bus 0000:07: resource 2 [mem 0xf9000000-0xf90fffff pref] pci_bus 0000:07: resource 4 [io 0x0000-0x0cf7] pci_bus 0000:07: resource 5 [io 0x0d00-0xffff] pci_bus 0000:07: resource 6 [mem 0x000a0000-0x000bffff] pci_bus 0000:07: resource 7 [mem 0x000e0000-0x000effff] pci_bus 0000:07: resource 8 [mem 0xf8000000-0xfeafffff] pci_bus 0000:07: resource 9 [mem 0xd0000000-0xefffffff] NET: Registered protocol family 2 IP route cache hash table entries: 32768 (order: 5, 131072 bytes) TCP established hash table entries: 131072 (order: 8, 1048576 bytes) TCP bind hash table entries: 65536 (order: 9, 2621440 bytes) TCP: Hash tables configured (established 131072 bind 65536) TCP reno registered UDP hash table entries: 512 (order: 3, 49152 bytes) UDP-Lite hash table entries: 512 (order: 3, 49152 bytes) NET: Registered protocol family 1 pci 0000:01:00.0: Boot video device PCI: CLS 64 bytes, default 64 Trying to unpack rootfs image as initramfs... Freeing initrd memory: 12552k freed DMA-API: preallocated 32768 debug entries DMA-API: debugging enabled by kernel config apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac) apm: overridden by ACPI. audit: initializing netlink socket (disabled) type=2000 audit(1288373236.514:1): initialized highmem bounce pool size: 64 pages HugeTLB registered 2 MB page size, pre-allocated 0 pages VFS: Disk quotas dquot_6.5.2 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) msgmni has been set to 1605 SELinux: Registering netfilter hooks cryptomgr_test used greatest stack depth: 6572 bytes left alg: No test for stdrng (krng) Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253) io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) pcieport 0000:00:01.0: setting latency timer to 64 pcieport 0000:00:01.0: irq 40 for MSI/MSI-X pcieport 0000:00:1c.0: setting latency timer to 64 pcieport 0000:00:1c.0: irq 41 for MSI/MSI-X pcieport 0000:00:1c.1: setting latency timer to 64 pcieport 0000:00:1c.1: irq 42 for MSI/MSI-X pcieport 0000:00:1c.2: setting latency timer to 64 pcieport 0000:00:1c.2: irq 43 for MSI/MSI-X pcieport 0000:00:1c.3: setting latency timer to 64 pcieport 0000:00:1c.3: irq 44 for MSI/MSI-X pcieport 0000:00:1c.4: setting latency timer to 64 pcieport 0000:00:1c.4: irq 45 for MSI/MSI-X pci_hotplug: PCI Hot Plug PCI Core version: 0.5 pciehp: PCI Express Hot Plug Controller Driver version: 0.4 acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 pci-stub: invalid id string "" input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input0 ACPI: Sleep Button [SLPB] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1 ACPI: Power Button [PWRF] ACPI: acpi_idle registered with cpuidle Monitor-Mwait will be used to enter C-1 state ERST: Table is not found! isapnp: Scanning for PnP cards... isapnp: No Plug & Play device found Non-volatile memory driver v1.3 Linux agpgart interface v0.103 Serial: 8250/16550 driver, 20 ports, IRQ sharing enabled serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a NS16550A 00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A serial 0000:06:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 0000:06:00.0: ttyS4 at I/O 0x2010 (irq = 16) is a ST16650V2 console [ttyS4] enabled serial 0000:06:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17 0000:06:00.1: ttyS5 at I/O 0x2008 (irq = 17) is a ST16650V2 serial 0000:07:02.0: enabling device (0000 -> 0001) serial 0000:07:02.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18 0000:07:02.0: ttyS6 at I/O 0x1040 (irq = 18) is a 16550A 0000:07:02.0: ttyS7 at I/O 0x1048 (irq = 18) is a 16550A 0000:07:02.0: ttyS8 at I/O 0x1050 (irq = 18) is a 16550A 0000:07:02.0: ttyS9 at I/O 0x1058 (irq = 18) is a 16550A serial 0000:07:02.1: enabling device (0000 -> 0001) serial 0000:07:02.1: PCI INT A -> GSI 18 (level, low) -> IRQ 18 0000:07:02.1: ttyS10 at I/O 0x1060 (irq = 18) is a 16550A 0000:07:02.1: ttyS11 at I/O 0x1068 (irq = 18) is a 16550A 0000:07:02.1: ttyS12 at I/O 0x1070 (irq = 18) is a 16550A 0000:07:02.1: ttyS13 at I/O 0x1078 (irq = 18) is a 16550A brd: module loaded loop: module loaded ata_piix 0000:00:1f.2: version 2.13 ata_piix 0000:00:1f.2: PCI INT A -> GSI 21 (level, low) -> IRQ 21 ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ] ata_piix 0000:00:1f.2: setting latency timer to 64 scsi0 : ata_piix scsi1 : ata_piix ata1: SATA max UDMA/133 cmd 0x4458 ctl 0x446c bmdma 0x4430 irq 21 ata2: SATA max UDMA/133 cmd 0x4450 ctl 0x4468 bmdma 0x4438 irq 21 ata_piix 0000:00:1f.5: PCI INT A -> GSI 21 (level, low) -> IRQ 21 ata_piix 0000:00:1f.5: MAP [ P0 -- P1 -- ] ata_piix 0000:00:1f.5: setting latency timer to 64 scsi2 : ata_piix scsi3 : ata_piix ata3: SATA max UDMA/133 cmd 0x4448 ctl 0x4464 bmdma 0x4410 irq 21 ata4: SATA max UDMA/133 cmd 0x4440 ctl 0x4460 bmdma 0x4418 irq 21 Fixed MDIO Bus: probed ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ehci_hcd 0000:00:1a.7: PCI INT C -> GSI 17 (level, low) -> IRQ 17 ehci_hcd 0000:00:1a.7: setting latency timer to 64 ehci_hcd 0000:00:1a.7: EHCI Host Controller ehci_hcd 0000:00:1a.7: new USB bus registered, assigned bus number 1 ehci_hcd 0000:00:1a.7: debug port 1 ehci_hcd 0000:00:1a.7: cache line size of 64 is not supported ehci_hcd 0000:00:1a.7: irq 17, io mem 0xe2325400 ehci_hcd 0000:00:1a.7: USB 2.0 started, EHCI 1.00 usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb1: Product: EHCI Host Controller usb usb1: Manufacturer: Linux 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace ehci_hcd usb usb1: SerialNumber: 0000:00:1a.7 hub 1-0:1.0: USB hub found hub 1-0:1.0: 6 ports detected ehci_hcd 0000:00:1d.7: PCI INT A -> GSI 23 (level, low) -> IRQ 23 ehci_hcd 0000:00:1d.7: setting latency timer to 64 ehci_hcd 0000:00:1d.7: EHCI Host Controller ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 2 ehci_hcd 0000:00:1d.7: debug port 1 ehci_hcd 0000:00:1d.7: cache line size of 64 is not supported ehci_hcd 0000:00:1d.7: irq 23, io mem 0xe2325000 ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00 usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb2: Product: EHCI Host Controller usb usb2: Manufacturer: Linux 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace ehci_hcd usb usb2: SerialNumber: 0000:00:1d.7 hub 2-0:1.0: USB hub found hub 2-0:1.0: 6 ports detected ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver uhci_hcd: USB Universal Host Controller Interface driver uhci_hcd 0000:00:1a.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18 uhci_hcd 0000:00:1a.0: setting latency timer to 64 uhci_hcd 0000:00:1a.0: UHCI Host Controller uhci_hcd 0000:00:1a.0: new USB bus registered, assigned bus number 3 uhci_hcd 0000:00:1a.0: irq 18, io base 0x000040c0 usb usb3: New USB device found, idVendor=1d6b, idProduct=0001 usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb3: Product: UHCI Host Controller usb usb3: Manufacturer: Linux 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace uhci_hcd usb usb3: SerialNumber: 0000:00:1a.0 hub 3-0:1.0: USB hub found hub 3-0:1.0: 2 ports detected uhci_hcd 0000:00:1a.1: PCI INT B -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:1a.1: setting latency timer to 64 uhci_hcd 0000:00:1a.1: UHCI Host Controller ata3: SATA link down (SStatus 0 SControl 300) ata4: SATA link down (SStatus 0 SControl 300) uhci_hcd 0000:00:1a.1: new USB bus registered, assigned bus number 4 uhci_hcd 0000:00:1a.1: irq 21, io base 0x000040a0 usb usb4: New USB device found, idVendor=1d6b, idProduct=0001 usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb4: Product: UHCI Host Controller usb usb4: Manufacturer: Linux 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace uhci_hcd usb usb4: SerialNumber: 0000:00:1a.1 hub 4-0:1.0: USB hub found hub 4-0:1.0: 2 ports detected uhci_hcd 0000:00:1a.2: PCI INT C -> GSI 17 (level, low) -> IRQ 17 uhci_hcd 0000:00:1a.2: setting latency timer to 64 uhci_hcd 0000:00:1a.2: UHCI Host Controller uhci_hcd 0000:00:1a.2: new USB bus registered, assigned bus number 5 uhci_hcd 0000:00:1a.2: irq 17, io base 0x00004080 usb usb5: New USB device found, idVendor=1d6b, idProduct=0001 usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb5: Product: UHCI Host Controller usb usb5: Manufacturer: Linux 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace uhci_hcd usb usb5: SerialNumber: 0000:00:1a.2 hub 5-0:1.0: USB hub found hub 5-0:1.0: 2 ports detected uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23 uhci_hcd 0000:00:1d.0: setting latency timer to 64 uhci_hcd 0000:00:1d.0: UHCI Host Controller uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 6 uhci_hcd 0000:00:1d.0: irq 23, io base 0x00004060 usb usb6: New USB device found, idVendor=1d6b, idProduct=0001 usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb6: Product: UHCI Host Controller usb usb6: Manufacturer: Linux 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace uhci_hcd usb usb6: SerialNumber: 0000:00:1d.0 hub 6-0:1.0: USB hub found hub 6-0:1.0: 2 ports detected uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 19 (level, low) -> IRQ 19 uhci_hcd 0000:00:1d.1: setting latency timer to 64 uhci_hcd 0000:00:1d.1: UHCI Host Controller uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 7 uhci_hcd 0000:00:1d.1: irq 19, io base 0x00004040 usb usb7: New USB device found, idVendor=1d6b, idProduct=0001 usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb7: Product: UHCI Host Controller usb usb7: Manufacturer: Linux 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace uhci_hcd usb usb7: SerialNumber: 0000:00:1d.1 hub 7-0:1.0: USB hub found hub 7-0:1.0: 2 ports detected uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18 uhci_hcd 0000:00:1d.2: setting latency timer to 64 uhci_hcd 0000:00:1d.2: UHCI Host Controller uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 8 uhci_hcd 0000:00:1d.2: irq 18, io base 0x00004020 usb usb8: New USB device found, idVendor=1d6b, idProduct=0001 usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb8: Product: UHCI Host Controller usb usb8: Manufacturer: Linux 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace uhci_hcd usb usb8: SerialNumber: 0000:00:1d.2 hub 8-0:1.0: USB hub found hub 8-0:1.0: 2 ports detected PNP: No PS/2 controller found. Probing ports directly. serio: i8042 KBD port at 0x60,0x64 irq 1 serio: i8042 AUX port at 0x60,0x64 irq 12 mice: PS/2 mouse device common for all mice rtc_cmos 00:03: RTC can wake from S4 rtc_cmos 00:03: rtc core: registered rtc_cmos as rtc0 usb 4-1: new low speed USB device using uhci_hcd and address 2 rtc0: alarms up to one month, 114 bytes nvram, hpet irqs device-mapper: uevent: version 1.0.3 ata1.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300) ata1.01: SATA link down (SStatus 0 SControl 300) ata2.00: SATA link up 1.5 Gbps (SStatus 113 SControl 300) ata2.01: SATA link down (SStatus 0 SControl 300) ata2.01: link offline, clearing class 3 to NONE device-mapper: ioctl: 4.17.0-ioctl (2010-03-05) initialised: dm-devel@domain.hidhat.com ata1.00: ATA-8: SAMSUNG HD501LJ, CR100-12, max UDMA7 ata1.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 0/32) ata2.00: ATAPI: TSSTcorp CDDVDW SH-S203D, SB00, max UDMA/100 cpuidle: using governor ladder cpuidle: using governor menu ata2.00: configured for UDMA/100 ata1.00: configured for UDMA/133 scsi 0:0:0:0: Direct-Access ATA SAMSUNG HD501LJ CR10 PQ: 0 ANSI: 5 usbcore: registered new interface driver hiddev sd 0:0:0:0: Attached scsi generic sg0 type 0 sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB) usbcore: registered new interface driver usbhid usbhid: USB HID core driver sd 0:0:0:0: [sda] Write Protect is off sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00 scsi 1:0:0:0: CD-ROM TSSTcorp CDDVDW SH-S203D SB00 PQ: 0 ANSI: 5 nf_conntrack version 0.5.0 (16384 buckets, 65536 max) sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA CONFIG_NF_CT_ACCT is deprecated and will be removed soon. Please use nf_conntrack.acct=1 kernel parameter, acct=1 nf_conntrack module option or sysctl net.netfilter.nf_conntrack_acct=1 to enable it. sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form2 cdda tray Uniform CD-ROM driver Revision: 3.20 usb 4-1: New USB device found, idVendor=045e, idProduct=0084 usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 4-1: Product: Basic Optical Mouse usb 4-1: Manufacturer: Microsoft sda: sr 1:0:0:0: Attached scsi CD-ROM sr0 sr 1:0:0:0: Attached scsi generic sg1 type 5 sda2 < sda5 ip_tables: (C) 2000-2006 Netfilter Core Team TCP cubic registered Initializing XFRM netlink socket sda6 input: Microsoft Basic Optical Mouse as /devices/pci0000:00/0000:00:1a.1/usb4/4-1/4-1:1.0/input/input2 NET: Registered protocol family 17 sda7 > Using IPI No-Shortcut mode PM: Resume from disk failed. generic-usb 0003:045E:0084.0001: input,hidraw0: USB HID v1.10 Mouse [Microsoft Basic Optical Mouse] on usb-0000:00:1a.1-1/input0 sd 0:0:0:0: [sda] Attached SCSI disk registered taskstats version 1 IMA: No TPM chip found, activating TPM-bypass! Magic number: 14:932:492 serial 0000:06:00.0: hash matches rtc_cmos 00:03: setting system clock to 2010-10-29 17:27:23 UTC (1288373243) Initalizing network drop monitor service Freeing unused kernel memory: 1860k freed Write protecting the kernel text: 3948k Write protecting the kernel read-only data: 1924k mknod used greatest stack depth: 6468 bytes left usb 4-2: new full speed USB device using uhci_hcd and address 3 mount used greatest stack depth: 6424 bytes left mkdir used greatest stack depth: 6412 bytes left usb 4-2: New USB device found, idVendor=04b3, idProduct=301a usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 4-2: Product: USB 1.1 2port downstream low power hub usb 4-2: Manufacturer: Lite-On Technology hub 4-2:1.0: USB hub found hub 4-2:1.0: 3 ports detected dracut: dracut-005-3.fc13 udev: starting version 153 usb 4-2.1: new full speed USB device using uhci_hcd and address 4 async/0 used greatest stack depth: 6280 bytes left usb 4-2.1: New USB device found, idVendor=04b3, idProduct=301b usb 4-2.1: New USB device strings: Mfr=1, Product=3, SerialNumber=0 usb 4-2.1: Product: USB Productivity Option Keyboard( has the hub in # 1 ) usb 4-2.1: Manufacturer: Lite-On Technology input: Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 ) as /devices/pci0000:00/0000:00:1a.1/usb4/4-2/4-2.1/4-2.1:1.0/input/input3 async/1 used greatest stack depth: 6156 bytes left generic-usb 0003:04B3:301B.0002: input,hidraw1: USB HID v1.10 Keyboard [Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 )] on usb-0000:00:1a.1-2.1/input0 input: Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 ) as /devices/pci0000:00/0000:00:1a.1/usb4/4-2/4-2.1/4-2.1:1.1/input/input4 generic-usb 0003:04B3:301B.0003: input,hidraw2: USB HID v1.10 Device [Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 )] on usb-0000:00:1a.1-2.1/input1 [drm] Initialized drm 1.1.0 20060810 nouveau 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 nouveau 0000:01:00.0: setting latency timer to 64 [drm] nouveau 0000:01:00.0: Detected an NV40 generation card (0x246100b1) [drm] nouveau 0000:01:00.0: Attempting to load BIOS image from PRAMIN [drm] nouveau 0000:01:00.0: ... BIOS checksum invalid [drm] nouveau 0000:01:00.0: Attempting to load BIOS image from PROM [drm] nouveau 0000:01:00.0: ... appears to be valid [drm] nouveau 0000:01:00.0: BIT BIOS found [drm] nouveau 0000:01:00.0: Bios version 05.72.22.75 [drm] nouveau 0000:01:00.0: TMDS table script pointers not stubbed [drm] nouveau 0000:01:00.0: BIT table 'd' not found [drm] nouveau 0000:01:00.0: Found Display Configuration Block version 3.0 [drm] nouveau 0000:01:00.0: Raw DCB entry 0: 01000300 00000028 [drm] nouveau 0000:01:00.0: Raw DCB entry 1: 02011310 00000028 [drm] nouveau 0000:01:00.0: Raw DCB entry 2: 01011312 00000000 [drm] nouveau 0000:01:00.0: Raw DCB entry 3: 020223f1 0080c020 [drm] nouveau 0000:01:00.0: DCB connector table: VHER 0x30 5 10 2 [drm] nouveau 0000:01:00.0: 0: 0x00000000: type 0x00 idx 0 tag 0xff [drm] nouveau 0000:01:00.0: 1: 0x00001130: type 0x30 idx 1 tag 0x07 [drm] nouveau 0000:01:00.0: 2: 0x00000210: type 0x10 idx 2 tag 0xff [drm] nouveau 0000:01:00.0: 3: 0x00000211: type 0x11 idx 3 tag 0xff [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 0 at offset 0xD272 [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 1 at offset 0xD576 [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 2 at offset 0xDA93 [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 3 at offset 0xDC0E [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 4 at offset 0xDD83 [drm] nouveau 0000:01:00.0: Detected 128MiB VRAM [TTM] Zone kernel: Available graphics memory: 412026 kiB. [TTM] Zone highmem: Available graphics memory: 2020122 kiB. [TTM] Initializing pool allocator. [drm] nouveau 0000:01:00.0: 64 MiB GART (aperture) [drm] nouveau 0000:01:00.0: Allocating FIFO number 0 [drm] nouveau 0000:01:00.0: nouveau_channel_alloc: initialised FIFO 0 [drm] nouveau 0000:01:00.0: Initial CRTC_OWNER is 0 [drm] nouveau 0000:01:00.0: Saving VGA fonts [drm] nouveau 0000:01:00.0: Detected a VGA connector [drm] nouveau 0000:01:00.0: Detected a DVI-I connector [drm] nouveau 0000:01:00.0: Detected a TV connector [drm] nouveau 0000:01:00.0: Setting dpms mode 3 on vga encoder (output 0) [drm] nouveau 0000:01:00.0: Setting dpms mode 3 on vga encoder (output 1) [drm] nouveau 0000:01:00.0: Setting dpms mode 3 on tmds encoder (output 2) [drm] nouveau 0000:01:00.0: Setting dpms mode 3 on TV encoder (output 3) [drm] nouveau 0000:01:00.0: allocated 1280x1024 fb: 0x49000, bo f5e5c8c0 fbcon: nouveaufb (fb0) is primary device [drm] nouveau 0000:01:00.0: Setting dpms mode 0 on vga encoder (output 0) [drm] nouveau 0000:01:00.0: Output VGA-1 is running on CRTC 0 using output A Console: switching to colour frame buffer device 160x64 fb0: nouveaufb frame buffer device drm: registered panic notifier Slow work thread pool: Starting up Slow work thread pool: Ready [drm] Initialized nouveau 0.0.16 20090420 for 0000:01:00.0 on minor 0 modprobe used greatest stack depth: 5712 bytes left dracut: Starting plymouth daemon pata_marvell 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 pata_marvell 0000:03:00.0: setting latency timer to 64 scsi4 : pata_marvell scsi5 : pata_marvell ata5: PATA max UDMA/100 cmd 0x3018 ctl 0x3024 bmdma 0x3000 irq 17 ata6: DUMMY firewire_ohci 0000:07:00.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21 firewire_ohci: Added fw-ohci device 0000:07:00.0, OHCI v1.0, 8 IR + 8 IT contexts, quirks 0x0 firewire_ohci 0000:07:03.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19 firewire_ohci: Added fw-ohci device 0000:07:03.0, OHCI v1.10, 4 IR + 8 IT contexts, quirks 0x2 firewire_core: created device fw0: GUID 30bd050200002031, S400 firewire_core: created device fw1: GUID 00902700003372d2, S400 EXT4-fs (sda5): mounted filesystem with ordered data mode. Opts: (null) dracut: Mounted root filesystem /dev/sda5 dracut: Loading SELinux policy SELinux: Disabled at runtime. SELinux: Unregistering netfilter hooks type=1404 audit(1288373255.500:2): selinux=0 auid=4294967295 ses=4294967295 dracut: /sbin/load_policy: Can't load policy file /etc/selinux/targeted/policy/policy.15: No such file or directory dracut: Switching root Welcome to Fedora Press 'I' to enter interactive startup. Starting udev: udevd[355]: specified group 'xenomai' unknown [ OK ] Setting hostname calvin: [ OK ] Setting up Logical Volume Management: No volume groups found [ OK ] Checking filesystems Checking all file systems. [/sbin/fsck.ext4 (1) -- /] fsck.ext4 -a /dev/sda5 /dev/sda5: clean, 744890/3055616 files, 6685987/12209384 blocks [/sbin/fsck.ext3 (1) -- /local] fsck.ext3 -a /dev/sda7 /local: clean, 747259/53002240 files, 10901333/105978789 blocks [ OK ] Remounting root filesystem in read-write mode: [ OK ] Mounting local filesystems: [ OK ] Enabling local filesystem quotas: [ OK ] Enabling /etc/fstab swaps: [ OK ] Entering non-interactive startup Running DKMS auto installation service for kernel 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace .Stopping regler_firewall (client): [ OK ] Starting regler_firewall (client): [ OK ] Starting auditd: [ OK ] Starting portreserve: [ OK ] /etc/rc5.d/S13cpuspeed: line 86: /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor: No such file or directory /etc/rc5.d/S13cpuspeed: line 86: /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor: No such file or directory /etc/rc5.d/S13cpuspeed: line 86: /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor: No such file or directory /etc/rc5.d/S13cpuspeed: line 86: /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq: No such file or directory /etc/rc5.d/S13cpuspeed: line 86: /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq: No such file or directory /etc/rc5.d/S13cpuspeed: line 86: /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq: No such file or directory cut: /sys/devices/system/cpu/cpu3/cpufreq/scaling_available_frequencies: No such file or directory /etc/rc5.d/S13cpuspeed: line 86: echo: write error: Invalid argument /etc/rc5.d/S13cpuspeed: line 86: /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq: No such file or directory /etc/rc5.d/S13cpuspeed: line 86: /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq: No such file or directory /etc/rc5.d/S13cpuspeed: line 86: /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq: No such file or directory Enabling ondemand cpu frequency scaling: [ OK ] Starting irqbalance: [ OK ] Starting rpcbind: [ OK ] Starting mdmonitor: [ OK ] Starting system message bus: [ OK ] Starting Avahi daemon... [ OK ] Starting NFS statd: [ OK ] Starting RPC idmapd: [ OK ] Starting HAL daemon: [ OK ] Retrigger failed udev events[ OK ] Starting PC/SC smart card daemon (pcscd): [ OK ] Starting network_standalone: Starting sendmail: [ OK ] Starting sm-client: [ OK ] Starting cups: [ OK ] Setting network parameters... [ OK ] Starting NetworkManager daemon: [ OK ] modem-manager: ModemManager (version 0.4-4.git20100720.fc13) starting... modem-manager: Loaded plugin Longcheer modem-manager: Loaded plugin Ericsson MBM modem-manager: Loaded plugin SimTech modem-manager: Loaded plugin Option modem-manager: Loaded plugin AnyData modem-manager: Loaded plugin Sierra modem-manager: Loaded plugin Huawei modem-manager: Loaded plugin Gobi modem-manager: Loaded plugin Novatel modem-manager: Loaded plugin MotoC modem-manager: Loaded plugin Nokia modem-manager: Loaded plugin ZTE modem-manager: Loaded plugin Option High-Speed nm-dispatcher.action: nm_dispatcher_action: Invalid connection: '(null)' / 'connection setting not found' invalid: 1 ipsec_setup: Starting Openswan IPsec U2.6.27/K2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace... modem-manager: (tty/ttyS1): port's parent platform driver is not whitelisted modem-manager: (tty/ttyS14): port's parent platform driver is not whitelisted modem-manager: (tty/ttyS15): port's parent platform driver is not whitelisted modem-manager: (tty/ttyS16): port's parent platform driver is not whitelisted modem-manager: (tty/ttyS17): port's parent platform driver is not whitelisted modem-manager: (tty/ttyS18): port's parent platform driver is not whitelisted modem-manager: (tty/ttyS19): port's parent platform driver is not whitelisted modem-manager: (tty/ttyS2): port's parent platform driver is not whitelisted modem-manager: (tty/ttyS3): port's parent platform driver is not whitelisted modem-manager: (tty/ttyS0): could not get port's parent device nm-dispatcher.action: nm_dispatcher_action: Invalid connection: '(null)' / 'connection setting not found' invalid: 1 pluto[1406]: nss directory plutomain: /etc/ipsec.d pluto[1406]: NSS Initialized pluto[1406]: Non-fips mode set in /proc/sys/crypto/fips_enabled pluto[1406]: Starting Pluto (Openswan Version 2.6.27; Vendor ID OEnTNwILvV~\134) pid:1406 pluto[1406]: Non-fips mode set in /proc/sys/crypto/fips_enabled pluto[1406]: Setting NAT-Traversal port-4500 floating to on pluto[1406]: port floating activation criteria nat_t=1/port_float=1 pluto[1406]: NAT-Traversal support [enabled] pluto[1406]: 1 bad entries in virtual_private - none loaded pluto[1406]: ike_alg_register_enc(): Activating OAKLEY_TWOFISH_CBC_SSH: Ok (ret=0) pluto[1406]: ike_alg_register_enc(): Activating OAKLEY_TWOFISH_CBC: Ok (ret=0) pluto[1406]: ike_alg_register_enc(): Activating OAKLEY_SERPENT_CBC: Ok (ret=0) pluto[1406]: ike_alg_register_enc(): Activating OAKLEY_AES_CBC: Ok (ret=0) pluto[1406]: ike_alg_register_enc(): Activating OAKLEY_BLOWFISH_CBC: Ok (ret=0) pluto[1406]: ike_alg_register_hash(): Activating OAKLEY_SHA2_512: Ok (ret=0) pluto[1406]: ike_alg_register_hash(): Activating OAKLEY_SHA2_256: Ok (ret=0) pluto[1406]: no helpers will be started, all cryptographic operations will be done inline pluto[1406]: Using Linux 2.6 IPsec interface code on 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace (experimental code) Enabling Bluetooth devices: Starting sshd: [ OK ] Starting abrt daemon: [ OK ] Starting crond: [ OK ] pluto[1406]: ike_alg_register_enc(): Activating aes_ccm_8: Ok (ret=0) pluto[1406]: ike_alg_add(): ERROR: Algorithm already exists pluto[1406]: ike_alg_register_enc(): Activating aes_ccm_12: FAILED (ret=-17) pluto[1406]: ike_alg_add(): ERROR: Algorithm already exists pluto[1406]: ike_alg_register_enc(): Activating aes_ccm_16: FAILED (ret=-17) pluto[1406]: ike_alg_add(): ERROR: Algorithm already exists pluto[1406]: ike_alg_register_enc(): Activating aes_gcm_8: FAILED (ret=-17) pluto[1406]: ike_alg_add(): ERROR: Algorithm already exists pluto[1406]: ike_alg_register_enc(): Activating aes_gcm_12: FAILED (ret=-17) pluto[1406]: ike_alg_add(): ERROR: Algorithm already exists pluto[1406]: ike_alg_register_enc(): Activating aes_gcm_16: FAILED (ret=-17) pluto[1406]: Could not change to directory '/etc/ipsec.d/cacerts': / pluto[1406]: Could not change to directory '/etc/ipsec.d/aacerts': / pluto[1406]: Could not change to directory '/etc/ipsec.d/ocspcerts': / pluto[1406]: Could not change to directory '/etc/ipsec.d/crls' pluto[1406]: listening for IKE messages pluto[1406]: NAT-Traversal: Trying new style NAT-T pluto[1406]: NAT-Traversal: ESPINUDP(1) setup failed for new style NAT-T family IPv4 (errno=19) pluto[1406]: NAT-Traversal: Trying old style NAT-T pluto[1406]: adding interface eth4/eth4 192.168.67.246:500 pluto[1406]: adding interface eth4/eth4 192.168.67.246:4500 pluto[1406]: adding interface eth0/eth0 130.235.83.112:500 pluto[1406]: adding interface eth0/eth0 130.235.83.112:4500 pluto[1406]: adding interface lo/lo 127.0.0.1:500 pluto[1406]: adding interface lo/lo 127.0.0.1:4500 pluto[1406]: adding interface lo/lo ::1:500 pluto[1406]: loading secrets from "/etc/ipsec.secrets" pluto[1406]: no secrets filename matched "/etc/ipsec.d/*.secrets" [ OK ] atd: [ OK ] Registering binary handler for Windows applications: [ OK ] Fedora release 13 (Goddard) Kernel 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace on an i686 (/dev/ttyS4) Kickstart-installed from sperry-02 at Fri Oct 15 11:46:04 CEST 2010 calvin login: simcom (? for help) > simcom (? for help) > SysRq : Changing Loglevel Loglevel set to 8 e1000 0000:07:01.0: PCI INT A disabled nm-dispatcher.action: nm_dispatcher_action: Invalid connection: '(null)' / 'connection setting not found' invalid: 1 nm-dispatcher.action: Error in get_property: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" doesn't exist rt_e1000 0000:07:01.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22 e1000: 0000:07:01.0: e1000_probe: (PCI:33MHz:32-bit) 00:1b:21:7c:9f:0c RTnet: registered rteth0 e1000: rteth0: e1000_probe: Intel(R) PRO/1000 Network Connection e1000: rteth0: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex FS-Cache: Loaded FS-Cache: Netfs 'nfs' registered for caching mount.nfs used greatest stack depth: 4516 bytes left I-pipe: Detected illicit call from domain 'Xenomai' <3> into a service reserved for domain 'Linux' and below. Pid: 2259, comm: raw_test Not tainted 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace #1 Call Trace: [<c0492506>] ipipe_check_context+0x1b9/0x1c6 [<c07d47de>] _raw_spin_lock_irqsave+0x17/0x87 [<c05dd0dc>] dma_entry_alloc+0xf/0x6b [<c05dd339>] debug_dma_map_page+0x5d/0x12c [<f9fddb8c>] pci_map_single+0x8a/0x96 [rt_e1000] [<f9fddf45>] e1000_xmit_frame+0x318/0x458 [rt_e1000] [<f9cd6843>] ? rt_eth_header+0x0/0xa5 [rtnet] [<f9cd410c>] rtdev_xmit+0x17/0x3a [rtnet] [<f8aa42a0>] rt_packet_sendmsg+0x1b1/0x1e9 [rtpacket] [<f99b133e>] __rt_dev_sendmsg+0x41/0x60 [xeno_rtdm] [<f99b2d26>] sys_rtdm_sendmsg+0x53/0x63 [xeno_rtdm] [<f91286d3>] hisyscall_event+0x129/0x2b7 [xeno_nucleus] [<f91285aa>] ? hisyscall_event+0x0/0x2b7 [xeno_nucleus] [<c0492ce9>] __ipipe_dispatch_event+0x176/0x366 [<c0420329>] __ipipe_syscall_root+0x4f/0x18e [<c07d50d5>] system_call+0x2d/0x53 I-pipe tracer log (100 points): | #*func 0 ipipe_trace_panic_freeze+0x4 (ipipe_check_context+0x13f) | #*func 0 ipipe_check_context+0x9 (_raw_spin_lock_irqsave+0x17) | #*func 0 _raw_spin_lock_irqsave+0x6 (dma_entry_alloc+0xf) | #*func 0 nommu_map_page+0xc (pci_map_single+0x69 [rt_e1000]) | #*func -1 pci_map_single+0xc [rt_e1000] (e1000_xmit_frame+0x318 [rt_e1000]) | +*begin 0x80000000 -1 e1000_xmit_frame+0xdf [rt_e1000] (rtdev_xmit+0x17 [rtnet]) +*func -2 e1000_xmit_frame+0x9 [rt_e1000] (rtdev_xmit+0x17 [rtnet]) +*func -2 rtdev_xmit+0x5 [rtnet] (rt_packet_sendmsg+0x1b1 [rtpacket]) +*func -2 rt_memcpy_fromkerneliovec+0x9 [rtnet] (rt_packet_sendmsg+0x19f [rtpacket]) +*func -3 rt_eth_header+0x6 [rtnet] (rt_packet_sendmsg+0x15d [rtpacket]) | +*end 0x80000000 -3 __ipipe_restore_pipeline_head+0x11b (ipipe_restore_pipeline_head+0x86 [rtnet]) | #*func -3 __ipipe_restore_pipeline_head+0x5 (ipipe_restore_pipeline_head+0x86 [rtnet]) | #*func -4 ipipe_restore_pipeline_head+0x5 [rtnet] (rtskb_dequeue+0x42 [rtnet]) | +*begin 0x80000000 -4 ipipe_test_and_stall_pipeline_head+0x1b [rtnet] (rtskb_dequeue+0x11 [rtnet]) +*func -4 ipipe_test_and_stall_pipeline_head+0x4 [rtnet] (rtskb_dequeue+0x11 [rtnet]) +*func -4 rtskb_dequeue+0x5 [rtnet] (alloc_rtskb+0x12 [rtnet]) +*func -5 alloc_rtskb+0x4 [rtnet] (rt_packet_sendmsg+0xe0 [rtpacket]) | +*end 0x80000000 -5 __ipipe_restore_pipeline_head+0x11b (ipipe_restore_pipeline_head+0x86 [rtnet]) | #*func -5 __ipipe_restore_pipeline_head+0x5 (ipipe_restore_pipeline_head+0x86 [rtnet]) | #*func -5 ipipe_restore_pipeline_head+0x5 [rtnet] (rtdev_get_by_index+0x52 [rtnet]) | +*begin 0x80000000 -5 ipipe_test_and_stall_pipeline_head+0x1b [rtnet] (rtdev_get_by_index+0x19 [rtnet]) +*func -6 ipipe_test_and_stall_pipeline_head+0x4 [rtnet] (rtdev_get_by_index+0x19 [rtnet]) +*func -6 rtdev_get_by_index+0x5 [rtnet] (rt_packet_sendmsg+0xbf [rtpacket]) +*func -6 rt_packet_sendmsg+0x9 [rtpacket] (__rt_dev_sendmsg+0x41 [xeno_rtdm]) | +*end 0x80000001 -6 rtdm_in_rt_context+0x66 [xeno_rtdm] (__rt_dev_sendmsg+0x31 [xeno_rtdm]) | +*begin 0x80000001 -7 rtdm_in_rt_context+0x22 [xeno_rtdm] (__rt_dev_sendmsg+0x31 [xeno_rtdm]) +*func -7 rtdm_in_rt_context+0x6 [xeno_rtdm] (__rt_dev_sendmsg+0x31 [xeno_rtdm]) | +*end 0x80000000 -7 __ipipe_restore_pipeline_head+0x11b (ipipe_restore_pipeline_head+0x86 [xeno_rtdm]) | #*func -7 __ipipe_restore_pipeline_head+0x5 (ipipe_restore_pipeline_head+0x86 [xeno_rtdm]) | #*func -8 ipipe_restore_pipeline_head+0x5 [xeno_rtdm] (xnlock_put_irqrestore+0x22 [xeno_rtdm]) | #*func -8 xnlock_put_irqrestore+0x3 [xeno_rtdm] (rtdm_context_get+0x38 [xeno_rtdm]) | +*begin 0x80000000 -8 ipipe_test_and_stall_pipeline_head+0x1b [xeno_rtdm] (__xnlock_get_irqsave+0x11 [xeno_rtdm]) +*func -8 ipipe_test_and_stall_pipeline_head+0x4 [xeno_rtdm] (__xnlock_get_irqsave+0x11 [xeno_rtdm]) +*func -8 __xnlock_get_irqsave+0x5 [xeno_rtdm] (rtdm_context_get+0x1d [xeno_rtdm]) +*func -9 rtdm_context_get+0x5 [xeno_rtdm] (__rt_dev_sendmsg+0x23 [xeno_rtdm]) +*func -9 __rt_dev_sendmsg+0x9 [xeno_rtdm] (sys_rtdm_sendmsg+0x53 [xeno_rtdm]) +*func -9 __copy_from_user_ll_nozero+0x6 (sys_rtdm_sendmsg+0x41 [xeno_rtdm]) +*func -9 sys_rtdm_sendmsg+0x9 [xeno_rtdm] (hisyscall_event+0x129 [xeno_nucleus]) +*func -9 hisyscall_event+0x9 [xeno_nucleus] (__ipipe_dispatch_event+0x176) | +*end 0x80000001 -10 __ipipe_dispatch_event+0x167 (__ipipe_syscall_root+0x4f) | +*begin 0x80000001 -10 __ipipe_dispatch_event+0x2c (__ipipe_syscall_root+0x4f) +*func -10 __ipipe_dispatch_event+0x9 (__ipipe_syscall_root+0x4f) +*func -10 __ipipe_event_monitored_p+0x9 (__ipipe_syscall_root+0x3b) +*func -10 __ipipe_syscall_root+0x9 (system_call+0x2d) | +*end 0x80000001 -12 __ipipe_syscall_root+0x10a (system_call+0x2d) | +*begin 0x80000001 -12 __ipipe_syscall_root+0x6c (system_call+0x2d) | +*end 0x80000001 -12 __ipipe_dispatch_event+0x351 (__ipipe_syscall_root+0x4f) | +*begin 0x80000001 -12 __ipipe_dispatch_event+0x199 (__ipipe_syscall_root+0x4f) +*func -13 __copy_to_user_ll+0x6 (__xn_safe_copy_to_user+0x28 [xeno_native]) +*func -13 __xn_safe_copy_to_user+0x6 [xeno_native] (__rt_timer_read+0x35 [xeno_native]) +*func -13 xnarch_tsc_to_ns+0x6 [xeno_nucleus] (xnarch_get_cpu_time+0x10 [xeno_nucleus]) +*func -13 xnarch_get_cpu_time+0x4 [xeno_nucleus] (__rt_timer_read+0x1a [xeno_native]) +*func -13 __rt_timer_read+0x8 [xeno_native] (hisyscall_event+0x129 [xeno_nucleus]) +*func -14 hisyscall_event+0x9 [xeno_nucleus] (__ipipe_dispatch_event+0x176) | +*end 0x80000001 -14 __ipipe_dispatch_event+0x167 (__ipipe_syscall_root+0x4f) | +*begin 0x80000001 -14 __ipipe_dispatch_event+0x2c (__ipipe_syscall_root+0x4f) +*func -14 __ipipe_dispatch_event+0x9 (__ipipe_syscall_root+0x4f) +*func -14 __ipipe_event_monitored_p+0x9 (__ipipe_syscall_root+0x3b) +*func -15 __ipipe_syscall_root+0x9 (system_call+0x2d) | +*end 0x80000001 -15 __ipipe_syscall_root+0x10a (system_call+0x2d) | +*begin 0x80000001 -16 __ipipe_syscall_root+0x6c (system_call+0x2d) | +*end 0x80000001 -16 __ipipe_dispatch_event+0x351 (__ipipe_syscall_root+0x4f) | +*begin 0x80000001 -16 __ipipe_dispatch_event+0x199 (__ipipe_syscall_root+0x4f) +*func -16 rtdm_context_unlock+0x3 [xeno_rtdm] (__rt_dev_recvmsg+0x56 [xeno_rtdm]) | +*end 0x80000000 -17 __ipipe_restore_pipeline_head+0x11b (xnlock_put_irqrestore.clone.0+0x9d [xeno_rtdm]) | #*func -17 __ipipe_restore_pipeline_head+0x5 (xnlock_put_irqrestore.clone.0+0x9d [xeno_rtdm]) | #*func -17 xnlock_put_irqrestore.clone.0+0x5 [xeno_rtdm] (rtdm_sem_timeddown+0xa3 [xeno_rtdm]) | +*begin 0x80000000 -17 __xnlock_get_irqsave.clone.1+0x1b [xeno_rtdm] (rtdm_sem_timeddown+0x1e [xeno_rtdm]) +*func -18 __xnlock_get_irqsave.clone.1+0x4 [xeno_rtdm] (rtdm_sem_timeddown+0x1e [xeno_rtdm]) +*func -18 rtdm_sem_timeddown+0x9 [xeno_rtdm] (rt_packet_recvmsg+0x58 [rtpacket]) +*func -18 rt_packet_recvmsg+0x9 [rtpacket] (__rt_dev_recvmsg+0x41 [xeno_rtdm]) | +*end 0x80000001 -18 rtdm_in_rt_context+0x66 [xeno_rtdm] (__rt_dev_recvmsg+0x31 [xeno_rtdm]) | +*begin 0x80000001 -18 rtdm_in_rt_context+0x22 [xeno_rtdm] (__rt_dev_recvmsg+0x31 [xeno_rtdm]) +*func -19 rtdm_in_rt_context+0x6 [xeno_rtdm] (__rt_dev_recvmsg+0x31 [xeno_rtdm]) | +*end 0x80000000 -19 __ipipe_restore_pipeline_head+0x11b (ipipe_restore_pipeline_head+0x86 [xeno_rtdm]) | #*func -19 __ipipe_restore_pipeline_head+0x5 (ipipe_restore_pipeline_head+0x86 [xeno_rtdm]) | #*func -19 ipipe_restore_pipeline_head+0x5 [xeno_rtdm] (xnlock_put_irqrestore+0x22 [xeno_rtdm]) | #*func -20 xnlock_put_irqrestore+0x3 [xeno_rtdm] (rtdm_context_get+0x38 [xeno_rtdm]) | +*begin 0x80000000 -20 ipipe_test_and_stall_pipeline_head+0x1b [xeno_rtdm] (__xnlock_get_irqsave+0x11 [xeno_rtdm]) +*func -20 ipipe_test_and_stall_pipeline_head+0x4 [xeno_rtdm] (__xnlock_get_irqsave+0x11 [xeno_rtdm]) +*func -20 __xnlock_get_irqsave+0x5 [xeno_rtdm] (rtdm_context_get+0x1d [xeno_rtdm]) +*func -20 rtdm_context_get+0x5 [xeno_rtdm] (__rt_dev_recvmsg+0x23 [xeno_rtdm]) +*func -21 __rt_dev_recvmsg+0x9 [xeno_rtdm] (sys_rtdm_recvmsg+0x53 [xeno_rtdm]) +*func -21 __copy_from_user_ll_nozero+0x6 (sys_rtdm_recvmsg+0x41 [xeno_rtdm]) +*func -21 sys_rtdm_recvmsg+0x9 [xeno_rtdm] (hisyscall_event+0x129 [xeno_nucleus]) +*func -21 hisyscall_event+0x9 [xeno_nucleus] (__ipipe_dispatch_event+0x176) | +*end 0x80000001 -21 __ipipe_dispatch_event+0x167 (__ipipe_syscall_root+0x4f) | +*begin 0x80000001 -22 __ipipe_dispatch_event+0x2c (__ipipe_syscall_root+0x4f) +*func -22 __ipipe_dispatch_event+0x9 (__ipipe_syscall_root+0x4f) +*func -22 __ipipe_event_monitored_p+0x9 (__ipipe_syscall_root+0x3b) +*func -22 __ipipe_syscall_root+0x9 (system_call+0x2d) | +*end 0x80000001 -24 __ipipe_syscall_root+0x10a (system_call+0x2d) | +*begin 0x80000001 -24 __ipipe_syscall_root+0x6c (system_call+0x2d) | +*end 0x80000001 -24 __ipipe_dispatch_event+0x351 (__ipipe_syscall_root+0x4f) | +*begin 0x80000001 -24 __ipipe_dispatch_event+0x199 (__ipipe_syscall_root+0x4f) +*func -25 rtdm_context_unlock+0x3 [xeno_rtdm] (__rt_dev_ioctl+0xb9 [xeno_rtdm]) +*func -25 rt_socket_common_ioctl+0x9 [rtnet] (rt_packet_ioctl+0x1b [rtpacket]) +*func -25 rt_packet_ioctl+0x5 [rtpacket] (__rt_dev_ioctl+0x46 [xeno_rtdm]) | +*end 0x80000001 -25 rtdm_in_rt_context+0x66 [xeno_rtdm] (__rt_dev_ioctl+0x36 [xeno_rtdm]) | +*begin 0x80000001 -26 rtdm_in_rt_context+0x22 [xeno_rtdm] (__rt_dev_ioctl+0x36 [xeno_rtdm]) ------------[ cut here ]------------ WARNING: at lib/dma-debug.c:820 check_unmap+0x315/0x5ca() Hardware name: rt_e1000 0000:07:01.0: DMA-API: device driver frees DMA memory with wrong function [device address=0x00000000335be280] [size=74 bytes] [mapped as single] [unmapped as page] Modules linked in: nfs fscache rtpacket xeno_native nfsd lockd nfs_acl auth_rpcgss exportfs deflate zlib_deflate ctr camellia cast5 rmd160 crypto_null ccm serpent blowfish twofish twofish_common ecb xcbc cbc sha256_generic sha512_generic des_generic aes_i586 aes_generic ah6 ah4 esp6 esp4 xfrm4_mode_beet xfrm4_tunnel tunnel4 xfrm4_mode_tunnel xfrm4_mode_transport xfrm6_mode_transport xfrm6_mode_ro xfrm6_mode_beet xfrm6_mode_tunnel ipcomp ipcomp6 xfrm_ipcomp xfrm6_tunnel tunnel6 af_key sunrpc ipv6 cpufreq_ondemand acpi_cpufreq mperf uinput snd_hda_codec_idt rt_e1000 snd_hda_intel rtnet snd_hda_codec xeno_rtdm snd_hwdep snd_seq snd_seq_device xeno_nucleus snd_pcm ppdev snd_timer parport_pc e1000 microcode snd e1000e iTCO_wdt i2c_i801 pcspkr serio_raw parport iTCO_vendor_support soundcore snd_page_alloc firewire_ohci ata_generic firewire_core pata_acpi crc_itu_t pata_marvell nouveau ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded: scsi_wait_scan] Pid: 1764, comm: sshd Not tainted 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace #1 Call Trace: [<c043b11a>] warn_slowpath_common+0x6a/0x7f [<c05dcbf5>] ? check_unmap+0x315/0x5ca [<c043b1a2>] warn_slowpath_fmt+0x2b/0x2f [<c05dcbf5>] check_unmap+0x315/0x5ca [<c05dd03b>] debug_dma_unmap_page+0x5a/0x62 [<f9fde0ee>] e1000_unmap_and_free_tx_resource+0x69/0x8a [rt_e1000] [<f9fdfc17>] e1000_intr+0x37c/0x58d [rt_e1000] [<f911d886>] xnintr_shirq_handler+0x78/0x1af [xeno_nucleus] [<c0493603>] __ipipe_dispatch_wired_nocheck+0xe1/0x176 [<c04936fd>] __ipipe_dispatch_wired+0x65/0x6a [<c048d641>] ? __ipipe_ack_fasteoi_irq+0x0/0x10 [<c04200f8>] __ipipe_handle_irq+0x10d/0x2ef [<c04693bb>] ? raw_local_irq_restore+0x3/0x18 [<c0402ef6>] common_interrupt+0x36/0x50 [<c04693bb>] ? raw_local_irq_restore+0x3/0x18 [<c04900d8>] ? _rcu_barrier+0x12/0x99 [<c049587d>] __ipipe_trace+0x5cb/0x5d3 [<c04693bb>] ? raw_local_irq_restore+0x3/0x18 [<c0495e8d>] ? ipipe_trace_function+0x19/0x1c [<c0402f43>] ? ftrace_call+0x5/0x8 [<c04693c0>] ? raw_local_irq_restore+0x8/0x18 [<c07d4ee4>] ? _raw_spin_unlock_irqrestore+0x34/0x4b [<c05d78e3>] ? debug_object_activate+0xd7/0x10f [<c0495e8d>] ? ipipe_trace_function+0x19/0x1c [<c0446a40>] ? debug_activate+0x19/0x47 [<c0447624>] ? __mod_timer+0x76/0x10f [<c0495e01>] ? ipipe_trace_max_reset+0x44/0x8c [<c04477d8>] ? mod_timer_pending+0x14/0x16 [<c075db0d>] ? __nf_ct_refresh_acct+0x52/0xbb [<c0762e04>] ? tcp_packet+0xcbd/0xedd [<c04939a4>] ? __ipipe_restore_root+0x34/0x37 [<c0460cc2>] ? raw_local_irq_restore+0x11/0x13 [<c04644e3>] ? lock_release+0x1bd/0x1c4 [<c075d474>] ? rcu_read_unlock+0x1c/0x1e [<c075ded7>] ? nf_conntrack_find_get+0xaa/0xb4 [<c075f1aa>] ? nf_conntrack_in+0x5e8/0x741 [<c079d306>] ? ipv4_conntrack_local+0x37/0x41 [<c075bdf8>] ? nf_iterate+0x34/0x67 [<c076ca63>] ? dst_output+0x0/0x1a [<c075c01b>] ? nf_hook_slow+0x49/0xb5 [<c076ca63>] ? dst_output+0x0/0x1a [<c076d7c4>] ? __ip_local_out+0x8b/0x95 [<c076ca63>] ? dst_output+0x0/0x1a [<c076d7de>] ? ip_local_out+0x10/0x1f [<c076dd8f>] ? ip_queue_xmit+0x2e3/0x349 [<c0776c2b>] ? tcp_init_cwnd+0x3/0x40 [<c0495e8d>] ? ipipe_trace_function+0x19/0x1c [<c0402f43>] ? ftrace_call+0x5/0x8 [<c077e64b>] ? tcp_transmit_skb+0x68f/0x6c5 [<c07809f2>] ? tcp_write_xmit+0x75c/0x83a [<c0780b1e>] ? __tcp_push_pending_frames+0x1d/0x4c [<c0773f94>] ? tcp_push+0x86/0x8c [<c0775fe5>] ? tcp_sendmsg+0x63a/0x712 [<c07322ea>] ? __sock_sendmsg+0x56/0x5f [<c0734103>] ? sock_aio_write+0xb2/0xbb [<c04ee32f>] ? do_sync_write+0x8f/0xca [<c0402f43>] ? ftrace_call+0x5/0x8 [<c0598691>] ? cap_file_permission+0x8/0xc [<c059743c>] ? security_file_permission+0x14/0x16 [<c04ee4d1>] ? rw_verify_area+0x9d/0xc0 [<c04ee88c>] ? vfs_write+0x93/0xe4 [<c04ee97b>] ? sys_write+0x40/0x62 [<c040291d>] ? sysenter_do_call+0x12/0x16 ---[ end trace 68d2153eed419a5b ]--- Mapped at: [<c05dd339>] debug_dma_map_page+0x5d/0x12c [<f9fddb8c>] pci_map_single+0x8a/0x96 [rt_e1000] [<f9fddf45>] e1000_xmit_frame+0x318/0x458 [rt_e1000] [<f9cd410c>] rtdev_xmit+0x17/0x3a [rtnet] [<f8aa42a0>] rt_packet_sendmsg+0x1b1/0x1e9 [rtpacket] ------------[ cut here ]------------ WARNING: at include/linux/ipipe.h:538 ipipe_restore_pipeline_head+0x2b/0x95 [rt_e1000]() Hardware name: Modules linked in: nfs fscache rtpacket xeno_native nfsd lockd nfs_acl auth_rpcgss exportfs deflate zlib_deflate ctr camellia cast5 rmd160 crypto_null ccm serpent blowfish twofish twofish_common ecb xcbc cbc sha256_generic sha512_generic des_generic aes_i586 aes_generic ah6 ah4 esp6 esp4 xfrm4_mode_beet xfrm4_tunnel tunnel4 xfrm4_mode_tunnel xfrm4_mode_transport xfrm6_mode_transport xfrm6_mode_ro xfrm6_mode_beet xfrm6_mode_tunnel ipcomp ipcomp6 xfrm_ipcomp xfrm6_tunnel tunnel6 af_key sunrpc ipv6 cpufreq_ondemand acpi_cpufreq mperf uinput snd_hda_codec_idt rt_e1000 snd_hda_intel rtnet snd_hda_codec xeno_rtdm snd_hwdep snd_seq snd_seq_device xeno_nucleus snd_pcm ppdev snd_timer parport_pc e1000 microcode snd e1000e iTCO_wdt i2c_i801 pcspkr serio_raw parport iTCO_vendor_support soundcore snd_page_alloc firewire_ohci ata_generic firewire_core pata_acpi crc_itu_t pata_marvell nouveau ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded: scsi_wait_scan] Pid: 2259, comm: raw_test Tainted: G W 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace #1 Call Trace: [<c043b11a>] warn_slowpath_common+0x6a/0x7f [<f9fddbc3>] ? ipipe_restore_pipeline_head+0x2b/0x95 [rt_e1000] [<c043b143>] warn_slowpath_null+0x14/0x18 [<f9fddbc3>] ipipe_restore_pipeline_head+0x2b/0x95 [rt_e1000] [<f9fde07b>] e1000_xmit_frame+0x44e/0x458 [rt_e1000] [<f9cd6843>] ? rt_eth_header+0x0/0xa5 [rtnet] [<f9cd410c>] rtdev_xmit+0x17/0x3a [rtnet] [<f8aa42a0>] rt_packet_sendmsg+0x1b1/0x1e9 [rtpacket] [<f99b133e>] __rt_dev_sendmsg+0x41/0x60 [xeno_rtdm] [<f99b2d26>] sys_rtdm_sendmsg+0x53/0x63 [xeno_rtdm] [<f91286d3>] hisyscall_event+0x129/0x2b7 [xeno_nucleus] [<f91285aa>] ? hisyscall_event+0x0/0x2b7 [xeno_nucleus] [<c0492ce9>] __ipipe_dispatch_event+0x176/0x366 [<c0420329>] __ipipe_syscall_root+0x4f/0x18e [<c07d50d5>] system_call+0x2d/0x53 ---[ end trace 68d2153eed419a5c ]--- BUG: spinlock lockup on CPU#0, gatekeeper/0/633, c0a21680 Pid: 633, comm: gatekeeper/0 Tainted: G W 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace #1 Call Trace: [<c05d5f58>] do_raw_spin_lock+0xfd/0x123 [<c07d483a>] _raw_spin_lock_irqsave+0x73/0x87 [<c05dce6e>] check_unmap+0x58e/0x5ca [<c05dd03b>] debug_dma_unmap_page+0x5a/0x62 [<f9fdeab8>] pci_unmap_single.clone.0+0x4e/0x59 [rt_e1000] [<f9fdfa1d>] e1000_intr+0x182/0x58d [rt_e1000] [<f911d886>] xnintr_shirq_handler+0x78/0x1af [xeno_nucleus] [<c0493603>] __ipipe_dispatch_wired_nocheck+0xe1/0x176 [<c04936fd>] __ipipe_dispatch_wired+0x65/0x6a [<c048d641>] ? __ipipe_ack_fasteoi_irq+0x0/0x10 [<c04200f8>] __ipipe_handle_irq+0x10d/0x2ef [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<c0402ef6>] common_interrupt+0x36/0x50 [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<c04e007b>] ? try_to_merge_with_ksm_page+0x10b/0x45b [<c0469ad2>] __module_address+0x5a/0x67 [<c0469b03>] ? __module_text_address+0x10/0x49 [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<c0469b49>] ? is_module_text_address+0xd/0x14 [<c04501c3>] ? __kernel_text_address+0x5a/0x60 [<c04051f6>] ? print_context_stack+0x80/0x96 [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<c040b094>] ? save_stack_address+0x0/0x2d [<c0404473>] ? dump_trace+0x7b/0xa8 [<c040b254>] ? save_stack_trace+0x22/0x3e [<c05dd123>] ? dma_entry_alloc+0x56/0x6b [<c05dd339>] ? debug_dma_map_page+0x5d/0x12c [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<f8d376be>] ? e1000_alloc_rx_buffers+0xa1/0x167 [e1000e] [<f8d36b58>] ? e1000_clean_rx_irq+0x2ab/0x302 [e1000e] [<f8d36e8e>] ? e1000_clean+0x6c/0x1f9 [e1000e] [<c074024a>] ? net_rx_action+0xa1/0x1b3 [<c0440c1a>] ? __do_softirq+0xc3/0x181 [<c0440d30>] ? do_softirq+0x58/0x7a [<c0440e7b>] ? irq_exit+0x44/0x77 [<c0403c31>] ? do_IRQ+0x94/0xaa [<c0492991>] ? __ipipe_sync_stage+0x1c9/0x1ce [<c0403b9d>] ? do_IRQ+0x0/0xaa [<c0492996>] ? __xirq_end+0x0/0x49 [<c0403b9d>] ? do_IRQ+0x0/0xaa [<c0493394>] ? __ipipe_walk_pipeline+0x1c6/0x1e4 [<c0493691>] ? __ipipe_dispatch_wired_nocheck+0x16f/0x176 [<c04936fd>] ? __ipipe_dispatch_wired+0x65/0x6a [<c04200f8>] ? __ipipe_handle_irq+0x10d/0x2ef [<c04209c4>] ? ipipe_trigger_irq+0x64/0x88 [<c049396c>] ? __ipipe_unstall_root+0x7b/0x7f [<c07d4ead>] ? _raw_spin_unlock_irq+0x2c/0x2f [<c04322dc>] ? finish_task_switch+0x59/0xbe [<f911f14b>] ? __xnpod_schedule+0x84/0x6b6 [xeno_nucleus] [<c049381d>] ? __ipipe_restore_pipeline_head+0x11b/0x123 [<f9127528>] ? xnpod_schedule+0x34/0x36 [xeno_nucleus] [<f912767a>] ? gatekeeper_thread+0x150/0x15f [xeno_nucleus] [<c0437159>] ? default_wake_function+0x0/0x12 [<f912752a>] ? gatekeeper_thread+0x0/0x15f [xeno_nucleus] [<c0451bea>] ? kthread+0x64/0x69 [<c0451b86>] ? kthread+0x0/0x69 [<c0402f16>] ? kernel_thread_helper+0x6/0x10 sending NMI to all CPUs: NMI backtrace for cpu 0 Modules linked in: nfs fscache rtpacket xeno_native nfsd lockd nfs_acl auth_rpcgss exportfs deflate zlib_deflate ctr camellia cast5 rmd160 crypto_null ccm serpent blowfish twofish twofish_common ecb xcbc cbc sha256_generic sha512_generic des_generic aes_i586 aes_generic ah6 ah4 esp6 esp4 xfrm4_mode_beet xfrm4_tunnel tunnel4 xfrm4_mode_tunnel xfrm4_mode_transport xfrm6_mode_transport xfrm6_mode_ro xfrm6_mode_beet xfrm6_mode_tunnel ipcomp ipcomp6 xfrm_ipcomp xfrm6_tunnel tunnel6 af_key sunrpc ipv6 cpufreq_ondemand acpi_cpufreq mperf uinput snd_hda_codec_idt rt_e1000 snd_hda_intel rtnet snd_hda_codec xeno_rtdm snd_hwdep snd_seq snd_seq_device xeno_nucleus snd_pcm ppdev snd_timer parport_pc e1000 microcode snd e1000e iTCO_wdt i2c_i801 pcspkr serio_raw parport iTCO_vendor_support soundcore snd_page_alloc firewire_ohci ata_generic firewire_core pata_acpi crc_itu_t pata_marvell nouveau ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded: scsi_wait_scan] Pid: 633, comm: gatekeeper/0 Tainted: G W 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace #1 DP35DP/ EIP: 0060:[<c05d1a6e>] EFLAGS: 00000083 CPU: 0 EIP is at delay_tsc+0x37/0x61 EAX: a1230248 EBX: 00000048 ECX: 00000000 EDX: 00000105 ESI: a1230248 EDI: a1230200 EBP: f575b924 ESP: f575b90c DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 Process gatekeeper/0 (pid: 633, ti=f575a000 task=f4d3d600 task.ti=f575a000) I-pipe domain Xenomai Stack: 00249f87 00000002 f575b92c 00000001 8f0edd20 00000000 f575b92c c05d1a0e <0> f575b938 c041a485 c0a21680 f575b970 c05d5f5d c0939d5f 00000000 f4d3d920 <0> 00000279 c0a21680 00000001 f4d3d920 8f0edd20 f4d3d600 c0a21680 c0a21690 Call Trace: [<c05d1a0e>] ? __const_udelay+0x34/0x36 [<c041a485>] ? arch_trigger_all_cpu_backtrace+0x47/0x54 [<c05d5f5d>] ? do_raw_spin_lock+0x102/0x123 [<c07d483a>] ? _raw_spin_lock_irqsave+0x73/0x87 [<c05dce6e>] ? check_unmap+0x58e/0x5ca [<c05dd03b>] ? debug_dma_unmap_page+0x5a/0x62 [<f9fdeab8>] ? pci_unmap_single.clone.0+0x4e/0x59 [rt_e1000] [<f9fdfa1d>] ? e1000_intr+0x182/0x58d [rt_e1000] [<f911d886>] ? xnintr_shirq_handler+0x78/0x1af [xeno_nucleus] [<c0493603>] ? __ipipe_dispatch_wired_nocheck+0xe1/0x176 [<c04936fd>] ? __ipipe_dispatch_wired+0x65/0x6a [<c048d641>] ? __ipipe_ack_fasteoi_irq+0x0/0x10 [<c04200f8>] ? __ipipe_handle_irq+0x10d/0x2ef [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<c0402ef6>] ? common_interrupt+0x36/0x50 [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<c04e007b>] ? try_to_merge_with_ksm_page+0x10b/0x45b [<c0469ad2>] ? __module_address+0x5a/0x67 [<c0469b03>] ? __module_text_address+0x10/0x49 [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<c0469b49>] ? is_module_text_address+0xd/0x14 [<c04501c3>] ? __kernel_text_address+0x5a/0x60 [<c04051f6>] ? print_context_stack+0x80/0x96 [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<c040b094>] ? save_stack_address+0x0/0x2d [<c0404473>] ? dump_trace+0x7b/0xa8 [<c040b254>] ? save_stack_trace+0x22/0x3e [<c05dd123>] ? dma_entry_alloc+0x56/0x6b [<c05dd339>] ? debug_dma_map_page+0x5d/0x12c [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<f8d376be>] ? e1000_alloc_rx_buffers+0xa1/0x167 [e1000e] [<f8d36b58>] ? e1000_clean_rx_irq+0x2ab/0x302 [e1000e] [<f8d36e8e>] ? e1000_clean+0x6c/0x1f9 [e1000e] [<c074024a>] ? net_rx_action+0xa1/0x1b3 [<c0440c1a>] ? __do_softirq+0xc3/0x181 [<c0440d30>] ? do_softirq+0x58/0x7a [<c0440e7b>] ? irq_exit+0x44/0x77 [<c0403c31>] ? do_IRQ+0x94/0xaa [<c0492991>] ? __ipipe_sync_stage+0x1c9/0x1ce [<c0403b9d>] ? do_IRQ+0x0/0xaa [<c0492996>] ? __xirq_end+0x0/0x49 [<c0403b9d>] ? do_IRQ+0x0/0xaa [<c0493394>] ? __ipipe_walk_pipeline+0x1c6/0x1e4 [<c0493691>] ? __ipipe_dispatch_wired_nocheck+0x16f/0x176 [<c04936fd>] ? __ipipe_dispatch_wired+0x65/0x6a [<c04200f8>] ? __ipipe_handle_irq+0x10d/0x2ef [<c04209c4>] ? ipipe_trigger_irq+0x64/0x88 [<c049396c>] ? __ipipe_unstall_root+0x7b/0x7f [<c07d4ead>] ? _raw_spin_unlock_irq+0x2c/0x2f [<c04322dc>] ? finish_task_switch+0x59/0xbe [<f911f14b>] ? __xnpod_schedule+0x84/0x6b6 [xeno_nucleus] [<c049381d>] ? __ipipe_restore_pipeline_head+0x11b/0x123 [<f9127528>] ? xnpod_schedule+0x34/0x36 [xeno_nucleus] [<f912767a>] ? gatekeeper_thread+0x150/0x15f [xeno_nucleus] [<c0437159>] ? default_wake_function+0x0/0x12 [<f912752a>] ? gatekeeper_thread+0x0/0x15f [xeno_nucleus] [<c0451bea>] ? kthread+0x64/0x69 [<c0451b86>] ? kthread+0x0/0x69 [<c0402f16>] ? kernel_thread_helper+0x6/0x10 Code: e3 ff 64 8b 0d 58 3f ae c0 89 45 e8 8d 76 00 0f ae e8 0f 31 89 c7 8d 76 00 0f ae e8 0f 31 89 c3 89 c6 29 fb 3b 5d e8 73 22 f3 90 <64> 8b 1d 58 3f ae c0 39 d9 74 e0 89 fa 29 f2 01 55 e8 8d 76 00 Call Trace: [<c05d1a0e>] __const_udelay+0x34/0x36 [<c041a485>] arch_trigger_all_cpu_backtrace+0x47/0x54 [<c05d5f5d>] do_raw_spin_lock+0x102/0x123 [<c07d483a>] _raw_spin_lock_irqsave+0x73/0x87 [<c05dce6e>] check_unmap+0x58e/0x5ca [<c05dd03b>] debug_dma_unmap_page+0x5a/0x62 [<f9fdeab8>] pci_unmap_single.clone.0+0x4e/0x59 [rt_e1000] [<f9fdfa1d>] e1000_intr+0x182/0x58d [rt_e1000] [<f911d886>] xnintr_shirq_handler+0x78/0x1af [xeno_nucleus] [<c0493603>] __ipipe_dispatch_wired_nocheck+0xe1/0x176 [<c04936fd>] __ipipe_dispatch_wired+0x65/0x6a [<c048d641>] ? __ipipe_ack_fasteoi_irq+0x0/0x10 [<c04200f8>] __ipipe_handle_irq+0x10d/0x2ef [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<c0402ef6>] common_interrupt+0x36/0x50 [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<c04e007b>] ? try_to_merge_with_ksm_page+0x10b/0x45b [<c0469ad2>] __module_address+0x5a/0x67 [<c0469b03>] ? __module_text_address+0x10/0x49 [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<c0469b49>] ? is_module_text_address+0xd/0x14 [<c04501c3>] ? __kernel_text_address+0x5a/0x60 [<c04051f6>] ? print_context_stack+0x80/0x96 [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<c040b094>] ? save_stack_address+0x0/0x2d [<c0404473>] ? dump_trace+0x7b/0xa8 [<c040b254>] ? save_stack_trace+0x22/0x3e [<c05dd123>] ? dma_entry_alloc+0x56/0x6b [<c05dd339>] ? debug_dma_map_page+0x5d/0x12c [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<f8d376be>] ? e1000_alloc_rx_buffers+0xa1/0x167 [e1000e] [<f8d36b58>] ? e1000_clean_rx_irq+0x2ab/0x302 [e1000e] [<f8d36e8e>] ? e1000_clean+0x6c/0x1f9 [e1000e] [<c074024a>] ? net_rx_action+0xa1/0x1b3 [<c0440c1a>] ? __do_softirq+0xc3/0x181 [<c0440d30>] ? do_softirq+0x58/0x7a [<c0440e7b>] ? irq_exit+0x44/0x77 [<c0403c31>] ? do_IRQ+0x94/0xaa [<c0492991>] ? __ipipe_sync_stage+0x1c9/0x1ce [<c0403b9d>] ? do_IRQ+0x0/0xaa [<c0492996>] ? __xirq_end+0x0/0x49 [<c0403b9d>] ? do_IRQ+0x0/0xaa [<c0493394>] ? __ipipe_walk_pipeline+0x1c6/0x1e4 [<c0493691>] ? __ipipe_dispatch_wired_nocheck+0x16f/0x176 [<c04936fd>] ? __ipipe_dispatch_wired+0x65/0x6a [<c04200f8>] ? __ipipe_handle_irq+0x10d/0x2ef [<c04209c4>] ? ipipe_trigger_irq+0x64/0x88 [<c049396c>] ? __ipipe_unstall_root+0x7b/0x7f [<c07d4ead>] ? _raw_spin_unlock_irq+0x2c/0x2f [<c04322dc>] ? finish_task_switch+0x59/0xbe [<f911f14b>] ? __xnpod_schedule+0x84/0x6b6 [xeno_nucleus] [<c049381d>] ? __ipipe_restore_pipeline_head+0x11b/0x123 [<f9127528>] ? xnpod_schedule+0x34/0x36 [xeno_nucleus] [<f912767a>] ? gatekeeper_thread+0x150/0x15f [xeno_nucleus] [<c0437159>] ? default_wake_function+0x0/0x12 [<f912752a>] ? gatekeeper_thread+0x0/0x15f [xeno_nucleus] [<c0451bea>] ? kthread+0x64/0x69 [<c0451b86>] ? kthread+0x0/0x69 [<c0402f16>] ? kernel_thread_helper+0x6/0x10 Pid: 633, comm: gatekeeper/0 Tainted: G W 2.6.35.7_xenomai-2.5.5.2_rtnet-39f7fcf-trace #1 Call Trace: [<c040890d>] ? show_regs+0x1f/0x25 [<c07d6ae3>] default_nmi_watchdog_tick+0x9d/0x160 [<c07d5f12>] do_nmi+0xbb/0x2c5 [<c07d5ac1>] nmi_stack_correct+0x28/0x2d [<c05d1a6e>] ? delay_tsc+0x37/0x61 [<c05d1a0e>] __const_udelay+0x34/0x36 [<c041a485>] arch_trigger_all_cpu_backtrace+0x47/0x54 [<c05d5f5d>] do_raw_spin_lock+0x102/0x123 [<c07d483a>] _raw_spin_lock_irqsave+0x73/0x87 [<c05dce6e>] check_unmap+0x58e/0x5ca [<c05dd03b>] debug_dma_unmap_page+0x5a/0x62 [<f9fdeab8>] pci_unmap_single.clone.0+0x4e/0x59 [rt_e1000] [<f9fdfa1d>] e1000_intr+0x182/0x58d [rt_e1000] [<f911d886>] xnintr_shirq_handler+0x78/0x1af [xeno_nucleus] [<c0493603>] __ipipe_dispatch_wired_nocheck+0xe1/0x176 [<c04936fd>] __ipipe_dispatch_wired+0x65/0x6a [<c048d641>] ? __ipipe_ack_fasteoi_irq+0x0/0x10 [<c04200f8>] __ipipe_handle_irq+0x10d/0x2ef [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<c0402ef6>] common_interrupt+0x36/0x50 [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<c04e007b>] ? try_to_merge_with_ksm_page+0x10b/0x45b [<c0469ad2>] __module_address+0x5a/0x67 [<c0469b03>] ? __module_text_address+0x10/0x49 [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<c0469b49>] ? is_module_text_address+0xd/0x14 [<c04501c3>] ? __kernel_text_address+0x5a/0x60 [<c04051f6>] ? print_context_stack+0x80/0x96 [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<c040b094>] ? save_stack_address+0x0/0x2d [<c0404473>] ? dump_trace+0x7b/0xa8 [<c040b254>] ? save_stack_trace+0x22/0x3e [<c05dd123>] ? dma_entry_alloc+0x56/0x6b [<c05dd339>] ? debug_dma_map_page+0x5d/0x12c [<f8d373a2>] ? dma_map_single_attrs.clone.2+0x7a/0x86 [e1000e] [<f8d376be>] ? e1000_alloc_rx_buffers+0xa1/0x167 [e1000e] [<f8d36b58>] ? e1000_clean_rx_irq+0x2ab/0x302 [e1000e] [<f8d36e8e>] ? e1000_clean+0x6c/0x1f9 [e1000e] [<c074024a>] ? net_rx_action+0xa1/0x1b3 [<c0440c1a>] ? __do_softirq+0xc3/0x181 [<c0440d30>] ? do_softirq+0x58/0x7a [<c0440e7b>] ? irq_exit+0x44/0x77 [<c0403c31>] ? do_IRQ+0x94/0xaa [<c0492991>] ? __ipipe_sync_stage+0x1c9/0x1ce [<c0403b9d>] ? do_IRQ+0x0/0xaa [<c0492996>] ? __xirq_end+0x0/0x49 [<c0403b9d>] ? do_IRQ+0x0/0xaa [<c0493394>] ? __ipipe_walk_pipeline+0x1c6/0x1e4 [<c0493691>] ? __ipipe_dispatch_wired_nocheck+0x16f/0x176 [<c04936fd>] ? __ipipe_dispatch_wired+0x65/0x6a [<c04200f8>] ? __ipipe_handle_irq+0x10d/0x2ef [<c04209c4>] ? ipipe_trigger_irq+0x64/0x88 [<c049396c>] ? __ipipe_unstall_root+0x7b/0x7f [<c07d4ead>] ? _raw_spin_unlock_irq+0x2c/0x2f [<c04322dc>] ? finish_task_switch+0x59/0xbe [<f911f14b>] ? __xnpod_schedule+0x84/0x6b6 [xeno_nucleus] [<c049381d>] ? __ipipe_restore_pipeline_head+0x11b/0x123 [<f9127528>] ? xnpod_schedule+0x34/0x36 [xeno_nucleus] [<f912767a>] ? gatekeeper_thread+0x150/0x15f [xeno_nucleus] [<c0437159>] ? default_wake_function+0x0/0x12 [<f912752a>] ? gatekeeper_thread+0x0/0x15f [xeno_nucleus] [<c0451bea>] ? kthread+0x64/0x69 [<c0451b86>] ? kthread+0x0/0x69 [<c0402f16>] ? kernel_thread_helper+0x6/0x10 ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-10-29 17:42 ` Anders Blomdell @ 2010-10-29 18:06 ` Jan Kiszka 2010-10-29 19:29 ` Anders Blomdell 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-10-29 18:06 UTC (permalink / raw) To: Anders Blomdell; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 495 bytes --] Am 29.10.2010 19:42, Anders Blomdell wrote: > Jan Kiszka wrote: > >>>> Please provide the full kernel log, ideally also with the I-pipe tracer >>>> (with panic tracing) enabled. >>> Will reconfigure/recompile and do that, with full kernel log do you >>> mean all >>> bootup info? >> >> That's best to avoid missing some detail or doing Q&A ping-pong. > > Full trace attached (finally...) > You have to switch off CONFIG_DMA_API_DEBUG, it's incompatible with Xenomai. Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-10-29 18:06 ` Jan Kiszka @ 2010-10-29 19:29 ` Anders Blomdell 0 siblings, 0 replies; 85+ messages in thread From: Anders Blomdell @ 2010-10-29 19:29 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org On 2010-10-29 20.06, Jan Kiszka wrote: > Am 29.10.2010 19:42, Anders Blomdell wrote: >> Jan Kiszka wrote: >> >>>>> Please provide the full kernel log, ideally also with the I-pipe tracer >>>>> (with panic tracing) enabled. >>>> Will reconfigure/recompile and do that, with full kernel log do you >>>> mean all >>>> bootup info? >>> >>> That's best to avoid missing some detail or doing Q&A ping-pong. >> >> Full trace attached (finally...) >> > > You have to switch off CONFIG_DMA_API_DEBUG, it's incompatible with Xenomai. Thanks, will continue with this on monday (build in progress). With your ftrace port, how does one freeze all cpu's at the same time? Regards Anders -- Anders Blomdell Email: anders.blomdell@domain.hid Department of Automatic Control Lund University Phone: +46 46 222 4625 P.O. Box 118 Fax: +46 46 138118 SE-221 00 Lund, Sweden ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-10-28 10:18 ` Jan Kiszka 2010-10-28 13:02 ` [Xenomai-core] " Anders Blomdell @ 2010-11-01 16:55 ` Anders Blomdell 2010-11-03 8:17 ` Jan Kiszka 1 sibling, 1 reply; 85+ messages in thread From: Anders Blomdell @ 2010-11-01 16:55 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai Jan Kiszka wrote: > Am 28.10.2010 11:34, Anders Blomdell wrote: >> Jan Kiszka wrote: >>> Am 28.10.2010 09:34, Anders Blomdell wrote: >>>> Anders Blomdell wrote: >>>>> Anders Blomdell wrote: >>>>>> Hi, >>>>>> >>>>>> I'm trying to use rt_eepro100, for sending raw ethernet packets, >>>>>> but I'm >>>>>> experincing occasionally weird behaviour. >>>>>> >>>>>> Versions of things: >>>>>> >>>>>> linux-2.6.34.5 >>>>>> xenomai-2.5.5.2 >>>>>> rtnet-39f7fcf >>>>>> >>>>>> The testprogram runs on two computers with "Intel Corporation >>>>>> 82557/8/9/0/1 Ethernet Pro 100 (rev 08)" controller, where one >>>>>> computer >>>>>> acts as a mirror sending back packets received from the ethernet (only >>>>>> those two computers on the network), and the other sends packets and >>>>>> measures roundtrip time. Most packets comes back in approximately 100 >>>>>> us, but occasionally the reception times out (once in about 100000 >>>>>> packets or more), but the packets gets immediately received when >>>>>> reception is retried, which might indicate a race between >>>>>> rt_dev_recvmsg >>>>>> and interrupt, but I might miss something obvious. >>>>> Changing one of the ethernet cards to a "Intel Corporation 82541PI >>>>> Gigabit Ethernet Controller (rev 05)", while keeping everything else >>>>> constant, changes behavior somewhat; after receiving a few 100000 >>>>> packets, reception stops entirely (-EAGAIN is returned), while >>>>> transmission proceeds as it should (and mirror returns packets). >>>>> >>>>> Any suggestions on what to try? >>>> Since the problem disappears with 'maxcpus=1', I suspect I have a SMP >>>> issue (machine is a Core2 Quad), so I'll move to xenomai-core. >>>> (original message can be found at >>>> http://sourceforge.net/mailarchive/message.php?msg_name=4CC82C8D.3080808%40control.lth.se >>>> ) >>>> >>>> Xenomai-core gurus: which is the corrrect way to debug SMP issues? >>>> Can I run I-pipe-tracer and expect to be able save at least 150 us of >>>> traces for all cpus? Any hints/suggestions/insigths are welcome... >>> The i-pipe tracer unfortunately only saves traces for a the CPU that >>> triggered the freeze. To have a full pictures, you may want to try my >>> ftrace port I posted recently for 2.6.35. >> 2.6.35.7 ? >> > > Exactly. Finally managed to get the ftrace to work (one possible bug: had to manually copy include/xenomai/trace/xn_nucleus.h to include/xenomai/trace/events/xn_nucleus.h), and it looks like it can be very useful... But I don't think it will give much info at the moment, since no xenomai/ipipe interrupt activity shows up, and adding that is far above my league :-( My current theory is that the problem occurs when something like this takes place: CPU-i CPU-j CPU-k CPU-l rt_dev_sendmsg xmit_irq rt_dev_recvmsg recv_irq So now I'll try to instrument the code to see if the assumtion holds. Stay tuned... Regards Anders ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-01 16:55 ` Anders Blomdell @ 2010-11-03 8:17 ` Jan Kiszka 2010-11-03 10:33 ` Anders Blomdell 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-03 8:17 UTC (permalink / raw) To: Anders Blomdell; +Cc: xenomai [-- Attachment #1: Type: text/plain, Size: 3375 bytes --] Am 01.11.2010 17:55, Anders Blomdell wrote: > Jan Kiszka wrote: >> Am 28.10.2010 11:34, Anders Blomdell wrote: >>> Jan Kiszka wrote: >>>> Am 28.10.2010 09:34, Anders Blomdell wrote: >>>>> Anders Blomdell wrote: >>>>>> Anders Blomdell wrote: >>>>>>> Hi, >>>>>>> >>>>>>> I'm trying to use rt_eepro100, for sending raw ethernet packets, >>>>>>> but I'm >>>>>>> experincing occasionally weird behaviour. >>>>>>> >>>>>>> Versions of things: >>>>>>> >>>>>>> linux-2.6.34.5 >>>>>>> xenomai-2.5.5.2 >>>>>>> rtnet-39f7fcf >>>>>>> >>>>>>> The testprogram runs on two computers with "Intel Corporation >>>>>>> 82557/8/9/0/1 Ethernet Pro 100 (rev 08)" controller, where one >>>>>>> computer >>>>>>> acts as a mirror sending back packets received from the ethernet >>>>>>> (only >>>>>>> those two computers on the network), and the other sends packets and >>>>>>> measures roundtrip time. Most packets comes back in approximately >>>>>>> 100 >>>>>>> us, but occasionally the reception times out (once in about 100000 >>>>>>> packets or more), but the packets gets immediately received when >>>>>>> reception is retried, which might indicate a race between >>>>>>> rt_dev_recvmsg >>>>>>> and interrupt, but I might miss something obvious. >>>>>> Changing one of the ethernet cards to a "Intel Corporation 82541PI >>>>>> Gigabit Ethernet Controller (rev 05)", while keeping everything else >>>>>> constant, changes behavior somewhat; after receiving a few 100000 >>>>>> packets, reception stops entirely (-EAGAIN is returned), while >>>>>> transmission proceeds as it should (and mirror returns packets). >>>>>> >>>>>> Any suggestions on what to try? >>>>> Since the problem disappears with 'maxcpus=1', I suspect I have a SMP >>>>> issue (machine is a Core2 Quad), so I'll move to xenomai-core. >>>>> (original message can be found at >>>>> http://sourceforge.net/mailarchive/message.php?msg_name=4CC82C8D.3080808%40control.lth.se >>>>> >>>>> ) >>>>> >>>>> Xenomai-core gurus: which is the corrrect way to debug SMP issues? >>>>> Can I run I-pipe-tracer and expect to be able save at least 150 us of >>>>> traces for all cpus? Any hints/suggestions/insigths are welcome... >>>> The i-pipe tracer unfortunately only saves traces for a the CPU that >>>> triggered the freeze. To have a full pictures, you may want to try my >>>> ftrace port I posted recently for 2.6.35. >>> 2.6.35.7 ? >>> >> >> Exactly. > Finally managed to get the ftrace to work > (one possible bug: had to manually copy > include/xenomai/trace/xn_nucleus.h to > include/xenomai/trace/events/xn_nucleus.h), and it looks like it can be > very useful... > > But I don't think it will give much info at the moment, since no > xenomai/ipipe interrupt activity shows up, and adding that is far above > my league :-( You could use the function tracer, provided you are able to stop the trace quickly enough on error. > > My current theory is that the problem occurs when something like this > takes place: > > CPU-i CPU-j CPU-k CPU-l > > rt_dev_sendmsg > xmit_irq > rt_dev_recvmsg recv_irq Can't follow. When races here, and what will go wrong then? > > So now I'll try to instrument the code to see if the assumtion holds. > Stay tuned... > > Regards > > Anders > > Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 8:17 ` Jan Kiszka @ 2010-11-03 10:33 ` Anders Blomdell 2010-11-03 11:44 ` Anders Blomdell 0 siblings, 1 reply; 85+ messages in thread From: Anders Blomdell @ 2010-11-03 10:33 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai [-- Attachment #1: Type: text/plain, Size: 4534 bytes --] Jan Kiszka wrote: > Am 01.11.2010 17:55, Anders Blomdell wrote: >> Jan Kiszka wrote: >>> Am 28.10.2010 11:34, Anders Blomdell wrote: >>>> Jan Kiszka wrote: >>>>> Am 28.10.2010 09:34, Anders Blomdell wrote: >>>>>> Anders Blomdell wrote: >>>>>>> Anders Blomdell wrote: >>>>>>>> Hi, >>>>>>>> >>>>>>>> I'm trying to use rt_eepro100, for sending raw ethernet packets, >>>>>>>> but I'm >>>>>>>> experincing occasionally weird behaviour. >>>>>>>> >>>>>>>> Versions of things: >>>>>>>> >>>>>>>> linux-2.6.34.5 >>>>>>>> xenomai-2.5.5.2 >>>>>>>> rtnet-39f7fcf >>>>>>>> >>>>>>>> The testprogram runs on two computers with "Intel Corporation >>>>>>>> 82557/8/9/0/1 Ethernet Pro 100 (rev 08)" controller, where one >>>>>>>> computer >>>>>>>> acts as a mirror sending back packets received from the ethernet >>>>>>>> (only >>>>>>>> those two computers on the network), and the other sends packets and >>>>>>>> measures roundtrip time. Most packets comes back in approximately >>>>>>>> 100 >>>>>>>> us, but occasionally the reception times out (once in about 100000 >>>>>>>> packets or more), but the packets gets immediately received when >>>>>>>> reception is retried, which might indicate a race between >>>>>>>> rt_dev_recvmsg >>>>>>>> and interrupt, but I might miss something obvious. >>>>>>> Changing one of the ethernet cards to a "Intel Corporation 82541PI >>>>>>> Gigabit Ethernet Controller (rev 05)", while keeping everything else >>>>>>> constant, changes behavior somewhat; after receiving a few 100000 >>>>>>> packets, reception stops entirely (-EAGAIN is returned), while >>>>>>> transmission proceeds as it should (and mirror returns packets). >>>>>>> >>>>>>> Any suggestions on what to try? >>>>>> Since the problem disappears with 'maxcpus=1', I suspect I have a SMP >>>>>> issue (machine is a Core2 Quad), so I'll move to xenomai-core. >>>>>> (original message can be found at >>>>>> http://sourceforge.net/mailarchive/message.php?msg_name=4CC82C8D.3080808%40control.lth.se >>>>>> >>>>>> ) >>>>>> >>>>>> Xenomai-core gurus: which is the corrrect way to debug SMP issues? >>>>>> Can I run I-pipe-tracer and expect to be able save at least 150 us of >>>>>> traces for all cpus? Any hints/suggestions/insigths are welcome... >>>>> The i-pipe tracer unfortunately only saves traces for a the CPU that >>>>> triggered the freeze. To have a full pictures, you may want to try my >>>>> ftrace port I posted recently for 2.6.35. >>>> 2.6.35.7 ? >>>> >>> Exactly. >> Finally managed to get the ftrace to work >> (one possible bug: had to manually copy >> include/xenomai/trace/xn_nucleus.h to >> include/xenomai/trace/events/xn_nucleus.h), and it looks like it can be >> very useful... >> >> But I don't think it will give much info at the moment, since no >> xenomai/ipipe interrupt activity shows up, and adding that is far above >> my league :-( > > You could use the function tracer, provided you are able to stop the > trace quickly enough on error. > >> My current theory is that the problem occurs when something like this >> takes place: >> >> CPU-i CPU-j CPU-k CPU-l >> >> rt_dev_sendmsg >> xmit_irq >> rt_dev_recvmsg recv_irq > > Can't follow. When races here, and what will go wrong then? Thats the good question. Find attached: 1. .config (so you can check for stupid mistakes) 2. console log 3. latest version of test program 4. tail of ftrace dump These are the xenomai tasks running when the test program is active: CPU PID CLASS PRI TIMEOUT TIMEBASE STAT NAME 0 0 idle -1 - master R ROOT/0 1 0 idle -1 - master R ROOT/1 2 0 idle -1 - master R ROOT/2 3 0 idle -1 - master R ROOT/3 0 0 rt 98 - master W rtnet-stack 0 0 rt 0 - master W rtnet-rtpc 0 29901 rt 50 - master raw_test 0 29906 rt 0 - master X reporter The lines of interest from the trace are probably: [003] 2061.347855: xn_nucleus_thread_resume: thread=f9bf7b00 thread_name=rtnet-stack mask=2 [003] 2061.347862: xn_nucleus_sched: status=2000000 [000] 2061.347866: xn_nucleus_sched_remote: status=0 since this is the only place where a packet gets delayed, and the only place in the trace where sched_remote reports a status=0 Anybody that has any ideas? /Anders [-- Attachment #2: config --] [-- Type: text/plain, Size: 116776 bytes --] # # Automatically generated make config: don't edit # Linux kernel version: 2.6.35.7-ftrace-test # Tue Nov 2 18:32:33 2010 # # CONFIG_64BIT is not set CONFIG_X86_32=y # CONFIG_X86_64 is not set CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y CONFIG_OUTPUT_FORMAT="elf32-i386" CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" CONFIG_GENERIC_TIME=y 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_HWEIGHT=y CONFIG_GENERIC_GPIO=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y # CONFIG_RWSEM_GENERIC_SPINLOCK is not set CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y CONFIG_GENERIC_CALIBRATE_DELAY=y # CONFIG_GENERIC_TIME_VSYSCALL is not set CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_DEFAULT_IDLE=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_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 is not set CONFIG_ARCH_POPULATES_NODE_MAP=y # CONFIG_AUDIT_ARCH is not set CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_HAVE_EARLY_RES=y CONFIG_HAVE_INTEL_TXT=y CONFIG_GENERIC_HARDIRQS=y CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_USE_GENERIC_SMP_HELPERS=y CONFIG_X86_32_SMP=y CONFIG_X86_HT=y CONFIG_X86_TRAMPOLINE=y CONFIG_X86_32_LAZY_GS=y CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx" CONFIG_KTIME_SCALAR=y CONFIG_ARCH_CPU_PROBE_RELEASE=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_CONSTRUCTORS=y # # General setup # CONFIG_EXPERIMENTAL=y CONFIG_LOCK_KERNEL=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_LZO=y CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_BZIP2 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y CONFIG_POSIX_MQUEUE_SYSCTL=y CONFIG_BSD_PROCESS_ACCT=y # CONFIG_BSD_PROCESS_ACCT_V3 is not set CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y CONFIG_AUDIT=y CONFIG_AUDITSYSCALL=y CONFIG_AUDIT_TREE=y # # RCU Subsystem # CONFIG_TREE_RCU=y # CONFIG_TREE_PREEMPT_RCU is not set # CONFIG_TINY_RCU is not set # CONFIG_RCU_TRACE is not set CONFIG_RCU_FANOUT=32 # CONFIG_RCU_FANOUT_EXACT is not set CONFIG_RCU_FAST_NO_HZ=y # CONFIG_TREE_RCU_TRACE is not set # CONFIG_IKCONFIG is not set CONFIG_LOG_BUF_SHIFT=17 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y CONFIG_CGROUPS=y # CONFIG_CGROUP_DEBUG is not set CONFIG_CGROUP_NS=y CONFIG_CGROUP_FREEZER=y CONFIG_CGROUP_DEVICE=y CONFIG_CPUSETS=y CONFIG_PROC_PID_CPUSET=y CONFIG_CGROUP_CPUACCT=y CONFIG_RESOURCE_COUNTERS=y CONFIG_CGROUP_MEM_RES_CTLR=y CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y CONFIG_CGROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y CONFIG_RT_GROUP_SCHED=y CONFIG_BLK_CGROUP=y # CONFIG_DEBUG_BLK_CGROUP is not set CONFIG_MM_OWNER=y # CONFIG_SYSFS_DEPRECATED_V2 is not set CONFIG_RELAY=y CONFIG_NAMESPACES=y CONFIG_UTS_NS=y CONFIG_IPC_NS=y CONFIG_USER_NS=y CONFIG_PID_NS=y CONFIG_NET_NS=y CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" CONFIG_RD_GZIP=y CONFIG_RD_BZIP2=y CONFIG_RD_LZMA=y CONFIG_RD_LZO=y CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SYSCTL=y CONFIG_ANON_INODES=y # CONFIG_EMBEDDED is not set CONFIG_UID16=y CONFIG_SYSCTL_SYSCALL=y CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=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 CONFIG_PERF_USE_VMALLOC=y # # Kernel Performance Events And Counters # CONFIG_PERF_EVENTS=y CONFIG_PERF_COUNTERS=y CONFIG_DEBUG_PERF_USE_VMALLOC=y 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_SLOB is not set CONFIG_PROFILING=y CONFIG_TRACEPOINTS=y CONFIG_OPROFILE=m CONFIG_OPROFILE_EVENT_MULTIPLEX=y CONFIG_HAVE_OPROFILE=y CONFIG_KPROBES=y CONFIG_OPTPROBES=y CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y CONFIG_KRETPROBES=y CONFIG_USER_RETURN_NOTIFIER=y CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_KPROBES=y CONFIG_HAVE_KRETPROBES=y CONFIG_HAVE_OPTPROBES=y CONFIG_HAVE_ARCH_TRACEHOOK=y CONFIG_HAVE_DMA_ATTRS=y CONFIG_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 # # GCOV-based kernel profiling # # CONFIG_GCOV_KERNEL is not set CONFIG_SLOW_WORK=y CONFIG_SLOW_WORK_DEBUG=y CONFIG_HAVE_GENERIC_DMA_COHERENT=y CONFIG_SLABINFO=y CONFIG_RT_MUTEXES=y CONFIG_BASE_SMALL=0 CONFIG_MODULES=y # CONFIG_MODULE_FORCE_LOAD is not set CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y # CONFIG_MODVERSIONS is not set CONFIG_MODULE_SRCVERSION_ALL=y CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_LBDAF=y CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_INTEGRITY=y # # IO Schedulers # CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_CFQ=y CONFIG_CFQ_GROUP_IOSCHED=y # CONFIG_DEFAULT_DEADLINE is not set CONFIG_DEFAULT_CFQ=y # CONFIG_DEFAULT_NOOP is not set CONFIG_DEFAULT_IOSCHED="cfq" CONFIG_PREEMPT_NOTIFIERS=y CONFIG_PADATA=y # CONFIG_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 is not set # CONFIG_INLINE_SPIN_UNLOCK_BH is not set # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set # CONFIG_INLINE_READ_TRYLOCK is not set # CONFIG_INLINE_READ_LOCK is not set # CONFIG_INLINE_READ_LOCK_BH is not set # CONFIG_INLINE_READ_LOCK_IRQ is not set # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set # CONFIG_INLINE_READ_UNLOCK is not set # CONFIG_INLINE_READ_UNLOCK_BH is not set # CONFIG_INLINE_READ_UNLOCK_IRQ is not set # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set # CONFIG_INLINE_WRITE_TRYLOCK is not set # CONFIG_INLINE_WRITE_LOCK is not set # CONFIG_INLINE_WRITE_LOCK_BH is not set # CONFIG_INLINE_WRITE_LOCK_IRQ is not set # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set # CONFIG_INLINE_WRITE_UNLOCK is not set # CONFIG_INLINE_WRITE_UNLOCK_BH is not set # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set # CONFIG_MUTEX_SPIN_ON_OWNER is not set # # Real-time sub-system # CONFIG_XENOMAI=y CONFIG_XENO_GENERIC_STACKPOOL=y CONFIG_XENO_FASTSYNCH=y CONFIG_XENO_OPT_NUCLEUS=m CONFIG_XENO_OPT_PERVASIVE=y CONFIG_XENO_OPT_PRIOCPL=y CONFIG_XENO_OPT_PIPELINE_HEAD=y CONFIG_XENO_OPT_SCHED_CLASSES=y # CONFIG_XENO_OPT_SCHED_TP is not set # CONFIG_XENO_OPT_SCHED_SPORADIC is not set CONFIG_XENO_OPT_PIPE=y CONFIG_XENO_OPT_MAP=y CONFIG_XENO_OPT_VFILE=y CONFIG_XENO_OPT_PIPE_NRDEV=32 CONFIG_XENO_OPT_REGISTRY_NRSLOTS=512 CONFIG_XENO_OPT_SYS_HEAPSZ=256 CONFIG_XENO_OPT_SYS_STACKPOOLSZ=128 CONFIG_XENO_OPT_SEM_HEAPSZ=12 CONFIG_XENO_OPT_GLOBAL_SEM_HEAPSZ=12 CONFIG_XENO_OPT_STATS=y # CONFIG_XENO_OPT_DEBUG is not set CONFIG_XENO_OPT_SHIRQ=y CONFIG_XENO_OPT_HOSTRT=y # # Timing # # CONFIG_XENO_OPT_TIMING_PERIODIC is not set CONFIG_XENO_OPT_TIMING_VIRTICK=1000 CONFIG_XENO_OPT_TIMING_SCHEDLAT=0 # # Scalability # # CONFIG_XENO_OPT_SCALABLE_SCHED is not set CONFIG_XENO_OPT_TIMER_LIST=y # CONFIG_XENO_OPT_TIMER_HEAP is not set # CONFIG_XENO_OPT_TIMER_WHEEL is not set # # Machine # CONFIG_XENO_HW_FPU=y # # NMI watchdog # # CONFIG_XENO_HW_NMI_DEBUG_LATENCY is not set # # SMI workaround # # CONFIG_XENO_HW_SMI_DETECT_DISABLE is not set CONFIG_XENO_HW_SMI_DETECT=y CONFIG_XENO_HW_SMI_WORKAROUND=y CONFIG_XENO_HW_SMI_ALL=y # # Interfaces # CONFIG_XENO_SKIN_NATIVE=m CONFIG_XENO_OPT_NATIVE_PERIOD=0 CONFIG_XENO_OPT_NATIVE_PIPE=y CONFIG_XENO_OPT_NATIVE_PIPE_BUFSZ=1024 CONFIG_XENO_OPT_NATIVE_SEM=y CONFIG_XENO_OPT_NATIVE_EVENT=y CONFIG_XENO_OPT_NATIVE_MUTEX=y CONFIG_XENO_OPT_NATIVE_COND=y CONFIG_XENO_OPT_NATIVE_QUEUE=y CONFIG_XENO_OPT_NATIVE_BUFFER=y CONFIG_XENO_OPT_NATIVE_HEAP=y CONFIG_XENO_OPT_NATIVE_ALARM=y CONFIG_XENO_OPT_NATIVE_MPS=y # CONFIG_XENO_OPT_NATIVE_INTR is not set # CONFIG_XENO_SKIN_POSIX is not set # CONFIG_XENO_SKIN_PSOS is not set # CONFIG_XENO_SKIN_UITRON is not set # CONFIG_XENO_SKIN_VRTX is not set # CONFIG_XENO_SKIN_VXWORKS is not set # CONFIG_XENO_OPT_NOWARN_DEPRECATED is not set CONFIG_XENO_SKIN_RTDM=m CONFIG_XENO_OPT_RTDM_PERIOD=0 CONFIG_XENO_OPT_RTDM_FILDES=128 # CONFIG_XENO_OPT_RTDM_SELECT is not set # # Drivers # # # Serial drivers # CONFIG_XENO_DRIVERS_16550A=m CONFIG_XENO_DRIVERS_16550A_PIO=y # CONFIG_XENO_DRIVERS_16550A_MMIO is not set # CONFIG_XENO_DRIVERS_16550A_ANY is not set # # Testing drivers # # CONFIG_XENO_DRIVERS_TESTING_LEGACY_NAMES is not set CONFIG_XENO_DRIVERS_TIMERBENCH=m # CONFIG_XENO_DRIVERS_KLATENCY is not set # CONFIG_XENO_DRIVERS_IRQBENCH is not set CONFIG_XENO_DRIVERS_SWITCHTEST=m # CONFIG_XENO_DRIVERS_SIGTEST is not set CONFIG_XENO_DRIVERS_RTDMTEST=m # # CAN drivers # # CONFIG_XENO_DRIVERS_CAN is not set # # ANALOGY drivers # CONFIG_XENO_DRIVERS_ANALOGY=m CONFIG_XENO_DRIVERS_ANALOGY_DEBUG=y CONFIG_XENO_DRIVERS_ANALOGY_DEBUG_LEVEL=0 CONFIG_XENO_DRIVERS_ANALOGY_DRIVER_DEBUG_LEVEL=0 CONFIG_XENO_DRIVERS_ANALOGY_FAKE=m CONFIG_XENO_DRIVERS_ANALOGY_LOOP=m CONFIG_XENO_DRIVERS_ANALOGY_8255=m CONFIG_XENO_DRIVERS_ANALOGY_PARPORT=m CONFIG_XENO_DRIVERS_ANALOGY_NI_MITE=m CONFIG_XENO_DRIVERS_ANALOGY_NI_TIO=m CONFIG_XENO_DRIVERS_ANALOGY_NI_MIO=m CONFIG_XENO_DRIVERS_ANALOGY_NI_PCIMIO=m # CONFIG_XENO_DRIVERS_ANALOGY_S526 is not set # # Real-time IPC drivers # CONFIG_XENO_DRIVERS_RTIPC=m CONFIG_XENO_DRIVERS_RTIPC_XDDP=y CONFIG_XENO_DRIVERS_RTIPC_IDDP=y CONFIG_XENO_OPT_IDDP_NRPORT=32 CONFIG_XENO_DRIVERS_RTIPC_BUFP=y CONFIG_XENO_OPT_BUFP_NRPORT=32 CONFIG_FREEZER=y # # Processor type and features # CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_SMP=y # CONFIG_SPARSE_IRQ is not set CONFIG_X86_MPPARSE=y CONFIG_X86_BIGSMP=y CONFIG_X86_EXTENDED_PLATFORM=y # CONFIG_X86_ELAN is not set # CONFIG_X86_MRST is not set # CONFIG_X86_RDC321X is not set CONFIG_X86_32_NON_STANDARD=y # CONFIG_X86_NUMAQ is not set CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y # CONFIG_X86_SUMMIT is not set # CONFIG_X86_ES7000 is not set CONFIG_SCHED_OMIT_FRAME_POINTER=y # CONFIG_NO_BOOTMEM is not set # CONFIG_MEMTEST is not set CONFIG_X86_CYCLONE_TIMER=y # CONFIG_M386 is not set # CONFIG_M486 is not set # CONFIG_M586 is not set # CONFIG_M586TSC is not set # CONFIG_M586MMX is not set CONFIG_M686=y # CONFIG_MPENTIUMII is not set # CONFIG_MPENTIUMIII is not set # CONFIG_MPENTIUMM is not set # CONFIG_MPENTIUM4 is not set # CONFIG_MK6 is not set # CONFIG_MK7 is not set # CONFIG_MK8 is not set # CONFIG_MCRUSOE is not set # CONFIG_MEFFICEON is not set # CONFIG_MWINCHIPC6 is not set # CONFIG_MWINCHIP3D is not set # CONFIG_MGEODEGX1 is not set # CONFIG_MGEODE_LX is not set # CONFIG_MCYRIXIII is not set # CONFIG_MVIAC3_2 is not set # CONFIG_MVIAC7 is not set # CONFIG_MPSC is not set # CONFIG_MCORE2 is not set # CONFIG_MATOM is not set # CONFIG_GENERIC_CPU is not set CONFIG_X86_GENERIC=y CONFIG_X86_CPU=y CONFIG_X86_INTERNODE_CACHE_SHIFT=6 CONFIG_X86_CMPXCHG=y CONFIG_X86_L1_CACHE_SHIFT=6 CONFIG_X86_XADD=y # CONFIG_X86_PPRO_FENCE is not set CONFIG_X86_WP_WORKS_OK=y CONFIG_X86_INVLPG=y CONFIG_X86_BSWAP=y CONFIG_X86_POPAD_OK=y CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_USE_PPRO_CHECKSUM=y CONFIG_X86_TSC=y CONFIG_X86_CMPXCHG64=y CONFIG_X86_CMOV=y CONFIG_X86_MINIMUM_CPU_FAMILY=5 CONFIG_X86_DEBUGCTLMSR=y CONFIG_CPU_SUP_INTEL=y CONFIG_CPU_SUP_CYRIX_32=y CONFIG_CPU_SUP_AMD=y CONFIG_CPU_SUP_CENTAUR=y CONFIG_CPU_SUP_TRANSMETA_32=y CONFIG_CPU_SUP_UMC_32=y CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y CONFIG_DMI=y # CONFIG_IOMMU_HELPER is not set CONFIG_IOMMU_API=y CONFIG_NR_CPUS=32 CONFIG_SCHED_SMT=y CONFIG_SCHED_MC=y # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_PREEMPT is not set CONFIG_IPIPE=y CONFIG_IPIPE_DOMAINS=4 CONFIG_IPIPE_DELAYED_ATOMICSW=y # CONFIG_IPIPE_UNMASKED_CONTEXT_SWITCH is not set CONFIG_HAVE_IPIPE_HOSTRT=y CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y CONFIG_X86_MCE=y CONFIG_X86_MCE_INTEL=y CONFIG_X86_MCE_AMD=y # CONFIG_X86_ANCIENT_MCE is not set CONFIG_X86_MCE_THRESHOLD=y # CONFIG_X86_MCE_INJECT is not set CONFIG_X86_THERMAL_VECTOR=y CONFIG_VM86=y CONFIG_TOSHIBA=m CONFIG_I8K=m # CONFIG_X86_REBOOTFIXUPS is not set CONFIG_MICROCODE=m CONFIG_MICROCODE_INTEL=y CONFIG_MICROCODE_AMD=y CONFIG_MICROCODE_OLD_INTERFACE=y CONFIG_X86_MSR=y CONFIG_X86_CPUID=y # CONFIG_NOHIGHMEM is not set # CONFIG_HIGHMEM4G is not set CONFIG_HIGHMEM64G=y CONFIG_PAGE_OFFSET=0xC0000000 CONFIG_HIGHMEM=y CONFIG_X86_PAE=y CONFIG_ARCH_PHYS_ADDR_T_64BIT=y # CONFIG_NUMA is not set CONFIG_ARCH_FLATMEM_ENABLE=y CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_ILLEGAL_POINTER_VALUE=0 CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y # CONFIG_DISCONTIGMEM_MANUAL is not set # CONFIG_SPARSEMEM_MANUAL is not set CONFIG_FLATMEM=y CONFIG_FLAT_NODE_MEM_MAP=y CONFIG_SPARSEMEM_STATIC=y CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_SPLIT_PTLOCK_CPUS=999999 CONFIG_COMPACTION=y CONFIG_MIGRATION=y CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_ZONE_DMA_FLAG=1 CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y CONFIG_MMU_NOTIFIER=y CONFIG_KSM=y CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y CONFIG_MEMORY_FAILURE=y CONFIG_HWPOISON_INJECT=m CONFIG_HIGHPTE=y # CONFIG_X86_CHECK_BIOS_CORRUPTION is not set CONFIG_X86_RESERVE_LOW_64K=y # CONFIG_MATH_EMULATION is not set CONFIG_MTRR=y CONFIG_MTRR_SANITIZER=y CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1 CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 CONFIG_X86_PAT=y CONFIG_ARCH_USES_PG_UNCACHED=y CONFIG_EFI=y CONFIG_SECCOMP=y # CONFIG_CC_STACKPROTECTOR is not set # 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=y CONFIG_KEXEC=y CONFIG_CRASH_DUMP=y # CONFIG_KEXEC_JUMP is not set CONFIG_PHYSICAL_START=0x400000 CONFIG_RELOCATABLE=y CONFIG_X86_NEED_RELOCS=y CONFIG_PHYSICAL_ALIGN=0x400000 CONFIG_HOTPLUG_CPU=y # CONFIG_COMPAT_VDSO is not set # CONFIG_CMDLINE_BOOL is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y # # Power management and ACPI options # CONFIG_PM=y CONFIG_PM_DEBUG=y CONFIG_PM_ADVANCED_DEBUG=y # CONFIG_PM_VERBOSE is not set CONFIG_CAN_PM_TRACE=y CONFIG_PM_TRACE=y CONFIG_PM_TRACE_RTC=y CONFIG_PM_SLEEP_SMP=y CONFIG_PM_SLEEP=y # CONFIG_PM_SLEEP_ADVANCED_DEBUG is not set CONFIG_SUSPEND_NVS=y CONFIG_SUSPEND=y CONFIG_PM_TEST_SUSPEND=y CONFIG_SUSPEND_FREEZER=y CONFIG_HIBERNATION=y CONFIG_PM_STD_PARTITION="" CONFIG_PM_RUNTIME=y CONFIG_PM_OPS=y CONFIG_ACPI=y CONFIG_ACPI_SLEEP=y CONFIG_ACPI_PROCFS=y CONFIG_ACPI_PROCFS_POWER=y CONFIG_ACPI_POWER_METER=m CONFIG_ACPI_SYSFS_POWER=y # CONFIG_ACPI_PROC_EVENT is not set CONFIG_ACPI_AC=y CONFIG_ACPI_BATTERY=y CONFIG_ACPI_BUTTON=y CONFIG_ACPI_VIDEO=m CONFIG_ACPI_FAN=y CONFIG_ACPI_DOCK=y # CONFIG_ACPI_PROCESSOR is not set # CONFIG_ACPI_CUSTOM_DSDT is not set CONFIG_ACPI_BLACKLIST_YEAR=1999 CONFIG_ACPI_DEBUG=y # CONFIG_ACPI_DEBUG_FUNC_TRACE is not set CONFIG_ACPI_PCI_SLOT=y CONFIG_X86_PM_TIMER=y CONFIG_ACPI_CONTAINER=y CONFIG_ACPI_SBS=m CONFIG_ACPI_HED=m CONFIG_ACPI_APEI=y CONFIG_ACPI_APEI_GHES=m # CONFIG_ACPI_APEI_EINJ is not set CONFIG_SFI=y # CONFIG_APM is not set # # CPU Frequency scaling # # CONFIG_CPU_FREQ is not set CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y CONFIG_INTEL_IDLE=m # # Bus options (PCI etc.) # CONFIG_PCI=y # CONFIG_PCI_GOBIOS is not set # CONFIG_PCI_GOMMCONFIG is not set # CONFIG_PCI_GODIRECT is not set # CONFIG_PCI_GOOLPC is not set CONFIG_PCI_GOANY=y CONFIG_PCI_BIOS=y CONFIG_PCI_DIRECT=y CONFIG_PCI_MMCONFIG=y CONFIG_PCI_OLPC=y CONFIG_PCI_DOMAINS=y CONFIG_PCI_CNB20LE_QUIRK=y CONFIG_DMAR=y CONFIG_DMAR_DEFAULT_ON=y CONFIG_DMAR_FLOPPY_WA=y CONFIG_PCIEPORTBUS=y CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_PCIEAER=y CONFIG_PCIE_ECRC=y CONFIG_PCIEAER_INJECT=m CONFIG_PCIEASPM=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIE_PME=y CONFIG_ARCH_SUPPORTS_MSI=y CONFIG_PCI_MSI=y # CONFIG_PCI_DEBUG is not set CONFIG_PCI_STUB=y CONFIG_HT_IRQ=y CONFIG_PCI_IOV=y CONFIG_PCI_IOAPIC=y CONFIG_ISA_DMA_API=y CONFIG_ISA=y # CONFIG_EISA is not set # CONFIG_MCA is not set # CONFIG_SCx200 is not set CONFIG_OLPC=y CONFIG_K8_NB=y CONFIG_PCCARD=y CONFIG_PCMCIA=y CONFIG_PCMCIA_LOAD_CIS=y 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=m CONFIG_I82365=m # CONFIG_TCIC is not set CONFIG_PCMCIA_PROBE=y CONFIG_PCCARD_NONSTATIC=y CONFIG_HOTPLUG_PCI=y CONFIG_HOTPLUG_PCI_FAKE=m CONFIG_HOTPLUG_PCI_COMPAQ=m # CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set CONFIG_HOTPLUG_PCI_IBM=m CONFIG_HOTPLUG_PCI_ACPI=y CONFIG_HOTPLUG_PCI_ACPI_IBM=m # CONFIG_HOTPLUG_PCI_CPCI is not set # CONFIG_HOTPLUG_PCI_SHPC is not set # # Executable file formats / Emulations # CONFIG_BINFMT_ELF=y CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y CONFIG_HAVE_AOUT=y # CONFIG_BINFMT_AOUT is not set CONFIG_BINFMT_MISC=y CONFIG_HAVE_ATOMIC_IOMAP=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=m CONFIG_NET_KEY=m CONFIG_NET_KEY_MIGRATE=y CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y CONFIG_ASK_IP_FIB_HASH=y # CONFIG_IP_FIB_TRIE is not set CONFIG_IP_FIB_HASH=y CONFIG_IP_MULTIPLE_TABLES=y CONFIG_IP_ROUTE_MULTIPATH=y CONFIG_IP_ROUTE_VERBOSE=y # CONFIG_IP_PNP is not set CONFIG_NET_IPIP=m CONFIG_NET_IPGRE=m CONFIG_NET_IPGRE_BROADCAST=y CONFIG_IP_MROUTE=y CONFIG_IP_MROUTE_MULTIPLE_TABLES=y CONFIG_IP_PIMSM_V1=y CONFIG_IP_PIMSM_V2=y CONFIG_ARPD=y CONFIG_SYN_COOKIES=y CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=m CONFIG_INET_XFRM_TUNNEL=m CONFIG_INET_TUNNEL=m CONFIG_INET_XFRM_MODE_TRANSPORT=m CONFIG_INET_XFRM_MODE_TUNNEL=m CONFIG_INET_XFRM_MODE_BEET=m CONFIG_INET_LRO=y CONFIG_INET_DIAG=m CONFIG_INET_TCP_DIAG=m CONFIG_TCP_CONG_ADVANCED=y CONFIG_TCP_CONG_BIC=m CONFIG_TCP_CONG_CUBIC=y CONFIG_TCP_CONG_WESTWOOD=m CONFIG_TCP_CONG_HTCP=m CONFIG_TCP_CONG_HSTCP=m CONFIG_TCP_CONG_HYBLA=m 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=m # CONFIG_DEFAULT_BIC is not set CONFIG_DEFAULT_CUBIC=y # CONFIG_DEFAULT_HTCP is not set # CONFIG_DEFAULT_HYBLA is not set # CONFIG_DEFAULT_VEGAS is not set # CONFIG_DEFAULT_VENO is not set # CONFIG_DEFAULT_WESTWOOD is not set # CONFIG_DEFAULT_RENO is not set CONFIG_DEFAULT_TCP_CONG="cubic" CONFIG_TCP_MD5SIG=y CONFIG_IPV6=m CONFIG_IPV6_PRIVACY=y CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y CONFIG_IPV6_OPTIMISTIC_DAD=y CONFIG_INET6_AH=m CONFIG_INET6_ESP=m CONFIG_INET6_IPCOMP=m CONFIG_IPV6_MIP6=m CONFIG_INET6_XFRM_TUNNEL=m CONFIG_INET6_TUNNEL=m CONFIG_INET6_XFRM_MODE_TRANSPORT=m CONFIG_INET6_XFRM_MODE_TUNNEL=m CONFIG_INET6_XFRM_MODE_BEET=m CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m CONFIG_IPV6_SIT=m CONFIG_IPV6_SIT_6RD=y CONFIG_IPV6_NDISC_NODETYPE=y CONFIG_IPV6_TUNNEL=m CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=y CONFIG_IPV6_MROUTE=y CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y CONFIG_IPV6_PIMSM_V2=y CONFIG_NETLABEL=y CONFIG_NETWORK_SECMARK=y CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set CONFIG_NETFILTER_ADVANCED=y CONFIG_BRIDGE_NETFILTER=y # # Core Netfilter Configuration # CONFIG_NETFILTER_NETLINK=m CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NETFILTER_NETLINK_LOG=m CONFIG_NF_CONNTRACK=y CONFIG_NF_CT_ACCT=y CONFIG_NF_CONNTRACK_MARK=y CONFIG_NF_CONNTRACK_SECMARK=y CONFIG_NF_CONNTRACK_ZONES=y CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CT_PROTO_DCCP=m CONFIG_NF_CT_PROTO_GRE=m CONFIG_NF_CT_PROTO_SCTP=m CONFIG_NF_CT_PROTO_UDPLITE=m CONFIG_NF_CONNTRACK_AMANDA=m CONFIG_NF_CONNTRACK_FTP=m CONFIG_NF_CONNTRACK_H323=m CONFIG_NF_CONNTRACK_IRC=m CONFIG_NF_CONNTRACK_NETBIOS_NS=m CONFIG_NF_CONNTRACK_PPTP=m CONFIG_NF_CONNTRACK_SANE=m CONFIG_NF_CONNTRACK_SIP=m CONFIG_NF_CONNTRACK_TFTP=m CONFIG_NF_CT_NETLINK=m CONFIG_NETFILTER_TPROXY=m CONFIG_NETFILTER_XTABLES=y # # Xtables combined modules # CONFIG_NETFILTER_XT_MARK=m CONFIG_NETFILTER_XT_CONNMARK=m # # Xtables targets # CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m CONFIG_NETFILTER_XT_TARGET_CONNMARK=m CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m CONFIG_NETFILTER_XT_TARGET_CT=m CONFIG_NETFILTER_XT_TARGET_DSCP=m CONFIG_NETFILTER_XT_TARGET_HL=m CONFIG_NETFILTER_XT_TARGET_LED=m CONFIG_NETFILTER_XT_TARGET_MARK=m CONFIG_NETFILTER_XT_TARGET_NFLOG=m CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m CONFIG_NETFILTER_XT_TARGET_NOTRACK=m CONFIG_NETFILTER_XT_TARGET_RATEEST=m CONFIG_NETFILTER_XT_TARGET_TEE=m CONFIG_NETFILTER_XT_TARGET_TPROXY=m CONFIG_NETFILTER_XT_TARGET_TRACE=m CONFIG_NETFILTER_XT_TARGET_SECMARK=m CONFIG_NETFILTER_XT_TARGET_TCPMSS=m CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m # # Xtables matches # CONFIG_NETFILTER_XT_MATCH_CLUSTER=m CONFIG_NETFILTER_XT_MATCH_COMMENT=m CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m CONFIG_NETFILTER_XT_MATCH_CONNMARK=m CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y CONFIG_NETFILTER_XT_MATCH_DCCP=m CONFIG_NETFILTER_XT_MATCH_DSCP=m CONFIG_NETFILTER_XT_MATCH_ESP=m CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m CONFIG_NETFILTER_XT_MATCH_HELPER=m CONFIG_NETFILTER_XT_MATCH_HL=m CONFIG_NETFILTER_XT_MATCH_IPRANGE=m CONFIG_NETFILTER_XT_MATCH_LENGTH=m CONFIG_NETFILTER_XT_MATCH_LIMIT=m CONFIG_NETFILTER_XT_MATCH_MAC=m CONFIG_NETFILTER_XT_MATCH_MARK=m CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m CONFIG_NETFILTER_XT_MATCH_OSF=m CONFIG_NETFILTER_XT_MATCH_OWNER=m CONFIG_NETFILTER_XT_MATCH_POLICY=m CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m CONFIG_NETFILTER_XT_MATCH_QUOTA=m CONFIG_NETFILTER_XT_MATCH_RATEEST=m CONFIG_NETFILTER_XT_MATCH_REALM=m CONFIG_NETFILTER_XT_MATCH_RECENT=m CONFIG_NETFILTER_XT_MATCH_SCTP=m CONFIG_NETFILTER_XT_MATCH_SOCKET=m CONFIG_NETFILTER_XT_MATCH_STATE=y CONFIG_NETFILTER_XT_MATCH_STATISTIC=m CONFIG_NETFILTER_XT_MATCH_STRING=m CONFIG_NETFILTER_XT_MATCH_TCPMSS=m CONFIG_NETFILTER_XT_MATCH_TIME=m CONFIG_NETFILTER_XT_MATCH_U32=m CONFIG_IP_VS=m # CONFIG_IP_VS_IPV6 is not set # CONFIG_IP_VS_DEBUG is not set CONFIG_IP_VS_TAB_BITS=12 # # IPVS transport protocol load balancing support # CONFIG_IP_VS_PROTO_TCP=y CONFIG_IP_VS_PROTO_UDP=y CONFIG_IP_VS_PROTO_AH_ESP=y CONFIG_IP_VS_PROTO_ESP=y CONFIG_IP_VS_PROTO_AH=y CONFIG_IP_VS_PROTO_SCTP=y # # IPVS scheduler # CONFIG_IP_VS_RR=m CONFIG_IP_VS_WRR=m CONFIG_IP_VS_LC=m CONFIG_IP_VS_WLC=m CONFIG_IP_VS_LBLC=m CONFIG_IP_VS_LBLCR=m CONFIG_IP_VS_DH=m CONFIG_IP_VS_SH=m CONFIG_IP_VS_SED=m CONFIG_IP_VS_NQ=m # # IPVS application helper # CONFIG_IP_VS_FTP=m # # IP: Netfilter Configuration # CONFIG_NF_DEFRAG_IPV4=y CONFIG_NF_CONNTRACK_IPV4=y # CONFIG_NF_CONNTRACK_PROC_COMPAT is not set CONFIG_IP_NF_QUEUE=m CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_MATCH_ADDRTYPE=m CONFIG_IP_NF_MATCH_AH=m CONFIG_IP_NF_MATCH_ECN=m CONFIG_IP_NF_MATCH_TTL=m CONFIG_IP_NF_FILTER=y CONFIG_IP_NF_TARGET_REJECT=y CONFIG_IP_NF_TARGET_LOG=m CONFIG_IP_NF_TARGET_ULOG=m CONFIG_NF_NAT=m CONFIG_NF_NAT_NEEDED=y CONFIG_IP_NF_TARGET_MASQUERADE=m CONFIG_IP_NF_TARGET_NETMAP=m CONFIG_IP_NF_TARGET_REDIRECT=m CONFIG_NF_NAT_SNMP_BASIC=m CONFIG_NF_NAT_PROTO_DCCP=m CONFIG_NF_NAT_PROTO_GRE=m CONFIG_NF_NAT_PROTO_UDPLITE=m CONFIG_NF_NAT_PROTO_SCTP=m CONFIG_NF_NAT_FTP=m CONFIG_NF_NAT_IRC=m CONFIG_NF_NAT_TFTP=m CONFIG_NF_NAT_AMANDA=m CONFIG_NF_NAT_PPTP=m CONFIG_NF_NAT_H323=m CONFIG_NF_NAT_SIP=m CONFIG_IP_NF_MANGLE=m CONFIG_IP_NF_TARGET_CLUSTERIP=m CONFIG_IP_NF_TARGET_ECN=m CONFIG_IP_NF_TARGET_TTL=m CONFIG_IP_NF_RAW=m CONFIG_IP_NF_SECURITY=m CONFIG_IP_NF_ARPTABLES=m CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARP_MANGLE=m # # IPv6: Netfilter Configuration # CONFIG_NF_CONNTRACK_IPV6=m CONFIG_IP6_NF_QUEUE=m CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_AH=m CONFIG_IP6_NF_MATCH_EUI64=m CONFIG_IP6_NF_MATCH_FRAG=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_HL=m CONFIG_IP6_NF_MATCH_IPV6HEADER=m CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_RT=m CONFIG_IP6_NF_TARGET_HL=m CONFIG_IP6_NF_TARGET_LOG=m CONFIG_IP6_NF_FILTER=m CONFIG_IP6_NF_TARGET_REJECT=m CONFIG_IP6_NF_MANGLE=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m # # DECnet: Netfilter Configuration # # CONFIG_DECNET_NF_GRABULATOR is not set CONFIG_BRIDGE_NF_EBTABLES=m CONFIG_BRIDGE_EBT_BROUTE=m CONFIG_BRIDGE_EBT_T_FILTER=m CONFIG_BRIDGE_EBT_T_NAT=m CONFIG_BRIDGE_EBT_802_3=m CONFIG_BRIDGE_EBT_AMONG=m CONFIG_BRIDGE_EBT_ARP=m CONFIG_BRIDGE_EBT_IP=m CONFIG_BRIDGE_EBT_IP6=m CONFIG_BRIDGE_EBT_LIMIT=m CONFIG_BRIDGE_EBT_MARK=m CONFIG_BRIDGE_EBT_PKTTYPE=m CONFIG_BRIDGE_EBT_STP=m CONFIG_BRIDGE_EBT_VLAN=m CONFIG_BRIDGE_EBT_ARPREPLY=m CONFIG_BRIDGE_EBT_DNAT=m CONFIG_BRIDGE_EBT_MARK_T=m CONFIG_BRIDGE_EBT_REDIRECT=m CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_LOG=m CONFIG_BRIDGE_EBT_ULOG=m CONFIG_BRIDGE_EBT_NFLOG=m 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=y # CONFIG_IP_DCCP_CCID3_DEBUG is not set CONFIG_IP_DCCP_CCID3_RTO=100 CONFIG_IP_DCCP_TFRC_LIB=y # # DCCP Kernel Hacking # # CONFIG_IP_DCCP_DEBUG is not set CONFIG_NET_DCCPPROBE=m CONFIG_IP_SCTP=m CONFIG_NET_SCTPPROBE=m # CONFIG_SCTP_DBG_MSG is not set # 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 is not set CONFIG_ATM=m CONFIG_ATM_CLIP=m # CONFIG_ATM_CLIP_NO_ICMP is not set CONFIG_ATM_LANE=m # CONFIG_ATM_MPOA is not set CONFIG_ATM_BR2684=m # CONFIG_ATM_BR2684_IPFILTER is not set CONFIG_L2TP=m CONFIG_L2TP_DEBUGFS=m CONFIG_L2TP_V3=y CONFIG_L2TP_IP=m CONFIG_L2TP_ETH=m CONFIG_STP=m CONFIG_GARP=m CONFIG_BRIDGE=m CONFIG_BRIDGE_IGMP_SNOOPING=y CONFIG_NET_DSA=y CONFIG_NET_DSA_TAG_DSA=y CONFIG_NET_DSA_TAG_EDSA=y CONFIG_NET_DSA_TAG_TRAILER=y CONFIG_NET_DSA_MV88E6XXX=y CONFIG_NET_DSA_MV88E6060=y CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y CONFIG_NET_DSA_MV88E6131=y CONFIG_NET_DSA_MV88E6123_61_65=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_DECNET=m CONFIG_DECNET_ROUTER=y CONFIG_LLC=m # CONFIG_LLC2 is not set CONFIG_IPX=m # CONFIG_IPX_INTERN is not set CONFIG_ATALK=m CONFIG_DEV_APPLETALK=m # CONFIG_LTPC is not set # CONFIG_COPS is not set CONFIG_IPDDP=m CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP_DECAP=y # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_ECONET is not set CONFIG_WAN_ROUTER=m CONFIG_PHONET=m CONFIG_IEEE802154=m CONFIG_NET_SCHED=y # # Queueing/Scheduling # CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_HTB=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_PRIO=m CONFIG_NET_SCH_MULTIQ=m CONFIG_NET_SCH_RED=m CONFIG_NET_SCH_SFQ=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCH_NETEM=m CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_INGRESS=m # # Classification # CONFIG_NET_CLS=y CONFIG_NET_CLS_BASIC=m CONFIG_NET_CLS_TCINDEX=m CONFIG_NET_CLS_ROUTE4=m CONFIG_NET_CLS_ROUTE=y CONFIG_NET_CLS_FW=m CONFIG_NET_CLS_U32=m CONFIG_CLS_U32_PERF=y CONFIG_CLS_U32_MARK=y CONFIG_NET_CLS_RSVP=m CONFIG_NET_CLS_RSVP6=m CONFIG_NET_CLS_FLOW=m CONFIG_NET_CLS_CGROUP=y CONFIG_NET_EMATCH=y CONFIG_NET_EMATCH_STACK=32 CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_NBYTE=m CONFIG_NET_EMATCH_U32=m CONFIG_NET_EMATCH_META=m CONFIG_NET_EMATCH_TEXT=m CONFIG_NET_CLS_ACT=y CONFIG_NET_ACT_POLICE=m CONFIG_NET_ACT_GACT=m CONFIG_GACT_PROB=y CONFIG_NET_ACT_MIRRED=m CONFIG_NET_ACT_IPT=m CONFIG_NET_ACT_NAT=m CONFIG_NET_ACT_PEDIT=m CONFIG_NET_ACT_SIMP=m CONFIG_NET_ACT_SKBEDIT=m CONFIG_NET_CLS_IND=y CONFIG_NET_SCH_FIFO=y CONFIG_DCB=y CONFIG_RPS=y # # 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=m CONFIG_6PACK=m CONFIG_BPQETHER=m CONFIG_SCC=m # CONFIG_SCC_DELAY is not set CONFIG_SCC_TRXECHO=y CONFIG_BAYCOM_SER_FDX=m CONFIG_BAYCOM_SER_HDX=m CONFIG_BAYCOM_PAR=m CONFIG_BAYCOM_EPP=m CONFIG_YAM=m CONFIG_CAN=m CONFIG_CAN_RAW=m CONFIG_CAN_BCM=m # # CAN Device Drivers # CONFIG_CAN_VCAN=m CONFIG_CAN_DEV=m CONFIG_CAN_CALC_BITTIMING=y CONFIG_CAN_SJA1000=m CONFIG_CAN_SJA1000_ISA=m CONFIG_CAN_SJA1000_PLATFORM=m CONFIG_CAN_EMS_PCI=m CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_PLX_PCI=m # # CAN USB interfaces # CONFIG_CAN_EMS_USB=m CONFIG_CAN_DEBUG_DEVICES=y CONFIG_IRDA=m # # IrDA protocols # CONFIG_IRLAN=m CONFIG_IRNET=m CONFIG_IRCOMM=m # CONFIG_IRDA_ULTRA is not set # # IrDA options # CONFIG_IRDA_CACHE_LAST_LSAP=y CONFIG_IRDA_FAST_RR=y # CONFIG_IRDA_DEBUG is not set # # Infrared-port device drivers # # # SIR device drivers # CONFIG_IRTTY_SIR=m # # Dongle support # CONFIG_DONGLE=y CONFIG_ESI_DONGLE=m CONFIG_ACTISYS_DONGLE=m CONFIG_TEKRAM_DONGLE=m CONFIG_TOIM3232_DONGLE=m CONFIG_LITELINK_DONGLE=m CONFIG_MA600_DONGLE=m CONFIG_GIRBIL_DONGLE=m CONFIG_MCP2120_DONGLE=m CONFIG_OLD_BELKIN_DONGLE=m CONFIG_ACT200L_DONGLE=m CONFIG_KINGSUN_DONGLE=m CONFIG_KSDAZZLE_DONGLE=m CONFIG_KS959_DONGLE=m # # FIR device drivers # CONFIG_USB_IRDA=m CONFIG_SIGMATEL_FIR=m CONFIG_NSC_FIR=m CONFIG_WINBOND_FIR=m # CONFIG_TOSHIBA_FIR is not set CONFIG_SMC_IRCC_FIR=m CONFIG_ALI_FIR=m CONFIG_VLSI_FIR=m CONFIG_VIA_FIR=m CONFIG_MCS_FIR=m CONFIG_BT=m CONFIG_BT_L2CAP=m CONFIG_BT_L2CAP_EXT_FEATURES=y CONFIG_BT_SCO=m CONFIG_BT_RFCOMM=m CONFIG_BT_RFCOMM_TTY=y CONFIG_BT_BNEP=m CONFIG_BT_BNEP_MC_FILTER=y CONFIG_BT_BNEP_PROTO_FILTER=y CONFIG_BT_CMTP=m 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_LL=y CONFIG_BT_HCIBCM203X=m CONFIG_BT_HCIBPA10X=m CONFIG_BT_HCIBFUSB=m CONFIG_BT_HCIDTL1=m CONFIG_BT_HCIBT3C=m CONFIG_BT_HCIBLUECARD=m CONFIG_BT_HCIBTUART=m CONFIG_BT_HCIVHCI=m CONFIG_BT_MRVL=m CONFIG_BT_MRVL_SDIO=m CONFIG_BT_ATH3K=m # CONFIG_AF_RXRPC is not set CONFIG_FIB_RULES=y CONFIG_WIRELESS=y CONFIG_WIRELESS_EXT=y CONFIG_WEXT_CORE=y CONFIG_WEXT_PROC=y CONFIG_WEXT_SPY=y CONFIG_WEXT_PRIV=y CONFIG_CFG80211=m # CONFIG_NL80211_TESTMODE is not set # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set # CONFIG_CFG80211_REG_DEBUG is not set CONFIG_CFG80211_DEFAULT_PS=y CONFIG_CFG80211_DEBUGFS=y # CONFIG_CFG80211_INTERNAL_REGDB is not set CONFIG_CFG80211_WEXT=y CONFIG_WIRELESS_EXT_SYSFS=y CONFIG_LIB80211=m CONFIG_LIB80211_CRYPT_WEP=m CONFIG_LIB80211_CRYPT_CCMP=m CONFIG_LIB80211_CRYPT_TKIP=m # CONFIG_LIB80211_DEBUG is not set CONFIG_MAC80211=m CONFIG_MAC80211_HAS_RC=y CONFIG_MAC80211_RC_MINSTREL=y # CONFIG_MAC80211_RC_DEFAULT_PID is not set CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y CONFIG_MAC80211_RC_DEFAULT="minstrel" CONFIG_MAC80211_MESH=y CONFIG_MAC80211_LEDS=y CONFIG_MAC80211_DEBUGFS=y # CONFIG_MAC80211_DEBUG_MENU is not set CONFIG_WIMAX=m CONFIG_WIMAX_DEBUG_LEVEL=8 CONFIG_RFKILL=m CONFIG_RFKILL_LEDS=y CONFIG_RFKILL_INPUT=y CONFIG_NET_9P=m CONFIG_NET_9P_VIRTIO=m CONFIG_NET_9P_RDMA=m # CONFIG_NET_9P_DEBUG is not set # CONFIG_CAIF is not set # # Device Drivers # # # Generic Driver Options # CONFIG_UEVENT_HELPER_PATH="" CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y # CONFIG_FIRMWARE_IN_KERNEL is not set CONFIG_EXTRA_FIRMWARE="" # CONFIG_DEBUG_DRIVER is not set CONFIG_DEBUG_DEVRES=y # CONFIG_SYS_HYPERVISOR is not set CONFIG_CONNECTOR=y CONFIG_PROC_EVENTS=y CONFIG_MTD=m # CONFIG_MTD_DEBUG is not set # CONFIG_MTD_TESTS is not set CONFIG_MTD_CONCAT=m CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=m CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set # CONFIG_MTD_REDBOOT_PARTS_READONLY is not set CONFIG_MTD_AR7_PARTS=m # # User Modules And Translation Layers # CONFIG_MTD_CHAR=m CONFIG_MTD_BLKDEVS=m CONFIG_MTD_BLOCK=m CONFIG_MTD_BLOCK_RO=m CONFIG_FTL=m CONFIG_NFTL=m CONFIG_NFTL_RW=y CONFIG_INFTL=m CONFIG_RFD_FTL=m CONFIG_SSFDC=m # CONFIG_SM_FTL is not set CONFIG_MTD_OOPS=m # # RAM/ROM/Flash chip drivers # CONFIG_MTD_CFI=m CONFIG_MTD_JEDECPROBE=m CONFIG_MTD_GEN_PROBE=m # CONFIG_MTD_CFI_ADV_OPTIONS is not set CONFIG_MTD_MAP_BANK_WIDTH_1=y CONFIG_MTD_MAP_BANK_WIDTH_2=y CONFIG_MTD_MAP_BANK_WIDTH_4=y # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set CONFIG_MTD_CFI_I1=y CONFIG_MTD_CFI_I2=y # CONFIG_MTD_CFI_I4 is not set # CONFIG_MTD_CFI_I8 is not set CONFIG_MTD_CFI_INTELEXT=m CONFIG_MTD_CFI_AMDSTD=m CONFIG_MTD_CFI_STAA=m CONFIG_MTD_CFI_UTIL=m CONFIG_MTD_RAM=m CONFIG_MTD_ROM=m CONFIG_MTD_ABSENT=m # # Mapping drivers for chip access # CONFIG_MTD_COMPLEX_MAPPINGS=y # CONFIG_MTD_PHYSMAP is not set CONFIG_MTD_SC520CDP=m CONFIG_MTD_NETSC520=m CONFIG_MTD_TS5500=m # CONFIG_MTD_SBC_GXX is not set # CONFIG_MTD_AMD76XROM is not set # CONFIG_MTD_ICHXROM is not set CONFIG_MTD_ESB2ROM=m CONFIG_MTD_CK804XROM=m CONFIG_MTD_SCB2_FLASH=m # CONFIG_MTD_NETtel is not set # CONFIG_MTD_L440GX is not set CONFIG_MTD_PCI=m # CONFIG_MTD_PCMCIA is not set # CONFIG_MTD_GPIO_ADDR is not set # CONFIG_MTD_INTEL_VR_NOR is not set # CONFIG_MTD_PLATRAM is not set # # Self-contained MTD device drivers # CONFIG_MTD_PMC551=m # CONFIG_MTD_PMC551_BUGFIX is not set # CONFIG_MTD_PMC551_DEBUG is not set # CONFIG_MTD_SLRAM is not set # CONFIG_MTD_PHRAM is not set CONFIG_MTD_MTDRAM=m CONFIG_MTDRAM_TOTAL_SIZE=4096 CONFIG_MTDRAM_ERASE_SIZE=128 CONFIG_MTD_BLOCK2MTD=m # # Disk-On-Chip Device Drivers # # CONFIG_MTD_DOC2000 is not set # CONFIG_MTD_DOC2001 is not set # CONFIG_MTD_DOC2001PLUS is not set CONFIG_MTD_NAND_ECC=m CONFIG_MTD_NAND_ECC_SMC=y CONFIG_MTD_NAND=m # CONFIG_MTD_NAND_VERIFY_WRITE is not set CONFIG_MTD_SM_COMMON=m # CONFIG_MTD_NAND_MUSEUM_IDS is not set # CONFIG_MTD_NAND_DENALI is not set CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018 CONFIG_MTD_NAND_IDS=m CONFIG_MTD_NAND_RICOH=m CONFIG_MTD_NAND_DISKONCHIP=m # CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 # CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set CONFIG_MTD_NAND_CAFE=m CONFIG_MTD_NAND_CS553X=m CONFIG_MTD_NAND_NANDSIM=m # CONFIG_MTD_NAND_PLATFORM is not set CONFIG_MTD_ALAUDA=m # CONFIG_MTD_ONENAND is not set # # LPDDR flash memory drivers # CONFIG_MTD_LPDDR=m CONFIG_MTD_QINFO_PROBE=m # # UBI - Unsorted block images # CONFIG_MTD_UBI=m CONFIG_MTD_UBI_WL_THRESHOLD=4096 CONFIG_MTD_UBI_BEB_RESERVE=1 # CONFIG_MTD_UBI_GLUEBI is not set # # UBI debugging options # # CONFIG_MTD_UBI_DEBUG 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=y CONFIG_PARPORT_NOT_PC=y CONFIG_PNP=y # CONFIG_PNP_DEBUG_MESSAGES is not set # # Protocols # CONFIG_ISAPNP=y # CONFIG_PNPBIOS is not set CONFIG_PNPACPI=y CONFIG_BLK_DEV=y CONFIG_BLK_DEV_FD=m # CONFIG_BLK_DEV_XD is not set CONFIG_PARIDE=m # # Parallel IDE high-level drivers # CONFIG_PARIDE_PD=m CONFIG_PARIDE_PCD=m CONFIG_PARIDE_PF=m CONFIG_PARIDE_PT=m CONFIG_PARIDE_PG=m # # Parallel IDE protocol modules # CONFIG_PARIDE_ATEN=m CONFIG_PARIDE_BPCK=m CONFIG_PARIDE_BPCK6=m CONFIG_PARIDE_COMM=m CONFIG_PARIDE_DSTR=m CONFIG_PARIDE_FIT2=m CONFIG_PARIDE_FIT3=m CONFIG_PARIDE_EPAT=m CONFIG_PARIDE_EPATC8=y CONFIG_PARIDE_EPIA=m CONFIG_PARIDE_FRIQ=m CONFIG_PARIDE_FRPW=m CONFIG_PARIDE_KBIC=m CONFIG_PARIDE_KTTI=m CONFIG_PARIDE_ON20=m CONFIG_PARIDE_ON26=m CONFIG_BLK_CPQ_DA=m CONFIG_BLK_CPQ_CISS_DA=m CONFIG_CISS_SCSI_TAPE=y CONFIG_BLK_DEV_DAC960=m CONFIG_BLK_DEV_UMEM=m # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_DRBD=m CONFIG_DRBD_FAULT_INJECTION=y CONFIG_BLK_DEV_NBD=m CONFIG_BLK_DEV_OSD=m CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=16384 # CONFIG_BLK_DEV_XIP is not set CONFIG_CDROM_PKTCDVD=m CONFIG_CDROM_PKTCDVD_BUFFERS=8 # CONFIG_CDROM_PKTCDVD_WCACHE is not set CONFIG_ATA_OVER_ETH=m CONFIG_VIRTIO_BLK=m # CONFIG_BLK_DEV_HD is not set CONFIG_MISC_DEVICES=y # CONFIG_AD525X_DPOT is not set CONFIG_IBM_ASM=m # CONFIG_PHANTOM is not set # CONFIG_SGI_IOC4 is not set CONFIG_TIFM_CORE=m CONFIG_TIFM_7XX1=m CONFIG_ICS932S401=m CONFIG_ENCLOSURE_SERVICES=m CONFIG_CS5535_MFGPT=m CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7 CONFIG_CS5535_CLOCK_EVENT_SRC=m CONFIG_HP_ILO=m CONFIG_ISL29003=m CONFIG_SENSORS_TSL2550=m # CONFIG_DS1682 is not set CONFIG_VMWARE_BALLOON=m # CONFIG_C2PORT is not set # # EEPROM support # CONFIG_EEPROM_AT24=m CONFIG_EEPROM_LEGACY=m CONFIG_EEPROM_MAX6875=m CONFIG_EEPROM_93CX6=m CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set CONFIG_CB710_DEBUG_ASSUMPTIONS=y CONFIG_IWMC3200TOP=m # CONFIG_IWMC3200TOP_DEBUG is not set CONFIG_IWMC3200TOP_DEBUGFS=y 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=y # # SCSI support type (disk, tape, CD-ROM) # CONFIG_BLK_DEV_SD=y CONFIG_CHR_DEV_ST=m CONFIG_CHR_DEV_OSST=m CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_CHR_DEV_SG=y CONFIG_CHR_DEV_SCH=m CONFIG_SCSI_ENCLOSURE=m CONFIG_SCSI_MULTI_LUN=y CONFIG_SCSI_CONSTANTS=y CONFIG_SCSI_LOGGING=y CONFIG_SCSI_SCAN_ASYNC=y CONFIG_SCSI_WAIT_SCAN=m # # SCSI Transports # CONFIG_SCSI_SPI_ATTRS=m 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=y # CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set CONFIG_SCSI_SRP_ATTRS=m CONFIG_SCSI_SRP_TGT_ATTRS=y CONFIG_SCSI_LOWLEVEL=y CONFIG_ISCSI_TCP=m CONFIG_SCSI_CXGB3_ISCSI=m CONFIG_SCSI_BNX2_ISCSI=m CONFIG_BE2ISCSI=m CONFIG_BLK_DEV_3W_XXXX_RAID=m CONFIG_SCSI_HPSA=m CONFIG_SCSI_3W_9XXX=m CONFIG_SCSI_3W_SAS=m # CONFIG_SCSI_7000FASST is not set CONFIG_SCSI_ACARD=m CONFIG_SCSI_AHA152X=m CONFIG_SCSI_AHA1542=m CONFIG_SCSI_AACRAID=m CONFIG_SCSI_AIC7XXX=m CONFIG_AIC7XXX_CMDS_PER_DEVICE=4 CONFIG_AIC7XXX_RESET_DELAY_MS=15000 # CONFIG_AIC7XXX_DEBUG_ENABLE is not set CONFIG_AIC7XXX_DEBUG_MASK=0 # CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set CONFIG_SCSI_AIC7XXX_OLD=m CONFIG_SCSI_AIC79XX=m CONFIG_AIC79XX_CMDS_PER_DEVICE=4 CONFIG_AIC79XX_RESET_DELAY_MS=15000 # CONFIG_AIC79XX_DEBUG_ENABLE is not set CONFIG_AIC79XX_DEBUG_MASK=0 # CONFIG_AIC79XX_REG_PRETTY_PRINT is not set CONFIG_SCSI_AIC94XX=m # CONFIG_AIC94XX_DEBUG is not set CONFIG_SCSI_MVSAS=m # CONFIG_SCSI_MVSAS_DEBUG is not set # CONFIG_SCSI_DPT_I2O is not set CONFIG_SCSI_ADVANSYS=m # CONFIG_SCSI_IN2000 is not set CONFIG_SCSI_ARCMSR=m CONFIG_SCSI_ARCMSR_AER=y CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_LEGACY=m CONFIG_MEGARAID_SAS=m CONFIG_SCSI_MPT2SAS=m CONFIG_SCSI_MPT2SAS_MAX_SGE=128 CONFIG_SCSI_MPT2SAS_LOGGING=y CONFIG_SCSI_HPTIOP=m CONFIG_SCSI_BUSLOGIC=m CONFIG_SCSI_FLASHPOINT=y CONFIG_VMWARE_PVSCSI=m CONFIG_LIBFC=m CONFIG_LIBFCOE=m CONFIG_FCOE=m CONFIG_FCOE_FNIC=m # CONFIG_SCSI_DMX3191D is not set # CONFIG_SCSI_DTC3280 is not set # CONFIG_SCSI_EATA is not set CONFIG_SCSI_FUTURE_DOMAIN=m CONFIG_SCSI_GDTH=m # CONFIG_SCSI_GENERIC_NCR5380 is not set # CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set CONFIG_SCSI_IPS=m CONFIG_SCSI_INITIO=m CONFIG_SCSI_INIA100=m CONFIG_SCSI_PPA=m CONFIG_SCSI_IMM=m # CONFIG_SCSI_IZIP_EPP16 is not set # CONFIG_SCSI_IZIP_SLOW_CTR is not set # CONFIG_SCSI_NCR53C406A is not set CONFIG_SCSI_STEX=m 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=y # CONFIG_SCSI_IPR is not set # CONFIG_SCSI_PAS16 is not set # CONFIG_SCSI_QLOGIC_FAS is not set CONFIG_SCSI_QLOGIC_1280=m CONFIG_SCSI_QLA_FC=m CONFIG_SCSI_QLA_ISCSI=m CONFIG_SCSI_LPFC=m # CONFIG_SCSI_LPFC_DEBUG_FS is not set # CONFIG_SCSI_SYM53C416 is not set CONFIG_SCSI_DC395x=m CONFIG_SCSI_DC390T=m # CONFIG_SCSI_T128 is not set # CONFIG_SCSI_U14_34F is not set # CONFIG_SCSI_ULTRASTOR is not set # CONFIG_SCSI_NSP32 is not set CONFIG_SCSI_DEBUG=m CONFIG_SCSI_PMCRAID=m CONFIG_SCSI_PM8001=m CONFIG_SCSI_SRP=m CONFIG_SCSI_BFA_FC=m CONFIG_SCSI_LOWLEVEL_PCMCIA=y CONFIG_PCMCIA_AHA152X=m CONFIG_PCMCIA_FDOMAIN=m CONFIG_PCMCIA_NINJA_SCSI=m CONFIG_PCMCIA_QLOGIC=m CONFIG_PCMCIA_SYM53C500=m CONFIG_SCSI_DH=y CONFIG_SCSI_DH_RDAC=m CONFIG_SCSI_DH_HP_SW=m CONFIG_SCSI_DH_EMC=m CONFIG_SCSI_DH_ALUA=m CONFIG_SCSI_OSD_INITIATOR=m CONFIG_SCSI_OSD_ULD=m CONFIG_SCSI_OSD_DPRINT_SENSE=1 # CONFIG_SCSI_OSD_DEBUG is not set CONFIG_ATA=y # CONFIG_ATA_NONSTANDARD is not set CONFIG_ATA_VERBOSE_ERROR=y CONFIG_ATA_ACPI=y CONFIG_SATA_PMP=y # # Controllers with non-SFF native interface # CONFIG_SATA_AHCI=y CONFIG_SATA_AHCI_PLATFORM=m CONFIG_SATA_INIC162X=m CONFIG_SATA_SIL24=m CONFIG_ATA_SFF=y # # SFF controllers with custom DMA interface # CONFIG_PDC_ADMA=m CONFIG_SATA_QSTOR=m CONFIG_SATA_SX4=m CONFIG_ATA_BMDMA=y # # SATA SFF controllers with BMDMA # CONFIG_ATA_PIIX=y CONFIG_SATA_MV=m CONFIG_SATA_NV=m CONFIG_SATA_PROMISE=m CONFIG_SATA_SIL=m CONFIG_SATA_SIS=m CONFIG_SATA_SVW=m CONFIG_SATA_ULI=m CONFIG_SATA_VIA=m CONFIG_SATA_VITESSE=m # # PATA SFF controllers with BMDMA # CONFIG_PATA_ALI=m CONFIG_PATA_AMD=m CONFIG_PATA_ARTOP=m CONFIG_PATA_ATIIXP=m CONFIG_PATA_ATP867X=m CONFIG_PATA_CMD64X=m CONFIG_PATA_CS5520=m CONFIG_PATA_CS5530=m CONFIG_PATA_CS5535=m CONFIG_PATA_CS5536=m CONFIG_PATA_CYPRESS=m CONFIG_PATA_EFAR=m CONFIG_PATA_HPT366=m CONFIG_PATA_HPT37X=m CONFIG_PATA_HPT3X2N=m CONFIG_PATA_HPT3X3=m # CONFIG_PATA_HPT3X3_DMA is not set CONFIG_PATA_IT8213=m CONFIG_PATA_IT821X=m CONFIG_PATA_JMICRON=m CONFIG_PATA_MARVELL=m CONFIG_PATA_NETCELL=m CONFIG_PATA_NINJA32=m CONFIG_PATA_NS87415=m CONFIG_PATA_OLDPIIX=m CONFIG_PATA_OPTIDMA=m CONFIG_PATA_PDC2027X=m CONFIG_PATA_PDC_OLD=m # CONFIG_PATA_RADISYS is not set CONFIG_PATA_RDC=m # CONFIG_PATA_SC1200 is not set CONFIG_PATA_SCH=m CONFIG_PATA_SERVERWORKS=m CONFIG_PATA_SIL680=m CONFIG_PATA_SIS=m CONFIG_PATA_TOSHIBA=m CONFIG_PATA_TRIFLEX=m CONFIG_PATA_VIA=m CONFIG_PATA_WINBOND=m # # PIO-only SFF controllers # CONFIG_PATA_CMD640_PCI=m # CONFIG_PATA_ISAPNP is not set CONFIG_PATA_MPIIX=m CONFIG_PATA_NS87410=m CONFIG_PATA_OPTI=m CONFIG_PATA_PCMCIA=m CONFIG_PATA_QDI=m # CONFIG_PATA_RZ1000 is not set # CONFIG_PATA_WINBOND_VLB is not set # # Generic fallback / legacy drivers # CONFIG_PATA_ACPI=m CONFIG_ATA_GENERIC=m # CONFIG_PATA_LEGACY is not set CONFIG_MD=y CONFIG_BLK_DEV_MD=y CONFIG_MD_AUTODETECT=y CONFIG_MD_LINEAR=m CONFIG_MD_RAID0=m CONFIG_MD_RAID1=m CONFIG_MD_RAID10=m CONFIG_MD_RAID456=m # CONFIG_MULTICORE_RAID456 is not set CONFIG_MD_RAID6_PQ=m CONFIG_ASYNC_RAID6_TEST=m CONFIG_MD_MULTIPATH=m CONFIG_MD_FAULTY=m CONFIG_BLK_DEV_DM=y CONFIG_DM_DEBUG=y CONFIG_DM_CRYPT=m CONFIG_DM_SNAPSHOT=y CONFIG_DM_MIRROR=y CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_ZERO=y CONFIG_DM_MULTIPATH=m CONFIG_DM_MULTIPATH_QL=m CONFIG_DM_MULTIPATH_ST=m # CONFIG_DM_DELAY is not set CONFIG_DM_UEVENT=y CONFIG_FUSION=y CONFIG_FUSION_SPI=m CONFIG_FUSION_FC=m CONFIG_FUSION_SAS=m CONFIG_FUSION_MAX_SGE=40 CONFIG_FUSION_CTL=m CONFIG_FUSION_LAN=m CONFIG_FUSION_LOGGING=y # # IEEE 1394 (FireWire) support # # # You can enable one or both FireWire driver stacks. # # # The newer stack is recommended. # CONFIG_FIREWIRE=m CONFIG_FIREWIRE_OHCI=m CONFIG_FIREWIRE_OHCI_DEBUG=y CONFIG_FIREWIRE_SBP2=m CONFIG_FIREWIRE_NET=m # CONFIG_IEEE1394 is not set # CONFIG_I2O is not set CONFIG_MACINTOSH_DRIVERS=y CONFIG_MAC_EMUMOUSEBTN=y CONFIG_NETDEVICES=y CONFIG_IFB=m CONFIG_DUMMY=m CONFIG_BONDING=m CONFIG_MACVLAN=m CONFIG_MACVTAP=m CONFIG_EQUALIZER=m CONFIG_TUN=m CONFIG_VETH=m CONFIG_NET_SB1000=m # CONFIG_ARCNET is not set CONFIG_PHYLIB=y # # MII PHY device drivers # CONFIG_MARVELL_PHY=m CONFIG_DAVICOM_PHY=m CONFIG_QSEMI_PHY=m CONFIG_LXT_PHY=m CONFIG_CICADA_PHY=m CONFIG_VITESSE_PHY=m CONFIG_SMSC_PHY=m CONFIG_BROADCOM_PHY=m CONFIG_ICPLUS_PHY=m CONFIG_REALTEK_PHY=m CONFIG_NATIONAL_PHY=m CONFIG_STE10XP=m CONFIG_LSI_ET1011C_PHY=m CONFIG_MICREL_PHY=m CONFIG_FIXED_PHY=y CONFIG_MDIO_BITBANG=m # CONFIG_MDIO_GPIO is not set CONFIG_NET_ETHERNET=y CONFIG_MII=m CONFIG_HAPPYMEAL=m CONFIG_SUNGEM=m CONFIG_CASSINI=m CONFIG_NET_VENDOR_3COM=y # CONFIG_EL1 is not set # CONFIG_EL2 is not set # CONFIG_ELPLUS is not set # CONFIG_EL16 is not set CONFIG_EL3=m # CONFIG_3C515 is not set CONFIG_VORTEX=m CONFIG_TYPHOON=m # CONFIG_LANCE is not set CONFIG_NET_VENDOR_SMC=y # CONFIG_WD80x3 is not set CONFIG_ULTRA=m # CONFIG_SMC9194 is not set CONFIG_ETHOC=m # CONFIG_NET_VENDOR_RACAL is not set CONFIG_DNET=m CONFIG_NET_TULIP=y CONFIG_DE2104X=m CONFIG_DE2104X_DSL=0 CONFIG_TULIP=m # CONFIG_TULIP_MWI is not set CONFIG_TULIP_MMIO=y # CONFIG_TULIP_NAPI is not set CONFIG_DE4X5=m CONFIG_WINBOND_840=m CONFIG_DM9102=m CONFIG_ULI526X=m CONFIG_PCMCIA_XIRCOM=m # CONFIG_AT1700 is not set # CONFIG_DEPCA is not set # CONFIG_HP100 is not set CONFIG_NET_ISA=y # CONFIG_E2100 is not set CONFIG_EWRK3=m # CONFIG_EEXPRESS is not set # CONFIG_EEXPRESS_PRO is not set # CONFIG_HPLAN_PLUS is not set # CONFIG_HPLAN is not set # CONFIG_LP486E is not set # CONFIG_ETH16I is not set CONFIG_NE2000=m # CONFIG_ZNET is not set # CONFIG_SEEQ8005 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=m CONFIG_AMD8111_ETH=m CONFIG_ADAPTEC_STARFIRE=m # CONFIG_AC3200 is not set CONFIG_KSZ884X_PCI=m # CONFIG_APRICOT is not set CONFIG_B44=m CONFIG_B44_PCI_AUTOSELECT=y CONFIG_B44_PCICORE_AUTOSELECT=y CONFIG_B44_PCI=y CONFIG_FORCEDETH=m # CONFIG_CS89x0 is not set CONFIG_E100=m CONFIG_FEALNX=m CONFIG_NATSEMI=m CONFIG_NE2K_PCI=m CONFIG_8139CP=m CONFIG_8139TOO=m # CONFIG_8139TOO_PIO is not set # CONFIG_8139TOO_TUNE_TWISTER is not set CONFIG_8139TOO_8129=y # CONFIG_8139_OLD_RX_RESET is not set CONFIG_R6040=m CONFIG_SIS900=m CONFIG_EPIC100=m CONFIG_SMSC9420=m CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set CONFIG_TLAN=m # CONFIG_KS8842 is not set # CONFIG_KS8851_MLL is not set CONFIG_VIA_RHINE=m CONFIG_VIA_RHINE_MMIO=y CONFIG_SC92031=m CONFIG_NET_POCKET=y CONFIG_ATP=m CONFIG_DE600=m CONFIG_DE620=m CONFIG_ATL2=m CONFIG_NETDEV_1000=y CONFIG_ACENIC=m # CONFIG_ACENIC_OMIT_TIGON_I is not set CONFIG_DL2K=m CONFIG_E1000=m CONFIG_E1000E=m CONFIG_IP1000=m CONFIG_IGB=m CONFIG_IGB_DCA=y CONFIG_IGBVF=m CONFIG_NS83820=m CONFIG_HAMACHI=m CONFIG_YELLOWFIN=m CONFIG_R8169=m CONFIG_R8169_VLAN=y CONFIG_SIS190=m CONFIG_SKGE=m # CONFIG_SKGE_DEBUG is not set CONFIG_SKY2=m # CONFIG_SKY2_DEBUG is not set CONFIG_VIA_VELOCITY=m CONFIG_TIGON3=m CONFIG_BNX2=m CONFIG_CNIC=m CONFIG_QLA3XXX=m CONFIG_ATL1=m CONFIG_ATL1E=m CONFIG_ATL1C=m CONFIG_JME=m CONFIG_NETDEV_10000=y CONFIG_MDIO=m CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T3_DEPENDS=y CONFIG_CHELSIO_T3=m CONFIG_CHELSIO_T4_DEPENDS=y CONFIG_CHELSIO_T4=m CONFIG_ENIC=m CONFIG_IXGBE=m CONFIG_IXGBE_DCA=y CONFIG_IXGBE_DCB=y CONFIG_IXGBEVF=m CONFIG_IXGB=m CONFIG_S2IO=m CONFIG_VXGE=m # CONFIG_VXGE_DEBUG_TRACE_ALL is not set CONFIG_MYRI10GE=m CONFIG_MYRI10GE_DCA=y CONFIG_NETXEN_NIC=m CONFIG_NIU=m CONFIG_MLX4_EN=m CONFIG_MLX4_CORE=m CONFIG_MLX4_DEBUG=y CONFIG_TEHUTI=m CONFIG_BNX2X=m CONFIG_QLCNIC=m CONFIG_QLGE=m CONFIG_SFC=m CONFIG_SFC_MTD=y CONFIG_BE2NET=m # CONFIG_TR is not set CONFIG_WLAN=y # CONFIG_PCMCIA_RAYCS is not set CONFIG_LIBERTAS_THINFIRM=m # CONFIG_LIBERTAS_THINFIRM_DEBUG is not set CONFIG_LIBERTAS_THINFIRM_USB=m CONFIG_AIRO=m CONFIG_ATMEL=m CONFIG_PCI_ATMEL=m CONFIG_PCMCIA_ATMEL=m CONFIG_AT76C50X_USB=m CONFIG_AIRO_CS=m CONFIG_PCMCIA_WL3501=m # CONFIG_PRISM54 is not set CONFIG_USB_ZD1201=m CONFIG_USB_NET_RNDIS_WLAN=m CONFIG_RTL8180=m CONFIG_RTL8187=m CONFIG_RTL8187_LEDS=y CONFIG_ADM8211=m CONFIG_MAC80211_HWSIM=m CONFIG_MWL8K=m CONFIG_ATH_COMMON=m CONFIG_ATH_DEBUG=y CONFIG_ATH5K=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH9K_HW=m CONFIG_ATH9K_COMMON=m CONFIG_ATH9K=m CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_HTC=m # CONFIG_ATH9K_HTC_DEBUGFS is not set CONFIG_AR9170_USB=m CONFIG_AR9170_LEDS=y CONFIG_B43=m CONFIG_B43_PCI_AUTOSELECT=y CONFIG_B43_PCICORE_AUTOSELECT=y CONFIG_B43_PCMCIA=y CONFIG_B43_SDIO=y CONFIG_B43_PIO=y CONFIG_B43_PHY_LP=y CONFIG_B43_LEDS=y CONFIG_B43_HWRNG=y CONFIG_B43_DEBUG=y # CONFIG_B43_FORCE_PIO is not set CONFIG_B43LEGACY=m CONFIG_B43LEGACY_PCI_AUTOSELECT=y CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y CONFIG_B43LEGACY_LEDS=y CONFIG_B43LEGACY_HWRNG=y CONFIG_B43LEGACY_DEBUG=y CONFIG_B43LEGACY_DMA=y CONFIG_B43LEGACY_PIO=y CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y # CONFIG_B43LEGACY_DMA_MODE is not set # CONFIG_B43LEGACY_PIO_MODE is not set CONFIG_HOSTAP=m CONFIG_HOSTAP_FIRMWARE=y CONFIG_HOSTAP_FIRMWARE_NVRAM=y CONFIG_HOSTAP_PLX=m CONFIG_HOSTAP_PCI=m CONFIG_HOSTAP_CS=m CONFIG_IPW2100=m CONFIG_IPW2100_MONITOR=y # CONFIG_IPW2100_DEBUG is not set CONFIG_IPW2200=m CONFIG_IPW2200_MONITOR=y CONFIG_IPW2200_RADIOTAP=y CONFIG_IPW2200_PROMISCUOUS=y CONFIG_IPW2200_QOS=y # CONFIG_IPW2200_DEBUG is not set CONFIG_LIBIPW=m # CONFIG_LIBIPW_DEBUG is not set CONFIG_IWLWIFI=m CONFIG_IWLWIFI_DEBUG=y CONFIG_IWLWIFI_DEBUGFS=y CONFIG_IWLWIFI_DEVICE_TRACING=y CONFIG_IWLAGN=m CONFIG_IWL4965=y CONFIG_IWL5000=y CONFIG_IWL3945=m CONFIG_IWM=m # CONFIG_IWM_DEBUG is not set # CONFIG_IWM_TRACING is not set CONFIG_LIBERTAS=m CONFIG_LIBERTAS_USB=m CONFIG_LIBERTAS_CS=m CONFIG_LIBERTAS_SDIO=m # CONFIG_LIBERTAS_DEBUG is not set CONFIG_LIBERTAS_MESH=y CONFIG_HERMES=m # CONFIG_HERMES_PRISM is not set CONFIG_HERMES_CACHE_FW_ON_INIT=y CONFIG_PLX_HERMES=m CONFIG_TMD_HERMES=m CONFIG_NORTEL_HERMES=m CONFIG_PCMCIA_HERMES=m CONFIG_PCMCIA_SPECTRUM=m CONFIG_ORINOCO_USB=m CONFIG_P54_COMMON=m CONFIG_P54_USB=m CONFIG_P54_PCI=m CONFIG_P54_LEDS=y CONFIG_RT2X00=m CONFIG_RT2400PCI=m CONFIG_RT2500PCI=m CONFIG_RT61PCI=m CONFIG_RT2800PCI_PCI=y CONFIG_RT2800PCI=m # CONFIG_RT2800PCI_RT30XX is not set # CONFIG_RT2800PCI_RT35XX is not set CONFIG_RT2500USB=m CONFIG_RT73USB=m CONFIG_RT2800USB=m # CONFIG_RT2800USB_RT30XX is not set # CONFIG_RT2800USB_RT35XX is not set # CONFIG_RT2800USB_UNKNOWN is not set CONFIG_RT2800_LIB=m CONFIG_RT2X00_LIB_PCI=m CONFIG_RT2X00_LIB_USB=m CONFIG_RT2X00_LIB=m CONFIG_RT2X00_LIB_HT=y CONFIG_RT2X00_LIB_FIRMWARE=y CONFIG_RT2X00_LIB_CRYPTO=y CONFIG_RT2X00_LIB_LEDS=y CONFIG_RT2X00_LIB_DEBUGFS=y # CONFIG_RT2X00_DEBUG is not set CONFIG_WL12XX=m CONFIG_WL1251=m CONFIG_WL1251_SDIO=m CONFIG_ZD1211RW=m # CONFIG_ZD1211RW_DEBUG is not set # # WiMAX Wireless Broadband devices # CONFIG_WIMAX_I2400M=m CONFIG_WIMAX_I2400M_USB=m CONFIG_WIMAX_I2400M_SDIO=m CONFIG_WIMAX_IWMC3200_SDIO=y CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 # # USB Network Adapters # CONFIG_USB_CATC=m CONFIG_USB_KAWETH=m CONFIG_USB_PEGASUS=m CONFIG_USB_RTL8150=m CONFIG_USB_USBNET=m CONFIG_USB_NET_AX8817X=m CONFIG_USB_NET_CDCETHER=m CONFIG_USB_NET_CDC_EEM=m CONFIG_USB_NET_DM9601=m CONFIG_USB_NET_SMSC75XX=m CONFIG_USB_NET_SMSC95XX=m CONFIG_USB_NET_GL620A=m CONFIG_USB_NET_NET1080=m CONFIG_USB_NET_PLUSB=m CONFIG_USB_NET_MCS7830=m CONFIG_USB_NET_RNDIS_HOST=m CONFIG_USB_NET_CDC_SUBSET=m CONFIG_USB_ALI_M5632=y CONFIG_USB_AN2720=y CONFIG_USB_BELKIN=y CONFIG_USB_ARMLINUX=y CONFIG_USB_EPSON2888=y CONFIG_USB_KC2190=y CONFIG_USB_NET_ZAURUS=m CONFIG_USB_HSO=m CONFIG_USB_NET_INT51X1=m CONFIG_USB_CDC_PHONET=m CONFIG_USB_IPHETH=m CONFIG_USB_SIERRA_NET=m CONFIG_NET_PCMCIA=y CONFIG_PCMCIA_3C589=m CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_FMVJ18X=m CONFIG_PCMCIA_PCNET=m CONFIG_PCMCIA_NMCLAN=m CONFIG_PCMCIA_SMC91C92=m CONFIG_PCMCIA_XIRC2PS=m CONFIG_PCMCIA_AXNET=m # CONFIG_WAN is not set CONFIG_ATM_DRIVERS=y # CONFIG_ATM_DUMMY is not set CONFIG_ATM_TCP=m # CONFIG_ATM_LANAI is not set CONFIG_ATM_ENI=m # CONFIG_ATM_ENI_DEBUG is not set # CONFIG_ATM_ENI_TUNE_BURST is not set CONFIG_ATM_FIRESTREAM=m # CONFIG_ATM_ZATM is not set CONFIG_ATM_NICSTAR=m # CONFIG_ATM_NICSTAR_USE_SUNI is not set # CONFIG_ATM_NICSTAR_USE_IDT77105 is not set # CONFIG_ATM_IDT77252 is not set # CONFIG_ATM_AMBASSADOR is not set # CONFIG_ATM_HORIZON is not set # CONFIG_ATM_IA is not set # CONFIG_ATM_FORE200E is not set CONFIG_ATM_HE=m # CONFIG_ATM_HE_USE_SUNI is not set CONFIG_ATM_SOLOS=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKEHARD=m CONFIG_FDDI=y # CONFIG_DEFXX is not set CONFIG_SKFP=m # CONFIG_HIPPI is not set CONFIG_PLIP=m CONFIG_PPP=m CONFIG_PPP_MULTILINK=y CONFIG_PPP_FILTER=y CONFIG_PPP_ASYNC=m CONFIG_PPP_SYNC_TTY=m CONFIG_PPP_DEFLATE=m # CONFIG_PPP_BSDCOMP is not set CONFIG_PPP_MPPE=m CONFIG_PPPOE=m CONFIG_PPPOATM=m CONFIG_PPPOL2TP=m CONFIG_SLIP=m CONFIG_SLIP_COMPRESSED=y CONFIG_SLHC=m CONFIG_SLIP_SMART=y # CONFIG_SLIP_MODE_SLIP6 is not set CONFIG_NET_FC=y CONFIG_NETCONSOLE=m CONFIG_NETCONSOLE_DYNAMIC=y CONFIG_NETPOLL=y CONFIG_NETPOLL_TRAP=y CONFIG_NET_POLL_CONTROLLER=y CONFIG_VIRTIO_NET=m CONFIG_VMXNET3=m CONFIG_ISDN=y CONFIG_ISDN_I4L=m 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=y CONFIG_ISDN_TTY_FAX=y # # ISDN feature submodules # CONFIG_ISDN_DIVERSION=m # # ISDN4Linux hardware drivers # # # Passive cards # CONFIG_ISDN_DRV_HISAX=m # # D-channel protocol features # CONFIG_HISAX_EURO=y CONFIG_DE_AOC=y CONFIG_HISAX_NO_SENDCOMPLETE=y CONFIG_HISAX_NO_LLC=y CONFIG_HISAX_NO_KEYPAD=y CONFIG_HISAX_1TR6=y CONFIG_HISAX_NI1=y CONFIG_HISAX_MAX_CARDS=8 # # HiSax supported cards # # CONFIG_HISAX_16_0 is not set CONFIG_HISAX_16_3=y CONFIG_HISAX_TELESPCI=y CONFIG_HISAX_S0BOX=y # CONFIG_HISAX_AVM_A1 is not set CONFIG_HISAX_FRITZPCI=y CONFIG_HISAX_AVM_A1_PCMCIA=y CONFIG_HISAX_ELSA=y # CONFIG_HISAX_IX1MICROR2 is not set CONFIG_HISAX_DIEHLDIVA=y # CONFIG_HISAX_ASUSCOM is not set # CONFIG_HISAX_TELEINT is not set # CONFIG_HISAX_HFCS is not set CONFIG_HISAX_SEDLBAUER=y # CONFIG_HISAX_SPORTSTER is not set # CONFIG_HISAX_MIC is not set CONFIG_HISAX_NETJET=y CONFIG_HISAX_NETJET_U=y CONFIG_HISAX_NICCY=y # CONFIG_HISAX_ISURF is not set # CONFIG_HISAX_HSTSAPHIR is not set CONFIG_HISAX_BKM_A4T=y CONFIG_HISAX_SCT_QUADRO=y CONFIG_HISAX_GAZEL=y CONFIG_HISAX_HFC_PCI=y CONFIG_HISAX_W6692=y CONFIG_HISAX_HFC_SX=y CONFIG_HISAX_ENTERNOW_PCI=y # CONFIG_HISAX_DEBUG is not set # # HiSax PCMCIA card service modules # CONFIG_HISAX_SEDLBAUER_CS=m CONFIG_HISAX_ELSA_CS=m CONFIG_HISAX_AVM_A1_CS=m CONFIG_HISAX_TELES_CS=m # # HiSax sub driver modules # CONFIG_HISAX_ST5481=m # CONFIG_HISAX_HFCUSB is not set CONFIG_HISAX_HFC4S8S=m CONFIG_HISAX_FRITZ_PCIPNP=m # # Active cards # # CONFIG_ISDN_DRV_ICN is not set # CONFIG_ISDN_DRV_PCBIT is not set # CONFIG_ISDN_DRV_SC is not set # CONFIG_ISDN_DRV_ACT2000 is not set CONFIG_ISDN_CAPI=m CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y # CONFIG_CAPI_TRACE is not set CONFIG_ISDN_CAPI_MIDDLEWARE=y CONFIG_ISDN_CAPI_CAPI20=m CONFIG_ISDN_CAPI_CAPIFS_BOOL=y CONFIG_ISDN_CAPI_CAPIFS=m CONFIG_ISDN_CAPI_CAPIDRV=m # # CAPI hardware drivers # CONFIG_CAPI_AVM=y # CONFIG_ISDN_DRV_AVMB1_B1ISA is not set CONFIG_ISDN_DRV_AVMB1_B1PCI=m CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y # CONFIG_ISDN_DRV_AVMB1_T1ISA is not set CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m CONFIG_ISDN_DRV_AVMB1_AVM_CS=m CONFIG_ISDN_DRV_AVMB1_T1PCI=m CONFIG_ISDN_DRV_AVMB1_C4=m CONFIG_CAPI_EICON=y CONFIG_ISDN_DIVAS=m CONFIG_ISDN_DIVAS_BRIPCI=y CONFIG_ISDN_DIVAS_PRIPCI=y CONFIG_ISDN_DIVAS_DIVACAPI=m CONFIG_ISDN_DIVAS_USERIDI=m CONFIG_ISDN_DIVAS_MAINT=m CONFIG_ISDN_DRV_GIGASET=m CONFIG_GIGASET_CAPI=y # CONFIG_GIGASET_I4L is not set # CONFIG_GIGASET_DUMMYLL is not set CONFIG_GIGASET_BASE=m CONFIG_GIGASET_M105=m CONFIG_GIGASET_M101=m # CONFIG_GIGASET_DEBUG is not set CONFIG_HYSDN=m CONFIG_HYSDN_CAPI=y CONFIG_MISDN=m CONFIG_MISDN_DSP=m CONFIG_MISDN_L1OIP=m # # mISDN hardware drivers # CONFIG_MISDN_HFCPCI=m CONFIG_MISDN_HFCMULTI=m CONFIG_MISDN_HFCUSB=m CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_SPEEDFAX=m CONFIG_MISDN_INFINEON=m CONFIG_MISDN_W6692=m CONFIG_MISDN_NETJET=m CONFIG_MISDN_IPAC=m CONFIG_MISDN_ISAR=m CONFIG_ISDN_HDLC=m # CONFIG_PHONE is not set # # Input device support # CONFIG_INPUT=y CONFIG_INPUT_FF_MEMLESS=y CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_SPARSEKMAP=m # # Userland interfaces # CONFIG_INPUT_MOUSEDEV=y # CONFIG_INPUT_MOUSEDEV_PSAUX is not set CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_JOYDEV=m CONFIG_INPUT_EVDEV=y # CONFIG_INPUT_EVBUG is not set # # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ADP5588=m CONFIG_KEYBOARD_ATKBD=y CONFIG_KEYBOARD_QT2160=m # CONFIG_KEYBOARD_LKKBD is not set # CONFIG_KEYBOARD_GPIO is not set # CONFIG_KEYBOARD_TCA6416 is not set # CONFIG_KEYBOARD_MATRIX is not set # CONFIG_KEYBOARD_LM8323 is not set CONFIG_KEYBOARD_MAX7359=m # CONFIG_KEYBOARD_NEWTON is not set CONFIG_KEYBOARD_OPENCORES=m # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_XTKBD is not set CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=y CONFIG_MOUSE_PS2_ALPS=y CONFIG_MOUSE_PS2_LOGIPS2PP=y CONFIG_MOUSE_PS2_SYNAPTICS=y CONFIG_MOUSE_PS2_LIFEBOOK=y CONFIG_MOUSE_PS2_TRACKPOINT=y CONFIG_MOUSE_PS2_ELANTECH=y CONFIG_MOUSE_PS2_SENTELIC=y # CONFIG_MOUSE_PS2_TOUCHKIT is not set CONFIG_MOUSE_PS2_OLPC=y CONFIG_MOUSE_SERIAL=m CONFIG_MOUSE_APPLETOUCH=m CONFIG_MOUSE_BCM5974=m # CONFIG_MOUSE_INPORT is not set # CONFIG_MOUSE_LOGIBM is not set # CONFIG_MOUSE_PC110PAD is not set CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOUSE_GPIO is not set CONFIG_MOUSE_SYNAPTICS_I2C=m CONFIG_INPUT_JOYSTICK=y CONFIG_JOYSTICK_ANALOG=m CONFIG_JOYSTICK_A3D=m CONFIG_JOYSTICK_ADI=m CONFIG_JOYSTICK_COBRA=m CONFIG_JOYSTICK_GF2K=m CONFIG_JOYSTICK_GRIP=m CONFIG_JOYSTICK_GRIP_MP=m CONFIG_JOYSTICK_GUILLEMOT=m CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_TMDC=m CONFIG_JOYSTICK_IFORCE=m CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_IFORCE_232=y CONFIG_JOYSTICK_WARRIOR=m CONFIG_JOYSTICK_MAGELLAN=m CONFIG_JOYSTICK_SPACEORB=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_STINGER=m CONFIG_JOYSTICK_TWIDJOY=m CONFIG_JOYSTICK_ZHENHUA=m CONFIG_JOYSTICK_DB9=m CONFIG_JOYSTICK_GAMECON=m CONFIG_JOYSTICK_TURBOGRAFX=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_XPAD=m CONFIG_JOYSTICK_XPAD_FF=y CONFIG_JOYSTICK_XPAD_LEDS=y CONFIG_JOYSTICK_WALKERA0701=m CONFIG_INPUT_TABLET=y CONFIG_TABLET_USB_ACECAD=m CONFIG_TABLET_USB_AIPTEK=m CONFIG_TABLET_USB_GTCO=m CONFIG_TABLET_USB_KBTAB=m CONFIG_TABLET_USB_WACOM=m CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_AD7879_I2C=m CONFIG_TOUCHSCREEN_AD7879=m CONFIG_TOUCHSCREEN_DYNAPRO=m # CONFIG_TOUCHSCREEN_HAMPSHIRE is not set CONFIG_TOUCHSCREEN_EETI=m CONFIG_TOUCHSCREEN_FUJITSU=m CONFIG_TOUCHSCREEN_GUNZE=m CONFIG_TOUCHSCREEN_ELO=m CONFIG_TOUCHSCREEN_WACOM_W8001=m CONFIG_TOUCHSCREEN_MCS5000=m CONFIG_TOUCHSCREEN_MTOUCH=m CONFIG_TOUCHSCREEN_INEXIO=m CONFIG_TOUCHSCREEN_MK712=m CONFIG_TOUCHSCREEN_HTCPEN=m CONFIG_TOUCHSCREEN_PENMOUNT=m CONFIG_TOUCHSCREEN_TOUCHRIGHT=m CONFIG_TOUCHSCREEN_TOUCHWIN=m # CONFIG_TOUCHSCREEN_WM97XX is not set 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=y CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y CONFIG_TOUCHSCREEN_USB_ETT_TC5UH=y CONFIG_TOUCHSCREEN_USB_NEXIO=y CONFIG_TOUCHSCREEN_TOUCHIT213=m CONFIG_TOUCHSCREEN_TSC2007=m # CONFIG_TOUCHSCREEN_TPS6507X is not set CONFIG_INPUT_MISC=y # CONFIG_INPUT_AD714X is not set CONFIG_INPUT_PCSPKR=m CONFIG_INPUT_APANEL=m CONFIG_INPUT_WISTRON_BTNS=m CONFIG_INPUT_ATLAS_BTNS=m CONFIG_INPUT_ATI_REMOTE=m CONFIG_INPUT_ATI_REMOTE2=m CONFIG_INPUT_KEYSPAN_REMOTE=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_YEALINK=m CONFIG_INPUT_CM109=m CONFIG_INPUT_UINPUT=m CONFIG_INPUT_WINBOND_CIR=m # CONFIG_INPUT_PCF8574 is not set CONFIG_INPUT_GPIO_ROTARY_ENCODER=m # # Hardware I/O ports # CONFIG_SERIO=y CONFIG_SERIO_I8042=y CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_CT82C710 is not set # CONFIG_SERIO_PARKBD is not set # CONFIG_SERIO_PCIPS2 is not set CONFIG_SERIO_LIBPS2=y CONFIG_SERIO_RAW=m CONFIG_SERIO_ALTERA_PS2=m CONFIG_GAMEPORT=m CONFIG_GAMEPORT_NS558=m CONFIG_GAMEPORT_L4=m CONFIG_GAMEPORT_EMU10K1=m CONFIG_GAMEPORT_FM801=m # # Character devices # CONFIG_VT=y CONFIG_CONSOLE_TRANSLATIONS=y CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y # CONFIG_DEVKMEM is not set CONFIG_SERIAL_NONSTANDARD=y # CONFIG_COMPUTONE is not set CONFIG_ROCKETPORT=m CONFIG_CYCLADES=m # CONFIG_CYZ_INTR is not set # CONFIG_DIGIEPCA is not set # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set # CONFIG_ISI is not set CONFIG_SYNCLINK=m CONFIG_SYNCLINKMP=m CONFIG_SYNCLINK_GT=m CONFIG_N_HDLC=m CONFIG_N_GSM=m # CONFIG_RISCOM8 is not set # CONFIG_SPECIALIX is not set # CONFIG_STALDRV is not set CONFIG_NOZOMI=m # # Serial drivers # CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_PNP=y CONFIG_SERIAL_8250_CS=m CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_RUNTIME_UARTS=4 CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_MANY_PORTS=y # CONFIG_SERIAL_8250_FOURPORT is not set # CONFIG_SERIAL_8250_ACCENT is not set # CONFIG_SERIAL_8250_BOCA is not set # CONFIG_SERIAL_8250_EXAR_ST16C554 is not set # CONFIG_SERIAL_8250_HUB6 is not set CONFIG_SERIAL_8250_SHARE_IRQ=y CONFIG_SERIAL_8250_DETECT_IRQ=y CONFIG_SERIAL_8250_RSA=y # # Non-8250 serial port support # CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_CONSOLE_POLL=y CONFIG_SERIAL_JSM=m # CONFIG_SERIAL_TIMBERDALE is not set # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set CONFIG_UNIX98_PTYS=y CONFIG_DEVPTS_MULTIPLE_INSTANCES=y # CONFIG_LEGACY_PTYS is not set CONFIG_PRINTER=m CONFIG_LP_CONSOLE=y CONFIG_PPDEV=m CONFIG_HVC_DRIVER=y CONFIG_VIRTIO_CONSOLE=m CONFIG_IPMI_HANDLER=m # CONFIG_IPMI_PANIC_EVENT is not set CONFIG_IPMI_DEVICE_INTERFACE=m CONFIG_IPMI_SI=m CONFIG_IPMI_WATCHDOG=m CONFIG_IPMI_POWEROFF=m CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_AMD=m CONFIG_HW_RANDOM_GEODE=m CONFIG_HW_RANDOM_VIA=m CONFIG_HW_RANDOM_VIRTIO=m CONFIG_NVRAM=y CONFIG_DTLK=m CONFIG_R3964=m # CONFIG_APPLICOM is not set CONFIG_SONYPI=m # # PCMCIA character devices # # CONFIG_SYNCLINK_CS is not set CONFIG_CARDMAN_4000=m CONFIG_CARDMAN_4040=m CONFIG_IPWIRELESS=m CONFIG_MWAVE=m CONFIG_PC8736x_GPIO=m CONFIG_NSC_GPIO=m CONFIG_CS5535_GPIO=m CONFIG_RAW_DRIVER=y CONFIG_MAX_RAW_DEVS=8192 CONFIG_HPET=y # CONFIG_HPET_MMAP is not set CONFIG_HANGCHECK_TIMER=m CONFIG_TCG_TPM=y CONFIG_TCG_TIS=y CONFIG_TCG_NSC=m CONFIG_TCG_ATMEL=m CONFIG_TCG_INFINEON=m CONFIG_TELCLOCK=m CONFIG_DEVPORT=y # CONFIG_RAMOOPS is not set CONFIG_I2C=m CONFIG_I2C_BOARDINFO=y CONFIG_I2C_COMPAT=y CONFIG_I2C_CHARDEV=m CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_SMBUS=m CONFIG_I2C_ALGOBIT=m CONFIG_I2C_ALGOPCA=m # # I2C Hardware Bus support # # # PC SMBus host controller drivers # CONFIG_I2C_ALI1535=m CONFIG_I2C_ALI1563=m CONFIG_I2C_ALI15X3=m CONFIG_I2C_AMD756=m CONFIG_I2C_AMD756_S4882=m CONFIG_I2C_AMD8111=m CONFIG_I2C_I801=m CONFIG_I2C_ISCH=m CONFIG_I2C_PIIX4=m CONFIG_I2C_NFORCE2=m CONFIG_I2C_NFORCE2_S4985=m CONFIG_I2C_SIS5595=m CONFIG_I2C_SIS630=m CONFIG_I2C_SIS96X=m CONFIG_I2C_VIA=m CONFIG_I2C_VIAPRO=m # # ACPI drivers # CONFIG_I2C_SCMI=m # # I2C system bus drivers (mostly embedded / system-on-chip) # # CONFIG_I2C_GPIO is not set # CONFIG_I2C_OCORES is not set CONFIG_I2C_PCA_PLATFORM=m CONFIG_I2C_SIMTEC=m # CONFIG_I2C_XILINX is not set # # External I2C/SMBus adapter drivers # CONFIG_I2C_PARPORT=m CONFIG_I2C_PARPORT_LIGHT=m # CONFIG_I2C_TAOS_EVM is not set CONFIG_I2C_TINY_USB=m # # Other I2C/SMBus bus drivers # CONFIG_I2C_PCA_ISA=m CONFIG_I2C_STUB=m CONFIG_SCx200_ACB=m # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_SPI is not set # # PPS support # CONFIG_PPS=m # CONFIG_PPS_DEBUG is not set # # PPS clients support # # CONFIG_PPS_CLIENT_KTIMER is not set CONFIG_PPS_CLIENT_LDISC=m CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y CONFIG_GPIOLIB=y # CONFIG_DEBUG_GPIO is not set CONFIG_GPIO_SYSFS=y # # Memory mapped GPIO expanders: # # CONFIG_GPIO_IT8761E is not set CONFIG_GPIO_SCH=m # # I2C GPIO expanders: # # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX732X is not set # CONFIG_GPIO_PCA953X is not set # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_ADP5588 is not set # # PCI GPIO expanders: # # CONFIG_GPIO_CS5535 is not set CONFIG_GPIO_LANGWELL=y # CONFIG_GPIO_RDC321X is not set # # SPI GPIO expanders: # # # AC97 GPIO expanders: # # # MODULbus GPIO expanders: # CONFIG_W1=m CONFIG_W1_CON=y # # 1-wire Bus Masters # # CONFIG_W1_MASTER_MATROX is not set CONFIG_W1_MASTER_DS2490=m CONFIG_W1_MASTER_DS2482=m # CONFIG_W1_MASTER_GPIO is not set # # 1-wire Slaves # CONFIG_W1_SLAVE_THERM=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_BQ27000=m CONFIG_POWER_SUPPLY=y # CONFIG_POWER_SUPPLY_DEBUG is not set # CONFIG_PDA_POWER is not set # CONFIG_TEST_POWER is not set # CONFIG_BATTERY_DS2760 is not set # CONFIG_BATTERY_DS2782 is not set CONFIG_BATTERY_OLPC=y CONFIG_BATTERY_BQ27x00=m CONFIG_BATTERY_MAX17040=m CONFIG_HWMON=y CONFIG_HWMON_VID=m # CONFIG_HWMON_DEBUG_CHIP is not set # # Native drivers # CONFIG_SENSORS_ABITUGURU=m CONFIG_SENSORS_ABITUGURU3=m CONFIG_SENSORS_AD7414=m CONFIG_SENSORS_AD7418=m CONFIG_SENSORS_ADM1021=m CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADT7411=m CONFIG_SENSORS_ADT7462=m CONFIG_SENSORS_ADT7470=m CONFIG_SENSORS_ADT7475=m CONFIG_SENSORS_ASC7621=m CONFIG_SENSORS_K8TEMP=m CONFIG_SENSORS_K10TEMP=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_I5K_AMB=m CONFIG_SENSORS_F71805F=m CONFIG_SENSORS_F71882FG=m CONFIG_SENSORS_F75375S=m CONFIG_SENSORS_FSCHMD=m CONFIG_SENSORS_G760A=m CONFIG_SENSORS_GL518SM=m CONFIG_SENSORS_GL520SM=m CONFIG_SENSORS_CORETEMP=m CONFIG_SENSORS_IBMAEM=m CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_IT87=m CONFIG_SENSORS_LM63=m CONFIG_SENSORS_LM73=m CONFIG_SENSORS_LM75=m CONFIG_SENSORS_LM77=m CONFIG_SENSORS_LM78=m CONFIG_SENSORS_LM80=m CONFIG_SENSORS_LM83=m CONFIG_SENSORS_LM85=m CONFIG_SENSORS_LM87=m CONFIG_SENSORS_LM90=m CONFIG_SENSORS_LM92=m CONFIG_SENSORS_LM93=m CONFIG_SENSORS_LTC4215=m CONFIG_SENSORS_LTC4245=m CONFIG_SENSORS_LM95241=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX6650=m CONFIG_SENSORS_PC87360=m CONFIG_SENSORS_PC87427=m CONFIG_SENSORS_PCF8591=m CONFIG_SENSORS_SHT15=m CONFIG_SENSORS_SIS5595=m CONFIG_SENSORS_DME1737=m CONFIG_SENSORS_EMC1403=m CONFIG_SENSORS_SMSC47M1=m CONFIG_SENSORS_SMSC47M192=m CONFIG_SENSORS_SMSC47B397=m CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_THMC50=m CONFIG_SENSORS_TMP102=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_VIA_CPUTEMP=m CONFIG_SENSORS_VIA686A=m CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m CONFIG_SENSORS_W83627HF=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_HDAPS=m CONFIG_SENSORS_LIS3_I2C=m CONFIG_SENSORS_APPLESMC=m # # ACPI drivers # CONFIG_SENSORS_ATK0110=m CONFIG_SENSORS_LIS3LV02D=m CONFIG_THERMAL=y CONFIG_THERMAL_HWMON=y CONFIG_WATCHDOG=y # CONFIG_WATCHDOG_NOWAYOUT is not set # # Watchdog Device Drivers # CONFIG_SOFT_WATCHDOG=m # CONFIG_ACQUIRE_WDT is not set # CONFIG_ADVANTECH_WDT is not set CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m CONFIG_GEODE_WDT=m # CONFIG_SC520_WDT is not set CONFIG_SBC_FITPC2_WATCHDOG=m # CONFIG_EUROTECH_WDT is not set CONFIG_IB700_WDT=m CONFIG_IBMASR=m # CONFIG_WAFER_WDT is not set CONFIG_I6300ESB_WDT=m CONFIG_ITCO_WDT=m CONFIG_ITCO_VENDOR_SUPPORT=y CONFIG_IT8712F_WDT=m CONFIG_IT87_WDT=m CONFIG_HP_WATCHDOG=m # CONFIG_SC1200_WDT is not set # CONFIG_PC87413_WDT is not set # CONFIG_60XX_WDT is not set # CONFIG_SBC8360_WDT is not set # CONFIG_SBC7240_WDT is not set # CONFIG_CPU5_WDT is not set CONFIG_SMSC_SCH311X_WDT=m # CONFIG_SMSC37B787_WDT is not set CONFIG_W83627HF_WDT=m CONFIG_W83697HF_WDT=m CONFIG_W83697UG_WDT=m CONFIG_W83877F_WDT=m CONFIG_W83977F_WDT=m CONFIG_MACHZ_WDT=m # CONFIG_SBC_EPX_C3_WATCHDOG is not set # # ISA-based Watchdog Cards # # CONFIG_PCWATCHDOG is not set # CONFIG_MIXCOMWD is not set # CONFIG_WDT is not set # # PCI-based Watchdog Cards # CONFIG_PCIPCWATCHDOG=m CONFIG_WDTPCI=m # # USB-based Watchdog Cards # CONFIG_USBPCWATCHDOG=m CONFIG_SSB_POSSIBLE=y # # Sonics Silicon Backplane # CONFIG_SSB=m CONFIG_SSB_SPROM=y CONFIG_SSB_BLOCKIO=y CONFIG_SSB_PCIHOST_POSSIBLE=y CONFIG_SSB_PCIHOST=y CONFIG_SSB_B43_PCI_BRIDGE=y CONFIG_SSB_PCMCIAHOST_POSSIBLE=y CONFIG_SSB_PCMCIAHOST=y CONFIG_SSB_SDIOHOST_POSSIBLE=y CONFIG_SSB_SDIOHOST=y # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y CONFIG_SSB_DRIVER_PCICORE=y CONFIG_MFD_SUPPORT=y CONFIG_MFD_CORE=m CONFIG_MFD_SM501=m CONFIG_MFD_SM501_GPIO=y # CONFIG_HTC_PASIC3 is not set # CONFIG_UCB1400_CORE is not set # CONFIG_TPS65010 is not set # CONFIG_TPS6507X is not set # CONFIG_MFD_TMIO is not set CONFIG_MFD_WM8400=m # CONFIG_MFD_PCF50633 is not set # CONFIG_ABX500_CORE is not set # CONFIG_MFD_TIMBERDALE is not set CONFIG_LPC_SCH=m # CONFIG_MFD_RDC321X is not set # CONFIG_MFD_JANZ_CMODIO is not set # CONFIG_REGULATOR is not set CONFIG_MEDIA_SUPPORT=m # # Multimedia core support # CONFIG_VIDEO_DEV=m CONFIG_VIDEO_V4L2_COMMON=m CONFIG_VIDEO_ALLOW_V4L1=y CONFIG_VIDEO_V4L1_COMPAT=y CONFIG_DVB_CORE=m CONFIG_VIDEO_MEDIA=m # # Multimedia drivers # CONFIG_VIDEO_SAA7146=m CONFIG_VIDEO_SAA7146_VV=m CONFIG_IR_CORE=m CONFIG_VIDEO_IR=m CONFIG_RC_MAP=m CONFIG_IR_NEC_DECODER=m CONFIG_IR_RC5_DECODER=m CONFIG_IR_RC6_DECODER=m CONFIG_IR_JVC_DECODER=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_IMON=m CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_TUNER=m CONFIG_MEDIA_TUNER_CUSTOMISE=y CONFIG_MEDIA_TUNER_SIMPLE=m CONFIG_MEDIA_TUNER_TDA8290=m CONFIG_MEDIA_TUNER_TDA827X=m CONFIG_MEDIA_TUNER_TDA18271=m CONFIG_MEDIA_TUNER_TDA9887=m CONFIG_MEDIA_TUNER_TEA5761=m CONFIG_MEDIA_TUNER_TEA5767=m CONFIG_MEDIA_TUNER_MT20XX=m CONFIG_MEDIA_TUNER_MT2060=m CONFIG_MEDIA_TUNER_MT2266=m CONFIG_MEDIA_TUNER_MT2131=m CONFIG_MEDIA_TUNER_QT1010=m CONFIG_MEDIA_TUNER_XC2028=m CONFIG_MEDIA_TUNER_XC5000=m CONFIG_MEDIA_TUNER_MXL5005S=m CONFIG_MEDIA_TUNER_MXL5007T=m CONFIG_MEDIA_TUNER_MC44S803=m CONFIG_MEDIA_TUNER_MAX2165=m CONFIG_VIDEO_V4L2=m CONFIG_VIDEO_V4L1=m CONFIG_VIDEOBUF_GEN=m CONFIG_VIDEOBUF_DMA_SG=m CONFIG_VIDEOBUF_VMALLOC=m CONFIG_VIDEOBUF_DVB=m CONFIG_VIDEO_BTCX=m CONFIG_VIDEO_TVEEPROM=m CONFIG_VIDEO_TUNER=m CONFIG_VIDEO_CAPTURE_DRIVERS=y # CONFIG_VIDEO_ADV_DEBUG is not set # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set CONFIG_VIDEO_HELPER_CHIPS_AUTO=y CONFIG_VIDEO_IR_I2C=m CONFIG_VIDEO_TVAUDIO=m CONFIG_VIDEO_TDA7432=m CONFIG_VIDEO_TDA9840=m CONFIG_VIDEO_TEA6415C=m CONFIG_VIDEO_TEA6420=m CONFIG_VIDEO_MSP3400=m CONFIG_VIDEO_CS5345=m CONFIG_VIDEO_CS53L32A=m CONFIG_VIDEO_M52790=m CONFIG_VIDEO_WM8775=m CONFIG_VIDEO_WM8739=m CONFIG_VIDEO_VP27SMPX=m CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_BT819=m CONFIG_VIDEO_BT856=m CONFIG_VIDEO_BT866=m CONFIG_VIDEO_KS0127=m CONFIG_VIDEO_OV7670=m CONFIG_VIDEO_MT9V011=m CONFIG_VIDEO_SAA7110=m CONFIG_VIDEO_SAA711X=m CONFIG_VIDEO_SAA717X=m CONFIG_VIDEO_TVP5150=m CONFIG_VIDEO_VPX3220=m CONFIG_VIDEO_CX25840=m CONFIG_VIDEO_CX2341X=m CONFIG_VIDEO_SAA7127=m CONFIG_VIDEO_SAA7185=m CONFIG_VIDEO_ADV7170=m CONFIG_VIDEO_ADV7175=m CONFIG_VIDEO_UPD64031A=m CONFIG_VIDEO_UPD64083=m CONFIG_VIDEO_BT848=m CONFIG_VIDEO_BT848_DVB=y # CONFIG_VIDEO_PMS is not set CONFIG_VIDEO_BWQCAM=m CONFIG_VIDEO_CQCAM=m CONFIG_VIDEO_W9966=m # CONFIG_VIDEO_CPIA is not set CONFIG_VIDEO_CPIA2=m CONFIG_VIDEO_SAA5246A=m CONFIG_VIDEO_SAA5249=m CONFIG_VIDEO_STRADIS=m CONFIG_VIDEO_ZORAN=m CONFIG_VIDEO_ZORAN_DC30=m CONFIG_VIDEO_ZORAN_ZR36060=m CONFIG_VIDEO_ZORAN_BUZ=m CONFIG_VIDEO_ZORAN_DC10=m CONFIG_VIDEO_ZORAN_LML33=m CONFIG_VIDEO_ZORAN_LML33R10=m CONFIG_VIDEO_ZORAN_AVS6EYES=m CONFIG_VIDEO_MEYE=m CONFIG_VIDEO_SAA7134=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m CONFIG_VIDEO_MXB=m CONFIG_VIDEO_HEXIUM_ORION=m CONFIG_VIDEO_HEXIUM_GEMINI=m CONFIG_VIDEO_CX88=m CONFIG_VIDEO_CX88_ALSA=m CONFIG_VIDEO_CX88_BLACKBIRD=m CONFIG_VIDEO_CX88_DVB=m CONFIG_VIDEO_CX88_MPEG=m CONFIG_VIDEO_CX88_VP3054=m CONFIG_VIDEO_CX23885=m CONFIG_VIDEO_AU0828=m CONFIG_VIDEO_IVTV=m CONFIG_VIDEO_FB_IVTV=m CONFIG_VIDEO_CX18=m CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_SAA7164=m CONFIG_VIDEO_CAFE_CCIC=m CONFIG_SOC_CAMERA=m CONFIG_SOC_CAMERA_MT9M001=m CONFIG_SOC_CAMERA_MT9M111=m CONFIG_SOC_CAMERA_MT9T031=m CONFIG_SOC_CAMERA_MT9T112=m CONFIG_SOC_CAMERA_MT9V022=m CONFIG_SOC_CAMERA_RJ54N1=m CONFIG_SOC_CAMERA_TW9910=m CONFIG_SOC_CAMERA_PLATFORM=m CONFIG_SOC_CAMERA_OV772X=m CONFIG_SOC_CAMERA_OV9640=m CONFIG_V4L_USB_DRIVERS=y CONFIG_USB_VIDEO_CLASS=m CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y CONFIG_USB_GSPCA=m CONFIG_USB_M5602=m CONFIG_USB_STV06XX=m CONFIG_USB_GL860=m CONFIG_USB_GSPCA_BENQ=m CONFIG_USB_GSPCA_CONEX=m CONFIG_USB_GSPCA_CPIA1=m CONFIG_USB_GSPCA_ETOMS=m CONFIG_USB_GSPCA_FINEPIX=m CONFIG_USB_GSPCA_JEILINJ=m CONFIG_USB_GSPCA_MARS=m CONFIG_USB_GSPCA_MR97310A=m CONFIG_USB_GSPCA_OV519=m CONFIG_USB_GSPCA_OV534=m CONFIG_USB_GSPCA_OV534_9=m CONFIG_USB_GSPCA_PAC207=m CONFIG_USB_GSPCA_PAC7302=m CONFIG_USB_GSPCA_PAC7311=m CONFIG_USB_GSPCA_SN9C2028=m CONFIG_USB_GSPCA_SN9C20X=m CONFIG_USB_GSPCA_SONIXB=m CONFIG_USB_GSPCA_SONIXJ=m CONFIG_USB_GSPCA_SPCA500=m CONFIG_USB_GSPCA_SPCA501=m CONFIG_USB_GSPCA_SPCA505=m CONFIG_USB_GSPCA_SPCA506=m CONFIG_USB_GSPCA_SPCA508=m CONFIG_USB_GSPCA_SPCA561=m CONFIG_USB_GSPCA_SQ905=m CONFIG_USB_GSPCA_SQ905C=m CONFIG_USB_GSPCA_STK014=m CONFIG_USB_GSPCA_STV0680=m CONFIG_USB_GSPCA_SUNPLUS=m CONFIG_USB_GSPCA_T613=m CONFIG_USB_GSPCA_TV8532=m CONFIG_USB_GSPCA_VC032X=m CONFIG_USB_GSPCA_ZC3XX=m CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y CONFIG_VIDEO_PVRUSB2_DVB=y # CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set CONFIG_VIDEO_HDPVR=m CONFIG_VIDEO_EM28XX=m CONFIG_VIDEO_EM28XX_ALSA=m CONFIG_VIDEO_EM28XX_DVB=m CONFIG_VIDEO_TLG2300=m CONFIG_VIDEO_CX231XX=m CONFIG_VIDEO_CX231XX_ALSA=m CONFIG_VIDEO_CX231XX_DVB=m CONFIG_VIDEO_USBVISION=m CONFIG_VIDEO_USBVIDEO=m CONFIG_USB_VICAM=m CONFIG_USB_IBMCAM=m CONFIG_USB_KONICAWC=m # CONFIG_USB_QUICKCAM_MESSENGER is not set # CONFIG_USB_ET61X251 is not set # CONFIG_VIDEO_OVCAMCHIP is not set # CONFIG_USB_OV511 is not set CONFIG_USB_SE401=m # CONFIG_USB_SN9C102 is not set # CONFIG_USB_STV680 is not set # CONFIG_USB_ZC0301 is not set CONFIG_USB_PWC=m # CONFIG_USB_PWC_DEBUG is not set CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_ZR364XX=m CONFIG_USB_STKWEBCAM=m CONFIG_USB_S2255=m CONFIG_V4L_MEM2MEM_DRIVERS=y # CONFIG_VIDEO_MEM2MEM_TESTDEV is not set CONFIG_RADIO_ADAPTERS=y # CONFIG_RADIO_CADET is not set # CONFIG_RADIO_RTRACK is not set # CONFIG_RADIO_RTRACK2 is not set # CONFIG_RADIO_AZTECH is not set # CONFIG_RADIO_GEMTEK is not set CONFIG_RADIO_GEMTEK_PCI=m CONFIG_RADIO_MAXIRADIO=m CONFIG_RADIO_MAESTRO=m # CONFIG_RADIO_MIROPCM20 is not set # CONFIG_RADIO_SF16FMI is not set # CONFIG_RADIO_SF16FMR2 is not set # CONFIG_RADIO_TERRATEC is not set # CONFIG_RADIO_TRUST is not set # CONFIG_RADIO_TYPHOON is not set # CONFIG_RADIO_ZOLTRIX is not set CONFIG_I2C_SI4713=m CONFIG_RADIO_SI4713=m CONFIG_USB_DSBR=m CONFIG_RADIO_SI470X=y CONFIG_USB_SI470X=m CONFIG_I2C_SI470X=m CONFIG_USB_MR800=m # CONFIG_RADIO_TEA5764 is not set # CONFIG_RADIO_SAA7706H is not set # CONFIG_RADIO_TEF6862 is not set CONFIG_DVB_MAX_ADAPTERS=8 CONFIG_DVB_DYNAMIC_MINORS=y CONFIG_DVB_CAPTURE_DRIVERS=y # # Supported SAA7146 based PCI Adapters # CONFIG_TTPCI_EEPROM=m CONFIG_DVB_AV7110=m CONFIG_DVB_AV7110_OSD=y CONFIG_DVB_BUDGET_CORE=m CONFIG_DVB_BUDGET=m CONFIG_DVB_BUDGET_CI=m CONFIG_DVB_BUDGET_AV=m CONFIG_DVB_BUDGET_PATCH=m # # Supported USB Adapters # CONFIG_DVB_USB=m # CONFIG_DVB_USB_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_DIBUSB_MB=m # CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set CONFIG_DVB_USB_DIBUSB_MC=m CONFIG_DVB_USB_DIB0700=m CONFIG_DVB_USB_UMT_010=m CONFIG_DVB_USB_CXUSB=m CONFIG_DVB_USB_M920X=m CONFIG_DVB_USB_GL861=m CONFIG_DVB_USB_AU6610=m CONFIG_DVB_USB_DIGITV=m CONFIG_DVB_USB_VP7045=m CONFIG_DVB_USB_VP702X=m CONFIG_DVB_USB_GP8PSK=m CONFIG_DVB_USB_NOVA_T_USB2=m CONFIG_DVB_USB_TTUSB2=m CONFIG_DVB_USB_DTT200U=m CONFIG_DVB_USB_OPERA1=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m CONFIG_DVB_USB_DW2102=m CONFIG_DVB_USB_CINERGY_T2=m CONFIG_DVB_USB_ANYSEE=m CONFIG_DVB_USB_DTV5100=m CONFIG_DVB_USB_AF9015=m CONFIG_DVB_USB_CE6230=m CONFIG_DVB_USB_FRIIO=m CONFIG_DVB_USB_EC168=m CONFIG_DVB_USB_AZ6027=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m CONFIG_SMS_SIANO_MDTV=m # # Siano module components # CONFIG_SMS_USB_DRV=m CONFIG_SMS_SDIO_DRV=m # # Supported FlexCopII (B2C2) Adapters # CONFIG_DVB_B2C2_FLEXCOP=m CONFIG_DVB_B2C2_FLEXCOP_PCI=m CONFIG_DVB_B2C2_FLEXCOP_USB=m # CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set # # Supported BT878 Adapters # CONFIG_DVB_BT8XX=m # # Supported Pluto2 Adapters # CONFIG_DVB_PLUTO2=m # # Supported SDMC DM1105 Adapters # CONFIG_DVB_DM1105=m CONFIG_DVB_FIREDTV=m CONFIG_DVB_FIREDTV_FIREWIRE=y # CONFIG_DVB_FIREDTV_IEEE1394 is not set CONFIG_DVB_FIREDTV_INPUT=y # # Supported Earthsoft PT1 Adapters # CONFIG_DVB_PT1=m # # Supported Mantis Adapters # CONFIG_MANTIS_CORE=m CONFIG_DVB_MANTIS=m CONFIG_DVB_HOPPER=m # # Supported nGene Adapters # CONFIG_DVB_NGENE=m # # Supported DVB Frontends # CONFIG_DVB_FE_CUSTOMISE=y # # Customise DVB Frontends # # # Multistandard (satellite) frontends # CONFIG_DVB_STB0899=m CONFIG_DVB_STB6100=m CONFIG_DVB_STV090x=m CONFIG_DVB_STV6110x=m # # DVB-S (satellite) frontends # CONFIG_DVB_CX24110=m CONFIG_DVB_CX24123=m CONFIG_DVB_MT312=m CONFIG_DVB_ZL10036=m CONFIG_DVB_ZL10039=m CONFIG_DVB_S5H1420=m CONFIG_DVB_STV0288=m CONFIG_DVB_STB6000=m CONFIG_DVB_STV0299=m CONFIG_DVB_STV6110=m CONFIG_DVB_STV0900=m CONFIG_DVB_TDA8083=m CONFIG_DVB_TDA10086=m CONFIG_DVB_TDA8261=m CONFIG_DVB_VES1X93=m CONFIG_DVB_TUNER_ITD1000=m CONFIG_DVB_TUNER_CX24113=m CONFIG_DVB_TDA826X=m CONFIG_DVB_TUA6100=m CONFIG_DVB_CX24116=m CONFIG_DVB_SI21XX=m CONFIG_DVB_DS3000=m CONFIG_DVB_MB86A16=m # # DVB-T (terrestrial) frontends # CONFIG_DVB_SP8870=m CONFIG_DVB_SP887X=m CONFIG_DVB_CX22700=m CONFIG_DVB_CX22702=m CONFIG_DVB_DRX397XD=m CONFIG_DVB_L64781=m CONFIG_DVB_TDA1004X=m CONFIG_DVB_NXT6000=m CONFIG_DVB_MT352=m CONFIG_DVB_ZL10353=m CONFIG_DVB_DIB3000MB=m CONFIG_DVB_DIB3000MC=m CONFIG_DVB_DIB7000M=m CONFIG_DVB_DIB7000P=m CONFIG_DVB_TDA10048=m CONFIG_DVB_AF9013=m CONFIG_DVB_EC100=m # # DVB-C (cable) frontends # CONFIG_DVB_VES1820=m CONFIG_DVB_TDA10021=m CONFIG_DVB_TDA10023=m CONFIG_DVB_STV0297=m # # ATSC (North American/Korean Terrestrial/Cable DTV) frontends # CONFIG_DVB_NXT200X=m CONFIG_DVB_OR51211=m CONFIG_DVB_OR51132=m CONFIG_DVB_BCM3510=m CONFIG_DVB_LGDT330X=m CONFIG_DVB_LGDT3304=m CONFIG_DVB_LGDT3305=m CONFIG_DVB_S5H1409=m CONFIG_DVB_AU8522=m CONFIG_DVB_S5H1411=m # # ISDB-T (terrestrial) frontends # CONFIG_DVB_S921=m CONFIG_DVB_DIB8000=m # # Digital terrestrial only tuners/PLL # CONFIG_DVB_PLL=m CONFIG_DVB_TUNER_DIB0070=m CONFIG_DVB_TUNER_DIB0090=m # # SEC control devices for DVB-S # CONFIG_DVB_LNBP21=m CONFIG_DVB_ISL6405=m CONFIG_DVB_ISL6421=m CONFIG_DVB_ISL6423=m CONFIG_DVB_LGS8GL5=m CONFIG_DVB_LGS8GXX=m CONFIG_DVB_ATBM8830=m CONFIG_DVB_TDA665x=m # # Tools to develop new frontends # CONFIG_DVB_DUMMY_FE=m CONFIG_DAB=y CONFIG_USB_DABUSB=m # # Graphics support # CONFIG_AGP=y CONFIG_AGP_ALI=y CONFIG_AGP_ATI=y CONFIG_AGP_AMD=y CONFIG_AGP_AMD64=y CONFIG_AGP_INTEL=y CONFIG_AGP_NVIDIA=y CONFIG_AGP_SIS=y CONFIG_AGP_SWORKS=y CONFIG_AGP_VIA=y CONFIG_AGP_EFFICEON=y CONFIG_VGA_ARB=y CONFIG_VGA_ARB_MAX_GPUS=16 CONFIG_VGA_SWITCHEROO=y CONFIG_DRM=m CONFIG_DRM_KMS_HELPER=m CONFIG_DRM_TTM=m CONFIG_DRM_TDFX=m CONFIG_DRM_R128=m CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_KMS=y CONFIG_DRM_I810=m # CONFIG_DRM_I830 is not set CONFIG_DRM_I915=m CONFIG_DRM_I915_KMS=y CONFIG_DRM_MGA=m CONFIG_DRM_SIS=m CONFIG_DRM_VIA=m CONFIG_DRM_SAVAGE=m CONFIG_VGASTATE=m CONFIG_VIDEO_OUTPUT_CONTROL=m CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set CONFIG_FB_DDC=m CONFIG_FB_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set CONFIG_FB_SYS_FILLRECT=m CONFIG_FB_SYS_COPYAREA=m CONFIG_FB_SYS_IMAGEBLIT=m # CONFIG_FB_FOREIGN_ENDIAN is not set CONFIG_FB_SYS_FOPS=m CONFIG_FB_DEFERRED_IO=y CONFIG_FB_SVGALIB=m # CONFIG_FB_MACMODES is not set CONFIG_FB_BACKLIGHT=y CONFIG_FB_MODE_HELPERS=y CONFIG_FB_TILEBLITTING=y # # Frame buffer hardware drivers # CONFIG_FB_CIRRUS=m # CONFIG_FB_PM2 is not set # CONFIG_FB_CYBER2000 is not set # CONFIG_FB_ARC is not set # CONFIG_FB_ASILIANT is not set # CONFIG_FB_IMSTT is not set CONFIG_FB_VGA16=m # CONFIG_FB_UVESA is not set CONFIG_FB_VESA=y CONFIG_FB_EFI=y # CONFIG_FB_N411 is not set # CONFIG_FB_HGA is not set # CONFIG_FB_S1D13XXX is not set CONFIG_FB_NVIDIA=m CONFIG_FB_NVIDIA_I2C=y # CONFIG_FB_NVIDIA_DEBUG is not set CONFIG_FB_NVIDIA_BACKLIGHT=y CONFIG_FB_RIVA=m # CONFIG_FB_RIVA_I2C is not set # CONFIG_FB_RIVA_DEBUG is not set CONFIG_FB_RIVA_BACKLIGHT=y CONFIG_FB_I810=m CONFIG_FB_I810_GTF=y CONFIG_FB_I810_I2C=y # CONFIG_FB_LE80578 is not set CONFIG_FB_MATROX=m CONFIG_FB_MATROX_MILLENIUM=y CONFIG_FB_MATROX_MYSTIQUE=y CONFIG_FB_MATROX_G=y CONFIG_FB_MATROX_I2C=m CONFIG_FB_MATROX_MAVEN=m CONFIG_FB_RADEON=m CONFIG_FB_RADEON_I2C=y CONFIG_FB_RADEON_BACKLIGHT=y # CONFIG_FB_RADEON_DEBUG is not set CONFIG_FB_ATY128=m CONFIG_FB_ATY128_BACKLIGHT=y CONFIG_FB_ATY=m CONFIG_FB_ATY_CT=y CONFIG_FB_ATY_GENERIC_LCD=y CONFIG_FB_ATY_GX=y CONFIG_FB_ATY_BACKLIGHT=y CONFIG_FB_S3=m CONFIG_FB_SAVAGE=m CONFIG_FB_SAVAGE_I2C=y CONFIG_FB_SAVAGE_ACCEL=y # CONFIG_FB_SIS is not set CONFIG_FB_VIA=m # CONFIG_FB_VIA_DIRECT_PROCFS is not set CONFIG_FB_NEOMAGIC=m CONFIG_FB_KYRO=m CONFIG_FB_3DFX=m CONFIG_FB_3DFX_ACCEL=y CONFIG_FB_3DFX_I2C=y CONFIG_FB_VOODOO1=m # CONFIG_FB_VT8623 is not set CONFIG_FB_TRIDENT=m # CONFIG_FB_ARK is not set # CONFIG_FB_PM3 is not set # CONFIG_FB_CARMINE is not set CONFIG_FB_GEODE=y CONFIG_FB_GEODE_LX=y CONFIG_FB_GEODE_GX=y # CONFIG_FB_GEODE_GX1 is not set # CONFIG_FB_TMIO is not set CONFIG_FB_SM501=m CONFIG_FB_VIRTUAL=m CONFIG_FB_METRONOME=m CONFIG_FB_MB862XX=m CONFIG_FB_MB862XX_PCI_GDC=y # CONFIG_FB_BROADSHEET is not set CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_LCD_CLASS_DEVICE=m CONFIG_LCD_PLATFORM=m CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set CONFIG_BACKLIGHT_PROGEAR=m CONFIG_BACKLIGHT_MBP_NVIDIA=m # CONFIG_BACKLIGHT_SAHARA is not set # CONFIG_BACKLIGHT_ADP8860 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=y CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64 # CONFIG_MDA_CONSOLE is not set CONFIG_DUMMY_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y # CONFIG_FONTS is not set CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y CONFIG_LOGO=y # CONFIG_LOGO_LINUX_MONO is not set # CONFIG_LOGO_LINUX_VGA16 is not set CONFIG_LOGO_LINUX_CLUT224=y CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE=y CONFIG_SOUND_OSS_CORE_PRECLAIM=y 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=m CONFIG_SND_SEQ_DUMMY=m CONFIG_SND_OSSEMUL=y CONFIG_SND_MIXER_OSS=m CONFIG_SND_PCM_OSS=m CONFIG_SND_PCM_OSS_PLUGINS=y CONFIG_SND_SEQUENCER_OSS=y CONFIG_SND_HRTIMER=m CONFIG_SND_SEQ_HRTIMER_DEFAULT=y CONFIG_SND_DYNAMIC_MINORS=y # 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_VMASTER=y CONFIG_SND_DMA_SGBUF=y CONFIG_SND_RAWMIDI_SEQ=m CONFIG_SND_OPL3_LIB_SEQ=m CONFIG_SND_OPL4_LIB_SEQ=m CONFIG_SND_SBAWE_SEQ=m CONFIG_SND_EMU10K1_SEQ=m CONFIG_SND_MPU401_UART=m CONFIG_SND_OPL3_LIB=m CONFIG_SND_OPL4_LIB=m CONFIG_SND_VX_LIB=m CONFIG_SND_AC97_CODEC=m CONFIG_SND_DRIVERS=y CONFIG_SND_PCSP=m CONFIG_SND_DUMMY=m CONFIG_SND_VIRMIDI=m CONFIG_SND_MTPAV=m CONFIG_SND_MTS64=m CONFIG_SND_SERIAL_U16550=m CONFIG_SND_MPU401=m CONFIG_SND_PORTMAN2X4=m CONFIG_SND_AC97_POWER_SAVE=y CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 CONFIG_SND_WSS_LIB=m CONFIG_SND_SB_COMMON=m CONFIG_SND_SB16_DSP=m CONFIG_SND_ISA=y CONFIG_SND_ADLIB=m # CONFIG_SND_AD1816A is not set # CONFIG_SND_AD1848 is not set # CONFIG_SND_ALS100 is not set # CONFIG_SND_AZT2320 is not set # CONFIG_SND_CMI8330 is not set # CONFIG_SND_CS4231 is not set CONFIG_SND_CS4236=m # CONFIG_SND_ES1688 is not set CONFIG_SND_ES18XX=m CONFIG_SND_SC6000=m # CONFIG_SND_GUSCLASSIC is not set # CONFIG_SND_GUSEXTREME is not set # CONFIG_SND_GUSMAX is not set # CONFIG_SND_INTERWAVE is not set # CONFIG_SND_INTERWAVE_STB is not set # CONFIG_SND_JAZZ16 is not set CONFIG_SND_OPL3SA2=m # CONFIG_SND_OPTI92X_AD1848 is not set # CONFIG_SND_OPTI92X_CS4231 is not set # CONFIG_SND_OPTI93X is not set CONFIG_SND_MIRO=m # CONFIG_SND_SB8 is not set CONFIG_SND_SB16=m CONFIG_SND_SBAWE=m # CONFIG_SND_SB16_CSP is not set # CONFIG_SND_SGALAXY is not set # CONFIG_SND_SSCAPE is not set # CONFIG_SND_WAVEFRONT is not set # CONFIG_SND_MSND_PINNACLE is not set # CONFIG_SND_MSND_CLASSIC is not set CONFIG_SND_PCI=y CONFIG_SND_AD1889=m CONFIG_SND_ALS300=m CONFIG_SND_ALS4000=m CONFIG_SND_ALI5451=m CONFIG_SND_ASIHPI=m CONFIG_SND_ATIIXP=m CONFIG_SND_ATIIXP_MODEM=m CONFIG_SND_AU8810=m CONFIG_SND_AU8820=m CONFIG_SND_AU8830=m # CONFIG_SND_AW2 is not set CONFIG_SND_AZT3328=m CONFIG_SND_BT87X=m # CONFIG_SND_BT87X_OVERCLOCK is not set CONFIG_SND_CA0106=m CONFIG_SND_CMIPCI=m CONFIG_SND_OXYGEN_LIB=m CONFIG_SND_OXYGEN=m CONFIG_SND_CS4281=m CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5530=m CONFIG_SND_CS5535AUDIO=m CONFIG_SND_CTXFI=m CONFIG_SND_DARLA20=m CONFIG_SND_GINA20=m CONFIG_SND_LAYLA20=m CONFIG_SND_DARLA24=m CONFIG_SND_GINA24=m CONFIG_SND_LAYLA24=m CONFIG_SND_MONA=m CONFIG_SND_MIA=m CONFIG_SND_ECHO3G=m CONFIG_SND_INDIGO=m CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGODJ=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGODJX=m CONFIG_SND_EMU10K1=m CONFIG_SND_EMU10K1X=m CONFIG_SND_ENS1370=m CONFIG_SND_ENS1371=m CONFIG_SND_ES1938=m CONFIG_SND_ES1968=m CONFIG_SND_ES1968_INPUT=y CONFIG_SND_FM801=m CONFIG_SND_FM801_TEA575X_BOOL=y CONFIG_SND_FM801_TEA575X=m CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_JACK=y 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=y CONFIG_SND_HDA_CODEC_ATIHDMI=y CONFIG_SND_HDA_CODEC_NVHDMI=y CONFIG_SND_HDA_CODEC_INTELHDMI=y CONFIG_SND_HDA_ELD=y 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=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HIFIER=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INTEL8X0=m CONFIG_SND_INTEL8X0M=m CONFIG_SND_KORG1212=m CONFIG_SND_LX6464ES=m CONFIG_SND_MAESTRO3=m CONFIG_SND_MAESTRO3_INPUT=y CONFIG_SND_MIXART=m CONFIG_SND_NM256=m CONFIG_SND_PCXHR=m CONFIG_SND_RIPTIDE=m CONFIG_SND_RME32=m CONFIG_SND_RME96=m CONFIG_SND_RME9652=m CONFIG_SND_SIS7019=m CONFIG_SND_SONICVIBES=m CONFIG_SND_TRIDENT=m CONFIG_SND_VIA82XX=m CONFIG_SND_VIA82XX_MODEM=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m CONFIG_SND_YMFPCI=m CONFIG_SND_USB=y CONFIG_SND_USB_AUDIO=m CONFIG_SND_USB_UA101=m CONFIG_SND_USB_USX2Y=m CONFIG_SND_USB_CAIAQ=m CONFIG_SND_USB_CAIAQ_INPUT=y CONFIG_SND_USB_US122L=m CONFIG_SND_PCMCIA=y CONFIG_SND_VXPOCKET=m CONFIG_SND_PDAUDIOCF=m # CONFIG_SND_SOC is not set # CONFIG_SOUND_PRIME is not set CONFIG_AC97_BUS=m CONFIG_HID_SUPPORT=y CONFIG_HID=y CONFIG_HIDRAW=y # # USB Input Devices # CONFIG_USB_HID=y CONFIG_HID_PID=y CONFIG_USB_HIDDEV=y # # Special HID drivers # CONFIG_HID_3M_PCT=y CONFIG_HID_A4TECH=y CONFIG_HID_APPLE=y CONFIG_HID_BELKIN=y CONFIG_HID_CANDO=m CONFIG_HID_CHERRY=y CONFIG_HID_CHICONY=y CONFIG_HID_PRODIKEYS=m CONFIG_HID_CYPRESS=y CONFIG_HID_DRAGONRISE=m CONFIG_DRAGONRISE_FF=y CONFIG_HID_EGALAX=m CONFIG_HID_EZKEY=y CONFIG_HID_KYE=y CONFIG_HID_GYRATION=m CONFIG_HID_TWINHAN=m CONFIG_HID_KENSINGTON=y CONFIG_HID_LOGITECH=y CONFIG_LOGITECH_FF=y CONFIG_LOGIRUMBLEPAD2_FF=y CONFIG_LOGIG940_FF=y CONFIG_HID_MAGICMOUSE=m CONFIG_HID_MICROSOFT=y CONFIG_HID_MOSART=y CONFIG_HID_MONTEREY=y CONFIG_HID_NTRIG=y CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m CONFIG_PANTHERLORD_FF=y CONFIG_HID_PETALYNX=m CONFIG_HID_PICOLCD=m CONFIG_HID_PICOLCD_FB=y CONFIG_HID_PICOLCD_BACKLIGHT=y CONFIG_HID_PICOLCD_LCD=y CONFIG_HID_PICOLCD_LEDS=y CONFIG_HID_QUANTA=y CONFIG_HID_ROCCAT=m CONFIG_HID_ROCCAT_KONE=m CONFIG_HID_SAMSUNG=m CONFIG_HID_SONY=m CONFIG_HID_STANTUM=y CONFIG_HID_SUNPLUS=m CONFIG_HID_GREENASIA=m CONFIG_GREENASIA_FF=y CONFIG_HID_SMARTJOYPLUS=m CONFIG_SMARTJOYPLUS_FF=y CONFIG_HID_TOPSEED=m CONFIG_HID_THRUSTMASTER=m CONFIG_THRUSTMASTER_FF=y CONFIG_HID_WACOM=m CONFIG_HID_WACOM_POWER_SUPPLY=y CONFIG_HID_ZEROPLUS=m CONFIG_ZEROPLUS_FF=y CONFIG_HID_ZYDACRON=m 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=y # # Miscellaneous USB options # CONFIG_USB_DEVICEFS=y # CONFIG_USB_DEVICE_CLASS is not set # CONFIG_USB_DYNAMIC_MINORS is not set CONFIG_USB_SUSPEND=y # CONFIG_USB_OTG is not set CONFIG_USB_MON=y CONFIG_USB_WUSB=m CONFIG_USB_WUSB_CBAF=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set # # USB Host Controller Drivers # # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_XHCI_HCD=m # CONFIG_USB_XHCI_HCD_DEBUGGING is not set 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 is not set CONFIG_USB_ISP1362_HCD=m 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=m # CONFIG_USB_SL811_CS is not set # CONFIG_USB_R8A66597_HCD is not set CONFIG_USB_WHCI_HCD=m CONFIG_USB_HWA_HCD=m # # USB Device Class drivers # CONFIG_USB_ACM=m CONFIG_USB_PRINTER=m CONFIG_USB_WDM=m CONFIG_USB_TMC=m # # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may # # # also be needed; see USB_STORAGE Help for more info # CONFIG_USB_STORAGE=m # CONFIG_USB_STORAGE_DEBUG is not set CONFIG_USB_STORAGE_DATAFAB=m CONFIG_USB_STORAGE_FREECOM=m CONFIG_USB_STORAGE_ISD200=m CONFIG_USB_STORAGE_USBAT=m CONFIG_USB_STORAGE_SDDR09=m CONFIG_USB_STORAGE_SDDR55=m CONFIG_USB_STORAGE_JUMPSHOT=m CONFIG_USB_STORAGE_ALAUDA=m CONFIG_USB_STORAGE_ONETOUCH=m CONFIG_USB_STORAGE_KARMA=m CONFIG_USB_STORAGE_CYPRESS_ATACB=m # CONFIG_USB_LIBUSUAL is not set # # USB Imaging devices # CONFIG_USB_MDC800=m CONFIG_USB_MICROTEK=m # # USB port drivers # CONFIG_USB_USS720=m CONFIG_USB_SERIAL=m CONFIG_USB_EZUSB=y CONFIG_USB_SERIAL_GENERIC=y CONFIG_USB_SERIAL_AIRCABLE=m 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=m 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=m CONFIG_USB_SERIAL_IPAQ=m CONFIG_USB_SERIAL_IR=m CONFIG_USB_SERIAL_EDGEPORT=m CONFIG_USB_SERIAL_EDGEPORT_TI=m CONFIG_USB_SERIAL_GARMIN=m CONFIG_USB_SERIAL_IPW=m CONFIG_USB_SERIAL_IUU=m CONFIG_USB_SERIAL_KEYSPAN_PDA=m CONFIG_USB_SERIAL_KEYSPAN=m CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7715_PARPORT=y CONFIG_USB_SERIAL_MOS7840=m CONFIG_USB_SERIAL_MOTOROLA=m CONFIG_USB_SERIAL_NAVMAN=m CONFIG_USB_SERIAL_PL2303=m CONFIG_USB_SERIAL_OTI6858=m CONFIG_USB_SERIAL_QCAUX=m CONFIG_USB_SERIAL_QUALCOMM=m CONFIG_USB_SERIAL_SPCP8X5=m CONFIG_USB_SERIAL_HP4X=m CONFIG_USB_SERIAL_SAFE=m CONFIG_USB_SERIAL_SAFE_PADDED=y CONFIG_USB_SERIAL_SIEMENS_MPI=m CONFIG_USB_SERIAL_SIERRAWIRELESS=m CONFIG_USB_SERIAL_SYMBOL=m CONFIG_USB_SERIAL_TI=m CONFIG_USB_SERIAL_CYBERJACK=m CONFIG_USB_SERIAL_XIRCOM=m 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 is not set CONFIG_USB_SERIAL_DEBUG=m # # USB Miscellaneous drivers # CONFIG_USB_EMI62=m CONFIG_USB_EMI26=m CONFIG_USB_ADUTUX=m CONFIG_USB_SEVSEG=m # CONFIG_USB_RIO500 is not set CONFIG_USB_LEGOTOWER=m CONFIG_USB_LCD=m 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=m CONFIG_USB_SISUSBVGA=m CONFIG_USB_SISUSBVGA_CON=y CONFIG_USB_LD=m CONFIG_USB_TRANCEVIBRATOR=m CONFIG_USB_IOWARRIOR=m # CONFIG_USB_TEST is not set CONFIG_USB_ISIGHTFW=m CONFIG_USB_ATM=m CONFIG_USB_SPEEDTOUCH=m CONFIG_USB_CXACRU=m CONFIG_USB_UEAGLEATM=m CONFIG_USB_XUSBATM=m # CONFIG_USB_GADGET is not set # # OTG and related infrastructure # CONFIG_USB_OTG_UTILS=y # CONFIG_USB_GPIO_VBUS is not set CONFIG_NOP_USB_XCEIV=m CONFIG_UWB=m CONFIG_UWB_HWA=m CONFIG_UWB_WHCI=m CONFIG_UWB_WLP=m CONFIG_UWB_I1480U=m CONFIG_UWB_I1480U_WLP=m CONFIG_MMC=m # CONFIG_MMC_DEBUG is not set # CONFIG_MMC_UNSAFE_RESUME is not set # # MMC/SD/SDIO Card Drivers # CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_SDIO_UART=m # 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=m CONFIG_MMC_WBSD=m CONFIG_MMC_TIFM_SD=m CONFIG_MMC_SDRICOH_CS=m CONFIG_MMC_CB710=m CONFIG_MMC_VIA_SDMMC=m CONFIG_MEMSTICK=m # CONFIG_MEMSTICK_DEBUG is not set # # MemoryStick drivers # # CONFIG_MEMSTICK_UNSAFE_RESUME is not set CONFIG_MSPRO_BLOCK=m # # MemoryStick Host Controller Drivers # CONFIG_MEMSTICK_TIFM_MS=m CONFIG_MEMSTICK_JMICRON_38X=m CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y # # LED drivers # CONFIG_LEDS_ALIX2=m # CONFIG_LEDS_PCA9532 is not set # CONFIG_LEDS_GPIO is not set CONFIG_LEDS_LP3944=m CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_PCA955X is not set # CONFIG_LEDS_BD2802 is not set CONFIG_LEDS_INTEL_SS4200=m CONFIG_LEDS_LT3593=m CONFIG_LEDS_DELL_NETBOOKS=m CONFIG_LEDS_TRIGGERS=y # # LED Triggers # CONFIG_LEDS_TRIGGER_TIMER=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_BACKLIGHT=m CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_DEFAULT_ON=m # # iptables trigger is under Netfilter config (LED target) # CONFIG_ACCESSIBILITY=y CONFIG_A11Y_BRAILLE_CONSOLE=y CONFIG_INFINIBAND=m CONFIG_INFINIBAND_USER_MAD=m CONFIG_INFINIBAND_USER_ACCESS=m CONFIG_INFINIBAND_USER_MEM=y CONFIG_INFINIBAND_ADDR_TRANS=y CONFIG_INFINIBAND_MTHCA=m CONFIG_INFINIBAND_MTHCA_DEBUG=y CONFIG_INFINIBAND_AMSO1100=m # CONFIG_INFINIBAND_AMSO1100_DEBUG is not set CONFIG_INFINIBAND_CXGB3=m # CONFIG_INFINIBAND_CXGB3_DEBUG is not set CONFIG_INFINIBAND_CXGB4=m CONFIG_MLX4_INFINIBAND=m CONFIG_INFINIBAND_NES=m # CONFIG_INFINIBAND_NES_DEBUG is not set CONFIG_INFINIBAND_IPOIB=m CONFIG_INFINIBAND_IPOIB_CM=y CONFIG_INFINIBAND_IPOIB_DEBUG=y CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y CONFIG_INFINIBAND_SRP=m CONFIG_INFINIBAND_ISER=m CONFIG_EDAC=y # # Reporting subsystems # # CONFIG_EDAC_DEBUG is not set CONFIG_EDAC_DECODE_MCE=m CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_MCE=y CONFIG_EDAC_AMD76X=m CONFIG_EDAC_E7XXX=m CONFIG_EDAC_E752X=m CONFIG_EDAC_I82875P=m CONFIG_EDAC_I82975X=m CONFIG_EDAC_I3000=m CONFIG_EDAC_I3200=m CONFIG_EDAC_X38=m CONFIG_EDAC_I5400=m CONFIG_EDAC_I7CORE=m CONFIG_EDAC_I82860=m CONFIG_EDAC_R82600=m CONFIG_EDAC_I5000=m CONFIG_EDAC_I5100=m CONFIG_RTC_LIB=y CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y CONFIG_RTC_HCTOSYS_DEVICE="rtc0" # CONFIG_RTC_DEBUG is not set # # RTC interfaces # CONFIG_RTC_INTF_SYSFS=y CONFIG_RTC_INTF_PROC=y CONFIG_RTC_INTF_DEV=y # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set # CONFIG_RTC_DRV_TEST is not set # # I2C RTC drivers # CONFIG_RTC_DRV_DS1307=m CONFIG_RTC_DRV_DS1374=m CONFIG_RTC_DRV_DS1672=m CONFIG_RTC_DRV_MAX6900=m CONFIG_RTC_DRV_RS5C372=m CONFIG_RTC_DRV_ISL1208=m CONFIG_RTC_DRV_X1205=m CONFIG_RTC_DRV_PCF8563=m CONFIG_RTC_DRV_PCF8583=m CONFIG_RTC_DRV_M41T80=m CONFIG_RTC_DRV_M41T80_WDT=y CONFIG_RTC_DRV_BQ32K=m # CONFIG_RTC_DRV_S35390A is not set CONFIG_RTC_DRV_FM3130=m CONFIG_RTC_DRV_RX8581=m CONFIG_RTC_DRV_RX8025=m # # SPI RTC drivers # # # Platform RTC drivers # CONFIG_RTC_DRV_CMOS=y CONFIG_RTC_DRV_DS1286=m CONFIG_RTC_DRV_DS1511=m CONFIG_RTC_DRV_DS1553=m CONFIG_RTC_DRV_DS1742=m CONFIG_RTC_DRV_STK17TA8=m # CONFIG_RTC_DRV_M48T86 is not set CONFIG_RTC_DRV_M48T35=m CONFIG_RTC_DRV_M48T59=m CONFIG_RTC_DRV_MSM6242=m CONFIG_RTC_DRV_BQ4802=m CONFIG_RTC_DRV_RP5C01=m CONFIG_RTC_DRV_V3020=m # # on-CPU RTC drivers # CONFIG_DMADEVICES=y CONFIG_DMADEVICES_DEBUG=y CONFIG_DMADEVICES_VDEBUG=y # # DMA Devices # CONFIG_ASYNC_TX_DISABLE_CHANNEL_SWITCH=y CONFIG_INTEL_IOATDMA=m # CONFIG_TIMB_DMA is not set CONFIG_DMA_ENGINE=y # # DMA Clients # CONFIG_NET_DMA=y CONFIG_ASYNC_TX_DMA=y # CONFIG_DMATEST is not set CONFIG_DCA=m CONFIG_AUXDISPLAY=y CONFIG_KS0108=m CONFIG_KS0108_PORT=0x378 CONFIG_KS0108_DELAY=2 CONFIG_CFAG12864B=m CONFIG_CFAG12864B_RATE=20 CONFIG_UIO=m CONFIG_UIO_CIF=m # CONFIG_UIO_PDRV is not set # CONFIG_UIO_PDRV_GENIRQ is not set CONFIG_UIO_AEC=m CONFIG_UIO_SERCOS3=m CONFIG_UIO_PCI_GENERIC=m # CONFIG_UIO_NETX is not set CONFIG_STAGING=y # CONFIG_STAGING_EXCLUDE_BUILD is not set # CONFIG_ET131X is not set # CONFIG_SLICOSS is not set # CONFIG_VIDEO_GO7007 is not set # CONFIG_VIDEO_CX25821 is not set # CONFIG_VIDEO_TM6000 is not set # CONFIG_USB_IP_COMMON is not set # CONFIG_W35UND is not set # CONFIG_PRISM2_USB is not set # CONFIG_ECHO is not set # CONFIG_OTUS is not set # CONFIG_RT2860 is not set # CONFIG_RT2870 is not set # CONFIG_COMEDI is not set # CONFIG_ASUS_OLED is not set # CONFIG_PANEL is not set # CONFIG_R8187SE is not set # CONFIG_RTL8192SU is not set # CONFIG_RTL8192U is not set # CONFIG_RTL8192E is not set # CONFIG_TRANZPORT is not set # CONFIG_POHMELFS is not set # CONFIG_IDE_PHISON is not set # CONFIG_LINE6_USB is not set CONFIG_DRM_VMWGFX=m CONFIG_DRM_NOUVEAU=m CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU_DEBUG=y # # I2C encoder or helper chips # CONFIG_DRM_I2C_CH7006=m # CONFIG_USB_SERIAL_QUATECH2 is not set # CONFIG_USB_SERIAL_QUATECH_USB2 is not set # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set # CONFIG_FB_UDL is not set # CONFIG_HYPERV is not set # CONFIG_VME_BUS is not set # # RAR Register Driver # # CONFIG_RAR_REGISTER is not set # CONFIG_IIO is not set # CONFIG_RAMZSWAP is not set # CONFIG_WLAGS49_H2 is not set # CONFIG_WLAGS49_H25 is not set # CONFIG_BATMAN_ADV is not set # CONFIG_SAMSUNG_LAPTOP is not set # CONFIG_FB_SM7XX is not set # CONFIG_DT3155 is not set # CONFIG_VIDEO_DT3155 is not set CONFIG_CRYSTALHD=m # # Texas Instruments shared transport line discipline # # CONFIG_TI_ST is not set # CONFIG_ST_BT is not set # CONFIG_FB_XGI is not set CONFIG_X86_PLATFORM_DEVICES=y CONFIG_ACER_WMI=m CONFIG_ACERHDF=m CONFIG_ASUS_LAPTOP=m CONFIG_DELL_LAPTOP=m CONFIG_DELL_WMI=m CONFIG_FUJITSU_LAPTOP=m # CONFIG_FUJITSU_LAPTOP_DEBUG is not set CONFIG_TC1100_WMI=m CONFIG_HP_WMI=m CONFIG_MSI_LAPTOP=m CONFIG_PANASONIC_LAPTOP=m CONFIG_COMPAL_LAPTOP=m CONFIG_SONY_LAPTOP=m CONFIG_SONYPI_COMPAT=y CONFIG_THINKPAD_ACPI=m CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y # CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set # CONFIG_THINKPAD_ACPI_DEBUG is not set # CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set CONFIG_THINKPAD_ACPI_VIDEO=y CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y CONFIG_EEEPC_LAPTOP=m CONFIG_EEEPC_WMI=m CONFIG_ACPI_WMI=m CONFIG_MSI_WMI=m # CONFIG_ACPI_ASUS is not set CONFIG_TOPSTAR_LAPTOP=m CONFIG_ACPI_TOSHIBA=m CONFIG_TOSHIBA_BT_RFKILL=m CONFIG_ACPI_CMPC=m # # Firmware Drivers # CONFIG_EDD=m # CONFIG_EDD_OFF is not set CONFIG_FIRMWARE_MEMMAP=y CONFIG_EFI_VARS=y CONFIG_DELL_RBU=m CONFIG_DCDBAS=m CONFIG_DMIID=y CONFIG_ISCSI_IBFT_FIND=y CONFIG_ISCSI_IBFT=m # # File systems # CONFIG_EXT2_FS=m CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT2_FS_SECURITY=y CONFIG_EXT2_FS_XIP=y CONFIG_EXT3_FS=y CONFIG_EXT3_DEFAULTS_TO_ORDERED=y CONFIG_EXT3_FS_XATTR=y CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT3_FS_SECURITY=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_XATTR=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y CONFIG_EXT4_DEBUG=y CONFIG_FS_XIP=y CONFIG_JBD=y # CONFIG_JBD_DEBUG is not set CONFIG_JBD2=y CONFIG_JBD2_DEBUG=y 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=y CONFIG_REISERFS_FS_SECURITY=y CONFIG_JFS_FS=m CONFIG_JFS_POSIX_ACL=y CONFIG_JFS_SECURITY=y # CONFIG_JFS_DEBUG is not set # CONFIG_JFS_STATISTICS is not set CONFIG_FS_POSIX_ACL=y CONFIG_XFS_FS=m CONFIG_XFS_QUOTA=y CONFIG_XFS_POSIX_ACL=y # CONFIG_XFS_RT is not set # CONFIG_XFS_DEBUG is not set CONFIG_GFS2_FS=m CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_OCFS2_FS=m CONFIG_OCFS2_FS_O2CB=m CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m # CONFIG_OCFS2_FS_STATS is not set # CONFIG_OCFS2_DEBUG_MASKLOG is not set # CONFIG_OCFS2_DEBUG_FS is not set CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y CONFIG_NILFS2_FS=m CONFIG_FILE_LOCKING=y CONFIG_FSNOTIFY=y CONFIG_DNOTIFY=y CONFIG_INOTIFY=y CONFIG_INOTIFY_USER=y CONFIG_QUOTA=y CONFIG_QUOTA_NETLINK_INTERFACE=y # CONFIG_PRINT_QUOTA_WARNING is not set CONFIG_QUOTA_DEBUG=y CONFIG_QUOTA_TREE=y # CONFIG_QFMT_V1 is not set CONFIG_QFMT_V2=y CONFIG_QUOTACTL=y # CONFIG_AUTOFS_FS is not set CONFIG_AUTOFS4_FS=y CONFIG_FUSE_FS=m CONFIG_CUSE=m CONFIG_GENERIC_ACL=y # # Caches # CONFIG_FSCACHE=m CONFIG_FSCACHE_STATS=y # CONFIG_FSCACHE_HISTOGRAM is not set # CONFIG_FSCACHE_DEBUG is not set CONFIG_FSCACHE_OBJECT_LIST=y CONFIG_CACHEFILES=m # CONFIG_CACHEFILES_DEBUG is not set # CONFIG_CACHEFILES_HISTOGRAM is not set # # CD-ROM/DVD Filesystems # CONFIG_ISO9660_FS=y CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_UDF_FS=m CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems # CONFIG_FAT_FS=m CONFIG_MSDOS_FS=m CONFIG_VFAT_FS=m CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="ascii" # CONFIG_NTFS_FS is not set # # Pseudo filesystems # CONFIG_PROC_FS=y CONFIG_PROC_KCORE=y CONFIG_PROC_VMCORE=y CONFIG_PROC_SYSCTL=y CONFIG_PROC_PAGE_MONITOR=y CONFIG_SYSFS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y CONFIG_CONFIGFS_FS=m CONFIG_MISC_FILESYSTEMS=y # CONFIG_ADFS_FS is not set CONFIG_AFFS_FS=m CONFIG_ECRYPT_FS=m CONFIG_HFS_FS=m CONFIG_HFSPLUS_FS=m CONFIG_BEFS_FS=m # CONFIG_BEFS_DEBUG is not set CONFIG_BFS_FS=m CONFIG_EFS_FS=m CONFIG_JFFS2_FS=m CONFIG_JFFS2_FS_DEBUG=0 CONFIG_JFFS2_FS_WRITEBUFFER=y # CONFIG_JFFS2_FS_WBUF_VERIFY is not set CONFIG_JFFS2_SUMMARY=y CONFIG_JFFS2_FS_XATTR=y CONFIG_JFFS2_FS_POSIX_ACL=y CONFIG_JFFS2_FS_SECURITY=y # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set CONFIG_JFFS2_ZLIB=y # CONFIG_JFFS2_LZO is not set CONFIG_JFFS2_RTIME=y # CONFIG_JFFS2_RUBIN is not set CONFIG_UBIFS_FS=m CONFIG_UBIFS_FS_XATTR=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_LZO=y CONFIG_UBIFS_FS_ZLIB=y # CONFIG_UBIFS_FS_DEBUG is not set CONFIG_LOGFS=m CONFIG_CRAMFS=m CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTRS=y # CONFIG_SQUASHFS_EMBEDDED is not set CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 CONFIG_VXFS_FS=m CONFIG_MINIX_FS=m CONFIG_OMFS_FS=m # CONFIG_HPFS_FS is not set CONFIG_QNX4FS_FS=m CONFIG_ROMFS_FS=m CONFIG_ROMFS_BACKED_BY_BLOCK=y # CONFIG_ROMFS_BACKED_BY_MTD is not set # CONFIG_ROMFS_BACKED_BY_BOTH is not set CONFIG_ROMFS_ON_BLOCK=y CONFIG_SYSV_FS=m CONFIG_UFS_FS=m # CONFIG_UFS_FS_WRITE is not set # CONFIG_UFS_DEBUG is not set CONFIG_EXOFS_FS=m # CONFIG_EXOFS_DEBUG is not set CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=m CONFIG_NFS_V3=y CONFIG_NFS_V3_ACL=y CONFIG_NFS_V4=y CONFIG_NFS_V4_1=y CONFIG_NFS_FSCACHE=y CONFIG_NFSD=m CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y CONFIG_LOCKD=m CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=m CONFIG_NFS_ACL_SUPPORT=m CONFIG_NFS_COMMON=y CONFIG_SUNRPC=m CONFIG_SUNRPC_GSS=m CONFIG_SUNRPC_XPRT_RDMA=m CONFIG_RPCSEC_GSS_KRB5=m CONFIG_RPCSEC_GSS_SPKM3=m # CONFIG_SMB_FS is not set CONFIG_CEPH_FS=m CONFIG_CEPH_FS_PRETTYDEBUG=y CONFIG_CIFS=m CONFIG_CIFS_STATS=y # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y # CONFIG_CIFS_DEBUG2 is not set CONFIG_CIFS_DFS_UPCALL=y CONFIG_CIFS_EXPERIMENTAL=y CONFIG_NCP_FS=m CONFIG_NCPFS_PACKET_SIGNING=y CONFIG_NCPFS_IOCTL_LOCKING=y CONFIG_NCPFS_STRONG=y CONFIG_NCPFS_NFS_NS=y CONFIG_NCPFS_OS2_NS=y CONFIG_NCPFS_SMALLDOS=y CONFIG_NCPFS_NLS=y CONFIG_NCPFS_EXTRAS=y CONFIG_CODA_FS=m # CONFIG_AFS_FS is not set CONFIG_9P_FS=m CONFIG_9P_FSCACHE=y # # Partition Types # CONFIG_PARTITION_ADVANCED=y # CONFIG_ACORN_PARTITION is not set CONFIG_OSF_PARTITION=y 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=y CONFIG_SOLARIS_X86_PARTITION=y CONFIG_UNIXWARE_DISKLABEL=y # CONFIG_LDM_PARTITION is not set CONFIG_SGI_PARTITION=y # CONFIG_ULTRIX_PARTITION is not set CONFIG_SUN_PARTITION=y CONFIG_KARMA_PARTITION=y CONFIG_EFI_PARTITION=y # CONFIG_SYSV68_PARTITION is not set CONFIG_NLS=y CONFIG_NLS_DEFAULT="utf8" CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_775=m CONFIG_NLS_CODEPAGE_850=m CONFIG_NLS_CODEPAGE_852=m CONFIG_NLS_CODEPAGE_855=m CONFIG_NLS_CODEPAGE_857=m CONFIG_NLS_CODEPAGE_860=m CONFIG_NLS_CODEPAGE_861=m CONFIG_NLS_CODEPAGE_862=m CONFIG_NLS_CODEPAGE_863=m CONFIG_NLS_CODEPAGE_864=m CONFIG_NLS_CODEPAGE_865=m CONFIG_NLS_CODEPAGE_866=m CONFIG_NLS_CODEPAGE_869=m CONFIG_NLS_CODEPAGE_936=m CONFIG_NLS_CODEPAGE_950=m CONFIG_NLS_CODEPAGE_932=m CONFIG_NLS_CODEPAGE_949=m CONFIG_NLS_CODEPAGE_874=m CONFIG_NLS_ISO8859_8=m CONFIG_NLS_CODEPAGE_1250=m CONFIG_NLS_CODEPAGE_1251=m CONFIG_NLS_ASCII=y CONFIG_NLS_ISO8859_1=m CONFIG_NLS_ISO8859_2=m CONFIG_NLS_ISO8859_3=m CONFIG_NLS_ISO8859_4=m CONFIG_NLS_ISO8859_5=m CONFIG_NLS_ISO8859_6=m CONFIG_NLS_ISO8859_7=m CONFIG_NLS_ISO8859_9=m CONFIG_NLS_ISO8859_13=m CONFIG_NLS_ISO8859_14=m CONFIG_NLS_ISO8859_15=m CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m 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 is not set CONFIG_ENABLE_MUST_CHECK=y CONFIG_FRAME_WARN=1024 CONFIG_MAGIC_SYSRQ=y CONFIG_STRIP_ASM_SYMS=y CONFIG_UNUSED_SYMBOLS=y CONFIG_DEBUG_FS=y CONFIG_HEADERS_CHECK=y CONFIG_IPIPE_DEBUG=y CONFIG_IPIPE_DEBUG_CONTEXT=y CONFIG_IPIPE_DEBUG_INTERNAL=y CONFIG_IPIPE_TRACE=y CONFIG_IPIPE_TRACE_ENABLE=y CONFIG_IPIPE_TRACE_MCOUNT=y CONFIG_IPIPE_TRACE_IRQSOFF=y CONFIG_IPIPE_TRACE_SHIFT=15 CONFIG_IPIPE_TRACE_VMALLOC=y CONFIG_IPIPE_TRACE_PANIC=y CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_SHIRQ=y CONFIG_DETECT_SOFTLOCKUP=y # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 # CONFIG_DETECT_HUNG_TASK is not set CONFIG_SCHED_DEBUG=y CONFIG_SCHEDSTATS=y CONFIG_TIMER_STATS=y CONFIG_DEBUG_OBJECTS=y # CONFIG_DEBUG_OBJECTS_SELFTEST is not set CONFIG_DEBUG_OBJECTS_FREE=y CONFIG_DEBUG_OBJECTS_TIMERS=y CONFIG_DEBUG_OBJECTS_WORK=y CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 CONFIG_SLUB_DEBUG_ON=y # CONFIG_SLUB_STATS is not set # CONFIG_DEBUG_KMEMLEAK is not set CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_PI_LIST=y # CONFIG_RT_MUTEX_TESTER is not set CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_MUTEXES=y CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y CONFIG_PROVE_RCU=y # CONFIG_PROVE_RCU_REPEATEDLY is not set CONFIG_LOCKDEP=y CONFIG_LOCK_STAT=y # CONFIG_DEBUG_LOCKDEP is not set CONFIG_TRACE_IRQFLAGS=y CONFIG_DEBUG_SPINLOCK_SLEEP=y # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set CONFIG_STACKTRACE=y # CONFIG_DEBUG_KOBJECT is not set CONFIG_DEBUG_HIGHMEM=y CONFIG_DEBUG_BUGVERBOSE=y CONFIG_DEBUG_INFO=y CONFIG_DEBUG_VM=y # CONFIG_DEBUG_VIRTUAL is not set CONFIG_DEBUG_WRITECOUNT=y CONFIG_DEBUG_MEMORY_INIT=y CONFIG_DEBUG_LIST=y CONFIG_DEBUG_SG=y CONFIG_DEBUG_NOTIFIERS=y CONFIG_DEBUG_CREDENTIALS=y CONFIG_ARCH_WANT_FRAME_POINTERS=y CONFIG_FRAME_POINTER=y CONFIG_BOOT_PRINTK_DELAY=y # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_CPU_STALL_DETECTOR is not set # CONFIG_KPROBES_SANITY_TEST is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y # CONFIG_LKDTM is not set CONFIG_CPU_NOTIFIER_ERROR_INJECT=m CONFIG_FAULT_INJECTION=y CONFIG_FAILSLAB=y CONFIG_FAIL_PAGE_ALLOC=y CONFIG_FAIL_MAKE_REQUEST=y CONFIG_FAIL_IO_TIMEOUT=y CONFIG_FAULT_INJECTION_DEBUG_FS=y CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y CONFIG_LATENCYTOP=y CONFIG_SYSCTL_SYSCALL_CHECK=y # CONFIG_DEBUG_PAGEALLOC 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_TRACER_MAX_TRACE=y CONFIG_RING_BUFFER=y CONFIG_FTRACE_NMI_ENTER=y CONFIG_EVENT_TRACING=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_IRQSOFF_TRACER is not set CONFIG_SYSPROF_TRACER=y CONFIG_SCHED_TRACER=y CONFIG_FTRACE_SYSCALLS=y CONFIG_BOOT_TRACER=y CONFIG_BRANCH_PROFILE_NONE=y # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set # CONFIG_PROFILE_ALL_BRANCHES is not set CONFIG_KSYM_TRACER=y CONFIG_PROFILE_KSYM_TRACER=y CONFIG_STACK_TRACER=y CONFIG_KMEMTRACE=y CONFIG_WORKQUEUE_TRACER=y CONFIG_BLK_DEV_IO_TRACE=y CONFIG_KPROBE_EVENT=y 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=m # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set # CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set CONFIG_BUILD_DOCSRC=y CONFIG_DYNAMIC_DEBUG=y # CONFIG_DMA_API_DEBUG is not set CONFIG_ATOMIC64_SELFTEST=y # CONFIG_SAMPLES is not set CONFIG_HAVE_ARCH_KGDB=y CONFIG_KGDB=y CONFIG_KGDB_SERIAL_CONSOLE=y CONFIG_KGDB_TESTS=y # CONFIG_KGDB_TESTS_ON_BOOT is not set CONFIG_KGDB_LOW_LEVEL_TRAP=y CONFIG_KGDB_KDB=y CONFIG_KDB_KEYBOARD=y CONFIG_HAVE_ARCH_KMEMCHECK=y CONFIG_STRICT_DEVMEM=y # CONFIG_X86_VERBOSE_BOOTUP is not set CONFIG_EARLY_PRINTK=y CONFIG_EARLY_PRINTK_DBGP=y CONFIG_DEBUG_STACKOVERFLOW=y CONFIG_DEBUG_STACK_USAGE=y # CONFIG_DEBUG_PER_CPU_MAPS is not set CONFIG_X86_PTDUMP=y CONFIG_DEBUG_RODATA=y CONFIG_DEBUG_RODATA_TEST=y CONFIG_DEBUG_NX_TEST=m # CONFIG_4KSTACKS is not set CONFIG_DOUBLEFAULT=y # CONFIG_IOMMU_STRESS is not set CONFIG_HAVE_MMIOTRACE_SUPPORT=y CONFIG_X86_DECODER_SELFTEST=y CONFIG_IO_DELAY_TYPE_0X80=0 CONFIG_IO_DELAY_TYPE_0XED=1 CONFIG_IO_DELAY_TYPE_UDELAY=2 CONFIG_IO_DELAY_TYPE_NONE=3 CONFIG_IO_DELAY_0X80=y # CONFIG_IO_DELAY_0XED is not set # CONFIG_IO_DELAY_UDELAY is not set # CONFIG_IO_DELAY_NONE is not set CONFIG_DEFAULT_IO_DELAY_TYPE=0 CONFIG_DEBUG_BOOT_PARAMS=y # CONFIG_CPA_DEBUG is not set CONFIG_OPTIMIZE_INLINING=y CONFIG_DEBUG_STRICT_USER_COPY_CHECKS=y # # Security options # CONFIG_KEYS=y CONFIG_KEYS_DEBUG_PROC_KEYS=y CONFIG_SECURITY=y CONFIG_SECURITYFS=y CONFIG_SECURITY_NETWORK=y CONFIG_SECURITY_NETWORK_XFRM=y # CONFIG_SECURITY_PATH is not set # CONFIG_INTEL_TXT is not set CONFIG_LSM_MMAP_MIN_ADDR=65536 CONFIG_SECURITY_SELINUX=y CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 CONFIG_SECURITY_SELINUX_DISABLE=y CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_AVC_STATS=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set CONFIG_IMA=y CONFIG_IMA_MEASURE_PCR_IDX=10 CONFIG_IMA_AUDIT=y CONFIG_IMA_LSM_RULES=y CONFIG_DEFAULT_SECURITY_SELINUX=y # CONFIG_DEFAULT_SECURITY_SMACK is not set # CONFIG_DEFAULT_SECURITY_TOMOYO is not set # CONFIG_DEFAULT_SECURITY_DAC is not set CONFIG_DEFAULT_SECURITY="selinux" CONFIG_XOR_BLOCKS=m CONFIG_ASYNC_CORE=m CONFIG_ASYNC_MEMCPY=m CONFIG_ASYNC_XOR=m CONFIG_ASYNC_PQ=m CONFIG_ASYNC_RAID6_RECOV=m CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y CONFIG_CRYPTO=y # # Crypto core or helper # CONFIG_CRYPTO_FIPS=y CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y CONFIG_CRYPTO_AEAD=m CONFIG_CRYPTO_AEAD2=y CONFIG_CRYPTO_BLKCIPHER=m CONFIG_CRYPTO_BLKCIPHER2=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y CONFIG_CRYPTO_RNG=m CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_PCOMP=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y CONFIG_CRYPTO_MANAGER_TESTS=y CONFIG_CRYPTO_GF128MUL=m CONFIG_CRYPTO_NULL=m CONFIG_CRYPTO_PCRYPT=m CONFIG_CRYPTO_WORKQUEUE=y # CONFIG_CRYPTO_CRYPTD is not set CONFIG_CRYPTO_AUTHENC=m CONFIG_CRYPTO_TEST=m # # Authenticated Encryption with Associated Data # CONFIG_CRYPTO_CCM=m CONFIG_CRYPTO_GCM=m CONFIG_CRYPTO_SEQIV=m # # Block modes # CONFIG_CRYPTO_CBC=m CONFIG_CRYPTO_CTR=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_ECB=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m # # Hash modes # CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_VMAC=m # # Digest # CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32C_INTEL=m CONFIG_CRYPTO_GHASH=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m CONFIG_CRYPTO_RMD128=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RMD256=m CONFIG_CRYPTO_RMD320=m CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_TGR192=m CONFIG_CRYPTO_WP512=m # # Ciphers # CONFIG_CRYPTO_AES=m CONFIG_CRYPTO_AES_586=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SALSA20=m CONFIG_CRYPTO_SALSA20_586=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_586=m # # Compression # CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_ZLIB=m CONFIG_CRYPTO_LZO=m # # Random Number Generation # CONFIG_CRYPTO_ANSI_CPRNG=m CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_DEV_PADLOCK=m CONFIG_CRYPTO_DEV_PADLOCK_AES=m CONFIG_CRYPTO_DEV_PADLOCK_SHA=m CONFIG_CRYPTO_DEV_GEODE=m CONFIG_CRYPTO_DEV_HIFN_795X=m CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y CONFIG_HAVE_KVM=y CONFIG_HAVE_KVM_IRQCHIP=y CONFIG_HAVE_KVM_EVENTFD=y CONFIG_KVM_APIC_ARCHITECTURE=y CONFIG_KVM_MMIO=y CONFIG_VIRTUALIZATION=y CONFIG_KVM=m CONFIG_KVM_INTEL=m CONFIG_KVM_AMD=m CONFIG_VHOST_NET=m CONFIG_LGUEST=m CONFIG_VIRTIO=m CONFIG_VIRTIO_RING=m CONFIG_VIRTIO_PCI=m 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=y CONFIG_CRC_T10DIF=y CONFIG_CRC_ITU_T=m CONFIG_CRC32=y CONFIG_CRC7=m CONFIG_LIBCRC32C=m CONFIG_AUDIT_GENERIC=y CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=m CONFIG_LZO_COMPRESS=m CONFIG_LZO_DECOMPRESS=y CONFIG_DECOMPRESS_GZIP=y CONFIG_DECOMPRESS_BZIP2=y CONFIG_DECOMPRESS_LZMA=y CONFIG_DECOMPRESS_LZO=y CONFIG_GENERIC_ALLOCATOR=y CONFIG_REED_SOLOMON=m CONFIG_REED_SOLOMON_DEC16=y CONFIG_TEXTSEARCH=y CONFIG_TEXTSEARCH_KMP=m CONFIG_TEXTSEARCH_BM=m CONFIG_TEXTSEARCH_FSM=m CONFIG_BTREE=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y CONFIG_HAS_DMA=y CONFIG_CHECK_SIGNATURE=y CONFIG_NLATTR=y CONFIG_LRU_CACHE=m [-- Attachment #3: console --] [-- Type: text/plain, Size: 59676 bytes --] Initializing cgroup subsys cpuset Initializing cgroup subsys cpu Linux version 2.6.35.7-ftrace-test (andersb@domain.hid) (gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC) ) #3 SMP Tue Nov 2 18:50:23 CET 2010 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 00000000ce7b4000 (usable) BIOS-e820: 00000000ce7b4000 - 00000000ce877000 (ACPI NVS) BIOS-e820: 00000000ce877000 - 00000000cfa9e000 (usable) BIOS-e820: 00000000cfa9e000 - 00000000cfaa0000 (reserved) BIOS-e820: 00000000cfaa0000 - 00000000cfb8e000 (usable) BIOS-e820: 00000000cfb8e000 - 00000000cfbe5000 (ACPI NVS) BIOS-e820: 00000000cfbe5000 - 00000000cfbe8000 (usable) BIOS-e820: 00000000cfbe8000 - 00000000cfbf3000 (ACPI data) BIOS-e820: 00000000cfbf3000 - 00000000cfbf4000 (usable) BIOS-e820: 00000000cfbf4000 - 00000000cfbff000 (ACPI data) BIOS-e820: 00000000cfbff000 - 00000000cfc00000 (usable) BIOS-e820: 00000000cfc00000 - 00000000d0000000 (reserved) BIOS-e820: 00000000f0000000 - 00000000f8000000 (reserved) BIOS-e820: 00000000fff00000 - 0000000100000000 (reserved) BIOS-e820: 0000000100000000 - 000000012c000000 (usable) NX (Execute Disable) protection: active DMI 2.4 present. e820 update range: 0000000000000000 - 0000000000001000 (usable) ==> (reserved) e820 remove range: 00000000000a0000 - 0000000000100000 (usable) last_pfn = 0x12c000 max_arch_pfn = 0x1000000 MTRR default type: write-back MTRR fixed ranges enabled: 00000-9FFFF write-back A0000-BFFFF uncachable C0000-DFFFF write-protect E0000-FFFFF uncachable MTRR variable ranges enabled: 0 base 0CFF00000 mask FFFF00000 uncachable 1 base 0D0000000 mask FF0000000 uncachable 2 base 0E0000000 mask FE0000000 uncachable 3 base 0CFBAC000 mask FFFFFF000 write-back 4 disabled 5 disabled 6 disabled 7 disabled x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106 initial memory mapped : 0 - 01800000 found SMP MP-table at [c00fe200] fe200 init_memory_mapping: 0000000000000000-00000000375fe000 0000000000 - 0000200000 page 4k 0000200000 - 0037400000 page 2M 0037400000 - 00375fe000 page 4k kernel direct mapping tables up to 375fe000 @ 7000-f000 RAMDISK: 37294000 - 37ff0000 Allocated new RAMDISK: 0133e000 - 02099bb5 Move RAMDISK from 0000000037294000 - 0000000037fefbb4 to 0133e000 - 02099bb4 ACPI: RSDP 000fe020 00014 (v00 INTEL ) ACPI: RSDT cfbfd038 00064 (v01 INTEL DP35DP 000001B5 01000013) ACPI: FACP cfbfc000 00074 (v01 INTEL DP35DP 000001B5 MSFT 01000013) ACPI: DSDT cfbf8000 03DB9 (v01 INTEL DP35DP 000001B5 MSFT 01000013) ACPI: FACS cfb99000 00040 ACPI: APIC cfbf7000 00078 (v01 INTEL DP35DP 000001B5 MSFT 01000013) ACPI: WDDT cfbf6000 00040 (v01 INTEL DP35DP 000001B5 MSFT 01000013) ACPI: MCFG cfbf5000 0003C (v01 INTEL DP35DP 000001B5 MSFT 01000013) ACPI: ASF! cfbf4000 000A6 (v32 INTEL DP35DP 000001B5 MSFT 01000013) ACPI: ASPT cfbf2000 0002C (v01 INTEL DP35DP 000001B5 MSFT 01000013) ACPI: WDTT cfbf1000 002CC (v01 INTEL DP35DP 000001B5 MSFT 01000013) ACPI: SSDT cfbf0000 00204 (v01 INTEL CpuPm 000001B5 MSFT 01000013) ACPI: SSDT cfbef000 001F9 (v01 INTEL Cpu0Ist 000001B5 MSFT 01000013) ACPI: SSDT cfbee000 001F9 (v01 INTEL Cpu1Ist 000001B5 MSFT 01000013) ACPI: SSDT cfbed000 001F9 (v01 INTEL Cpu2Ist 000001B5 MSFT 01000013) ACPI: SSDT cfbec000 001F9 (v01 INTEL Cpu3Ist 000001B5 MSFT 01000013) ACPI: SSDT cfbeb000 001CF (v01 INTEL Cpu0Cst 000001B5 MSFT 01000013) ACPI: SSDT cfbea000 001CF (v01 INTEL Cpu1Cst 000001B5 MSFT 01000013) ACPI: SSDT cfbe9000 001CF (v01 INTEL Cpu2Cst 000001B5 MSFT 01000013) ACPI: SSDT cfbe8000 001CF (v01 INTEL Cpu3Cst 000001B5 MSFT 01000013) ACPI: Local APIC address 0xfee00000 3914MB HIGHMEM available. 885MB LOWMEM available. mapped low ram: 0 - 375fe000 low ram: 0 - 375fe000 node 0 low ram: 00000000 - 375fe000 node 0 bootmap 0000b000 - 00011ec0 (12/32 early reservations) ==> bootmem [0000000000 - 00375fe000] #0 [0000001000 - 0000002000] EX TRAMPOLINE ==> [0000001000 - 0000002000] #1 [0000400000 - 000133090c] TEXT DATA BSS ==> [0000400000 - 000133090c] #2 [0001331000 - 000133d136] BRK ==> [0001331000 - 000133d136] #3 [000009fc00 - 00000fe200] BIOS reserved ==> [000009fc00 - 00000fe200] #4 [00000fe200 - 00000fe210] MP-table mpf ==> [00000fe200 - 00000fe210] #5 [00000fe250 - 0000100000] BIOS reserved ==> [00000fe250 - 0000100000] #6 [00000fe210 - 00000fe250] MP-table mpc ==> [00000fe210 - 00000fe250] #7 [0000002000 - 0000003000] TRAMPOLINE ==> [0000002000 - 0000003000] #8 [0000003000 - 0000007000] ACPI WAKEUP ==> [0000003000 - 0000007000] #9 [0000007000 - 000000b000] PGTABLE ==> [0000007000 - 000000b000] #10 [000133e000 - 000209a000] NEW RAMDISK ==> [000133e000 - 000209a000] #11 [000000b000 - 0000012000] BOOTMAP ==> [000000b000 - 0000012000] Zone PFN ranges: DMA 0x00000001 -> 0x00001000 Normal 0x00001000 -> 0x000375fe HighMem 0x000375fe -> 0x0012c000 Movable zone start PFN for each node early_node_map[8] active PFN ranges 0: 0x00000001 -> 0x0000009f 0: 0x00000100 -> 0x000ce7b4 0: 0x000ce877 -> 0x000cfa9e 0: 0x000cfaa0 -> 0x000cfb8e 0: 0x000cfbe5 -> 0x000cfbe8 0: 0x000cfbf3 -> 0x000cfbf4 0: 0x000cfbff -> 0x000cfc00 0: 0x00100000 -> 0x0012c000 On node 0 totalpages: 1030764 free_area_init_node: node 0, pgdat c0a2af00, node_mem_map c209b020 DMA zone: 32 pages used for memmap DMA zone: 0 pages reserved DMA zone: 3966 pages, LIFO batch:0 Normal zone: 1740 pages used for memmap Normal zone: 220978 pages, LIFO batch:31 HighMem zone: 7829 pages used for memmap HighMem zone: 796219 pages, LIFO batch:31 Using APIC driver default ACPI: PM-Timer IO Port: 0x408 ACPI: Local APIC address 0xfee00000 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled) ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1]) ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1]) ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) ACPI: IRQ0 used by override. ACPI: IRQ2 used by override. ACPI: IRQ9 used by override. Using ACPI (MADT) for SMP configuration information SMP: Allowing 4 CPUs, 0 hotplug CPUs nr_irqs_gsi: 40 PM: Registered nosave memory: 000000000009f000 - 00000000000a0000 PM: Registered nosave memory: 00000000000a0000 - 00000000000e0000 PM: Registered nosave memory: 00000000000e0000 - 0000000000100000 Allocating PCI resources starting at d0000000 (gap: d0000000:20000000) setup_percpu: NR_CPUS:32 nr_cpumask_bits:32 nr_cpu_ids:4 nr_node_ids:1 PERCPU: Embedded 340 pages/cpu @c4800000 s1368256 r0 d24384 u2097152 pcpu-alloc: s1368256 r0 d24384 u2097152 alloc=1*2097152 pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 1021163 Kernel command line: ro root=UUID=c3fb4b4b-4e9c-477c-8e9a-0a95d05f8e08 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=sv-latin1 8250.nr_uarts=20 console=ttyS4,115200 loglevel=8 PID hash table entries: 4096 (order: 2, 16384 bytes) Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Initializing CPU#0 allocated 24575980 bytes of page_cgroup please try 'cgroup_disable=memory' option if you don't want memory cgroups Initializing HighMem for node 0 (000375fe:0012c000) Memory: 4024872k/4915200k available (3901k kernel code, 98184k reserved, 2537k data, 1840k init, 3216192k highmem) virtual kernel memory layout: fixmap : 0xffa96000 - 0xfffff000 (5540 kB) pkmap : 0xff600000 - 0xff800000 (2048 kB) vmalloc : 0xf7dfe000 - 0xff5fe000 ( 120 MB) lowmem : 0xc0000000 - 0xf75fe000 ( 885 MB) .init : 0xc0a4a000 - 0xc0c16000 (1840 kB) .data : 0xc07cf595 - 0xc0a49af0 (2537 kB) .text : 0xc0400000 - 0xc07cf595 (3901 kB) Checking if this processor honours the WP bit even in supervisor mode...Ok. SLUB: Genslabs=13, HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 Hierarchical RCU implementation. RCU dyntick-idle grace-period acceleration is enabled. RCU lockdep checking is enabled. RCU-based detection of stalled CPUs is disabled. Verbose stalled-CPUs detection is disabled. NR_IRQS:1280 I-pipe 2.7-04: pipeline enabled. Console: colour VGA+ 80x25 Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar ... MAX_LOCKDEP_SUBCLASSES: 8 ... MAX_LOCK_DEPTH: 48 ... MAX_LOCKDEP_KEYS: 8191 ... CLASSHASH_SIZE: 4096 ... MAX_LOCKDEP_ENTRIES: 16384 ... MAX_LOCKDEP_CHAINS: 32768 ... CHAINHASH_SIZE: 16384 memory used by lock dependency info: 3823 kB per task-struct memory footprint: 1920 bytes ODEBUG: 29 of 29 active objects replaced Fast TSC calibration using PIT Detected 2400.152 MHz processor. Calibrating delay loop (skipped), value calculated using timer frequency.. 4800.30 BogoMIPS (lpj=2400152) pid_max: default: 32768 minimum: 301 Security Framework initialized SELinux: Initializing. SELinux: Starting in permissive mode Mount-cache hash table entries: 512 Initializing cgroup subsys ns Initializing cgroup subsys cpuacct Initializing cgroup subsys memory Initializing cgroup subsys devices Initializing cgroup subsys freezer Initializing cgroup subsys net_cls Initializing cgroup subsys blkio CPU: Physical Processor ID: 0 CPU: Processor Core ID: 0 mce: CPU supports 6 MCE banks CPU0: Thermal monitoring enabled (TM2) Performance Events: PEBS fmt0+, Core2 events, Intel PMU driver. PEBS disabled due to CPU errata. ... version: 2 ... bit width: 40 ... generic registers: 2 ... value mask: 000000ffffffffff ... max period: 000000007fffffff ... fixed-purpose events: 3 ... event mask: 0000000700000003 ACPI: Core revision 20100428 ftrace: converting mcount calls to 0f 1f 44 00 00 ftrace: allocating 20580 entries in 41 pages Enabling APIC mode: Flat. Using 1 I/O APICs ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 ..MP-BIOS bug: 8254 timer not connected to IO-APIC ...trying to set up timer (IRQ0) through the 8259A ... ..... (found apic 0 pin 2) ... ....... works. CPU0: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz stepping 0b lockdep: fixing up alternatives. =================================================== [ INFO: suspicious rcu_dereference_check() usage. ] --------------------------------------------------- kernel/sched.c:616 invoked rcu_dereference_check() without protection! other info that might help us debug this: rcu_scheduler_active = 1, debug_locks = 0 3 locks held by swapper/1: #0: (cpu_add_remove_lock){+.+.+.}, at: [<c04398f3>] cpu_maps_update_begin+0x14/0x16 #1: (cpu_hotplug.lock){+.+.+.}, at: [<c043992b>] cpu_hotplug_begin+0x22/0x45 #2: (std_spinlock_raw(&rq->lock)){-.....}, at: [<c07c5142>] init_idle+0x25/0xaa stack backtrace: Pid: 1, comm: swapper Not tainted 2.6.35.7-ftrace-test #3 Call Trace: [<c045ec8c>] lockdep_rcu_dereference+0x7d/0x86 [<c0429818>] task_group+0x72/0x7e [<c0429837>] set_task_rq+0x13/0x5c [<c07c5182>] init_idle+0x65/0xaa [<c07c5514>] fork_idle+0x9d/0xa6 [<c07c4025>] do_fork_idle+0x13/0x21 [<c07c3750>] do_boot_cpu+0x108/0x8ca [<c0499e3e>] ? kzalloc_node.clone.0+0xd/0xf [<c07c4012>] ? do_fork_idle+0x0/0x21 [<c07c4158>] native_cpu_up+0x125/0x259 [<c04398ae>] ? __cpu_notify+0x1a/0x2e [<c07c55cd>] _cpu_up+0x85/0xed [<c07c5681>] cpu_up+0x4c/0x5c [<c0a4a313>] kernel_init+0xc1/0x1ca [<c0a4a252>] ? kernel_init+0x0/0x1ca [<c0402f16>] kernel_thread_helper+0x6/0x10 Booting Node 0, Processors #1 Initializing CPU#1 lockdep: fixing up alternatives. #2 Initializing CPU#2 lockdep: fixing up alternatives. #3 Ok. Initializing CPU#3 Brought up 4 CPUs Total of 4 processors activated (19198.29 BogoMIPS). devtmpfs: initialized atomic64 test passed for i586+ platform with CX8 and with SSE Time: 18:01:06 Date: 11/02/10 NET: Registered protocol family 16 ACPI: bus type pci registered PCI: MMCONFIG for domain 0000 [bus 00-7f] at [mem 0xf0000000-0xf7ffffff] (base 0xf0000000) PCI: MMCONFIG at [mem 0xf0000000-0xf7ffffff] reserved in E820 PCI: Using MMCONFIG for extended config space PCI: Using configuration type 1 for base access bio: create slab <bio-0> at 0 ACPI: EC: Look up EC in DSDT ACPI: Interpreter enabled ACPI: (supports S0 S1 S3 S4 S5) ACPI: Using IOAPIC for interrupt routing ACPI: No dock devices found. PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff]) pci_root PNP0A03:00: host bridge window [io 0x0000-0x0cf7] pci_root PNP0A03:00: host bridge window [io 0x0d00-0xffff] pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff] pci_root PNP0A03:00: host bridge window [mem 0x000e0000-0x000effff] pci_root PNP0A03:00: host bridge window [mem 0xf8000000-0xfeafffff] pci_root PNP0A03:00: host bridge window [mem 0xd0000000-0xefffffff] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold pci 0000:00:01.0: PME# disabled pci 0000:00:03.0: reg 10: [mem 0xe2325900-0xe232590f 64bit] pci 0000:00:03.0: PME# supported from D0 D3hot D3cold pci 0000:00:03.0: PME# disabled pci 0000:00:19.0: reg 10: [mem 0xe2300000-0xe231ffff] pci 0000:00:19.0: reg 14: [mem 0xe2324000-0xe2324fff] pci 0000:00:19.0: reg 18: [io 0x40e0-0x40ff] pci 0000:00:19.0: PME# supported from D0 D3hot D3cold pci 0000:00:19.0: PME# disabled pci 0000:00:1a.0: reg 20: [io 0x40c0-0x40df] pci 0000:00:1a.1: reg 20: [io 0x40a0-0x40bf] pci 0000:00:1a.2: reg 20: [io 0x4080-0x409f] pci 0000:00:1a.7: reg 10: [mem 0xe2325400-0xe23257ff] pci 0000:00:1a.7: PME# supported from D0 D3hot D3cold pci 0000:00:1a.7: PME# disabled pci 0000:00:1b.0: reg 10: [mem 0xe2320000-0xe2323fff 64bit] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold pci 0000:00:1b.0: PME# disabled pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold pci 0000:00:1c.0: PME# disabled pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold pci 0000:00:1c.1: PME# disabled pci 0000:00:1c.2: PME# supported from D0 D3hot D3cold pci 0000:00:1c.2: PME# disabled pci 0000:00:1c.3: PME# supported from D0 D3hot D3cold pci 0000:00:1c.3: PME# disabled pci 0000:00:1c.4: PME# supported from D0 D3hot D3cold pci 0000:00:1c.4: PME# disabled pci 0000:00:1d.0: reg 20: [io 0x4060-0x407f] pci 0000:00:1d.1: reg 20: [io 0x4040-0x405f] pci 0000:00:1d.2: reg 20: [io 0x4020-0x403f] pci 0000:00:1d.7: reg 10: [mem 0xe2325000-0xe23253ff] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold pci 0000:00:1d.7: PME# disabled pci 0000:00:1f.0: Force enabled HPET at 0xfed00000 pci 0000:00:1f.0: quirk: [io 0x0400-0x047f] claimed by ICH6 ACPI/GPIO/TCO pci 0000:00:1f.0: quirk: [io 0x0500-0x053f] claimed by ICH6 GPIO pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at 0680 (mask 007f) pci 0000:00:1f.0: ICH7 LPC Generic IO decode 2 PIO at 0810 (mask 007f) pci 0000:00:1f.2: reg 10: [io 0x4458-0x445f] pci 0000:00:1f.2: reg 14: [io 0x446c-0x446f] pci 0000:00:1f.2: reg 18: [io 0x4450-0x4457] pci 0000:00:1f.2: reg 1c: [io 0x4468-0x446b] pci 0000:00:1f.2: reg 20: [io 0x4430-0x443f] pci 0000:00:1f.2: reg 24: [io 0x4420-0x442f] pci 0000:00:1f.3: reg 10: [mem 0xe2325800-0xe23258ff 64bit] pci 0000:00:1f.3: reg 20: [io 0x4000-0x401f] pci 0000:00:1f.5: reg 10: [io 0x4448-0x444f] pci 0000:00:1f.5: reg 14: [io 0x4464-0x4467] pci 0000:00:1f.5: reg 18: [io 0x4440-0x4447] pci 0000:00:1f.5: reg 1c: [io 0x4460-0x4463] pci 0000:00:1f.5: reg 20: [io 0x4410-0x441f] pci 0000:00:1f.5: reg 24: [io 0x4400-0x440f] pci 0000:01:00.0: reg 10: [mem 0xe1000000-0xe1ffffff] pci 0000:01:00.0: reg 14: [mem 0xd0000000-0xdfffffff 64bit pref] pci 0000:01:00.0: reg 1c: [mem 0xe0000000-0xe0ffffff 64bit] pci 0000:01:00.0: reg 30: [mem 0xfffe0000-0xffffffff pref] pci 0000:01:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force' pci 0000:00:01.0: PCI bridge to [bus 01-01] pci 0000:00:01.0: bridge window [io 0xf000-0x0000] (disabled) pci 0000:00:01.0: bridge window [mem 0xe0000000-0xe1ffffff] pci 0000:00:01.0: bridge window [mem 0xd0000000-0xdfffffff 64bit pref] pci 0000:00:1c.0: PCI bridge to [bus 02-02] pci 0000:00:1c.0: bridge window [io 0xf000-0x0000] (disabled) pci 0000:00:1c.0: bridge window [mem 0xfff00000-0x000fffff] (disabled) pci 0000:00:1c.0: bridge window [mem 0xfff00000-0x000fffff pref] (disabled) pci 0000:03:00.0: reg 10: [io 0x3018-0x301f] pci 0000:03:00.0: reg 14: [io 0x3024-0x3027] pci 0000:03:00.0: reg 18: [io 0x3010-0x3017] pci 0000:03:00.0: reg 1c: [io 0x3020-0x3023] pci 0000:03:00.0: reg 20: [io 0x3000-0x300f] pci 0000:03:00.0: reg 24: [mem 0xe2200000-0xe22001ff] pci 0000:03:00.0: supports D1 pci 0000:03:00.0: PME# supported from D0 D1 D3hot pci 0000:03:00.0: PME# disabled pci 0000:03:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force' pci 0000:00:1c.1: PCI bridge to [bus 03-03] pci 0000:00:1c.1: bridge window [io 0x3000-0x3fff] pci 0000:00:1c.1: bridge window [mem 0xe2200000-0xe22fffff] pci 0000:00:1c.1: bridge window [mem 0xfff00000-0x000fffff pref] (disabled) pci 0000:00:1c.2: PCI bridge to [bus 04-04] pci 0000:00:1c.2: bridge window [io 0xf000-0x0000] (disabled) pci 0000:00:1c.2: bridge window [mem 0xfff00000-0x000fffff] (disabled) pci 0000:00:1c.2: bridge window [mem 0xfff00000-0x000fffff pref] (disabled) pci 0000:00:1c.3: PCI bridge to [bus 05-05] pci 0000:00:1c.3: bridge window [io 0xf000-0x0000] (disabled) pci 0000:00:1c.3: bridge window [mem 0xfff00000-0x000fffff] (disabled) pci 0000:00:1c.3: bridge window [mem 0xfff00000-0x000fffff pref] (disabled) pci 0000:06:00.0: reg 10: [io 0x2010-0x2017] pci 0000:06:00.0: reg 14: [mem 0xe2105000-0xe2105fff] pci 0000:06:00.0: reg 20: [mem 0xe2104000-0xe2104fff] pci 0000:06:00.0: supports D1 D2 pci 0000:06:00.0: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:06:00.0: PME# disabled pci 0000:06:00.1: reg 10: [io 0x2008-0x200f] pci 0000:06:00.1: reg 14: [mem 0xe2103000-0xe2103fff] pci 0000:06:00.1: reg 20: [mem 0xe2102000-0xe2102fff] pci 0000:06:00.1: supports D1 D2 pci 0000:06:00.1: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:06:00.1: PME# disabled pci 0000:06:00.2: reg 10: [io 0x2000-0x2007] pci 0000:06:00.2: reg 14: [io 0x2018-0x201b] pci 0000:06:00.2: reg 18: [mem 0xe2101000-0xe2101fff] pci 0000:06:00.2: reg 20: [mem 0xe2100000-0xe2100fff] pci 0000:06:00.2: supports D1 D2 pci 0000:06:00.2: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:06:00.2: PME# disabled pci 0000:06:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force' pci 0000:00:1c.4: PCI bridge to [bus 06-06] pci 0000:00:1c.4: bridge window [io 0x2000-0x2fff] pci 0000:00:1c.4: bridge window [mem 0xe2100000-0xe21fffff] pci 0000:00:1c.4: bridge window [mem 0xfff00000-0x000fffff pref] (disabled) pci 0000:07:00.0: reg 10: [mem 0xe2044000-0xe2044fff] pci 0000:07:00.0: supports D1 D2 pci 0000:07:00.0: PME# supported from D0 D1 D2 D3hot pci 0000:07:00.0: PME# disabled pci 0000:07:01.0: reg 10: [mem 0xe2020000-0xe203ffff] pci 0000:07:01.0: reg 14: [mem 0xe2000000-0xe201ffff] pci 0000:07:01.0: reg 18: [io 0x1000-0x103f] pci 0000:07:01.0: reg 30: [mem 0xfffe0000-0xffffffff pref] pci 0000:07:01.0: PME# supported from D0 D3hot D3cold pci 0000:07:01.0: PME# disabled pci 0000:07:02.0: reg 10: [io 0x0000-0x0007] pci 0000:07:02.0: reg 14: [io 0x0000-0x0007] pci 0000:07:02.0: reg 18: [io 0x0000-0x0007] pci 0000:07:02.0: reg 1c: [io 0x0000-0x0007] pci 0000:07:02.1: reg 10: [io 0x0000-0x0007] pci 0000:07:02.1: reg 14: [io 0x0000-0x0007] pci 0000:07:02.1: reg 18: [io 0x0000-0x0007] pci 0000:07:02.1: reg 1c: [io 0x0000-0x0007] pci 0000:07:03.0: reg 10: [mem 0xe2045000-0xe20457ff] pci 0000:07:03.0: reg 14: [mem 0xe2040000-0xe2043fff] pci 0000:07:03.0: supports D1 D2 pci 0000:07:03.0: PME# supported from D0 D1 D2 D3hot pci 0000:07:03.0: PME# disabled pci 0000:00:1e.0: PCI bridge to [bus 07-07] (subtractive decode) pci 0000:00:1e.0: bridge window [io 0x1000-0x1fff] pci 0000:00:1e.0: bridge window [mem 0xe2000000-0xe20fffff] pci 0000:00:1e.0: bridge window [mem 0xfff00000-0x000fffff pref] (disabled) pci 0000:00:1e.0: bridge window [io 0x0000-0x0cf7] (subtractive decode) pci 0000:00:1e.0: bridge window [io 0x0d00-0xffff] (subtractive decode) pci 0000:00:1e.0: bridge window [mem 0x000a0000-0x000bffff] (subtractive decode) pci 0000:00:1e.0: bridge window [mem 0x000e0000-0x000effff] (subtractive decode) pci 0000:00:1e.0: bridge window [mem 0xf8000000-0xfeafffff] (subtractive decode) pci 0000:00:1e.0: bridge window [mem 0xd0000000-0xefffffff] (subtractive decode) pci_bus 0000:00: on NUMA node 0 ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P32_._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX0._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX1._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX2._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX3._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX4._PRT] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 9 10 *11 12) ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 *9 10 11 12) ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 9 *10 11 12) ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 9 10 *11 12) ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 *9 10 11 12) ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 9 10 *11 12) ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 7 9 *10 11 12) ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 7 9 10 *11 12) HEST: Table is not found! vgaarb: device added: PCI:0000:01:00.0,decodes=io+mem,owns=io+mem,locks=none vgaarb: loaded SCSI subsystem initialized libata version 3.00 loaded. usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb PCI: Using ACPI for IRQ routing PCI: pci_cache_line_size set to 64 bytes reserve RAM buffer: 000000000009fc00 - 000000000009ffff reserve RAM buffer: 00000000ce7b4000 - 00000000cfffffff reserve RAM buffer: 00000000cfa9e000 - 00000000cfffffff reserve RAM buffer: 00000000cfb8e000 - 00000000cfffffff reserve RAM buffer: 00000000cfbe8000 - 00000000cfffffff reserve RAM buffer: 00000000cfbf4000 - 00000000cfffffff reserve RAM buffer: 00000000cfc00000 - 00000000cfffffff NetLabel: Initializing NetLabel: domain hash size = 128 NetLabel: protocols = UNLABELED CIPSOv4 NetLabel: unlabeled traffic allowed by default hpet clockevent registered HPET: 4 timers in total, 0 timers will be used for per-cpu timer hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0 hpet0: 4 comparators, 64-bit 14.318180 MHz counter Switching to clocksource tsc pnp: PnP ACPI init ACPI: bus type pnp registered pnp: PnP ACPI: found 10 devices ACPI: ACPI bus type pnp unregistered system 00:01: [mem 0xf0000000-0xf7ffffff] has been reserved system 00:01: [mem 0xfeb00000-0xfeb03fff] has been reserved system 00:01: [mem 0xfed13000-0xfed13fff] has been reserved system 00:01: [mem 0xfed14000-0xfed17fff] has been reserved system 00:01: [mem 0xfed18000-0xfed18fff] has been reserved system 00:01: [mem 0xfed19000-0xfed19fff] has been reserved system 00:01: [mem 0xfed1c000-0xfed1ffff] has been reserved system 00:01: [mem 0xfed20000-0xfed3ffff] has been reserved system 00:01: [mem 0xfed45000-0xfed99fff] has been reserved system 00:01: [mem 0x000c0000-0x000dffff] could not be reserved system 00:01: [mem 0x000e0000-0x000fffff] could not be reserved system 00:01: [mem 0xffc00000-0xffffffff] could not be reserved system 00:06: [io 0x0500-0x053f] has been reserved system 00:06: [io 0x0400-0x047f] has been reserved system 00:06: [io 0x0680-0x06ff] has been reserved pci 0000:01:00.0: no compatible bridge window for [mem 0xfffe0000-0xffffffff pref] pci 0000:07:01.0: no compatible bridge window for [mem 0xfffe0000-0xffffffff pref] pci 0000:00:1c.0: BAR 14: assigned [mem 0xf8000000-0xf81fffff] pci 0000:00:1c.0: BAR 15: assigned [mem 0xf8200000-0xf83fffff 64bit pref] pci 0000:00:1c.1: BAR 15: assigned [mem 0xf8400000-0xf85fffff 64bit pref] pci 0000:00:1c.2: BAR 14: assigned [mem 0xf8600000-0xf87fffff] pci 0000:00:1c.2: BAR 15: assigned [mem 0xf8800000-0xf89fffff 64bit pref] pci 0000:00:1c.3: BAR 14: assigned [mem 0xf8a00000-0xf8bfffff] pci 0000:00:1c.3: BAR 15: assigned [mem 0xf8c00000-0xf8dfffff 64bit pref] pci 0000:00:1c.4: BAR 15: assigned [mem 0xf8e00000-0xf8ffffff 64bit pref] pci 0000:00:1e.0: BAR 15: assigned [mem 0xf9000000-0xf90fffff pref] pci 0000:00:1c.0: BAR 13: assigned [io 0x5000-0x5fff] pci 0000:00:1c.2: BAR 13: assigned [io 0x6000-0x6fff] pci 0000:00:1c.3: BAR 13: assigned [io 0x7000-0x7fff] pci 0000:01:00.0: BAR 6: can't assign mem pref (size 0x20000) pci 0000:00:01.0: PCI bridge to [bus 01-01] pci 0000:00:01.0: bridge window [io disabled] pci 0000:00:01.0: bridge window [mem 0xe0000000-0xe1ffffff] pci 0000:00:01.0: bridge window [mem 0xd0000000-0xdfffffff 64bit pref] pci 0000:00:1c.0: PCI bridge to [bus 02-02] pci 0000:00:1c.0: bridge window [io 0x5000-0x5fff] pci 0000:00:1c.0: bridge window [mem 0xf8000000-0xf81fffff] pci 0000:00:1c.0: bridge window [mem 0xf8200000-0xf83fffff 64bit pref] pci 0000:00:1c.1: PCI bridge to [bus 03-03] pci 0000:00:1c.1: bridge window [io 0x3000-0x3fff] pci 0000:00:1c.1: bridge window [mem 0xe2200000-0xe22fffff] pci 0000:00:1c.1: bridge window [mem 0xf8400000-0xf85fffff 64bit pref] pci 0000:00:1c.2: PCI bridge to [bus 04-04] pci 0000:00:1c.2: bridge window [io 0x6000-0x6fff] pci 0000:00:1c.2: bridge window [mem 0xf8600000-0xf87fffff] pci 0000:00:1c.2: bridge window [mem 0xf8800000-0xf89fffff 64bit pref] pci 0000:00:1c.3: PCI bridge to [bus 05-05] pci 0000:00:1c.3: bridge window [io 0x7000-0x7fff] pci 0000:00:1c.3: bridge window [mem 0xf8a00000-0xf8bfffff] pci 0000:00:1c.3: bridge window [mem 0xf8c00000-0xf8dfffff 64bit pref] pci 0000:00:1c.4: PCI bridge to [bus 06-06] pci 0000:00:1c.4: bridge window [io 0x2000-0x2fff] pci 0000:00:1c.4: bridge window [mem 0xe2100000-0xe21fffff] pci 0000:00:1c.4: bridge window [mem 0xf8e00000-0xf8ffffff 64bit pref] pci 0000:07:01.0: BAR 6: assigned [mem 0xf9000000-0xf901ffff pref] pci 0000:07:02.0: BAR 0: assigned [io 0x1040-0x1047] pci 0000:07:02.0: BAR 0: set to [io 0x1040-0x1047] (PCI address [0x1040-0x1047] pci 0000:07:02.0: BAR 1: assigned [io 0x1048-0x104f] pci 0000:07:02.0: BAR 1: set to [io 0x1048-0x104f] (PCI address [0x1048-0x104f] pci 0000:07:02.0: BAR 2: assigned [io 0x1050-0x1057] pci 0000:07:02.0: BAR 2: set to [io 0x1050-0x1057] (PCI address [0x1050-0x1057] pci 0000:07:02.0: BAR 3: assigned [io 0x1058-0x105f] pci 0000:07:02.0: BAR 3: set to [io 0x1058-0x105f] (PCI address [0x1058-0x105f] pci 0000:07:02.1: BAR 0: assigned [io 0x1060-0x1067] pci 0000:07:02.1: BAR 0: set to [io 0x1060-0x1067] (PCI address [0x1060-0x1067] pci 0000:07:02.1: BAR 1: assigned [io 0x1068-0x106f] pci 0000:07:02.1: BAR 1: set to [io 0x1068-0x106f] (PCI address [0x1068-0x106f] pci 0000:07:02.1: BAR 2: assigned [io 0x1070-0x1077] pci 0000:07:02.1: BAR 2: set to [io 0x1070-0x1077] (PCI address [0x1070-0x1077] pci 0000:07:02.1: BAR 3: assigned [io 0x1078-0x107f] pci 0000:07:02.1: BAR 3: set to [io 0x1078-0x107f] (PCI address [0x1078-0x107f] pci 0000:00:1e.0: PCI bridge to [bus 07-07] pci 0000:00:1e.0: bridge window [io 0x1000-0x1fff] pci 0000:00:1e.0: bridge window [mem 0xe2000000-0xe20fffff] pci 0000:00:1e.0: bridge window [mem 0xf9000000-0xf90fffff pref] pci 0000:00:01.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 pci 0000:00:01.0: setting latency timer to 64 pci 0000:00:1c.0: enabling device (0000 -> 0003) pci 0000:00:1c.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 pci 0000:00:1c.0: setting latency timer to 64 pci 0000:00:1c.1: PCI INT B -> GSI 20 (level, low) -> IRQ 20 pci 0000:00:1c.1: setting latency timer to 64 pci 0000:00:1c.2: enabling device (0000 -> 0003) pci 0000:00:1c.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18 pci 0000:00:1c.2: setting latency timer to 64 pci 0000:00:1c.3: enabling device (0000 -> 0003) pci 0000:00:1c.3: PCI INT D -> GSI 19 (level, low) -> IRQ 19 pci 0000:00:1c.3: setting latency timer to 64 pci 0000:00:1c.4: PCI INT A -> GSI 17 (level, low) -> IRQ 17 pci 0000:00:1c.4: setting latency timer to 64 pci 0000:00:1e.0: setting latency timer to 64 pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7] pci_bus 0000:00: resource 5 [io 0x0d00-0xffff] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff] pci_bus 0000:00: resource 7 [mem 0x000e0000-0x000effff] pci_bus 0000:00: resource 8 [mem 0xf8000000-0xfeafffff] pci_bus 0000:00: resource 9 [mem 0xd0000000-0xefffffff] pci_bus 0000:01: resource 1 [mem 0xe0000000-0xe1ffffff] pci_bus 0000:01: resource 2 [mem 0xd0000000-0xdfffffff 64bit pref] pci_bus 0000:02: resource 0 [io 0x5000-0x5fff] pci_bus 0000:02: resource 1 [mem 0xf8000000-0xf81fffff] pci_bus 0000:02: resource 2 [mem 0xf8200000-0xf83fffff 64bit pref] pci_bus 0000:03: resource 0 [io 0x3000-0x3fff] pci_bus 0000:03: resource 1 [mem 0xe2200000-0xe22fffff] pci_bus 0000:03: resource 2 [mem 0xf8400000-0xf85fffff 64bit pref] pci_bus 0000:04: resource 0 [io 0x6000-0x6fff] pci_bus 0000:04: resource 1 [mem 0xf8600000-0xf87fffff] pci_bus 0000:04: resource 2 [mem 0xf8800000-0xf89fffff 64bit pref] pci_bus 0000:05: resource 0 [io 0x7000-0x7fff] pci_bus 0000:05: resource 1 [mem 0xf8a00000-0xf8bfffff] pci_bus 0000:05: resource 2 [mem 0xf8c00000-0xf8dfffff 64bit pref] pci_bus 0000:06: resource 0 [io 0x2000-0x2fff] pci_bus 0000:06: resource 1 [mem 0xe2100000-0xe21fffff] pci_bus 0000:06: resource 2 [mem 0xf8e00000-0xf8ffffff 64bit pref] pci_bus 0000:07: resource 0 [io 0x1000-0x1fff] pci_bus 0000:07: resource 1 [mem 0xe2000000-0xe20fffff] pci_bus 0000:07: resource 2 [mem 0xf9000000-0xf90fffff pref] pci_bus 0000:07: resource 4 [io 0x0000-0x0cf7] pci_bus 0000:07: resource 5 [io 0x0d00-0xffff] pci_bus 0000:07: resource 6 [mem 0x000a0000-0x000bffff] pci_bus 0000:07: resource 7 [mem 0x000e0000-0x000effff] pci_bus 0000:07: resource 8 [mem 0xf8000000-0xfeafffff] pci_bus 0000:07: resource 9 [mem 0xd0000000-0xefffffff] NET: Registered protocol family 2 IP route cache hash table entries: 32768 (order: 5, 131072 bytes) TCP established hash table entries: 131072 (order: 8, 1048576 bytes) TCP bind hash table entries: 65536 (order: 9, 2621440 bytes) TCP: Hash tables configured (established 131072 bind 65536) TCP reno registered UDP hash table entries: 512 (order: 3, 49152 bytes) UDP-Lite hash table entries: 512 (order: 3, 49152 bytes) NET: Registered protocol family 1 pci 0000:01:00.0: Boot video device PCI: CLS 64 bytes, default 64 Trying to unpack rootfs image as initramfs... Freeing initrd memory: 13680k freed audit: initializing netlink socket (disabled) type=2000 audit(1288720870.547:1): initialized highmem bounce pool size: 64 pages HugeTLB registered 2 MB page size, pre-allocated 0 pages VFS: Disk quotas dquot_6.5.2 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) msgmni has been set to 1606 SELinux: Registering netfilter hooks cryptomgr_test used greatest stack depth: 6572 bytes left cryptomgr_test used greatest stack depth: 6212 bytes left alg: No test for stdrng (krng) Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253) io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) pcieport 0000:00:01.0: setting latency timer to 64 pcieport 0000:00:01.0: irq 40 for MSI/MSI-X pcieport 0000:00:1c.0: setting latency timer to 64 pcieport 0000:00:1c.0: irq 41 for MSI/MSI-X pcieport 0000:00:1c.1: setting latency timer to 64 pcieport 0000:00:1c.1: irq 42 for MSI/MSI-X pcieport 0000:00:1c.2: setting latency timer to 64 pcieport 0000:00:1c.2: irq 43 for MSI/MSI-X pcieport 0000:00:1c.3: setting latency timer to 64 pcieport 0000:00:1c.3: irq 44 for MSI/MSI-X pcieport 0000:00:1c.4: setting latency timer to 64 pcieport 0000:00:1c.4: irq 45 for MSI/MSI-X pci_hotplug: PCI Hot Plug PCI Core version: 0.5 pciehp: PCI Express Hot Plug Controller Driver version: 0.4 acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 pci-stub: invalid id string "" input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input0 ACPI: Sleep Button [SLPB] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1 ACPI: Power Button [PWRF] ERST: Table is not found! isapnp: Scanning for PnP cards... isapnp: No Plug & Play device found Non-volatile memory driver v1.3 Linux agpgart interface v0.103 Serial: 8250/16550 driver, 20 ports, IRQ sharing enabled serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a NS16550A 00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A serial 0000:06:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 0000:06:00.0: ttyS4 at I/O 0x2010 (irq = 16) is a ST16650V2 console [ttyS4] enabled serial 0000:06:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17 0000:06:00.1: ttyS5 at I/O 0x2008 (irq = 17) is a ST16650V2 serial 0000:07:02.0: enabling device (0000 -> 0001) serial 0000:07:02.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18 0000:07:02.0: ttyS6 at I/O 0x1040 (irq = 18) is a 16550A 0000:07:02.0: ttyS7 at I/O 0x1048 (irq = 18) is a 16550A 0000:07:02.0: ttyS8 at I/O 0x1050 (irq = 18) is a 16550A 0000:07:02.0: ttyS9 at I/O 0x1058 (irq = 18) is a 16550A serial 0000:07:02.1: enabling device (0000 -> 0001) serial 0000:07:02.1: PCI INT A -> GSI 18 (level, low) -> IRQ 18 0000:07:02.1: ttyS10 at I/O 0x1060 (irq = 18) is a 16550A 0000:07:02.1: ttyS11 at I/O 0x1068 (irq = 18) is a 16550A 0000:07:02.1: ttyS12 at I/O 0x1070 (irq = 18) is a 16550A 0000:07:02.1: ttyS13 at I/O 0x1078 (irq = 18) is a 16550A brd: module loaded loop: module loaded ata_piix 0000:00:1f.2: version 2.13 ata_piix 0000:00:1f.2: PCI INT A -> GSI 21 (level, low) -> IRQ 21 ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ] ata_piix 0000:00:1f.2: setting latency timer to 64 scsi0 : ata_piix scsi1 : ata_piix ata1: SATA max UDMA/133 cmd 0x4458 ctl 0x446c bmdma 0x4430 irq 21 ata2: SATA max UDMA/133 cmd 0x4450 ctl 0x4468 bmdma 0x4438 irq 21 ata_piix 0000:00:1f.5: PCI INT A -> GSI 21 (level, low) -> IRQ 21 ata_piix 0000:00:1f.5: MAP [ P0 -- P1 -- ] ata_piix 0000:00:1f.5: setting latency timer to 64 scsi2 : ata_piix scsi3 : ata_piix ata3: SATA max UDMA/133 cmd 0x4448 ctl 0x4464 bmdma 0x4410 irq 21 ata4: SATA max UDMA/133 cmd 0x4440 ctl 0x4460 bmdma 0x4418 irq 21 Fixed MDIO Bus: probed ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ehci_hcd 0000:00:1a.7: PCI INT C -> GSI 17 (level, low) -> IRQ 17 ehci_hcd 0000:00:1a.7: setting latency timer to 64 ehci_hcd 0000:00:1a.7: EHCI Host Controller ehci_hcd 0000:00:1a.7: new USB bus registered, assigned bus number 1 ehci_hcd 0000:00:1a.7: debug port 1 ehci_hcd 0000:00:1a.7: cache line size of 64 is not supported ehci_hcd 0000:00:1a.7: irq 17, io mem 0xe2325400 ehci_hcd 0000:00:1a.7: USB 2.0 started, EHCI 1.00 usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb1: Product: EHCI Host Controller usb usb1: Manufacturer: Linux 2.6.35.7-ftrace-test ehci_hcd usb usb1: SerialNumber: 0000:00:1a.7 hub 1-0:1.0: USB hub found hub 1-0:1.0: 6 ports detected ehci_hcd 0000:00:1d.7: PCI INT A -> GSI 23 (level, low) -> IRQ 23 ehci_hcd 0000:00:1d.7: setting latency timer to 64 ehci_hcd 0000:00:1d.7: EHCI Host Controller ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 2 ehci_hcd 0000:00:1d.7: debug port 1 ehci_hcd 0000:00:1d.7: cache line size of 64 is not supported ehci_hcd 0000:00:1d.7: irq 23, io mem 0xe2325000 ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00 usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb2: Product: EHCI Host Controller usb usb2: Manufacturer: Linux 2.6.35.7-ftrace-test ehci_hcd usb usb2: SerialNumber: 0000:00:1d.7 hub 2-0:1.0: USB hub found hub 2-0:1.0: 6 ports detected ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver uhci_hcd: USB Universal Host Controller Interface driver uhci_hcd 0000:00:1a.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18 uhci_hcd 0000:00:1a.0: setting latency timer to 64 uhci_hcd 0000:00:1a.0: UHCI Host Controller uhci_hcd 0000:00:1a.0: new USB bus registered, assigned bus number 3 uhci_hcd 0000:00:1a.0: irq 18, io base 0x000040c0 usb usb3: New USB device found, idVendor=1d6b, idProduct=0001 usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb3: Product: UHCI Host Controller usb usb3: Manufacturer: Linux 2.6.35.7-ftrace-test uhci_hcd usb usb3: SerialNumber: 0000:00:1a.0 hub 3-0:1.0: USB hub found hub 3-0:1.0: 2 ports detected uhci_hcd 0000:00:1a.1: PCI INT B -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:1a.1: setting latency timer to 64 uhci_hcd 0000:00:1a.1: UHCI Host Controller uhci_hcd 0000:00:1a.1: new USB bus registered, assigned bus number 4 uhci_hcd 0000:00:1a.1: irq 21, io base 0x000040a0 usb usb4: New USB device found, idVendor=1d6b, idProduct=0001 usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1 ata4: SATA link down (SStatus 0 SControl 300) usb usb4: Product: UHCI Host Controller ata3: SATA link down (SStatus 0 SControl 300) usb usb4: Manufacturer: Linux 2.6.35.7-ftrace-test uhci_hcd usb usb4: SerialNumber: 0000:00:1a.1 hub 4-0:1.0: USB hub found hub 4-0:1.0: 2 ports detected uhci_hcd 0000:00:1a.2: PCI INT C -> GSI 17 (level, low) -> IRQ 17 uhci_hcd 0000:00:1a.2: setting latency timer to 64 uhci_hcd 0000:00:1a.2: UHCI Host Controller uhci_hcd 0000:00:1a.2: new USB bus registered, assigned bus number 5 uhci_hcd 0000:00:1a.2: irq 17, io base 0x00004080 usb usb5: New USB device found, idVendor=1d6b, idProduct=0001 usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb5: Product: UHCI Host Controller usb usb5: Manufacturer: Linux 2.6.35.7-ftrace-test uhci_hcd usb usb5: SerialNumber: 0000:00:1a.2 hub 5-0:1.0: USB hub found hub 5-0:1.0: 2 ports detected uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23 uhci_hcd 0000:00:1d.0: setting latency timer to 64 uhci_hcd 0000:00:1d.0: UHCI Host Controller uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 6 uhci_hcd 0000:00:1d.0: irq 23, io base 0x00004060 usb usb6: New USB device found, idVendor=1d6b, idProduct=0001 usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb6: Product: UHCI Host Controller usb usb6: Manufacturer: Linux 2.6.35.7-ftrace-test uhci_hcd usb usb6: SerialNumber: 0000:00:1d.0 hub 6-0:1.0: USB hub found hub 6-0:1.0: 2 ports detected uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 19 (level, low) -> IRQ 19 uhci_hcd 0000:00:1d.1: setting latency timer to 64 uhci_hcd 0000:00:1d.1: UHCI Host Controller uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 7 uhci_hcd 0000:00:1d.1: irq 19, io base 0x00004040 usb usb7: New USB device found, idVendor=1d6b, idProduct=0001 usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb7: Product: UHCI Host Controller usb usb7: Manufacturer: Linux 2.6.35.7-ftrace-test uhci_hcd usb usb7: SerialNumber: 0000:00:1d.1 hub 7-0:1.0: USB hub found hub 7-0:1.0: 2 ports detected uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18 uhci_hcd 0000:00:1d.2: setting latency timer to 64 uhci_hcd 0000:00:1d.2: UHCI Host Controller uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 8 uhci_hcd 0000:00:1d.2: irq 18, io base 0x00004020 usb usb8: New USB device found, idVendor=1d6b, idProduct=0001 usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb8: Product: UHCI Host Controller usb usb8: Manufacturer: Linux 2.6.35.7-ftrace-test uhci_hcd usb usb8: SerialNumber: 0000:00:1d.2 hub 8-0:1.0: USB hub found hub 8-0:1.0: 2 ports detected PNP: No PS/2 controller found. Probing ports directly. serio: i8042 KBD port at 0x60,0x64 irq 1 serio: i8042 AUX port at 0x60,0x64 irq 12 mice: PS/2 mouse device common for all mice usb 4-1: new low speed USB device using uhci_hcd and address 2 rtc_cmos 00:03: RTC can wake from S4 rtc_cmos 00:03: rtc core: registered rtc_cmos as rtc0 rtc0: alarms up to one month, 114 bytes nvram, hpet irqs device-mapper: uevent: version 1.0.3 device-mapper: ioctl: 4.17.0-ioctl (2010-03-05) initialised: dm-devel@domain.hidhat.com cpuidle: using governor ladder cpuidle: using governor menu usbcore: registered new interface driver hiddev usbcore: registered new interface driver usbhid usbhid: USB HID core driver nf_conntrack version 0.5.0 (16384 buckets, 65536 max) CONFIG_NF_CT_ACCT is deprecated and will be removed soon. Please use nf_conntrack.acct=1 kernel parameter, acct=1 nf_conntrack module option or sysctl net.netfilter.nf_conntrack_acct=1 to enable it. ip_tables: (C) 2000-2006 Netfilter Core Team TCP cubic registered Initializing XFRM netlink socket NET: Registered protocol family 17 Using IPI No-Shortcut mode PM: Resume from disk failed. registered taskstats version 1 IMA: No TPM chip found, activating TPM-bypass! Magic number: 2:52:38 bdi 7:3: hash matches rtc_cmos 00:03: setting system clock to 2010-11-02 18:01:16 UTC (1288720876) ata1.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300) ata1.01: SATA link down (SStatus 0 SControl 300) ata2.00: SATA link up 1.5 Gbps (SStatus 113 SControl 300) ata2.01: SATA link down (SStatus 0 SControl 300) ata2.01: link offline, clearing class 3 to NONE ata2.00: ATAPI: TSSTcorp CDDVDW SH-S203D, SB00, max UDMA/100 ata2.00: configured for UDMA/100 ata1.00: ATA-8: SAMSUNG HD501LJ, CR100-12, max UDMA7 Initalizing network drop monitor service ata.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 0/32) 1ata1.00: configured for UDMA/133 scsi 0:0:0:0: Direct-Access ATA SAMSUNG HD501LJ CR10 PQ: 0 ANSI: 5 sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB) sd 0:0:0:0: Attached scsi generic sg0 type 0 scsi 1:0:0:0: CD-ROM TSSTcorp CDDVDW SH-S203D SB00 PQ: 0 ANSI: 5 sd 0:0:0:0: [sda] Write Protect is off sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00 sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sda: sda2 < sda5 sda6 sda7sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form2 cdda tray Uniform CD-ROM driver Revision: 3.20 sr 1:0:0:0: Attached scsi CD-ROM sr0 sr 1:0:0:0: Attached scsi generic sg1 type 5 > sd 0:0:0:0: [sda] Attached SCSI disk Freeing unused kernel memory: 1840k freed usb 4-1: New USB device found, idVendor=045e, idProduct=0084 Write protecting the kernel text: 3904k usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 4-1: Product: Basic Optical Mouse usb 4-1: Manufacturer: Microsoft Write protecting the kernel read-only data: 1884k input: Microsoft Basic Optical Mouse as /devices/pci0000:00/0000:00:1a.1/usb4/4-1/4-1:1.0/input/input2 generic-usb 0003:045E:0084.0001: input,hidraw0: USB HID v1.10 Mouse [Microsoft Basic Optical Mouse] on usb-0000:00:1a.1-1/input0 usb 4-2: new full speed USB device using uhci_hcd and address 3 dracut: dracut-005-5.fc13 usb 4-2: New USB device found, idVendor=04b3, idProduct=301a usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 4-2: Product: USB 1.1 2port downstream low power hub usb 4-2: Manufacturer: Lite-On Technology hub 4-2:1.0: USB hub found hub 4-2:1.0: 3 ports detected udev: starting version 153 usb 4-2.1: new full speed USB device using uhci_hcd and address 4 usb 4-2.1: New USB device found, idVendor=04b3, idProduct=301b usb 4-2.1: New USB device strings: Mfr=1, Product=3, SerialNumber=0 usb 4-2.1: Product: USB Productivity Option Keyboard( has the hub in # 1 ) usb 4-2.1: Manufacturer: Lite-On Technology input: Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 ) as /devices/pci0000:00/0000:00:1a.1/usb4/4-2/4-2.1/4-2.1:1.0/input/input3 generic-usb 0003:04B3:301B.0002: input,hidraw1: USB HID v1.10 Keyboard [Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 )] on usb-0000:00:1a.1-2.1/input0 input: Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 ) as /devices/pci0000:00/0000:00:1a.1/usb4/4-2/4-2.1/4-2.1:1.1/input/input4 async/0 used greatest stack depth: 6208 bytes left generic-usb 0003:04B3:301B.0003: input,hidraw2: USB HID v1.10 Device [Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 )] on usb-0000:00:1a.1-2.1/input1 async/1 used greatest stack depth: 6132 bytes left [drm] Initialized drm 1.1.0 20060810 nouveau 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 nouveau 0000:01:00.0: setting latency timer to 64 [drm] nouveau 0000:01:00.0: Detected an NV40 generation card (0x246100b1) [drm] nouveau 0000:01:00.0: Attempting to load BIOS image from PRAMIN [drm] nouveau 0000:01:00.0: ... BIOS checksum invalid [drm] nouveau 0000:01:00.0: Attempting to load BIOS image from PROM [drm] nouveau 0000:01:00.0: ... appears to be valid [drm] nouveau 0000:01:00.0: BIT BIOS found [drm] nouveau 0000:01:00.0: Bios version 05.72.22.75 [drm] nouveau 0000:01:00.0: TMDS table script pointers not stubbed [drm] nouveau 0000:01:00.0: BIT table 'd' not found [drm] nouveau 0000:01:00.0: Found Display Configuration Block version 3.0 [drm] nouveau 0000:01:00.0: Raw DCB entry 0: 01000300 00000028 [drm] nouveau 0000:01:00.0: Raw DCB entry 1: 02011310 00000028 [drm] nouveau 0000:01:00.0: Raw DCB entry 2: 01011312 00000000 [drm] nouveau 0000:01:00.0: Raw DCB entry 3: 020223f1 0080c020 [drm] nouveau 0000:01:00.0: DCB connector table: VHER 0x30 5 10 2 [drm] nouveau 0000:01:00.0: 0: 0x00000000: type 0x00 idx 0 tag 0xff [drm] nouveau 0000:01:00.0: 1: 0x00001130: type 0x30 idx 1 tag 0x07 [drm] nouveau 0000:01:00.0: 2: 0x00000210: type 0x10 idx 2 tag 0xff [drm] nouveau 0000:01:00.0: 3: 0x00000211: type 0x11 idx 3 tag 0xff [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 0 at offset 0xD272 [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 1 at offset 0xD576 [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 2 at offset 0xDA93 [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 3 at offset 0xDC0E [drm] nouveau 0000:01:00.0: Parsing VBIOS init table 4 at offset 0xDD83 [drm] nouveau 0000:01:00.0: Detected 128MiB VRAM [TTM] Zone kernel: Available graphics memory: 412100 kiB. [TTM] Zone highmem: Available graphics memory: 2020196 kiB. [TTM] Initializing pool allocator. [drm] nouveau 0000:01:00.0: 64 MiB GART (aperture) [drm] nouveau 0000:01:00.0: Allocating FIFO number 0 [drm] nouveau 0000:01:00.0: nouveau_channel_alloc: initialised FIFO 0 [drm] nouveau 0000:01:00.0: Initial CRTC_OWNER is 0 [drm] nouveau 0000:01:00.0: Saving VGA fonts [drm] nouveau 0000:01:00.0: Detected a VGA connector [drm] nouveau 0000:01:00.0: Detected a DVI-I connector [drm] nouveau 0000:01:00.0: Detected a TV connector [drm] nouveau 0000:01:00.0: Setting dpms mode 3 on vga encoder (output 0) [drm] nouveau 0000:01:00.0: Setting dpms mode 3 on vga encoder (output 1) [drm] nouveau 0000:01:00.0: Setting dpms mode 3 on tmds encoder (output 2) [drm] nouveau 0000:01:00.0: Setting dpms mode 3 on TV encoder (output 3) [drm] nouveau 0000:01:00.0: allocated 1280x1024 fb: 0x49000, bo c1f9cd20 fbcon: nouveaufb (fb0) is primary device [drm] nouveau 0000:01:00.0: Setting dpms mode 0 on vga encoder (output 0) [drm] nouveau 0000:01:00.0: Output VGA-1 is running on CRTC 0 using output A Console: switching to colour frame buffer device 160x64 fb0: nouveaufb frame buffer device drm: registered panic notifier Slow work thread pool: Starting up Slow work thread pool: Ready [drm] Initialized nouveau 0.0.16 20090420 for 0000:01:00.0 on minor 0 modprobe used greatest stack depth: 5712 bytes left dracut: Starting plymouth daemon pata_marvell 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 pata_marvell 0000:03:00.0: setting latency timer to 64 scsi4 : pata_marvell scsi5 : pata_marvell ata5: PATA max UDMA/100 cmd 0x3018 ctl 0x3024 bmdma 0x3000 irq 17 ata6: DUMMY firewire_ohci 0000:07:00.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21 firewire_ohci: Added fw-ohci device 0000:07:00.0, OHCI v1.0, 8 IR + 8 IT contexts, quirks 0x0 firewire_ohci 0000:07:03.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19 firewire_ohci: Added fw-ohci device 0000:07:03.0, OHCI v1.10, 4 IR + 8 IT contexts, quirks 0x2 firewire_core: created device fw0: GUID 30bd050200002031, S400 EXT4-fs (sda5): mounted filesystem with ordered data mode. Opts: (null) firewire_core: created device fw1: GUID 00902700003372d2, S400 dracut: Mounted root filesystem /dev/sda5 dracut: Loading SELinux policy SELinux: Disabled at runtime. SELinux: Unregistering netfilter hooks type=1404 audit(1288720883.476:2): selinux=0 auid=4294967295 ses=4294967295 load_policy used greatest stack depth: 5572 bytes left dracut: /sbin/load_policy: Can't load policy file /etc/selinux/targeted/policy/policy.15: No such file or directory dracut: Switching root Welcome to Fedora Press 'I' to enter interactive startup. readahead: starting Starting udev: udevd[379]: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/50-euvccam.rules:1 udevd[379]: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/50-euvccam.rules:2 udevd[379]: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/50-euvccam.rules:3 udevd[379]: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/50-euvccam.rules:4 udevd[379]: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/50-euvccam.rules:5 udevd[379]: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/50-euvccam.rules:6 udevd[379]: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/50-euvccam.rules:7 udevd[379]: specified group 'xenomai' unknown [ OK ] Setting hostname calvin: [ OK ] Setting up Logical Volume Management: No volume groups found [ OK ] Checking filesystems Checking all file systems. [/sbin/fsck.ext4 (1) -- /] fsck.ext4 -a /dev/sda5 /dev/sda5: clean, 820378/3055616 files, 7343425/12209384 blocks [/sbin/fsck.ext3 (1) -- /local] fsck.ext3 -a /dev/sda7 /local: clean, 698582/53002240 files, 9902300/105978789 blocks (check in 2 mounts) [ OK ] Remounting root filesystem in read-write mode: [ OK ] Mounting local filesystems: [ OK ] Enabling local filesystem quotas: [ OK ] Enabling /etc/fstab swaps: [ OK ] Entering non-interactive startup Running DKMS auto installation service for kernel 2.6.35.7-ftrace-test .Stopping regler_firewall (client): [ OK ] Starting regler_firewall (client): [ OK ] Starting auditd: [ OK ] Starting portreserve: [ OK ] Starting irqbalance: [ OK ] Starting rpcbind: [ OK ] Starting NFS statd: [ OK ] Starting mdmonitor: [ OK ] Starting RPC idmapd: [ OK ] Starting system message bus: [ OK ] Starting Avahi daemon... [ OK ] Starting HAL daemon: [ OK ] Retrigger failed udev events[ OK ] Starting PC/SC smart card daemon (pcscd): [ OK ] Starting network_standalone: Starting sendmail: [ OK ] Starting sm-client: [ OK ] Starting cups: [ OK ] Setting network parameters... [ OK ] Starting NetworkManager daemon: [ OK ] modem-manager: ModemManager (version 0.4-4.git20100720.fc13) starting... modem-manager: Loaded plugin Longcheer modem-manager: Loaded plugin Ericsson MBM modem-manager: Loaded plugin SimTech modem-manager: Loaded plugin Option modem-manager: Loaded plugin AnyData modem-manager: Loaded plugin Sierra modem-manager: Loaded plugin Huawei modem-manager: Loaded plugin Gobi modem-manager: Loaded plugin Novatel modem-manager: Loaded plugin MotoC modem-manager: Loaded plugin Nokia modem-manager: Loaded plugin ZTE modem-manager: Loaded plugin Option High-Speed nm-dispatcher.action: nm_dispatcher_action: Invalid connection: '(null)' / 'connection setting not found' invalid: 1 ipsec_setup: Starting Openswan IPsec U2.6.29/K2.6.35.7-ftrace-test... modem-manager: (tty/ttyS1): port's parent platform driver is not whitelisted modem-manager: (tty/ttyS14): port's parent platform driver is not whitelisted modem-manager: (tty/ttyS15): port's parent platform driver is not whitelisted modem-manager: (tty/ttyS16): port's parent platform driver is not whitelisted modem-manager: (tty/ttyS17): port's parent platform driver is not whitelisted modem-manager: (tty/ttyS18): port's parent platform driver is not whitelisted modem-manager: (tty/ttyS19): port's parent platform driver is not whitelisted modem-manager: (tty/ttyS2): port's parent platform driver is not whitelisted modem-manager: (tty/ttyS3): port's parent platform driver is not whitelisted modem-manager: (tty/ttyS0): could not get port's parent device nm-dispatcher.action: nm_dispatcher_action: Invalid connection: '(null)' / 'connection setting not found' invalid: 1 pluto[1439]: nss directory plutomain: /etc/ipsec.d pluto[1439]: NSS Initialized pluto[1439]: Non-fips mode set in /proc/sys/crypto/fips_enabled pluto[1439]: Starting Pluto (Openswan Version 2.6.29; Vendor ID OE^Zer]edrwc) pid:1439 pluto[1439]: Non-fips mode set in /proc/sys/crypto/fips_enabled pluto[1439]: LEAK_DETECTIVE support [disabled] pluto[1439]: SAref support [disabled]: Protocol not available pluto[1439]: SAbind support [disabled]: Protocol not available pluto[1439]: NSS support [enabled] pluto[1439]: HAVE_STATSD notification support not compiled in pluto[1439]: Setting NAT-Traversal port-4500 floating to on pluto[1439]: port floating activation criteria nat_t=1/port_float=1 pluto[1439]: NAT-Traversal support [enabled] pluto[1439]: 1 bad entries in virtual_private - none loaded pluto[1439]: ike_alg_register_enc(): Activating OAKLEY_TWOFISH_CBC_SSH: Ok (ret=0) pluto[1439]: ike_alg_register_enc(): Activating OAKLEY_TWOFISH_CBC: Ok (ret=0) pluto[1439]: ike_alg_register_enc(): Activating OAKLEY_SERPENT_CBC: Ok (ret=0) pluto[1439]: ike_alg_register_enc(): Activating OAKLEY_AES_CBC: Ok (ret=0) pluto[1439]: ike_alg_register_enc(): Activating OAKLEY_BLOWFISH_CBC: Ok (ret=0) pluto[1439]: ike_alg_register_hash(): Activating OAKLEY_SHA2_512: Ok (ret=0) pluto[1439]: ike_alg_register_hash(): Activating OAKLEY_SHA2_256: Ok (ret=0) pluto[1439]: no helpers will be started, all cryptographic operations will be done inline pluto[1439]: Using Linux 2.6 IPsec interface code on 2.6.35.7-ftrace-test (experimental code) Enabling Bluetooth devices: Starting sshd: [ OK ] Starting abrt daemon: [ OK ] Starting crond: [ OK ] pluto[1439]: ike_alg_register_enc(): Activating aes_ccm_8: Ok (ret=0) pluto[1439]: ike_alg_add(): ERROR: Algorithm already exists pluto[1439]: ike_alg_register_enc(): Activating aes_ccm_12: FAILED (ret=-17) pluto[1439]: ike_alg_add(): ERROR: Algorithm already exists pluto[1439]: ike_alg_register_enc(): Activating aes_ccm_16: FAILED (ret=-17) pluto[1439]: ike_alg_add(): ERROR: Algorithm already exists pluto[1439]: ike_alg_register_enc(): Activating aes_gcm_8: FAILED (ret=-17) pluto[1439]: ike_alg_add(): ERROR: Algorithm already exists pluto[1439]: ike_alg_register_enc(): Activating aes_gcm_12: FAILED (ret=-17) pluto[1439]: ike_alg_add(): ERROR: Algorithm already exists pluto[1439]: ike_alg_register_enc(): Activating aes_gcm_16: FAILED (ret=-17) pluto[1439]: Could not change to directory '/etc/ipsec.d/cacerts': / pluto[1439]: Could not change to directory '/etc/ipsec.d/aacerts': / pluto[1439]: Could not change to directory '/etc/ipsec.d/ocspcerts': / pluto[1439]: Could not change to directory '/etc/ipsec.d/crls' pluto[1439]: listening for IKE messages pluto[1439]: NAT-Traversal: Trying new style NAT-T pluto[1439]: NAT-Traversal: ESPINUDP(1) setup failed for new style NAT-T family IPv4 (errno=19) pluto[1439]: NAT-Traversal: Trying old style NAT-T pluto[1439]: adding interface eth0/eth0 130.235.83.112:500 pluto[1439]: adding interface eth0/eth0 130.235.83.112:4500 pluto[1439]: adding interface lo/lo 127.0.0.1:500 pluto[1439]: adding interface lo/lo 127.0.0.1:4500 pluto[1439]: adding interface lo/lo ::1:500 pluto[1439]: loading secrets from "/etc/ipsec.secrets" pluto[1439]: no secrets filename matched "/etc/ipsec.d/*.secrets" [ OK ] atd: [ OK ] Registering binary handler for Windows applications: [ OK ] Fedora release 13 (Goddard) Kernel 2.6.35.7-ftrace-test on an i686 (/dev/ttyS4) Kickstart-installed from sperry-02 at Fri Oct 15 11:46:04 CEST 2010 calvin login: ������ Fedora release 13 (Goddard) Kernel 2.6.35.7-ftrace-test on an i686 (/dev/ttyS4) Kickstart-installed from sperry-02 at Fri Oct 15 11:46:04 CEST 2010 calvin login: simcom (? for help) > SysRq : Changing Loglevel Loglevel set to 8 nm-dispatcher.action: nm_dispatcher_action: Invalid connection: '(null)' / 'connection setting not found' invalid: 1 Xenomai: starting native API services. HDA Intel 0000:00:1b.0: PCI INT A disabled e1000 0000:07:01.0: PCI INT A disabled rt_e1000 0000:07:01.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22 e1000: 0000:07:01.0: e1000_probe: (PCI:33MHz:32-bit) 00:1b:21:7c:9f:0c RTnet: registered rteth0 e1000: rteth0: e1000_probe: Intel(R) PRO/1000 Network Connection e1000: rteth0: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex FS-Cache: Loaded FS-Cache: Netfs 'nfs' registered for caching mount.nfs used greatest stack depth: 4476 bytes left [drm] nouveau 0000:01:00.0: Setting dpms mode 3 on vga encoder (output 0) mio used greatest stack depth: 4168 bytes left mount.nfs used greatest stack depth: 4140 bytes left [drm] nouveau 0000:01:00.0: Setting dpms mode 0 on vga encoder (output 0) [-- Attachment #4: raw_test.c --] [-- Type: text/x-csrc, Size: 9721 bytes --] /* modprobe xeno_native modprobe rt_e1000 modprobe rtpacket */ #include <unistd.h> #include <string.h> #include <stdlib.h> #include <sys/mman.h> #include <linux/kernel.h> #include <linux/net.h> #include <linux/if_packet.h> #include <netinet/ether.h> #include <arpa/inet.h> #include <native/task.h> #include <native/timer.h> #include <rtnet.h> #include <net/if.h> #include <nucleus/trace.h> //#define PROTOCOL 0x88a4 #define PROTOCOL 0x1234 typedef struct { // unsigned char head[16]; uint64_t seq; RTIME sent1; RTIME sent2; RTIME period; uint64_t missed; char pad [1500]; } message_t; typedef struct { int fd; int index; } raw_socket_t; #define BINS 10000 #define START_DELAY 0 #define NETWORK_DELAY 1 #define NETWORK_JITTER 2 #define REMOTE_PERIOD 3 static uint64_t total, spurious_timeout, spurious_sleep, local_missed, remote_missed, seq; static long long histogram[4][BINS]; static void update_histogram(RTIME nominal_start, RTIME true_start, message_t *buffer) { if (buffer->seq) { RTIME t; unsigned int bin; t = rt_timer_read(); bin = abs(true_start - nominal_start) / 10000; if (bin >= BINS) { bin = BINS - 1; } histogram[START_DELAY][bin]++; bin = (t - buffer->sent2) / 10000; if (bin >= BINS) { bin = BINS - 1; } histogram[NETWORK_DELAY][bin]++; bin = (t - nominal_start) / 10000; if (bin >= BINS) { bin = BINS - 1; } histogram[NETWORK_JITTER][bin]++; bin = buffer->period / 10000; if (bin >= BINS) { bin = BINS - 1; } histogram[REMOTE_PERIOD][bin]++; remote_missed = buffer->missed; } } static void print_histogram(uint64_t total, uint64_t spurious_timeout, uint64_t spurious_sleep, uint64_t local_missed, uint64_t remote_missed) { int i; printf("delay = [\n"); for (i = 0 ; i < BINS ; i++) { if (histogram[START_DELAY][i] != 0 || histogram[NETWORK_DELAY][i] != 0 || histogram[NETWORK_JITTER][i] != 0 || histogram[REMOTE_PERIOD][i] != 0) { printf(" %6d %10Ld %10Ld %10Ld %10Ld;\n", i * 10, histogram[START_DELAY][i], histogram[NETWORK_DELAY][i], histogram[NETWORK_JITTER][i], histogram[REMOTE_PERIOD][i]); } } printf("];\n"); printf("total = %lld\n", total); printf("spurious_timeout = %lld\n", spurious_timeout); printf("spurious_sleep = %lld\n", spurious_sleep); printf("local_missed = %lld\n", local_missed); printf("remote_missed = %lld\n", remote_missed); } static void ftrace_freeze() { int fd; fd = open("/sys/kernel/debug/tracing/tracing_on", O_RDWR); write(fd, "0", 1); close(fd); print_histogram(total, spurious_timeout, spurious_sleep, local_missed, remote_missed); exit(1); } static int raw_open(raw_socket_t *sock, char *name) { int err; struct sockaddr_ll local_addr; struct ifreq ifr; /* create rt-socket */ err = rt_dev_socket(AF_PACKET, SOCK_DGRAM, htons(PROTOCOL)); if (err < 0) { fprintf(stderr, "rt_dev_socket() = %d!\n", err); goto socket_failed; } sock->fd = err; strncpy(ifr.ifr_name, name, IFNAMSIZ); err = rt_dev_ioctl(sock->fd, SIOCGIFINDEX, &ifr); if (err < 0) { fprintf(stderr, "cannot get interface index %d\n", err); goto index_failed; } fprintf(stderr, "local interface: %d\n", ifr.ifr_ifindex); sock->index = ifr.ifr_ifindex; /* bind the rt-socket to a port */ memset(&local_addr, 0, sizeof(struct sockaddr_ll)); local_addr.sll_family = AF_PACKET; local_addr.sll_protocol = htons(PROTOCOL); local_addr.sll_ifindex = ifr.ifr_ifindex; err = rt_dev_bind(sock->fd, (struct sockaddr *)&local_addr, sizeof(struct sockaddr_ll)); if (err < 0) { fprintf(stderr, "rt_dev_bind() = %d!\n", err); goto bind_failed; } strncpy(ifr.ifr_name, name, IFNAMSIZ); err = rt_dev_ioctl(sock->fd, SIOCGIFHWADDR, &ifr); if (err < 0) { fprintf(stderr, "failed to get ethernet address: %d\n", err); goto get_ethernet_failed; } fprintf(stderr, "Ethernet address: %02x:%02x:%02x:%02x:%02x:%02x\n", (int) ((unsigned char *) &ifr.ifr_hwaddr.sa_data)[0], (int) ((unsigned char *) &ifr.ifr_hwaddr.sa_data)[1], (int) ((unsigned char *) &ifr.ifr_hwaddr.sa_data)[2], (int) ((unsigned char *) &ifr.ifr_hwaddr.sa_data)[3], (int) ((unsigned char *) &ifr.ifr_hwaddr.sa_data)[4], (int) ((unsigned char *) &ifr.ifr_hwaddr.sa_data)[5]); err = 0; goto out; get_ethernet_failed: bind_failed: index_failed: rt_dev_close(sock->fd); socket_failed: out: return err; } static int raw_receive(raw_socket_t *sock, struct sockaddr_ll *from, void *buffer, int size) { int err; struct msghdr msg; struct iovec iov; iov.iov_base = buffer; iov.iov_len = size; memset(&msg, 0, sizeof(msg)); msg.msg_name = from; msg.msg_namelen = sizeof(*from); msg.msg_iov = &iov; msg.msg_iovlen = 1; err = rt_dev_recvmsg(sock->fd, &msg, 0); if (0 && err > 0) { unsigned char *p = buffer; int i; for (i = 0 ; i < err ; i++) { printf("%02x ", p[i]); } printf("\n%d\n", err); } return err; } static int raw_transmit(raw_socket_t *sock, struct sockaddr_ll *to, void *buffer, int size) { int err; struct msghdr msg; struct iovec iov; iov.iov_base = buffer; iov.iov_len = size; memset(&msg, 0, sizeof(msg)); msg.msg_name = to; msg.msg_namelen = sizeof(*to); msg.msg_iov = &iov; msg.msg_iovlen = 1; ether_aton_r("ff:ff:ff:ff:ff:ff", (void*)&to->sll_addr); err = rt_dev_sendmsg(sock->fd, &msg, 0); return err; } void server(char *name) { raw_socket_t sock; if (raw_open(&sock, name) == 0) { RTIME t1, t2; t1 = 0; t2 = 0; uint64_t seq, missed; seq = 0; missed = 0; while (1) { message_t buffer; int err; struct sockaddr_ll addr; err = raw_receive(&sock, &addr, &buffer, sizeof(buffer)); t1 = rt_timer_read(); if (err < 0) { fprintf(stderr, "recvmsg failed: %d\n", err); break; } buffer.sent2 = buffer.sent1; buffer.sent1 = rt_timer_read(); buffer.period = t1 - t2; t2 = t1; if (buffer.seq == 0) { seq = 0; missed = 0; } if (buffer.seq != seq) { missed += buffer.seq - seq; seq = buffer.seq; } seq++; buffer.missed = missed; err = raw_transmit(&sock, &addr, &buffer, err); if (err < 0) { fprintf(stderr, "sendmsg failed: %d\n", err); break; } } } } static void client(char *name, char *server_mac) { raw_socket_t sock; if (raw_open(&sock, name) == 0) { struct sockaddr_ll dest_addr, addr; int err, savederr; message_t buffer; RTIME start, true_start, t1; /* set destination address */ memset(&dest_addr, 0, sizeof(struct sockaddr_ll)); dest_addr.sll_family = AF_PACKET; dest_addr.sll_protocol = htons(PROTOCOL); dest_addr.sll_ifindex = sock.index; dest_addr.sll_halen = 6; ether_aton_r(server_mac, (void*)&dest_addr.sll_addr); fprintf(stderr, "destination mac address: %02X:%02X:%02X:%02X:%02X:%02X\n", dest_addr.sll_addr[0], dest_addr.sll_addr[1], dest_addr.sll_addr[2], dest_addr.sll_addr[3], dest_addr.sll_addr[4], dest_addr.sll_addr[5]); memset(histogram, 0, sizeof(histogram)); seq = 0; total = 0; spurious_timeout = 0; spurious_sleep = 0; local_missed = 0; start = rt_timer_read(); while (1) { int64_t timeout; start += 1000000; // start += 150000; rt_task_sleep_until(start); true_start = rt_timer_read(); timeout = -1; rt_dev_ioctl(sock.fd, RTNET_RTIOC_TIMEOUT, &timeout); while (1) { // Read packets received during sleep (should be 0) err = raw_receive(&sock, &addr, &buffer, sizeof(buffer)); if (err < 0) { break; } update_histogram(start, true_start, &buffer); spurious_sleep++; xntrace_user_freeze(savederr, 1); ftrace_freeze(); } memset(&buffer, 0, sizeof(buffer)); t1 = rt_timer_read(); buffer.sent1 = t1; buffer.seq = seq++; err = raw_transmit(&sock, &dest_addr, &buffer, 60); if (err < 0) { fprintf(stderr, "sendmsg failed: %d\n", err); break; } timeout = 500000L; rt_dev_ioctl(sock.fd, RTNET_RTIOC_TIMEOUT, &timeout); memset(&buffer, 0, sizeof(buffer)); err = raw_receive(&sock, &addr, &buffer, sizeof(buffer)); if (err > 0) { total++; update_histogram(start, true_start, &buffer); } else { savederr = err; timeout = -1; rt_dev_ioctl(sock.fd, RTNET_RTIOC_TIMEOUT, &timeout); rt_task_sleep(10000); err = raw_receive(&sock, &addr, &buffer, sizeof(buffer)); fprintf(stderr, "%d\n", err); if (err > 0) { update_histogram(start, true_start, &buffer); spurious_timeout++; xntrace_user_freeze(savederr, 1); ftrace_freeze(); } else{ local_missed++; } } //fprintf(stderr, "Recv = %d\n", err); if (err < 0 && err != -ETIMEDOUT && err != -EAGAIN) { fprintf(stderr, "recvmsg failed: %d\n", err); break; } } } } static void reporter(void *cookie) { while (1) { sleep(1); print_histogram(total, spurious_timeout, spurious_sleep, local_missed, remote_missed); } } int main(int argc, char *argv[]) { RT_TASK task_self, task_reporter; mlockall(MCL_CURRENT|MCL_FUTURE); rt_task_shadow(&task_self, "raw_test", 50, T_FPU); if (argc == 2) { server(argv[1]); } else if (argc == 3) { rt_task_spawn(&task_reporter, "reporter", 50 * 1024, 0, T_FPU, reporter, NULL); client(argv[1], argv[2]); } return 0; } [-- Attachment #5: trace3.tail --] [-- Type: text/plain, Size: 75718 bytes --] <idle>-0 [002] 2061.340888: xn_nucleus_thread_resume: thread=f9bf7b00 thread_name=rtnet-stack mask=2 <idle>-0 [002] 2061.340897: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.340902: xn_nucleus_sched_remote: status=2000000 <idle>-0 [000] 2061.340904: xn_nucleus_sched: status=2000000 <idle>-0 [002] 2061.340904: power_start: type=1 state=1 <idle>-0 [000] 2061.340906: xn_nucleus_sched_switch: prev=f9465880 prev_name=ROOT/0 next=f9bf7b00 next_name=rtnet-stack <idle>-0 [000] 2061.340919: xn_nucleus_thread_resume: thread=f99e7a40 thread_name=raw_test mask=2 <idle>-0 [000] 2061.340928: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.340934: xn_nucleus_thread_suspend: thread=f9bf7b00 thread_name=rtnet-stack mask=2 timeout=0 timeout_mode=0 wchan=f9bf8080 <idle>-0 [000] 2061.340936: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.340937: xn_nucleus_sched_switch: prev=f9bf7b00 prev_name=rtnet-stack next=f99e7a40 next_name=raw_test raw_test-2366 [000] 2061.340952: xn_nucleus_thread_suspend: thread=f99e7a40 thread_name=raw_test mask=4 timeout=1288722930637849784 timeout_mode=2 wchan=(null) raw_test-2366 [000] 2061.340956: xn_nucleus_sched: status=2000000 raw_test-2366 [000] 2061.340957: xn_nucleus_sched_switch: prev=f99e7a40 prev_name=raw_test next=f9465880 next_name=ROOT/0 <idle>-0 [000] 2061.340962: power_start: type=1 state=1 <idle>-0 [000] 2061.341743: xn_nucleus_thread_resume: thread=f99e7a40 thread_name=raw_test mask=4 <idle>-0 [000] 2061.341748: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.341750: xn_nucleus_sched_switch: prev=f9465880 prev_name=ROOT/0 next=f99e7a40 next_name=raw_test raw_test-2366 [000] 2061.341820: xn_nucleus_thread_suspend: thread=f99e7a40 thread_name=raw_test mask=2 timeout=500000 timeout_mode=0 wchan=c1c0f864 raw_test-2366 [000] 2061.341825: xn_nucleus_sched: status=2000000 raw_test-2366 [000] 2061.341828: xn_nucleus_sched_switch: prev=f99e7a40 prev_name=raw_test next=f9465880 next_name=ROOT/0 <idle>-0 [001] 2061.341829: power_start: type=1 state=1 <idle>-0 [000] 2061.341835: power_start: type=1 state=1 <idle>-0 [003] 2061.341887: xn_nucleus_thread_resume: thread=f9bf7b00 thread_name=rtnet-stack mask=2 <idle>-0 [003] 2061.341896: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.341901: xn_nucleus_sched_remote: status=2000000 <idle>-0 [000] 2061.341903: xn_nucleus_sched: status=2000000 <idle>-0 [003] 2061.341903: power_start: type=1 state=1 <idle>-0 [000] 2061.341906: xn_nucleus_sched_switch: prev=f9465880 prev_name=ROOT/0 next=f9bf7b00 next_name=rtnet-stack <idle>-0 [000] 2061.341924: xn_nucleus_thread_resume: thread=f99e7a40 thread_name=raw_test mask=2 <idle>-0 [000] 2061.341927: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.341934: xn_nucleus_thread_suspend: thread=f9bf7b00 thread_name=rtnet-stack mask=2 timeout=0 timeout_mode=0 wchan=f9bf8080 <idle>-0 [000] 2061.341940: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.341942: xn_nucleus_sched_switch: prev=f9bf7b00 prev_name=rtnet-stack next=f99e7a40 next_name=raw_test raw_test-2366 [000] 2061.341957: xn_nucleus_thread_suspend: thread=f99e7a40 thread_name=raw_test mask=4 timeout=1288722930638849784 timeout_mode=2 wchan=(null) raw_test-2366 [000] 2061.341960: xn_nucleus_sched: status=2000000 raw_test-2366 [000] 2061.341962: xn_nucleus_sched_switch: prev=f99e7a40 prev_name=raw_test next=f9465880 next_name=ROOT/0 <idle>-0 [000] 2061.341966: power_start: type=1 state=1 <idle>-0 [000] 2061.342742: xn_nucleus_thread_resume: thread=f99e7a40 thread_name=raw_test mask=4 <idle>-0 [000] 2061.342746: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.342749: xn_nucleus_sched_switch: prev=f9465880 prev_name=ROOT/0 next=f99e7a40 next_name=raw_test raw_test-2366 [000] 2061.342841: xn_nucleus_thread_suspend: thread=f99e7a40 thread_name=raw_test mask=2 timeout=500000 timeout_mode=0 wchan=c1c0f864 raw_test-2366 [000] 2061.342846: xn_nucleus_sched: status=2000000 raw_test-2366 [000] 2061.342848: xn_nucleus_sched_switch: prev=f99e7a40 prev_name=raw_test next=f9465880 next_name=ROOT/0 <idle>-0 [000] 2061.342855: power_start: type=1 state=1 <idle>-0 [002] 2061.342885: xn_nucleus_thread_resume: thread=f9bf7b00 thread_name=rtnet-stack mask=2 <idle>-0 [002] 2061.342894: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.342899: xn_nucleus_sched_remote: status=2000000 <idle>-0 [000] 2061.342901: xn_nucleus_sched: status=2000000 <idle>-0 [002] 2061.342901: power_start: type=1 state=1 <idle>-0 [000] 2061.342904: xn_nucleus_sched_switch: prev=f9465880 prev_name=ROOT/0 next=f9bf7b00 next_name=rtnet-stack <idle>-0 [000] 2061.342916: xn_nucleus_thread_resume: thread=f99e7a40 thread_name=raw_test mask=2 <idle>-0 [000] 2061.342925: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.342932: xn_nucleus_thread_suspend: thread=f9bf7b00 thread_name=rtnet-stack mask=2 timeout=0 timeout_mode=0 wchan=f9bf8080 <idle>-0 [000] 2061.342933: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.342935: xn_nucleus_sched_switch: prev=f9bf7b00 prev_name=rtnet-stack next=f99e7a40 next_name=raw_test raw_test-2366 [000] 2061.342950: xn_nucleus_thread_suspend: thread=f99e7a40 thread_name=raw_test mask=4 timeout=1288722930639849784 timeout_mode=2 wchan=(null) raw_test-2366 [000] 2061.342953: xn_nucleus_sched: status=2000000 raw_test-2366 [000] 2061.342955: xn_nucleus_sched_switch: prev=f99e7a40 prev_name=raw_test next=f9465880 next_name=ROOT/0 <idle>-0 [000] 2061.342959: power_start: type=1 state=1 <idle>-0 [000] 2061.343741: xn_nucleus_thread_resume: thread=f99e7a40 thread_name=raw_test mask=4 <idle>-0 [000] 2061.343745: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.343747: xn_nucleus_sched_switch: prev=f9465880 prev_name=ROOT/0 next=f99e7a40 next_name=raw_test raw_test-2366 [000] 2061.343818: xn_nucleus_thread_suspend: thread=f99e7a40 thread_name=raw_test mask=2 timeout=500000 timeout_mode=0 wchan=c1c0f864 raw_test-2366 [000] 2061.343823: xn_nucleus_sched: status=2000000 raw_test-2366 [000] 2061.343825: xn_nucleus_sched_switch: prev=f99e7a40 prev_name=raw_test next=f9465880 next_name=ROOT/0 <idle>-0 [001] 2061.343827: power_start: type=1 state=1 <idle>-0 [000] 2061.343832: power_start: type=1 state=1 <idle>-0 [003] 2061.343884: xn_nucleus_thread_resume: thread=f9bf7b00 thread_name=rtnet-stack mask=2 <idle>-0 [003] 2061.343893: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.343899: xn_nucleus_sched_remote: status=2000000 <idle>-0 [000] 2061.343900: xn_nucleus_sched: status=2000000 <idle>-0 [003] 2061.343900: power_start: type=1 state=1 <idle>-0 [000] 2061.343903: xn_nucleus_sched_switch: prev=f9465880 prev_name=ROOT/0 next=f9bf7b00 next_name=rtnet-stack <idle>-0 [000] 2061.343921: xn_nucleus_thread_resume: thread=f99e7a40 thread_name=raw_test mask=2 <idle>-0 [000] 2061.343924: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.343931: xn_nucleus_thread_suspend: thread=f9bf7b00 thread_name=rtnet-stack mask=2 timeout=0 timeout_mode=0 wchan=f9bf8080 <idle>-0 [000] 2061.343937: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.343939: xn_nucleus_sched_switch: prev=f9bf7b00 prev_name=rtnet-stack next=f99e7a40 next_name=raw_test raw_test-2366 [000] 2061.343954: xn_nucleus_thread_suspend: thread=f99e7a40 thread_name=raw_test mask=4 timeout=1288722930640849784 timeout_mode=2 wchan=(null) raw_test-2366 [000] 2061.343957: xn_nucleus_sched: status=2000000 raw_test-2366 [000] 2061.343959: xn_nucleus_sched_switch: prev=f99e7a40 prev_name=raw_test next=f9465880 next_name=ROOT/0 <idle>-0 [000] 2061.343964: power_start: type=1 state=1 <idle>-0 [000] 2061.344739: xn_nucleus_thread_resume: thread=f99e7a40 thread_name=raw_test mask=4 <idle>-0 [000] 2061.344743: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.344746: xn_nucleus_sched_switch: prev=f9465880 prev_name=ROOT/0 next=f99e7a40 next_name=raw_test raw_test-2366 [000] 2061.344838: xn_nucleus_thread_suspend: thread=f99e7a40 thread_name=raw_test mask=2 timeout=500000 timeout_mode=0 wchan=c1c0f864 raw_test-2366 [000] 2061.344843: xn_nucleus_sched: status=2000000 raw_test-2366 [000] 2061.344845: xn_nucleus_sched_switch: prev=f99e7a40 prev_name=raw_test next=f9465880 next_name=ROOT/0 <idle>-0 [000] 2061.344852: power_start: type=1 state=1 <idle>-0 [002] 2061.344883: xn_nucleus_thread_resume: thread=f9bf7b00 thread_name=rtnet-stack mask=2 <idle>-0 [002] 2061.344892: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.344898: xn_nucleus_sched_remote: status=2000000 <idle>-0 [000] 2061.344899: xn_nucleus_sched: status=2000000 <idle>-0 [002] 2061.344900: power_start: type=1 state=1 <idle>-0 [000] 2061.344902: xn_nucleus_sched_switch: prev=f9465880 prev_name=ROOT/0 next=f9bf7b00 next_name=rtnet-stack <idle>-0 [000] 2061.344920: xn_nucleus_thread_resume: thread=f99e7a40 thread_name=raw_test mask=2 <idle>-0 [000] 2061.344923: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.344930: xn_nucleus_thread_suspend: thread=f9bf7b00 thread_name=rtnet-stack mask=2 timeout=0 timeout_mode=0 wchan=f9bf8080 <idle>-0 [000] 2061.344931: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.344932: xn_nucleus_sched_switch: prev=f9bf7b00 prev_name=rtnet-stack next=f99e7a40 next_name=raw_test raw_test-2366 [000] 2061.344948: xn_nucleus_thread_suspend: thread=f99e7a40 thread_name=raw_test mask=4 timeout=1288722930641849784 timeout_mode=2 wchan=(null) raw_test-2366 [000] 2061.344951: xn_nucleus_sched: status=2000000 raw_test-2366 [000] 2061.344953: xn_nucleus_sched_switch: prev=f99e7a40 prev_name=raw_test next=f9465880 next_name=ROOT/0 <idle>-0 [000] 2061.344957: power_start: type=1 state=1 <idle>-0 [000] 2061.345737: xn_nucleus_thread_resume: thread=f99e7a40 thread_name=raw_test mask=4 <idle>-0 [000] 2061.345742: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.345744: xn_nucleus_sched_switch: prev=f9465880 prev_name=ROOT/0 next=f99e7a40 next_name=raw_test raw_test-2366 [000] 2061.345815: xn_nucleus_thread_suspend: thread=f99e7a40 thread_name=raw_test mask=2 timeout=500000 timeout_mode=0 wchan=c1c0f864 raw_test-2366 [000] 2061.345819: xn_nucleus_sched: status=2000000 raw_test-2366 [000] 2061.345822: xn_nucleus_sched_switch: prev=f99e7a40 prev_name=raw_test next=f9465880 next_name=ROOT/0 <idle>-0 [001] 2061.345824: power_start: type=1 state=1 <idle>-0 [000] 2061.345829: power_start: type=1 state=1 <idle>-0 [003] 2061.345881: xn_nucleus_thread_resume: thread=f9bf7b00 thread_name=rtnet-stack mask=2 <idle>-0 [003] 2061.345890: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.345895: xn_nucleus_sched_remote: status=2000000 <idle>-0 [000] 2061.345897: xn_nucleus_sched: status=2000000 <idle>-0 [003] 2061.345897: power_start: type=1 state=1 <idle>-0 [000] 2061.345900: xn_nucleus_sched_switch: prev=f9465880 prev_name=ROOT/0 next=f9bf7b00 next_name=rtnet-stack <idle>-0 [000] 2061.345918: xn_nucleus_thread_resume: thread=f99e7a40 thread_name=raw_test mask=2 <idle>-0 [000] 2061.345922: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.345929: xn_nucleus_thread_suspend: thread=f9bf7b00 thread_name=rtnet-stack mask=2 timeout=0 timeout_mode=0 wchan=f9bf8080 <idle>-0 [000] 2061.345934: xn_nucleus_sched: status=2000000 <idle>-0 [000] 2061.345936: xn_nucleus_sched_switch: prev=f9bf7b00 prev_name=rtnet-stack next=f99e7a40 next_name=raw_test raw_test-2366 [000] 2061.345951: xn_nucleus_thread_suspend: thread=f99e7a40 thread_name=raw_test mask=4 timeout=1288722930642849784 timeout_mode=2 wchan=(null) raw_test-2366 [000] 2061.345954: xn_nucleus_sched: status=2000000 raw_test-2366 [000] 2061.345955: xn_nucleus_sched_switch: prev=f99e7a40 prev_name=raw_test next=f9465880 next_name=ROOT/0 <idle>-0 [000] 2061.345960: power_start: type=1 state=1 <idle>-0 [000] 2061.346351: lock_acquire: c09aead4 xtime_lock <idle>-0 [000] 2061.346360: lock_release: c09aead4 xtime_lock <idle>-0 [000] 2061.346367: lock_acquire: c4803ce4 std_spinlock_raw(&cpu_base->lock) <idle>-0 [000] 2061.346375: lock_acquire: c12f8a60 std_spinlock_raw(&obj_hash[i].lock) <idle>-0 [000] 2061.346383: lock_release: c12f8a60 std_spinlock_raw(&obj_hash[i].lock) <idle>-0 [000] 2061.346386: hrtimer_cancel: hrtimer=f1087f44 <idle>-0 [000] 2061.346390: lock_release: c4803ce4 std_spinlock_raw(&cpu_base->lock) <idle>-0 [000] 2061.346392: hrtimer_expire_entry: hrtimer=f1087f44 function=hrtimer_wakeup now=2064303506553 <idle>-0 [000] 2061.346397: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) <idle>-0 [000] 2061.346405: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) <idle>-0 [000] 2061.346409: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) <idle>-0 [000] 2061.346417: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) <idle>-0 [000] 2061.346421: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) <idle>-0 [000] 2061.346428: sched_stat_sleep: comm=reporter pid=2375 delay=1010376861 [ns] <idle>-0 [000] 2061.346429: sched_wakeup: comm=reporter pid=2375 prio=120 success=1 target_cpu=000 <idle>-0 [000] 2061.346433: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) <idle>-0 [000] 2061.346437: hrtimer_expire_exit: hrtimer=f1087f44 <idle>-0 [000] 2061.346440: lock_acquire: c4803ce4 std_spinlock_raw(&cpu_base->lock) <idle>-0 [000] 2061.346447: lock_release: c4803ce4 std_spinlock_raw(&cpu_base->lock) <idle>-0 [000] 2061.346468: lock_acquire: c4803ce4 std_spinlock_raw(&cpu_base->lock) <idle>-0 [000] 2061.346476: lock_acquire: c12a0ea0 std_spinlock_raw(&obj_hash[i].lock) <idle>-0 [000] 2061.346484: lock_release: c12a0ea0 std_spinlock_raw(&obj_hash[i].lock) <idle>-0 [000] 2061.346487: hrtimer_cancel: hrtimer=c4803d88 <idle>-0 [000] 2061.346491: lock_release: c4803ce4 std_spinlock_raw(&cpu_base->lock) <idle>-0 [000] 2061.346500: lock_acquire: c4803ce4 std_spinlock_raw(&cpu_base->lock) <idle>-0 [000] 2061.346509: lock_acquire: c12a0ea0 std_spinlock_raw(&obj_hash[i].lock) <idle>-0 [000] 2061.346521: lock_release: c12a0ea0 std_spinlock_raw(&obj_hash[i].lock) <idle>-0 [000] 2061.346524: hrtimer_start: hrtimer=c4803d88 function=tick_sched_timer expires=2064304000000 softexpires=2064304000000 <idle>-0 [000] 2061.346529: lock_release: c4803ce4 std_spinlock_raw(&cpu_base->lock) <idle>-0 [000] 2061.346536: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) <idle>-0 [000] 2061.346540: sched_stat_wait: comm=reporter pid=2375 delay=0 [ns] <idle>-0 [000] 2061.346546: sched_switch: prev_comm=swapper prev_pid=0 prev_prio=120 prev_state=R ==> next_comm=reporter next_pid=2375 next_prio=120 <idle>-0 [000] 2061.346548: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.346551: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.346554: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.346559: lock_acquire: c4803ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.346564: lock_release: c4803ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.346570: lock_acquire: c12f8a60 std_spinlock_raw(&obj_hash[i].lock) reporter-2375 [000] 2061.346575: lock_release: c12f8a60 std_spinlock_raw(&obj_hash[i].lock) reporter-2375 [000] 2061.346581: lock_acquire: c0a0d200 pool_lock reporter-2375 [000] 2061.346585: lock_release: c0a0d200 pool_lock reporter-2375 [000] 2061.346592: kfree: call_site=c047fe89 ptr=(null) reporter-2375 [000] 2061.346593: sys_nanosleep -> 0x0 reporter-2375 [000] 2061.346596: lock_acquire: c09f8940 trace_wait.lock reporter-2375 [000] 2061.346601: lock_release: c09f8940 trace_wait.lock reporter-2375 [000] 2061.346604: sys_exit: NR 162 = 0 reporter-2375 [000] 2061.346613: sys_write(fd: 1, buf: b7888000, count: a) reporter-2375 [000] 2061.346615: lock_acquire: c09f8940 trace_wait.lock reporter-2375 [000] 2061.346620: lock_release: c09f8940 trace_wait.lock reporter-2375 [000] 2061.346623: sys_enter: NR 4 (1, b7888000, a, a, b7888000, b789308c) reporter-2375 [000] 2061.346626: lock_acquire: c09f4ee4 read rcu_read_lock reporter-2375 [000] 2061.346630: lock_release: c09f4ee4 rcu_read_lock reporter-2375 [000] 2061.346637: lock_acquire: c0a11da0 tty_ldisc_lock reporter-2375 [000] 2061.346642: lock_release: c0a11da0 tty_ldisc_lock reporter-2375 [000] 2061.346648: lock_acquire: f4398d94 try &tty->atomic_write_lock reporter-2375 [000] 2061.346655: lock_acquire: c1de0e24 read &mm->mmap_sem reporter-2375 [000] 2061.346658: lock_release: c1de0e24 &mm->mmap_sem reporter-2375 [000] 2061.346664: lock_acquire: f4398a34 key reporter-2375 [000] 2061.346668: lock_release: f4398a34 key reporter-2375 [000] 2061.346675: lock_acquire: f4398de4 &tty->output_lock reporter-2375 [000] 2061.346685: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.346690: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.346696: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.346701: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.346708: lock_acquire: c0c73190 &std_spinlock(&base->lock)->rlock reporter-2375 [000] 2061.346714: lock_acquire: c12ee560 std_spinlock_raw(&obj_hash[i].lock) reporter-2375 [000] 2061.346719: lock_release: c12ee560 std_spinlock_raw(&obj_hash[i].lock) reporter-2375 [000] 2061.346721: timer_start: timer=f439cb24 function=delayed_work_timer_fn expires=1764304 [timeout=1] reporter-2375 [000] 2061.346724: lock_release: c0c73190 &std_spinlock(&base->lock)->rlock reporter-2375 [000] 2061.346729: lock_acquire: f4398a34 key reporter-2375 [000] 2061.346735: xn_nucleus_thread_resume: thread=f99e7a40 thread_name=raw_test mask=4 reporter-2375 [000] 2061.346738: xn_nucleus_sched: status=2000000 reporter-2375 [000] 2061.346740: xn_nucleus_sched_switch: prev=f9465880 prev_name=ROOT/0 next=f99e7a40 next_name=raw_test raw_test-2366 [000] 2061.346804: xn_nucleus_thread_suspend: thread=f99e7a40 thread_name=raw_test mask=2 timeout=500000 timeout_mode=0 wchan=c1c0f864 raw_test-2366 [000] 2061.346807: xn_nucleus_sched: status=2000000 raw_test-2366 [000] 2061.346809: xn_nucleus_sched_switch: prev=f99e7a40 prev_name=raw_test next=f9465880 next_name=ROOT/0 reporter-2375 [000] 2061.346816: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.346819: sched_wakeup: comm=reporter pid=2375 prio=120 success=0 target_cpu=000 reporter-2375 [000] 2061.346822: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.346826: lock_release: f4398a34 key reporter-2375 [000] 2061.346832: lock_release: f4398de4 &tty->output_lock reporter-2375 [000] 2061.346838: lock_acquire: f4398de4 &tty->output_lock reporter-2375 [000] 2061.346848: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.346853: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock <idle>-0 [002] 2061.346859: xn_nucleus_thread_resume: thread=f9bf7b00 thread_name=rtnet-stack mask=2 reporter-2375 [000] 2061.346863: xn_nucleus_sched: status=42000000 reporter-2375 [000] 2061.346864: xn_nucleus_sched_switch: prev=f9465880 prev_name=ROOT/0 next=f9bf7b00 next_name=rtnet-stack <idle>-0 [002] 2061.346867: xn_nucleus_sched: status=2000000 reporter-2375 [000] 2061.346871: xn_nucleus_sched_remote: status=40000000 <idle>-0 [002] 2061.346872: power_start: type=1 state=1 reporter-2375 [000] 2061.346876: xn_nucleus_thread_resume: thread=f99e7a40 thread_name=raw_test mask=2 reporter-2375 [000] 2061.346879: xn_nucleus_sched: status=42000000 reporter-2375 [000] 2061.346885: xn_nucleus_thread_suspend: thread=f9bf7b00 thread_name=rtnet-stack mask=2 timeout=0 timeout_mode=0 wchan=f9bf8080 reporter-2375 [000] 2061.346887: xn_nucleus_sched: status=42000000 reporter-2375 [000] 2061.346888: xn_nucleus_sched_switch: prev=f9bf7b00 prev_name=rtnet-stack next=f99e7a40 next_name=raw_test raw_test-2366 [000] 2061.346904: xn_nucleus_thread_suspend: thread=f99e7a40 thread_name=raw_test mask=4 timeout=1288722930643849784 timeout_mode=2 wchan=(null) raw_test-2366 [000] 2061.346907: xn_nucleus_sched: status=42000000 raw_test-2366 [000] 2061.346909: xn_nucleus_sched_switch: prev=f99e7a40 prev_name=raw_test next=f9465880 next_name=ROOT/0 reporter-2375 [000] 2061.346915: lock_acquire: c4803ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.346921: lock_acquire: c12a0ea0 std_spinlock_raw(&obj_hash[i].lock) reporter-2375 [000] 2061.346926: lock_release: c12a0ea0 std_spinlock_raw(&obj_hash[i].lock) reporter-2375 [000] 2061.346928: hrtimer_cancel: hrtimer=c4803d88 reporter-2375 [000] 2061.346930: lock_release: c4803ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.346932: hrtimer_expire_entry: hrtimer=c4803d88 function=tick_sched_timer now=2064304056612 reporter-2375 [000] 2061.346934: lock_acquire: c09aead4 xtime_lock reporter-2375 [000] 2061.346939: lock_release: c09aead4 xtime_lock reporter-2375 [000] 2061.346943: lock_acquire: c09f4ee4 read rcu_read_lock reporter-2375 [000] 2061.346947: lock_release: c09f4ee4 rcu_read_lock reporter-2375 [000] 2061.346959: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.346963: sched_stat_runtime: comm=reporter pid=2375 runtime=536453 [ns] vruntime=67439991469 [ns] reporter-2375 [000] 2061.346965: lock_acquire: c09f4ee4 read rcu_read_lock reporter-2375 [000] 2061.346968: lock_release: c09f4ee4 rcu_read_lock reporter-2375 [000] 2061.346971: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.346975: lock_acquire: c4b4d8d0 try std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.346980: lock_release: c4b4d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.346986: hrtimer_expire_exit: hrtimer=c4803d88 reporter-2375 [000] 2061.346988: lock_acquire: c4803ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.346993: lock_acquire: c12a0ea0 std_spinlock_raw(&obj_hash[i].lock) <idle>-0 [001] 2061.346997: lock_acquire: c4a03ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.346998: lock_release: c12a0ea0 std_spinlock_raw(&obj_hash[i].lock) reporter-2375 [000] 2061.347001: hrtimer_start: hrtimer=c4803d88 function=tick_sched_timer expires=2064305000000 softexpires=2064305000000 reporter-2375 [000] 2061.347003: lock_release: c4803ce4 std_spinlock_raw(&cpu_base->lock) <idle>-0 [001] 2061.347003: lock_acquire: c12e5aa0 std_spinlock_raw(&obj_hash[i].lock) <idle>-0 [001] 2061.347008: lock_release: c12e5aa0 std_spinlock_raw(&obj_hash[i].lock) <idle>-0 [001] 2061.347010: hrtimer_cancel: hrtimer=c4a03d88 reporter-2375 [000] 2061.347012: softirq_entry: vec=1 [action=TIMER] reporter-2375 [000] 2061.347015: lock_acquire: c0c73190 &std_spinlock(&base->lock)->rlock <idle>-0 [001] 2061.347017: lock_release: c4a03ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.347023: lock_acquire: c12ee560 std_spinlock_raw(&obj_hash[i].lock) <idle>-0 [001] 2061.347024: lock_acquire: c4a03ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.347028: lock_release: c12ee560 std_spinlock_raw(&obj_hash[i].lock) <idle>-0 [001] 2061.347030: lock_acquire: c12e5aa0 std_spinlock_raw(&obj_hash[i].lock) reporter-2375 [000] 2061.347030: timer_cancel: timer=f439cb24 reporter-2375 [000] 2061.347032: lock_release: c0c73190 &std_spinlock(&base->lock)->rlock <idle>-0 [001] 2061.347035: lock_release: c12e5aa0 std_spinlock_raw(&obj_hash[i].lock) reporter-2375 [000] 2061.347036: lock_acquire: f1087c9c &(&tty->buf.work)->timer <idle>-0 [001] 2061.347037: hrtimer_start: hrtimer=c4a03d88 function=tick_sched_timer expires=2064305125000 softexpires=2064305125000 reporter-2375 [000] 2061.347038: timer_expire_entry: timer=f439cb24 function=delayed_work_timer_fn now=1764304 reporter-2375 [000] 2061.347041: lock_acquire: c12ee560 std_spinlock_raw(&obj_hash[i].lock) <idle>-0 [001] 2061.347043: lock_release: c4a03ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.347046: lock_release: c12ee560 std_spinlock_raw(&obj_hash[i].lock) <idle>-0 [001] 2061.347050: lock_acquire: c4b4d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347052: lock_acquire: c494e410 &std_spinlock(&cwq->lock)->rlock <idle>-0 [001] 2061.347055: lock_release: c4b4d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347059: lock_acquire: c494aadc &std_spinlock(&(&(*({ do { const void *__vpp_verify = (typeof((&(all_workqueue_stat))))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __asm__ ("" : "=r"(__ptr) : "0"((typeof(*(&(all_workqueue_stat))) *)(&(all_workqueue_stat)))); (typeof((typeof(*(&(all_workqueue_stat))) *)(&(all_workqueue_stat)))) (__ptr + (((__per_cpu_offset[cpu])))); }); })))->lock)->rlock <idle>-0 [001] 2061.347062: lock_acquire: c4b4d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347065: lock_release: c494aadc &std_spinlock(&(&(*({ do { const void *__vpp_verify = (typeof((&(all_workqueue_stat))))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __asm__ ("" : "=r"(__ptr) : "0"((typeof(*(&(all_workqueue_stat))) *)(&(all_workqueue_stat)))); (typeof((typeof(*(&(all_workqueue_stat))) *)(&(all_workqueue_stat)))) (__ptr + (((__per_cpu_offset[cpu])))); }); })))->lock)->rlock <idle>-0 [001] 2061.347068: lock_release: c4b4d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347068: workqueue_insertion: thread=events/0:15 func=flush_to_ldisc reporter-2375 [000] 2061.347071: lock_acquire: c494e43c key <idle>-0 [001] 2061.347074: lock_acquire: f70e0010 &std_spinlock(&base->lock)->rlock reporter-2375 [000] 2061.347077: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) <idle>-0 [001] 2061.347079: lock_release: f70e0010 &std_spinlock(&base->lock)->rlock <idle>-0 [001] 2061.347083: lock_acquire: c4a03ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.347083: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347086: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) <idle>-0 [001] 2061.347087: lock_release: c4a03ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.347091: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) <idle>-0 [001] 2061.347093: power_start: type=1 state=1 reporter-2375 [000] 2061.347094: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347103: sched_stat_runtime: comm=reporter pid=2375 runtime=139896 [ns] vruntime=67440131365 [ns] reporter-2375 [000] 2061.347105: lock_acquire: c09f4ee4 read rcu_read_lock reporter-2375 [000] 2061.347108: lock_release: c09f4ee4 rcu_read_lock reporter-2375 [000] 2061.347111: sched_stat_sleep: comm=events/0 pid=15 delay=1000070554 [ns] reporter-2375 [000] 2061.347111: sched_wakeup: comm=events/0 pid=15 prio=120 success=1 target_cpu=000 reporter-2375 [000] 2061.347114: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347118: lock_release: c494e43c key reporter-2375 [000] 2061.347123: lock_release: c494e410 &std_spinlock(&cwq->lock)->rlock reporter-2375 [000] 2061.347126: timer_expire_exit: timer=f439cb24 reporter-2375 [000] 2061.347128: lock_release: f1087c9c &(&tty->buf.work)->timer reporter-2375 [000] 2061.347132: lock_acquire: c0c73190 &std_spinlock(&base->lock)->rlock reporter-2375 [000] 2061.347137: lock_release: c0c73190 &std_spinlock(&base->lock)->rlock reporter-2375 [000] 2061.347139: softirq_exit: vec=1 [action=TIMER] reporter-2375 [000] 2061.347140: softirq_entry: vec=7 [action=SCHED] reporter-2375 [000] 2061.347145: softirq_exit: vec=7 [action=SCHED] reporter-2375 [000] 2061.347145: softirq_entry: vec=9 [action=RCU] reporter-2375 [000] 2061.347154: lock_acquire: c09f7e90 rcu_node_level_0 reporter-2375 [000] 2061.347159: lock_release: c09f7e90 rcu_node_level_0 reporter-2375 [000] 2061.347171: softirq_exit: vec=9 [action=RCU] reporter-2375 [000] 2061.347179: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347184: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347190: lock_acquire: f4398a34 key reporter-2375 [000] 2061.347196: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347201: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347205: lock_release: f4398a34 key reporter-2375 [000] 2061.347211: lock_release: f4398de4 &tty->output_lock reporter-2375 [000] 2061.347216: lock_acquire: f4398a34 key reporter-2375 [000] 2061.347221: lock_release: f4398a34 key reporter-2375 [000] 2061.347228: lock_release: f4398d94 &tty->atomic_write_lock reporter-2375 [000] 2061.347233: lock_acquire: f4398a34 key reporter-2375 [000] 2061.347238: lock_release: f4398a34 key reporter-2375 [000] 2061.347249: kfree: call_site=c047fe89 ptr=(null) reporter-2375 [000] 2061.347250: sys_write -> 0xa reporter-2375 [000] 2061.347253: lock_acquire: c09f8940 trace_wait.lock reporter-2375 [000] 2061.347258: lock_release: c09f8940 trace_wait.lock reporter-2375 [000] 2061.347261: sys_exit: NR 4 = 10 reporter-2375 [000] 2061.347271: sys_write(fd: 1, buf: b7888000, count: 36) reporter-2375 [000] 2061.347274: lock_acquire: c09f8940 trace_wait.lock reporter-2375 [000] 2061.347278: lock_release: c09f8940 trace_wait.lock reporter-2375 [000] 2061.347282: sys_enter: NR 4 (1, b7888000, 36, 36, b7888000, b7892ad4) reporter-2375 [000] 2061.347284: lock_acquire: c09f4ee4 read rcu_read_lock reporter-2375 [000] 2061.347288: lock_release: c09f4ee4 rcu_read_lock reporter-2375 [000] 2061.347294: lock_acquire: c0a11da0 tty_ldisc_lock reporter-2375 [000] 2061.347299: lock_release: c0a11da0 tty_ldisc_lock reporter-2375 [000] 2061.347304: lock_acquire: f4398d94 try &tty->atomic_write_lock reporter-2375 [000] 2061.347311: lock_acquire: c1de0e24 read &mm->mmap_sem reporter-2375 [000] 2061.347314: lock_release: c1de0e24 &mm->mmap_sem reporter-2375 [000] 2061.347319: lock_acquire: f4398a34 key reporter-2375 [000] 2061.347324: lock_release: f4398a34 key reporter-2375 [000] 2061.347330: lock_acquire: f4398de4 &tty->output_lock reporter-2375 [000] 2061.347340: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347345: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347351: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347355: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347362: lock_acquire: f4398a34 key reporter-2375 [000] 2061.347368: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347371: sched_wakeup: comm=reporter pid=2375 prio=120 success=0 target_cpu=000 reporter-2375 [000] 2061.347373: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347378: lock_release: f4398a34 key reporter-2375 [000] 2061.347383: lock_release: f4398de4 &tty->output_lock reporter-2375 [000] 2061.347389: lock_acquire: f4398de4 &tty->output_lock reporter-2375 [000] 2061.347399: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347404: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347410: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347414: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347421: lock_acquire: f4398a34 key reporter-2375 [000] 2061.347427: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347432: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347436: lock_release: f4398a34 key reporter-2375 [000] 2061.347441: lock_release: f4398de4 &tty->output_lock reporter-2375 [000] 2061.347447: lock_acquire: f4398a34 key reporter-2375 [000] 2061.347451: lock_release: f4398a34 key reporter-2375 [000] 2061.347458: lock_release: f4398d94 &tty->atomic_write_lock reporter-2375 [000] 2061.347464: lock_acquire: f4398a34 key reporter-2375 [000] 2061.347468: lock_release: f4398a34 key reporter-2375 [000] 2061.347479: kfree: call_site=c047fe89 ptr=(null) reporter-2375 [000] 2061.347480: sys_write -> 0x36 reporter-2375 [000] 2061.347482: lock_acquire: c09f8940 trace_wait.lock reporter-2375 [000] 2061.347487: lock_release: c09f8940 trace_wait.lock reporter-2375 [000] 2061.347490: sys_exit: NR 4 = 54 reporter-2375 [000] 2061.347498: sys_write(fd: 1, buf: b7888000, count: 36) reporter-2375 [000] 2061.347501: lock_acquire: c09f8940 trace_wait.lock reporter-2375 [000] 2061.347506: lock_release: c09f8940 trace_wait.lock reporter-2375 [000] 2061.347509: sys_enter: NR 4 (1, b7888000, 36, 36, b7888000, b7892ad4) reporter-2375 [000] 2061.347511: lock_acquire: c09f4ee4 read rcu_read_lock reporter-2375 [000] 2061.347515: lock_release: c09f4ee4 rcu_read_lock reporter-2375 [000] 2061.347521: lock_acquire: c0a11da0 tty_ldisc_lock reporter-2375 [000] 2061.347526: lock_release: c0a11da0 tty_ldisc_lock reporter-2375 [000] 2061.347531: lock_acquire: f4398d94 try &tty->atomic_write_lock reporter-2375 [000] 2061.347538: lock_acquire: c1de0e24 read &mm->mmap_sem reporter-2375 [000] 2061.347541: lock_release: c1de0e24 &mm->mmap_sem reporter-2375 [000] 2061.347546: lock_acquire: f4398a34 key reporter-2375 [000] 2061.347551: lock_release: f4398a34 key reporter-2375 [000] 2061.347557: lock_acquire: f4398de4 &tty->output_lock reporter-2375 [000] 2061.347567: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347572: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347578: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347583: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347589: lock_acquire: f4398a34 key reporter-2375 [000] 2061.347595: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347598: sched_wakeup: comm=reporter pid=2375 prio=120 success=0 target_cpu=000 reporter-2375 [000] 2061.347600: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347604: lock_release: f4398a34 key reporter-2375 [000] 2061.347610: lock_release: f4398de4 &tty->output_lock reporter-2375 [000] 2061.347616: lock_acquire: f4398de4 &tty->output_lock reporter-2375 [000] 2061.347626: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347631: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347637: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347641: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347648: lock_acquire: f4398a34 key reporter-2375 [000] 2061.347654: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347658: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347662: lock_release: f4398a34 key reporter-2375 [000] 2061.347668: lock_release: f4398de4 &tty->output_lock reporter-2375 [000] 2061.347674: lock_acquire: f4398a34 key reporter-2375 [000] 2061.347678: lock_release: f4398a34 key reporter-2375 [000] 2061.347685: lock_release: f4398d94 &tty->atomic_write_lock reporter-2375 [000] 2061.347690: lock_acquire: f4398a34 key reporter-2375 [000] 2061.347695: lock_release: f4398a34 key reporter-2375 [000] 2061.347706: kfree: call_site=c047fe89 ptr=(null) reporter-2375 [000] 2061.347706: sys_write -> 0x36 reporter-2375 [000] 2061.347709: lock_acquire: c09f8940 trace_wait.lock reporter-2375 [000] 2061.347714: lock_release: c09f8940 trace_wait.lock reporter-2375 [000] 2061.347717: sys_exit: NR 4 = 54 reporter-2375 [000] 2061.347728: xn_nucleus_thread_resume: thread=f99e7a40 thread_name=raw_test mask=4 reporter-2375 [000] 2061.347731: xn_nucleus_sched: status=2000000 reporter-2375 [000] 2061.347733: xn_nucleus_sched_switch: prev=f9465880 prev_name=ROOT/0 next=f99e7a40 next_name=raw_test raw_test-2366 [000] 2061.347781: xn_nucleus_thread_suspend: thread=f99e7a40 thread_name=raw_test mask=2 timeout=500000 timeout_mode=0 wchan=c1c0f864 raw_test-2366 [000] 2061.347783: xn_nucleus_sched: status=2000000 raw_test-2366 [000] 2061.347785: xn_nucleus_sched_switch: prev=f99e7a40 prev_name=raw_test next=f9465880 next_name=ROOT/0 reporter-2375 [000] 2061.347789: sys_write(fd: 1, buf: b7888000, count: 36) reporter-2375 [000] 2061.347792: lock_acquire: c09f8940 trace_wait.lock reporter-2375 [000] 2061.347796: lock_release: c09f8940 trace_wait.lock <idle>-0 [001] 2061.347797: power_start: type=1 state=1 reporter-2375 [000] 2061.347800: sys_enter: NR 4 (1, b7888000, 36, 36, b7888000, b7892ad4) reporter-2375 [000] 2061.347805: lock_acquire: c09f4ee4 read rcu_read_lock reporter-2375 [000] 2061.347809: lock_release: c09f4ee4 rcu_read_lock reporter-2375 [000] 2061.347815: lock_acquire: c0a11da0 tty_ldisc_lock reporter-2375 [000] 2061.347820: lock_release: c0a11da0 tty_ldisc_lock reporter-2375 [000] 2061.347825: lock_acquire: f4398d94 try &tty->atomic_write_lock reporter-2375 [000] 2061.347832: lock_acquire: c1de0e24 read &mm->mmap_sem reporter-2375 [000] 2061.347835: lock_release: c1de0e24 &mm->mmap_sem reporter-2375 [000] 2061.347840: lock_acquire: f4398a34 key reporter-2375 [000] 2061.347845: lock_release: f4398a34 key reporter-2375 [000] 2061.347851: lock_acquire: f4398de4 &tty->output_lock <idle>-0 [003] 2061.347855: xn_nucleus_thread_resume: thread=f9bf7b00 thread_name=rtnet-stack mask=2 <idle>-0 [003] 2061.347862: xn_nucleus_sched: status=2000000 reporter-2375 [000] 2061.347866: xn_nucleus_sched_remote: status=0 <idle>-0 [003] 2061.347867: power_start: type=1 state=1 reporter-2375 [000] 2061.347870: lock_acquire: c4803ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.347878: lock_acquire: c12a0ea0 std_spinlock_raw(&obj_hash[i].lock) reporter-2375 [000] 2061.347882: lock_release: c12a0ea0 std_spinlock_raw(&obj_hash[i].lock) reporter-2375 [000] 2061.347885: hrtimer_cancel: hrtimer=c4803d88 reporter-2375 [000] 2061.347887: lock_release: c4803ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.347888: hrtimer_expire_entry: hrtimer=c4803d88 function=tick_sched_timer now=2064305012676 reporter-2375 [000] 2061.347891: lock_acquire: c09aead4 xtime_lock reporter-2375 [000] 2061.347896: lock_release: c09aead4 xtime_lock reporter-2375 [000] 2061.347900: lock_acquire: c09f4ee4 read rcu_read_lock reporter-2375 [000] 2061.347903: lock_release: c09f4ee4 rcu_read_lock reporter-2375 [000] 2061.347913: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347917: sched_stat_runtime: comm=reporter pid=2375 runtime=815889 [ns] vruntime=67440947254 [ns] reporter-2375 [000] 2061.347919: lock_acquire: c09f4ee4 read rcu_read_lock reporter-2375 [000] 2061.347922: lock_release: c09f4ee4 rcu_read_lock reporter-2375 [000] 2061.347926: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.347928: hrtimer_expire_exit: hrtimer=c4803d88 reporter-2375 [000] 2061.347930: lock_acquire: c4803ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.347936: lock_acquire: c12a0ea0 std_spinlock_raw(&obj_hash[i].lock) reporter-2375 [000] 2061.347940: lock_release: c12a0ea0 std_spinlock_raw(&obj_hash[i].lock) reporter-2375 [000] 2061.347943: hrtimer_start: hrtimer=c4803d88 function=tick_sched_timer expires=2064306000000 softexpires=2064306000000 reporter-2375 [000] 2061.347945: lock_release: c4803ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.347954: softirq_entry: vec=1 [action=TIMER] reporter-2375 [000] 2061.347957: lock_acquire: c0c73190 &std_spinlock(&base->lock)->rlock reporter-2375 [000] 2061.347961: lock_release: c0c73190 &std_spinlock(&base->lock)->rlock reporter-2375 [000] 2061.347964: softirq_exit: vec=1 [action=TIMER] reporter-2375 [000] 2061.347972: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347976: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347982: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347987: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.347993: lock_acquire: f4398a34 key reporter-2375 [000] 2061.347999: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348002: sched_wakeup: comm=reporter pid=2375 prio=120 success=0 target_cpu=000 reporter-2375 [000] 2061.348005: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348009: lock_release: f4398a34 key reporter-2375 [000] 2061.348015: lock_release: f4398de4 &tty->output_lock <idle>-0 [001] 2061.348020: lock_acquire: c4a03ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.348023: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) <idle>-0 [001] 2061.348026: lock_acquire: c12e5aa0 std_spinlock_raw(&obj_hash[i].lock) reporter-2375 [000] 2061.348028: sched_stat_wait: comm=reporter pid=2375 delay=0 [ns] reporter-2375 [000] 2061.348030: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) <idle>-0 [001] 2061.348031: lock_release: c12e5aa0 std_spinlock_raw(&obj_hash[i].lock) <idle>-0 [001] 2061.348033: hrtimer_cancel: hrtimer=c4a03d88 reporter-2375 [000] 2061.348034: lock_acquire: f4398de4 &tty->output_lock <idle>-0 [001] 2061.348035: lock_release: c4a03ce4 std_spinlock_raw(&cpu_base->lock) <idle>-0 [001] 2061.348037: hrtimer_expire_entry: hrtimer=c4a03d88 function=tick_sched_timer now=2064305163132 reporter-2375 [000] 2061.348045: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock <idle>-0 [001] 2061.348047: lock_acquire: c4b4d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348050: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock <idle>-0 [001] 2061.348052: lock_release: c4b4d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348056: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock <idle>-0 [001] 2061.348057: hrtimer_expire_exit: hrtimer=c4a03d88 <idle>-0 [001] 2061.348059: lock_acquire: c4a03ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.348060: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock <idle>-0 [001] 2061.348065: lock_acquire: c12e5aa0 std_spinlock_raw(&obj_hash[i].lock) reporter-2375 [000] 2061.348067: lock_acquire: f4398a34 key <idle>-0 [001] 2061.348070: lock_release: c12e5aa0 std_spinlock_raw(&obj_hash[i].lock) <idle>-0 [001] 2061.348072: hrtimer_start: hrtimer=c4a03d88 function=tick_sched_timer expires=2064306125000 softexpires=2064306125000 reporter-2375 [000] 2061.348073: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) <idle>-0 [001] 2061.348074: lock_release: c4a03ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.348078: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348082: lock_release: f4398a34 key <idle>-0 [001] 2061.348084: softirq_entry: vec=1 [action=TIMER] <idle>-0 [001] 2061.348087: lock_acquire: f70e0010 &std_spinlock(&base->lock)->rlock reporter-2375 [000] 2061.348087: lock_release: f4398de4 &tty->output_lock <idle>-0 [001] 2061.348092: lock_release: f70e0010 &std_spinlock(&base->lock)->rlock reporter-2375 [000] 2061.348093: lock_acquire: f4398a34 key <idle>-0 [001] 2061.348094: softirq_exit: vec=1 [action=TIMER] <idle>-0 [001] 2061.348095: softirq_entry: vec=7 [action=SCHED] reporter-2375 [000] 2061.348098: lock_release: f4398a34 key <idle>-0 [001] 2061.348103: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348104: lock_release: f4398d94 &tty->atomic_write_lock <idle>-0 [001] 2061.348108: lock_acquire: c4b4d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348110: lock_acquire: f4398a34 key <idle>-0 [001] 2061.348112: lock_acquire: c09f4ee4 read rcu_read_lock reporter-2375 [000] 2061.348115: lock_release: f4398a34 key <idle>-0 [001] 2061.348115: lock_acquire: c09f4ee4 read rcu_read_lock <idle>-0 [001] 2061.348119: lock_release: c09f4ee4 rcu_read_lock <idle>-0 [001] 2061.348122: lock_release: c09f4ee4 rcu_read_lock <idle>-0 [001] 2061.348125: lock_release: c4b4d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348126: kfree: call_site=c047fe89 ptr=(null) reporter-2375 [000] 2061.348126: sys_write -> 0x36 reporter-2375 [000] 2061.348127: sys_exit: NR 4 = 54 <idle>-0 [001] 2061.348128: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348135: sys_write(fd: 1, buf: b7888000, count: 36) reporter-2375 [000] 2061.348138: lock_acquire: c09f8940 trace_wait.lock <idle>-0 [001] 2061.348138: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348143: lock_release: c09f8940 trace_wait.lock <idle>-0 [001] 2061.348143: lock_acquire: c4d4d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348146: sys_enter: NR 4 (1, b7888000, 36, 36, b7888000, b7892ad4) <idle>-0 [001] 2061.348148: lock_acquire: c09f4ee4 read rcu_read_lock reporter-2375 [000] 2061.348149: lock_acquire: c09f4ee4 read rcu_read_lock <idle>-0 [001] 2061.348151: lock_acquire: c09f4ee4 read rcu_read_lock reporter-2375 [000] 2061.348153: lock_release: c09f4ee4 rcu_read_lock <idle>-0 [001] 2061.348154: lock_release: c09f4ee4 rcu_read_lock <idle>-0 [001] 2061.348157: lock_release: c09f4ee4 rcu_read_lock reporter-2375 [000] 2061.348159: lock_acquire: c0a11da0 tty_ldisc_lock <idle>-0 [001] 2061.348160: lock_release: c4d4d8d0 std_spinlock_raw(&rq->lock) <idle>-0 [001] 2061.348163: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348163: lock_release: c0a11da0 tty_ldisc_lock reporter-2375 [000] 2061.348169: lock_acquire: f4398d94 try &tty->atomic_write_lock <idle>-0 [001] 2061.348173: softirq_exit: vec=7 [action=SCHED] <idle>-0 [001] 2061.348174: softirq_entry: vec=9 [action=RCU] reporter-2375 [000] 2061.348175: lock_acquire: c1de0e24 read &mm->mmap_sem reporter-2375 [000] 2061.348179: lock_release: c1de0e24 &mm->mmap_sem reporter-2375 [000] 2061.348184: lock_acquire: f4398a34 key reporter-2375 [000] 2061.348189: lock_release: f4398a34 key <idle>-0 [001] 2061.348189: lock_acquire: c09f8050 rcu_node_level_0 <idle>-0 [001] 2061.348193: lock_release: c09f8050 rcu_node_level_0 reporter-2375 [000] 2061.348195: lock_acquire: f4398de4 &tty->output_lock <idle>-0 [001] 2061.348197: softirq_exit: vec=9 [action=RCU] <idle>-0 [001] 2061.348204: lock_acquire: f70e0010 &std_spinlock(&base->lock)->rlock reporter-2375 [000] 2061.348205: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock <idle>-0 [001] 2061.348208: lock_release: f70e0010 &std_spinlock(&base->lock)->rlock reporter-2375 [000] 2061.348210: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock <idle>-0 [001] 2061.348212: lock_acquire: c4a03ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.348216: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock <idle>-0 [001] 2061.348217: lock_release: c4a03ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.348221: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock <idle>-0 [001] 2061.348224: power_start: type=1 state=1 reporter-2375 [000] 2061.348227: lock_acquire: f4398a34 key reporter-2375 [000] 2061.348235: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348238: sched_wakeup: comm=reporter pid=2375 prio=120 success=0 target_cpu=000 reporter-2375 [000] 2061.348241: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348245: lock_release: f4398a34 key reporter-2375 [000] 2061.348251: lock_release: f4398de4 &tty->output_lock reporter-2375 [000] 2061.348257: lock_acquire: f4398de4 &tty->output_lock reporter-2375 [000] 2061.348267: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.348271: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.348277: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.348282: xn_nucleus_thread_resume: thread=f99e7a40 thread_name=raw_test mask=4 reporter-2375 [000] 2061.348285: xn_nucleus_sched: status=2000000 reporter-2375 [000] 2061.348287: xn_nucleus_sched_switch: prev=f9465880 prev_name=ROOT/0 next=f9bf7b00 next_name=rtnet-stack reporter-2375 [000] 2061.348300: xn_nucleus_thread_suspend: thread=f9bf7b00 thread_name=rtnet-stack mask=2 timeout=0 timeout_mode=0 wchan=f9bf8080 reporter-2375 [000] 2061.348302: xn_nucleus_sched: status=2000000 reporter-2375 [000] 2061.348303: xn_nucleus_sched_switch: prev=f9bf7b00 prev_name=rtnet-stack next=f99e7a40 next_name=raw_test raw_test-2366 [000] 2061.348321: xn_nucleus_thread_suspend: thread=f99e7a40 thread_name=raw_test mask=4 timeout=10000 timeout_mode=0 wchan=(null) raw_test-2366 [000] 2061.348325: xn_nucleus_sched: status=2000000 raw_test-2366 [000] 2061.348327: xn_nucleus_sched_switch: prev=f99e7a40 prev_name=raw_test next=f9465880 next_name=ROOT/0 reporter-2375 [000] 2061.348333: xn_nucleus_thread_resume: thread=f99e7a40 thread_name=raw_test mask=4 reporter-2375 [000] 2061.348336: xn_nucleus_sched: status=2000000 reporter-2375 [000] 2061.348338: xn_nucleus_sched_switch: prev=f9465880 prev_name=ROOT/0 next=f99e7a40 next_name=raw_test raw_test-2366 [000] 2061.348361: xn_nucleus_thread_suspend: thread=f99e7a40 thread_name=raw_test mask=512 timeout=0 timeout_mode=0 wchan=(null) raw_test-2366 [000] 2061.348364: xn_nucleus_sched: status=2000000 raw_test-2366 [000] 2061.348366: xn_nucleus_sched_switch: prev=f99e7a40 prev_name=raw_test next=f9465880 next_name=ROOT/0 reporter-2375 [000] 2061.348371: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock reporter-2375 [000] 2061.348380: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348385: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348388: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348397: lock_acquire: f7110914 std_spinlock_raw(&vec->lock) reporter-2375 [000] 2061.348401: lock_release: f7110914 std_spinlock_raw(&vec->lock) reporter-2375 [000] 2061.348406: lock_acquire: f7110050 std_spinlock_raw(&vec->lock) reporter-2375 [000] 2061.348411: lock_release: f7110050 std_spinlock_raw(&vec->lock) reporter-2375 [000] 2061.348415: lock_acquire: c0c312cc std_spinlock_raw(&rt_b->rt_runtime_lock) reporter-2375 [000] 2061.348422: lock_acquire: c4a03ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.348427: lock_release: c4a03ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.348430: lock_acquire: c4803ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.348436: lock_acquire: c12f7160 std_spinlock_raw(&obj_hash[i].lock) reporter-2375 [000] 2061.348441: lock_release: c12f7160 std_spinlock_raw(&obj_hash[i].lock) reporter-2375 [000] 2061.348443: hrtimer_start: hrtimer=c0c312f0 function=sched_rt_period_timer expires=2065000000000 softexpires=2065000000000 reporter-2375 [000] 2061.348446: lock_release: c4803ce4 std_spinlock_raw(&cpu_base->lock) reporter-2375 [000] 2061.348450: lock_release: c0c312cc std_spinlock_raw(&rt_b->rt_runtime_lock) reporter-2375 [000] 2061.348451: sched_wakeup: comm=raw_test pid=2366 prio=49 success=1 target_cpu=000 reporter-2375 [000] 2061.348454: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348462: lock_acquire: f4398a34 key reporter-2375 [000] 2061.348468: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348473: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348477: lock_release: f4398a34 key reporter-2375 [000] 2061.348483: lock_release: f4398de4 &tty->output_lock reporter-2375 [000] 2061.348489: lock_acquire: f4398a34 key reporter-2375 [000] 2061.348493: lock_release: f4398a34 key reporter-2375 [000] 2061.348500: lock_release: f4398d94 &tty->atomic_write_lock reporter-2375 [000] 2061.348505: lock_acquire: f4398a34 key reporter-2375 [000] 2061.348510: lock_release: f4398a34 key reporter-2375 [000] 2061.348521: kfree: call_site=c047fe89 ptr=(null) reporter-2375 [000] 2061.348521: sys_write -> 0x36 reporter-2375 [000] 2061.348524: lock_acquire: c09f8940 trace_wait.lock reporter-2375 [000] 2061.348529: lock_release: c09f8940 trace_wait.lock reporter-2375 [000] 2061.348532: sys_exit: NR 4 = 54 reporter-2375 [000] 2061.348536: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) reporter-2375 [000] 2061.348540: sched_stat_runtime: comm=reporter pid=2375 runtime=623246 [ns] vruntime=67441570500 [ns] reporter-2375 [000] 2061.348542: lock_acquire: c09f4ee4 read rcu_read_lock reporter-2375 [000] 2061.348546: lock_release: c09f4ee4 rcu_read_lock reporter-2375 [000] 2061.348551: sched_switch: prev_comm=reporter prev_pid=2375 prev_prio=120 prev_state=R ==> next_comm=raw_test next_pid=2366 next_prio=49 reporter-2375 [000] 2061.348552: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) raw_test-2366 [000] 2061.348557: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) raw_test-2366 [000] 2061.348560: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) raw_test-2366 [000] 2061.348566: sys_write(fd: 2, buf: bfc21010, count: 3) raw_test-2366 [000] 2061.348568: lock_acquire: c09f8940 trace_wait.lock raw_test-2366 [000] 2061.348573: lock_release: c09f8940 trace_wait.lock raw_test-2366 [000] 2061.348576: sys_enter: NR 4 (2, bfc21010, 3, 3, bfc21010, bfc20fa8) raw_test-2366 [000] 2061.348579: lock_acquire: c09f4ee4 read rcu_read_lock raw_test-2366 [000] 2061.348583: lock_release: c09f4ee4 rcu_read_lock raw_test-2366 [000] 2061.348589: lock_acquire: c0a11da0 tty_ldisc_lock raw_test-2366 [000] 2061.348594: lock_release: c0a11da0 tty_ldisc_lock raw_test-2366 [000] 2061.348600: lock_acquire: f4398d94 try &tty->atomic_write_lock raw_test-2366 [000] 2061.348606: lock_acquire: c1de0e24 read &mm->mmap_sem raw_test-2366 [000] 2061.348609: lock_release: c1de0e24 &mm->mmap_sem raw_test-2366 [000] 2061.348614: lock_acquire: f4398a34 key raw_test-2366 [000] 2061.348619: lock_release: f4398a34 key raw_test-2366 [000] 2061.348625: lock_acquire: f4398de4 &tty->output_lock raw_test-2366 [000] 2061.348635: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock raw_test-2366 [000] 2061.348640: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock raw_test-2366 [000] 2061.348645: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock raw_test-2366 [000] 2061.348650: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock raw_test-2366 [000] 2061.348656: lock_acquire: f4398a34 key raw_test-2366 [000] 2061.348662: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) raw_test-2366 [000] 2061.348665: sched_wakeup: comm=raw_test pid=2366 prio=49 success=0 target_cpu=000 raw_test-2366 [000] 2061.348668: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) raw_test-2366 [000] 2061.348672: lock_release: f4398a34 key raw_test-2366 [000] 2061.348678: lock_release: f4398de4 &tty->output_lock raw_test-2366 [000] 2061.348684: lock_acquire: f4398de4 &tty->output_lock raw_test-2366 [000] 2061.348694: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock raw_test-2366 [000] 2061.348699: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock raw_test-2366 [000] 2061.348705: lock_acquire: f439cb7c &std_spinlock(&tty->buf.lock)->rlock raw_test-2366 [000] 2061.348709: lock_release: f439cb7c &std_spinlock(&tty->buf.lock)->rlock raw_test-2366 [000] 2061.348716: lock_acquire: f4398a34 key raw_test-2366 [000] 2061.348722: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) raw_test-2366 [000] 2061.348726: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) raw_test-2366 [000] 2061.348730: lock_release: f4398a34 key raw_test-2366 [000] 2061.348736: lock_release: f4398de4 &tty->output_lock raw_test-2366 [000] 2061.348742: lock_acquire: f4398a34 key raw_test-2366 [000] 2061.348746: lock_release: f4398a34 key raw_test-2366 [000] 2061.348753: lock_release: f4398d94 &tty->atomic_write_lock raw_test-2366 [000] 2061.348758: lock_acquire: f4398a34 key raw_test-2366 [000] 2061.348763: lock_release: f4398a34 key raw_test-2366 [000] 2061.348774: kfree: call_site=c047fe89 ptr=(null) raw_test-2366 [000] 2061.348775: sys_write -> 0x3 raw_test-2366 [000] 2061.348777: lock_acquire: c09f8940 trace_wait.lock raw_test-2366 [000] 2061.348782: lock_release: c09f8940 trace_wait.lock raw_test-2366 [000] 2061.348785: sys_exit: NR 4 = 3 raw_test-2366 [000] 2061.348806: sys_open(filename: 8049e4c, flags: 2, mode: 1702022b) raw_test-2366 [000] 2061.348809: lock_acquire: c09f8940 trace_wait.lock raw_test-2366 [000] 2061.348814: lock_release: c09f8940 trace_wait.lock raw_test-2366 [000] 2061.348818: sys_enter: NR 5 (8049e4c, 2, 1702022b, 90, 27, bfc23688) raw_test-2366 [000] 2061.348839: kmem_cache_alloc: call_site=c04f44c9 ptr=f5b52080 bytes_req=4096 bytes_alloc=4160 gfp_flags=GFP_KERNEL raw_test-2366 [000] 2061.348842: lock_acquire: c1de0e24 read &mm->mmap_sem raw_test-2366 [000] 2061.348845: lock_release: c1de0e24 &mm->mmap_sem raw_test-2366 [000] 2061.348850: lock_acquire: c1dd0550 &std_spinlock(&newf->file_lock)->rlock raw_test-2366 [000] 2061.348862: lock_acquire: c4803ce4 std_spinlock_raw(&cpu_base->lock) raw_test-2366 [000] 2061.348868: lock_acquire: c12a0ea0 std_spinlock_raw(&obj_hash[i].lock) raw_test-2366 [000] 2061.348872: lock_release: c12a0ea0 std_spinlock_raw(&obj_hash[i].lock) raw_test-2366 [000] 2061.348875: hrtimer_cancel: hrtimer=c4803d88 raw_test-2366 [000] 2061.348877: lock_release: c4803ce4 std_spinlock_raw(&cpu_base->lock) raw_test-2366 [000] 2061.348879: hrtimer_expire_entry: hrtimer=c4803d88 function=tick_sched_timer now=2064306006132 raw_test-2366 [000] 2061.348881: lock_acquire: c09aead4 xtime_lock raw_test-2366 [000] 2061.348886: lock_release: c09aead4 xtime_lock raw_test-2366 [000] 2061.348890: lock_acquire: c09f4ee4 read rcu_read_lock raw_test-2366 [000] 2061.348893: lock_release: c09f4ee4 rcu_read_lock raw_test-2366 [000] 2061.348905: lock_acquire: c494d8d0 std_spinlock_raw(&rq->lock) raw_test-2366 [000] 2061.348911: lock_acquire: c09f4ee4 read rcu_read_lock raw_test-2366 [000] 2061.348914: lock_release: c09f4ee4 rcu_read_lock raw_test-2366 [000] 2061.348917: lock_acquire: c494dd04 std_spinlock_raw(&rt_rq->rt_runtime_lock) raw_test-2366 [000] 2061.348922: lock_release: c494dd04 std_spinlock_raw(&rt_rq->rt_runtime_lock) raw_test-2366 [000] 2061.348925: lock_release: c494d8d0 std_spinlock_raw(&rq->lock) raw_test-2366 [000] 2061.348928: hrtimer_expire_exit: hrtimer=c4803d88 raw_test-2366 [000] 2061.348930: lock_acquire: c4803ce4 std_spinlock_raw(&cpu_base->lock) raw_test-2366 [000] 2061.348935: lock_acquire: c12a0ea0 std_spinlock_raw(&obj_hash[i].lock) raw_test-2366 [000] 2061.348940: lock_release: c12a0ea0 std_spinlock_raw(&obj_hash[i].lock) raw_test-2366 [000] 2061.348942: hrtimer_start: hrtimer=c4803d88 function=tick_sched_timer expires=2064307000000 softexpires=2064307000000 raw_test-2366 [000] 2061.348944: lock_release: c4803ce4 std_spinlock_raw(&cpu_base->lock) raw_test-2366 [000] 2061.348954: softirq_entry: vec=1 [action=TIMER] raw_test-2366 [000] 2061.348957: lock_acquire: c0c73190 &std_spinlock(&base->lock)->rlock raw_test-2366 [000] 2061.348962: lock_release: c0c73190 &std_spinlock(&base->lock)->rlock raw_test-2366 [000] 2061.348964: softirq_exit: vec=1 [action=TIMER] raw_test-2366 [000] 2061.348965: softirq_entry: vec=9 [action=RCU] raw_test-2366 [000] 2061.348973: lock_acquire: c09f7e90 rcu_node_level_0 raw_test-2366 [000] 2061.348978: lock_release: c09f7e90 rcu_node_level_0 raw_test-2366 [000] 2061.348987: softirq_exit: vec=9 [action=RCU] raw_test-2366 [000] 2061.348994: lock_release: c1dd0550 &std_spinlock(&newf->file_lock)->rlock <idle>-0 [001] 2061.348998: lock_acquire: c4a03ce4 std_spinlock_raw(&cpu_base->lock) raw_test-2366 [000] 2061.348999: lock_acquire: c1dfc194 read &fs->lock <idle>-0 [001] 2061.349004: lock_acquire: c12e5aa0 std_spinlock_raw(&obj_hash[i].lock) raw_test-2366 [000] 2061.349005: lock_release: c1dfc194 &fs->lock <idle>-0 [001] 2061.349009: lock_release: c12e5aa0 std_spinlock_raw(&obj_hash[i].lock) raw_test-2366 [000] 2061.349011: lock_acquire: c09f4ee4 read rcu_read_lock <idle>-0 [001] 2061.349012: hrtimer_cancel: hrtimer=c4a03d88 <idle>-0 [001] 2061.349014: lock_release: c4a03ce4 std_spinlock_raw(&cpu_base->lock) raw_test-2366 [000] 2061.349015: lock_acquire: f6686358 &std_spinlock(&dentry->d_lock)->rlock <idle>-0 [001] 2061.349015: hrtimer_expire_entry: hrtimer=c4a03d88 function=tick_sched_timer now=2064306142762 raw_test-2366 [000] 2061.349021: lock_release: f6686358 &std_spinlock(&dentry->d_lock)->rlock raw_test-2366 [000] 2061.349025: lock_release: c09f4ee4 rcu_read_lock <idle>-0 [001] 2061.349025: lock_acquire: c4b4d8d0 std_spinlock_raw(&rq->lock) raw_test-2366 [000] 2061.349029: lock_acquire: c09ebf50 vfsmount_lock <idle>-0 [001] 2061.349030: lock_release: c4b4d8d0 std_spinlock_raw(&rq->lock) <idle>-0 [001] 2061.349033: hrtimer_expire_exit: hrtimer=c4a03d88 <idle>-0 [001] 2061.349035: lock_acquire: c4a03ce4 std_spinlock_raw(&cpu_base->lock) raw_test-2366 [000] 2061.349036: lock_release: c09ebf50 vfsmount_lock <idle>-0 [001] 2061.349040: lock_acquire: c12e5aa0 std_spinlock_raw(&obj_hash[i].lock) raw_test-2366 [000] 2061.349043: lock_acquire: c09fe728 sysfs_mutex <idle>-0 [001] 2061.349045: lock_release: c12e5aa0 std_spinlock_raw(&obj_hash[i].lock) <idle>-0 [001] 2061.349048: hrtimer_start: hrtimer=c4a03d88 function=tick_sched_timer expires=2064307125000 softexpires=2064307125000 <idle>-0 [001] 2061.349050: lock_release: c4a03ce4 std_spinlock_raw(&cpu_base->lock) raw_test-2366 [000] 2061.349054: lock_release: c09fe728 sysfs_mutex <idle>-0 [001] 2061.349059: softirq_entry: vec=1 [action=TIMER] raw_test-2366 [000] 2061.349059: lock_acquire: c09f4ee4 read rcu_read_lock <idle>-0 [001] 2061.349062: lock_acquire: f70e0010 &std_spinlock(&base->lock)->rlock raw_test-2366 [000] 2061.349063: lock_acquire: f66860e8 &std_spinlock(&dentry->d_lock)->rlock <idle>-0 [001] 2061.349067: lock_release: f70e0010 &std_spinlock(&base->lock)->rlock <idle>-0 [001] 2061.349069: softirq_exit: vec=1 [action=TIMER] raw_test-2366 [000] 2061.349070: lock_release: f66860e8 &std_spinlock(&dentry->d_lock)->rlock <idle>-0 [001] 2061.349070: softirq_entry: vec=9 [action=RCU] raw_test-2366 [000] 2061.349073: lock_release: c09f4ee4 rcu_read_lock raw_test-2366 [000] 2061.349079: lock_acquire: c09fe728 sysfs_mutex <idle>-0 [001] 2061.349085: lock_acquire: c09f8050 rcu_node_level_0 raw_test-2366 [000] 2061.349088: lock_release: c09fe728 sysfs_mutex <idle>-0 [001] 2061.349089: lock_release: c09f8050 rcu_node_level_0 <idle>-0 [001] 2061.349093: softirq_exit: vec=9 [action=RCU] raw_test-2366 [000] 2061.349095: lock_acquire: c09fe728 sysfs_mutex <idle>-0 [001] 2061.349100: lock_acquire: f70e0010 &std_spinlock(&base->lock)->rlock <idle>-0 [001] 2061.349104: lock_release: f70e0010 &std_spinlock(&base->lock)->rlock raw_test-2366 [000] 2061.349105: lock_release: c09fe728 sysfs_mutex <idle>-0 [001] 2061.349108: lock_acquire: c4a03ce4 std_spinlock_raw(&cpu_base->lock) raw_test-2366 [000] 2061.349111: lock_acquire: c09f4ee4 read rcu_read_lock <idle>-0 [001] 2061.349113: lock_release: c4a03ce4 std_spinlock_raw(&cpu_base->lock) raw_test-2366 [000] 2061.349115: lock_acquire: f656bb78 &std_spinlock(&dentry->d_lock)->rlock <idle>-0 [001] 2061.349120: power_start: type=1 state=1 raw_test-2366 [000] 2061.349122: lock_release: f656bb78 &std_spinlock(&dentry->d_lock)->rlock raw_test-2366 [000] 2061.349125: lock_release: c09f4ee4 rcu_read_lock raw_test-2366 [000] 2061.349130: lock_acquire: c09fe728 sysfs_mutex raw_test-2366 [000] 2061.349140: lock_release: c09fe728 sysfs_mutex raw_test-2366 [000] 2061.349145: lock_acquire: c09ebf50 vfsmount_lock raw_test-2366 [000] 2061.349152: lock_release: c09ebf50 vfsmount_lock raw_test-2366 [000] 2061.349158: lock_acquire: c09f4ee4 read rcu_read_lock raw_test-2366 [000] 2061.349162: lock_acquire: f6c07428 &std_spinlock(&dentry->d_lock)->rlock raw_test-2366 [000] 2061.349168: lock_release: f6c07428 &std_spinlock(&dentry->d_lock)->rlock raw_test-2366 [000] 2061.349172: lock_release: c09f4ee4 rcu_read_lock raw_test-2366 [000] 2061.349187: kmem_cache_alloc: call_site=c04ecdce ptr=f3639100 bytes_req=196 bytes_alloc=256 gfp_flags=GFP_KERNEL|GFP_ZERO raw_test-2366 [000] 2061.349191: lock_acquire: c09f4ee4 read rcu_read_lock raw_test-2366 [000] 2061.349195: lock_acquire: f6c07de8 &std_spinlock(&dentry->d_lock)->rlock raw_test-2366 [000] 2061.349201: lock_release: f6c07de8 &std_spinlock(&dentry->d_lock)->rlock raw_test-2366 [000] 2061.349205: lock_release: c09f4ee4 rcu_read_lock raw_test-2366 [000] 2061.349212: lock_acquire: f6c3938c &sb->s_type->i_lock_key raw_test-2366 [000] 2061.349219: lock_release: f6c3938c &sb->s_type->i_lock_key raw_test-2366 [000] 2061.349223: lock_acquire: c09ebe50 files_lock raw_test-2366 [000] 2061.349229: lock_release: c09ebe50 files_lock raw_test-2366 [000] 2061.349234: lock_acquire: c09f4ee4 read rcu_read_lock raw_test-2366 [000] 2061.349238: lock_release: c09f4ee4 rcu_read_lock raw_test-2366 [000] 2061.349243: lock_acquire: f7220e04 &iint->mutex raw_test-2366 [000] 2061.349253: lock_release: f7220e04 &iint->mutex raw_test-2366 [000] 2061.349259: lock_acquire: c09f4ee4 read rcu_read_lock raw_test-2366 [000] 2061.349262: lock_release: c09f4ee4 rcu_read_lock raw_test-2366 [000] 2061.349267: lock_acquire: f7220e04 &iint->mutex raw_test-2366 [000] 2061.349277: lock_release: f7220e04 &iint->mutex raw_test-2366 [000] 2061.349283: lock_acquire: c1dd0550 &std_spinlock(&newf->file_lock)->rlock raw_test-2366 [000] 2061.349290: lock_release: c1dd0550 &std_spinlock(&newf->file_lock)->rlock raw_test-2366 [000] 2061.349296: lock_acquire: c1291e78 std_spinlock_raw(&obj_hash[i].lock) raw_test-2366 [000] 2061.349301: lock_release: c1291e78 std_spinlock_raw(&obj_hash[i].lock) raw_test-2366 [000] 2061.349305: lock_acquire: c12f4ca8 std_spinlock_raw(&obj_hash[i].lock) raw_test-2366 [000] 2061.349310: lock_release: c12f4ca8 std_spinlock_raw(&obj_hash[i].lock) raw_test-2366 [000] 2061.349326: kmem_cache_free: call_site=c04f44a0 ptr=f5b52080 raw_test-2366 [000] 2061.349329: kfree: call_site=c047fe89 ptr=(null) raw_test-2366 [000] 2061.349330: sys_open -> 0x3 raw_test-2366 [000] 2061.349333: lock_acquire: c09f8940 trace_wait.lock raw_test-2366 [000] 2061.349338: lock_release: c09f8940 trace_wait.lock raw_test-2366 [000] 2061.349341: sys_exit: NR 5 = 3 raw_test-2366 [000] 2061.349348: sys_write(fd: 3, buf: 8049e71, count: 1) raw_test-2366 [000] 2061.349351: lock_acquire: c09f8940 trace_wait.lock raw_test-2366 [000] 2061.349356: lock_release: c09f8940 trace_wait.lock raw_test-2366 [000] 2061.349359: sys_enter: NR 4 (3, 8049e71, 1, 90, 27, bfc23688) raw_test-2366 [000] 2061.349361: lock_acquire: c09f4ee4 read rcu_read_lock raw_test-2366 [000] 2061.349366: lock_release: c09f4ee4 rcu_read_lock raw_test-2366 [000] 2061.349371: lock_acquire: c1de0e24 read &mm->mmap_sem raw_test-2366 [000] 2061.349375: lock_release: c1de0e24 &mm->mmap_sem ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 10:33 ` Anders Blomdell @ 2010-11-03 11:44 ` Anders Blomdell 2010-11-03 11:50 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Anders Blomdell @ 2010-11-03 11:44 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai Anders Blomdell wrote: > Jan Kiszka wrote: >> Am 01.11.2010 17:55, Anders Blomdell wrote: >>> Jan Kiszka wrote: >>>> Am 28.10.2010 11:34, Anders Blomdell wrote: >>>>> Jan Kiszka wrote: >>>>>> Am 28.10.2010 09:34, Anders Blomdell wrote: >>>>>>> Anders Blomdell wrote: >>>>>>>> Anders Blomdell wrote: >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> I'm trying to use rt_eepro100, for sending raw ethernet packets, >>>>>>>>> but I'm >>>>>>>>> experincing occasionally weird behaviour. >>>>>>>>> >>>>>>>>> Versions of things: >>>>>>>>> >>>>>>>>> linux-2.6.34.5 >>>>>>>>> xenomai-2.5.5.2 >>>>>>>>> rtnet-39f7fcf >>>>>>>>> >>>>>>>>> The testprogram runs on two computers with "Intel Corporation >>>>>>>>> 82557/8/9/0/1 Ethernet Pro 100 (rev 08)" controller, where one >>>>>>>>> computer >>>>>>>>> acts as a mirror sending back packets received from the ethernet >>>>>>>>> (only >>>>>>>>> those two computers on the network), and the other sends >>>>>>>>> packets and >>>>>>>>> measures roundtrip time. Most packets comes back in approximately >>>>>>>>> 100 >>>>>>>>> us, but occasionally the reception times out (once in about 100000 >>>>>>>>> packets or more), but the packets gets immediately received when >>>>>>>>> reception is retried, which might indicate a race between >>>>>>>>> rt_dev_recvmsg >>>>>>>>> and interrupt, but I might miss something obvious. >>>>>>>> Changing one of the ethernet cards to a "Intel Corporation 82541PI >>>>>>>> Gigabit Ethernet Controller (rev 05)", while keeping everything >>>>>>>> else >>>>>>>> constant, changes behavior somewhat; after receiving a few 100000 >>>>>>>> packets, reception stops entirely (-EAGAIN is returned), while >>>>>>>> transmission proceeds as it should (and mirror returns packets). >>>>>>>> >>>>>>>> Any suggestions on what to try? >>>>>>> Since the problem disappears with 'maxcpus=1', I suspect I have a >>>>>>> SMP >>>>>>> issue (machine is a Core2 Quad), so I'll move to xenomai-core. >>>>>>> (original message can be found at >>>>>>> http://sourceforge.net/mailarchive/message.php?msg_name=4CC82C8D.3080808%40control.lth.se >>>>>>> >>>>>>> >>>>>>> ) >>>>>>> >>>>>>> Xenomai-core gurus: which is the corrrect way to debug SMP issues? >>>>>>> Can I run I-pipe-tracer and expect to be able save at least 150 >>>>>>> us of >>>>>>> traces for all cpus? Any hints/suggestions/insigths are welcome... >>>>>> The i-pipe tracer unfortunately only saves traces for a the CPU that >>>>>> triggered the freeze. To have a full pictures, you may want to try my >>>>>> ftrace port I posted recently for 2.6.35. >>>>> 2.6.35.7 ? >>>>> >>>> Exactly. >>> Finally managed to get the ftrace to work >>> (one possible bug: had to manually copy >>> include/xenomai/trace/xn_nucleus.h to >>> include/xenomai/trace/events/xn_nucleus.h), and it looks like it can be >>> very useful... >>> >>> But I don't think it will give much info at the moment, since no >>> xenomai/ipipe interrupt activity shows up, and adding that is far above >>> my league :-( >> >> You could use the function tracer, provided you are able to stop the >> trace quickly enough on error. >> >>> My current theory is that the problem occurs when something like this >>> takes place: >>> >>> CPU-i CPU-j CPU-k CPU-l >>> >>> rt_dev_sendmsg >>> xmit_irq >>> rt_dev_recvmsg recv_irq >> >> Can't follow. When races here, and what will go wrong then? > Thats the good question. Find attached: > > 1. .config (so you can check for stupid mistakes) > 2. console log > 3. latest version of test program > 4. tail of ftrace dump > > These are the xenomai tasks running when the test program is active: > > CPU PID CLASS PRI TIMEOUT TIMEBASE STAT NAME > 0 0 idle -1 - master R ROOT/0 > 1 0 idle -1 - master R ROOT/1 > 2 0 idle -1 - master R ROOT/2 > 3 0 idle -1 - master R ROOT/3 > 0 0 rt 98 - master W rtnet-stack > 0 0 rt 0 - master W rtnet-rtpc > 0 29901 rt 50 - master raw_test > 0 29906 rt 0 - master X reporter > > > > The lines of interest from the trace are probably: > > [003] 2061.347855: xn_nucleus_thread_resume: thread=f9bf7b00 > thread_name=rtnet-stack mask=2 > [003] 2061.347862: xn_nucleus_sched: status=2000000 > [000] 2061.347866: xn_nucleus_sched_remote: status=0 > > since this is the only place where a packet gets delayed, and the only > place in the trace where sched_remote reports a status=0 Since the cpu that has rtnet-stack and hence should be resumed is doing heavy I/O at the time of fault; could it be that send_ipi/schedule_handler needs barriers to make sure taht decisions are made on the right status? /Anders ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 11:44 ` Anders Blomdell @ 2010-11-03 11:50 ` Jan Kiszka 2010-11-03 11:55 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-03 11:50 UTC (permalink / raw) To: Anders Blomdell; +Cc: xenomai Am 03.11.2010 12:44, Anders Blomdell wrote: > Anders Blomdell wrote: >> Jan Kiszka wrote: >>> Am 01.11.2010 17:55, Anders Blomdell wrote: >>>> Jan Kiszka wrote: >>>>> Am 28.10.2010 11:34, Anders Blomdell wrote: >>>>>> Jan Kiszka wrote: >>>>>>> Am 28.10.2010 09:34, Anders Blomdell wrote: >>>>>>>> Anders Blomdell wrote: >>>>>>>>> Anders Blomdell wrote: >>>>>>>>>> Hi, >>>>>>>>>> >>>>>>>>>> I'm trying to use rt_eepro100, for sending raw ethernet packets, >>>>>>>>>> but I'm >>>>>>>>>> experincing occasionally weird behaviour. >>>>>>>>>> >>>>>>>>>> Versions of things: >>>>>>>>>> >>>>>>>>>> linux-2.6.34.5 >>>>>>>>>> xenomai-2.5.5.2 >>>>>>>>>> rtnet-39f7fcf >>>>>>>>>> >>>>>>>>>> The testprogram runs on two computers with "Intel Corporation >>>>>>>>>> 82557/8/9/0/1 Ethernet Pro 100 (rev 08)" controller, where one >>>>>>>>>> computer >>>>>>>>>> acts as a mirror sending back packets received from the ethernet >>>>>>>>>> (only >>>>>>>>>> those two computers on the network), and the other sends >>>>>>>>>> packets and >>>>>>>>>> measures roundtrip time. Most packets comes back in approximately >>>>>>>>>> 100 >>>>>>>>>> us, but occasionally the reception times out (once in about >>>>>>>>>> 100000 >>>>>>>>>> packets or more), but the packets gets immediately received when >>>>>>>>>> reception is retried, which might indicate a race between >>>>>>>>>> rt_dev_recvmsg >>>>>>>>>> and interrupt, but I might miss something obvious. >>>>>>>>> Changing one of the ethernet cards to a "Intel Corporation 82541PI >>>>>>>>> Gigabit Ethernet Controller (rev 05)", while keeping everything >>>>>>>>> else >>>>>>>>> constant, changes behavior somewhat; after receiving a few 100000 >>>>>>>>> packets, reception stops entirely (-EAGAIN is returned), while >>>>>>>>> transmission proceeds as it should (and mirror returns packets). >>>>>>>>> >>>>>>>>> Any suggestions on what to try? >>>>>>>> Since the problem disappears with 'maxcpus=1', I suspect I have >>>>>>>> a SMP >>>>>>>> issue (machine is a Core2 Quad), so I'll move to xenomai-core. >>>>>>>> (original message can be found at >>>>>>>> http://sourceforge.net/mailarchive/message.php?msg_name=4CC82C8D.3080808%40control.lth.se >>>>>>>> >>>>>>>> >>>>>>>> ) >>>>>>>> >>>>>>>> Xenomai-core gurus: which is the corrrect way to debug SMP issues? >>>>>>>> Can I run I-pipe-tracer and expect to be able save at least 150 >>>>>>>> us of >>>>>>>> traces for all cpus? Any hints/suggestions/insigths are welcome... >>>>>>> The i-pipe tracer unfortunately only saves traces for a the CPU that >>>>>>> triggered the freeze. To have a full pictures, you may want to >>>>>>> try my >>>>>>> ftrace port I posted recently for 2.6.35. >>>>>> 2.6.35.7 ? >>>>>> >>>>> Exactly. >>>> Finally managed to get the ftrace to work >>>> (one possible bug: had to manually copy >>>> include/xenomai/trace/xn_nucleus.h to >>>> include/xenomai/trace/events/xn_nucleus.h), and it looks like it can be >>>> very useful... >>>> >>>> But I don't think it will give much info at the moment, since no >>>> xenomai/ipipe interrupt activity shows up, and adding that is far above >>>> my league :-( >>> >>> You could use the function tracer, provided you are able to stop the >>> trace quickly enough on error. >>> >>>> My current theory is that the problem occurs when something like this >>>> takes place: >>>> >>>> CPU-i CPU-j CPU-k CPU-l >>>> >>>> rt_dev_sendmsg >>>> xmit_irq >>>> rt_dev_recvmsg recv_irq >>> >>> Can't follow. When races here, and what will go wrong then? >> Thats the good question. Find attached: >> >> 1. .config (so you can check for stupid mistakes) >> 2. console log >> 3. latest version of test program >> 4. tail of ftrace dump >> >> These are the xenomai tasks running when the test program is active: >> >> CPU PID CLASS PRI TIMEOUT TIMEBASE STAT NAME >> 0 0 idle -1 - master R ROOT/0 >> 1 0 idle -1 - master R ROOT/1 >> 2 0 idle -1 - master R ROOT/2 >> 3 0 idle -1 - master R ROOT/3 >> 0 0 rt 98 - master W rtnet-stack >> 0 0 rt 0 - master W rtnet-rtpc >> 0 29901 rt 50 - master raw_test >> 0 29906 rt 0 - master X reporter >> >> >> >> The lines of interest from the trace are probably: >> >> [003] 2061.347855: xn_nucleus_thread_resume: thread=f9bf7b00 >> thread_name=rtnet-stack mask=2 >> [003] 2061.347862: xn_nucleus_sched: status=2000000 >> [000] 2061.347866: xn_nucleus_sched_remote: status=0 >> >> since this is the only place where a packet gets delayed, and the only >> place in the trace where sched_remote reports a status=0 > Since the cpu that has rtnet-stack and hence should be resumed is doing > heavy I/O at the time of fault; could it be that > send_ipi/schedule_handler needs barriers to make sure taht decisions are > made on the right status? That was my first idea as well - but we should run all relevant code under nklock here. But please correct me if I miss something. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 11:50 ` Jan Kiszka @ 2010-11-03 11:55 ` Jan Kiszka 2010-11-03 12:07 ` Anders Blomdell 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-03 11:55 UTC (permalink / raw) To: Anders Blomdell; +Cc: xenomai Am 03.11.2010 12:50, Jan Kiszka wrote: > Am 03.11.2010 12:44, Anders Blomdell wrote: >> Anders Blomdell wrote: >>> Jan Kiszka wrote: >>>> Am 01.11.2010 17:55, Anders Blomdell wrote: >>>>> Jan Kiszka wrote: >>>>>> Am 28.10.2010 11:34, Anders Blomdell wrote: >>>>>>> Jan Kiszka wrote: >>>>>>>> Am 28.10.2010 09:34, Anders Blomdell wrote: >>>>>>>>> Anders Blomdell wrote: >>>>>>>>>> Anders Blomdell wrote: >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> I'm trying to use rt_eepro100, for sending raw ethernet packets, >>>>>>>>>>> but I'm >>>>>>>>>>> experincing occasionally weird behaviour. >>>>>>>>>>> >>>>>>>>>>> Versions of things: >>>>>>>>>>> >>>>>>>>>>> linux-2.6.34.5 >>>>>>>>>>> xenomai-2.5.5.2 >>>>>>>>>>> rtnet-39f7fcf >>>>>>>>>>> >>>>>>>>>>> The testprogram runs on two computers with "Intel Corporation >>>>>>>>>>> 82557/8/9/0/1 Ethernet Pro 100 (rev 08)" controller, where one >>>>>>>>>>> computer >>>>>>>>>>> acts as a mirror sending back packets received from the ethernet >>>>>>>>>>> (only >>>>>>>>>>> those two computers on the network), and the other sends >>>>>>>>>>> packets and >>>>>>>>>>> measures roundtrip time. Most packets comes back in approximately >>>>>>>>>>> 100 >>>>>>>>>>> us, but occasionally the reception times out (once in about >>>>>>>>>>> 100000 >>>>>>>>>>> packets or more), but the packets gets immediately received when >>>>>>>>>>> reception is retried, which might indicate a race between >>>>>>>>>>> rt_dev_recvmsg >>>>>>>>>>> and interrupt, but I might miss something obvious. >>>>>>>>>> Changing one of the ethernet cards to a "Intel Corporation 82541PI >>>>>>>>>> Gigabit Ethernet Controller (rev 05)", while keeping everything >>>>>>>>>> else >>>>>>>>>> constant, changes behavior somewhat; after receiving a few 100000 >>>>>>>>>> packets, reception stops entirely (-EAGAIN is returned), while >>>>>>>>>> transmission proceeds as it should (and mirror returns packets). >>>>>>>>>> >>>>>>>>>> Any suggestions on what to try? >>>>>>>>> Since the problem disappears with 'maxcpus=1', I suspect I have >>>>>>>>> a SMP >>>>>>>>> issue (machine is a Core2 Quad), so I'll move to xenomai-core. >>>>>>>>> (original message can be found at >>>>>>>>> http://sourceforge.net/mailarchive/message.php?msg_name=4CC82C8D.3080808%40control.lth.se >>>>>>>>> >>>>>>>>> >>>>>>>>> ) >>>>>>>>> >>>>>>>>> Xenomai-core gurus: which is the corrrect way to debug SMP issues? >>>>>>>>> Can I run I-pipe-tracer and expect to be able save at least 150 >>>>>>>>> us of >>>>>>>>> traces for all cpus? Any hints/suggestions/insigths are welcome... >>>>>>>> The i-pipe tracer unfortunately only saves traces for a the CPU that >>>>>>>> triggered the freeze. To have a full pictures, you may want to >>>>>>>> try my >>>>>>>> ftrace port I posted recently for 2.6.35. >>>>>>> 2.6.35.7 ? >>>>>>> >>>>>> Exactly. >>>>> Finally managed to get the ftrace to work >>>>> (one possible bug: had to manually copy >>>>> include/xenomai/trace/xn_nucleus.h to >>>>> include/xenomai/trace/events/xn_nucleus.h), and it looks like it can be >>>>> very useful... >>>>> >>>>> But I don't think it will give much info at the moment, since no >>>>> xenomai/ipipe interrupt activity shows up, and adding that is far above >>>>> my league :-( >>>> >>>> You could use the function tracer, provided you are able to stop the >>>> trace quickly enough on error. >>>> >>>>> My current theory is that the problem occurs when something like this >>>>> takes place: >>>>> >>>>> CPU-i CPU-j CPU-k CPU-l >>>>> >>>>> rt_dev_sendmsg >>>>> xmit_irq >>>>> rt_dev_recvmsg recv_irq >>>> >>>> Can't follow. When races here, and what will go wrong then? >>> Thats the good question. Find attached: >>> >>> 1. .config (so you can check for stupid mistakes) >>> 2. console log >>> 3. latest version of test program >>> 4. tail of ftrace dump >>> >>> These are the xenomai tasks running when the test program is active: >>> >>> CPU PID CLASS PRI TIMEOUT TIMEBASE STAT NAME >>> 0 0 idle -1 - master R ROOT/0 >>> 1 0 idle -1 - master R ROOT/1 >>> 2 0 idle -1 - master R ROOT/2 >>> 3 0 idle -1 - master R ROOT/3 >>> 0 0 rt 98 - master W rtnet-stack >>> 0 0 rt 0 - master W rtnet-rtpc >>> 0 29901 rt 50 - master raw_test >>> 0 29906 rt 0 - master X reporter >>> >>> >>> >>> The lines of interest from the trace are probably: >>> >>> [003] 2061.347855: xn_nucleus_thread_resume: thread=f9bf7b00 >>> thread_name=rtnet-stack mask=2 >>> [003] 2061.347862: xn_nucleus_sched: status=2000000 >>> [000] 2061.347866: xn_nucleus_sched_remote: status=0 >>> >>> since this is the only place where a packet gets delayed, and the only >>> place in the trace where sched_remote reports a status=0 >> Since the cpu that has rtnet-stack and hence should be resumed is doing >> heavy I/O at the time of fault; could it be that >> send_ipi/schedule_handler needs barriers to make sure taht decisions are >> made on the right status? > > That was my first idea as well - but we should run all relevant code > under nklock here. But please correct me if I miss something. Mmmh -- not everything. The inlined XNRESCHED entry test in xnpod_schedule runs outside nklock. But doesn't releasing nklock imply a memory write barrier? Let me meditate... Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 11:55 ` Jan Kiszka @ 2010-11-03 12:07 ` Anders Blomdell 2010-11-03 12:17 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Anders Blomdell @ 2010-11-03 12:07 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai On 2010-11-03 12.55, Jan Kiszka wrote: > Am 03.11.2010 12:50, Jan Kiszka wrote: >> Am 03.11.2010 12:44, Anders Blomdell wrote: >>> Anders Blomdell wrote: >>>> Jan Kiszka wrote: >>>>> Am 01.11.2010 17:55, Anders Blomdell wrote: >>>>>> Jan Kiszka wrote: >>>>>>> Am 28.10.2010 11:34, Anders Blomdell wrote: >>>>>>>> Jan Kiszka wrote: >>>>>>>>> Am 28.10.2010 09:34, Anders Blomdell wrote: >>>>>>>>>> Anders Blomdell wrote: >>>>>>>>>>> Anders Blomdell wrote: >>>>>>>>>>>> Hi, >>>>>>>>>>>> >>>>>>>>>>>> I'm trying to use rt_eepro100, for sending raw ethernet packets, >>>>>>>>>>>> but I'm >>>>>>>>>>>> experincing occasionally weird behaviour. >>>>>>>>>>>> >>>>>>>>>>>> Versions of things: >>>>>>>>>>>> >>>>>>>>>>>> linux-2.6.34.5 >>>>>>>>>>>> xenomai-2.5.5.2 >>>>>>>>>>>> rtnet-39f7fcf >>>>>>>>>>>> >>>>>>>>>>>> The testprogram runs on two computers with "Intel Corporation >>>>>>>>>>>> 82557/8/9/0/1 Ethernet Pro 100 (rev 08)" controller, where one >>>>>>>>>>>> computer >>>>>>>>>>>> acts as a mirror sending back packets received from the ethernet >>>>>>>>>>>> (only >>>>>>>>>>>> those two computers on the network), and the other sends >>>>>>>>>>>> packets and >>>>>>>>>>>> measures roundtrip time. Most packets comes back in approximately >>>>>>>>>>>> 100 >>>>>>>>>>>> us, but occasionally the reception times out (once in about >>>>>>>>>>>> 100000 >>>>>>>>>>>> packets or more), but the packets gets immediately received when >>>>>>>>>>>> reception is retried, which might indicate a race between >>>>>>>>>>>> rt_dev_recvmsg >>>>>>>>>>>> and interrupt, but I might miss something obvious. >>>>>>>>>>> Changing one of the ethernet cards to a "Intel Corporation 82541PI >>>>>>>>>>> Gigabit Ethernet Controller (rev 05)", while keeping everything >>>>>>>>>>> else >>>>>>>>>>> constant, changes behavior somewhat; after receiving a few 100000 >>>>>>>>>>> packets, reception stops entirely (-EAGAIN is returned), while >>>>>>>>>>> transmission proceeds as it should (and mirror returns packets). >>>>>>>>>>> >>>>>>>>>>> Any suggestions on what to try? >>>>>>>>>> Since the problem disappears with 'maxcpus=1', I suspect I have >>>>>>>>>> a SMP >>>>>>>>>> issue (machine is a Core2 Quad), so I'll move to xenomai-core. >>>>>>>>>> (original message can be found at >>>>>>>>>> http://sourceforge.net/mailarchive/message.php?msg_name=4CC82C8D.3080808%40control.lth.se >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> ) >>>>>>>>>> >>>>>>>>>> Xenomai-core gurus: which is the corrrect way to debug SMP issues? >>>>>>>>>> Can I run I-pipe-tracer and expect to be able save at least 150 >>>>>>>>>> us of >>>>>>>>>> traces for all cpus? Any hints/suggestions/insigths are welcome... >>>>>>>>> The i-pipe tracer unfortunately only saves traces for a the CPU that >>>>>>>>> triggered the freeze. To have a full pictures, you may want to >>>>>>>>> try my >>>>>>>>> ftrace port I posted recently for 2.6.35. >>>>>>>> 2.6.35.7 ? >>>>>>>> >>>>>>> Exactly. >>>>>> Finally managed to get the ftrace to work >>>>>> (one possible bug: had to manually copy >>>>>> include/xenomai/trace/xn_nucleus.h to >>>>>> include/xenomai/trace/events/xn_nucleus.h), and it looks like it can be >>>>>> very useful... >>>>>> >>>>>> But I don't think it will give much info at the moment, since no >>>>>> xenomai/ipipe interrupt activity shows up, and adding that is far above >>>>>> my league :-( >>>>> >>>>> You could use the function tracer, provided you are able to stop the >>>>> trace quickly enough on error. >>>>> >>>>>> My current theory is that the problem occurs when something like this >>>>>> takes place: >>>>>> >>>>>> CPU-i CPU-j CPU-k CPU-l >>>>>> >>>>>> rt_dev_sendmsg >>>>>> xmit_irq >>>>>> rt_dev_recvmsg recv_irq >>>>> >>>>> Can't follow. When races here, and what will go wrong then? >>>> Thats the good question. Find attached: >>>> >>>> 1. .config (so you can check for stupid mistakes) >>>> 2. console log >>>> 3. latest version of test program >>>> 4. tail of ftrace dump >>>> >>>> These are the xenomai tasks running when the test program is active: >>>> >>>> CPU PID CLASS PRI TIMEOUT TIMEBASE STAT NAME >>>> 0 0 idle -1 - master R ROOT/0 >>>> 1 0 idle -1 - master R ROOT/1 >>>> 2 0 idle -1 - master R ROOT/2 >>>> 3 0 idle -1 - master R ROOT/3 >>>> 0 0 rt 98 - master W rtnet-stack >>>> 0 0 rt 0 - master W rtnet-rtpc >>>> 0 29901 rt 50 - master raw_test >>>> 0 29906 rt 0 - master X reporter >>>> >>>> >>>> >>>> The lines of interest from the trace are probably: >>>> >>>> [003] 2061.347855: xn_nucleus_thread_resume: thread=f9bf7b00 >>>> thread_name=rtnet-stack mask=2 >>>> [003] 2061.347862: xn_nucleus_sched: status=2000000 >>>> [000] 2061.347866: xn_nucleus_sched_remote: status=0 >>>> >>>> since this is the only place where a packet gets delayed, and the only >>>> place in the trace where sched_remote reports a status=0 >>> Since the cpu that has rtnet-stack and hence should be resumed is doing >>> heavy I/O at the time of fault; could it be that >>> send_ipi/schedule_handler needs barriers to make sure taht decisions are >>> made on the right status? >> >> That was my first idea as well - but we should run all relevant code >> under nklock here. But please correct me if I miss something. Wouldn't we need a write-barrier before the send_ipi regardless of what locks we hold, otherwise no guarantees that the memory write reaches the target cpu before the interrupt does? > > Mmmh -- not everything. The inlined XNRESCHED entry test in > xnpod_schedule runs outside nklock. But doesn't releasing nklock imply a > memory write barrier? Let me meditate... Wouldn't we need a read barrier then (but maybe the irq-handling takes care of that, not familiar with the code yet)? Meditate all yo need. BTW: the ftrace stuff is great, I'm looking forward to be able to trace everything this way :-) /Anders -- Anders Blomdell Email: anders.blomdell@domain.hid Department of Automatic Control Lund University Phone: +46 46 222 4625 P.O. Box 118 Fax: +46 46 138118 SE-221 00 Lund, Sweden ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 12:07 ` Anders Blomdell @ 2010-11-03 12:17 ` Jan Kiszka 2010-11-03 13:40 ` Anders Blomdell 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-03 12:17 UTC (permalink / raw) To: Anders Blomdell; +Cc: xenomai@xenomai.org Am 03.11.2010 13:07, Anders Blomdell wrote: > On 2010-11-03 12.55, Jan Kiszka wrote: >> Am 03.11.2010 12:50, Jan Kiszka wrote: >>> Am 03.11.2010 12:44, Anders Blomdell wrote: >>>> Anders Blomdell wrote: >>>>> Jan Kiszka wrote: >>>>>> Am 01.11.2010 17:55, Anders Blomdell wrote: >>>>>>> Jan Kiszka wrote: >>>>>>>> Am 28.10.2010 11:34, Anders Blomdell wrote: >>>>>>>>> Jan Kiszka wrote: >>>>>>>>>> Am 28.10.2010 09:34, Anders Blomdell wrote: >>>>>>>>>>> Anders Blomdell wrote: >>>>>>>>>>>> Anders Blomdell wrote: >>>>>>>>>>>>> Hi, >>>>>>>>>>>>> >>>>>>>>>>>>> I'm trying to use rt_eepro100, for sending raw ethernet packets, >>>>>>>>>>>>> but I'm >>>>>>>>>>>>> experincing occasionally weird behaviour. >>>>>>>>>>>>> >>>>>>>>>>>>> Versions of things: >>>>>>>>>>>>> >>>>>>>>>>>>> linux-2.6.34.5 >>>>>>>>>>>>> xenomai-2.5.5.2 >>>>>>>>>>>>> rtnet-39f7fcf >>>>>>>>>>>>> >>>>>>>>>>>>> The testprogram runs on two computers with "Intel Corporation >>>>>>>>>>>>> 82557/8/9/0/1 Ethernet Pro 100 (rev 08)" controller, where one >>>>>>>>>>>>> computer >>>>>>>>>>>>> acts as a mirror sending back packets received from the ethernet >>>>>>>>>>>>> (only >>>>>>>>>>>>> those two computers on the network), and the other sends >>>>>>>>>>>>> packets and >>>>>>>>>>>>> measures roundtrip time. Most packets comes back in approximately >>>>>>>>>>>>> 100 >>>>>>>>>>>>> us, but occasionally the reception times out (once in about >>>>>>>>>>>>> 100000 >>>>>>>>>>>>> packets or more), but the packets gets immediately received when >>>>>>>>>>>>> reception is retried, which might indicate a race between >>>>>>>>>>>>> rt_dev_recvmsg >>>>>>>>>>>>> and interrupt, but I might miss something obvious. >>>>>>>>>>>> Changing one of the ethernet cards to a "Intel Corporation 82541PI >>>>>>>>>>>> Gigabit Ethernet Controller (rev 05)", while keeping everything >>>>>>>>>>>> else >>>>>>>>>>>> constant, changes behavior somewhat; after receiving a few 100000 >>>>>>>>>>>> packets, reception stops entirely (-EAGAIN is returned), while >>>>>>>>>>>> transmission proceeds as it should (and mirror returns packets). >>>>>>>>>>>> >>>>>>>>>>>> Any suggestions on what to try? >>>>>>>>>>> Since the problem disappears with 'maxcpus=1', I suspect I have >>>>>>>>>>> a SMP >>>>>>>>>>> issue (machine is a Core2 Quad), so I'll move to xenomai-core. >>>>>>>>>>> (original message can be found at >>>>>>>>>>> http://sourceforge.net/mailarchive/message.php?msg_name=4CC82C8D.3080808%40control.lth.se >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> ) >>>>>>>>>>> >>>>>>>>>>> Xenomai-core gurus: which is the corrrect way to debug SMP issues? >>>>>>>>>>> Can I run I-pipe-tracer and expect to be able save at least 150 >>>>>>>>>>> us of >>>>>>>>>>> traces for all cpus? Any hints/suggestions/insigths are welcome... >>>>>>>>>> The i-pipe tracer unfortunately only saves traces for a the CPU that >>>>>>>>>> triggered the freeze. To have a full pictures, you may want to >>>>>>>>>> try my >>>>>>>>>> ftrace port I posted recently for 2.6.35. >>>>>>>>> 2.6.35.7 ? >>>>>>>>> >>>>>>>> Exactly. >>>>>>> Finally managed to get the ftrace to work >>>>>>> (one possible bug: had to manually copy >>>>>>> include/xenomai/trace/xn_nucleus.h to >>>>>>> include/xenomai/trace/events/xn_nucleus.h), and it looks like it can be >>>>>>> very useful... >>>>>>> >>>>>>> But I don't think it will give much info at the moment, since no >>>>>>> xenomai/ipipe interrupt activity shows up, and adding that is far above >>>>>>> my league :-( >>>>>> >>>>>> You could use the function tracer, provided you are able to stop the >>>>>> trace quickly enough on error. >>>>>> >>>>>>> My current theory is that the problem occurs when something like this >>>>>>> takes place: >>>>>>> >>>>>>> CPU-i CPU-j CPU-k CPU-l >>>>>>> >>>>>>> rt_dev_sendmsg >>>>>>> xmit_irq >>>>>>> rt_dev_recvmsg recv_irq >>>>>> >>>>>> Can't follow. When races here, and what will go wrong then? >>>>> Thats the good question. Find attached: >>>>> >>>>> 1. .config (so you can check for stupid mistakes) >>>>> 2. console log >>>>> 3. latest version of test program >>>>> 4. tail of ftrace dump >>>>> >>>>> These are the xenomai tasks running when the test program is active: >>>>> >>>>> CPU PID CLASS PRI TIMEOUT TIMEBASE STAT NAME >>>>> 0 0 idle -1 - master R ROOT/0 >>>>> 1 0 idle -1 - master R ROOT/1 >>>>> 2 0 idle -1 - master R ROOT/2 >>>>> 3 0 idle -1 - master R ROOT/3 >>>>> 0 0 rt 98 - master W rtnet-stack >>>>> 0 0 rt 0 - master W rtnet-rtpc >>>>> 0 29901 rt 50 - master raw_test >>>>> 0 29906 rt 0 - master X reporter >>>>> >>>>> >>>>> >>>>> The lines of interest from the trace are probably: >>>>> >>>>> [003] 2061.347855: xn_nucleus_thread_resume: thread=f9bf7b00 >>>>> thread_name=rtnet-stack mask=2 >>>>> [003] 2061.347862: xn_nucleus_sched: status=2000000 >>>>> [000] 2061.347866: xn_nucleus_sched_remote: status=0 >>>>> >>>>> since this is the only place where a packet gets delayed, and the only >>>>> place in the trace where sched_remote reports a status=0 >>>> Since the cpu that has rtnet-stack and hence should be resumed is doing >>>> heavy I/O at the time of fault; could it be that >>>> send_ipi/schedule_handler needs barriers to make sure taht decisions are >>>> made on the right status? >>> >>> That was my first idea as well - but we should run all relevant code >>> under nklock here. But please correct me if I miss something. > Wouldn't we need a write-barrier before the send_ipi regardless of what locks we > hold, otherwise no guarantees that the memory write reaches the target cpu > before the interrupt does? Yeah, the problem is that if xnpod_resume_thread and the next xnpod_reschedule are under the same nklock, we won't issue the barrier as we won't release the lock! So there is indeed the need to issue an additional barrier. Can you check this? diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h index df56417..66b52ad 100644 --- a/include/nucleus/sched.h +++ b/include/nucleus/sched.h @@ -187,6 +187,7 @@ static inline int xnsched_self_resched_p(struct xnsched *sched) if (current_sched != (__sched__)) { \ xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ setbits((__sched__)->status, XNRESCHED); \ + xnarch_memory_barrier(); \ } \ } while (0) > >> >> Mmmh -- not everything. The inlined XNRESCHED entry test in >> xnpod_schedule runs outside nklock. But doesn't releasing nklock imply a >> memory write barrier? Let me meditate... > Wouldn't we need a read barrier then (but maybe the irq-handling takes care of > that, not familiar with the code yet)? A read barrier is not required here as we do not need to order load operation /wrt each other in the reschedule IRQ handler. > > Meditate all yo need. BTW: the ftrace stuff is great, I'm looking forward to be > able to trace everything this way :-) You can always help: there is a lot boring^Winteresting tracepoint conversion waiting in Xenomai, see the few already converted nucleus tracepoints. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux ^ permalink raw reply related [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 12:17 ` Jan Kiszka @ 2010-11-03 13:40 ` Anders Blomdell 2010-11-03 16:02 ` Anders Blomdell 0 siblings, 1 reply; 85+ messages in thread From: Anders Blomdell @ 2010-11-03 13:40 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > additional barrier. Can you check this? > > diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h > index df56417..66b52ad 100644 > --- a/include/nucleus/sched.h > +++ b/include/nucleus/sched.h > @@ -187,6 +187,7 @@ static inline int xnsched_self_resched_p(struct xnsched *sched) > if (current_sched != (__sched__)) { \ > xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ > setbits((__sched__)->status, XNRESCHED); \ > + xnarch_memory_barrier(); \ > } \ > } while (0) In progress, if nothing breaks before, I'll report status tomorrow morning. >>> Mmmh -- not everything. The inlined XNRESCHED entry test in >>> xnpod_schedule runs outside nklock. But doesn't releasing nklock imply a >>> memory write barrier? Let me meditate... >> Wouldn't we need a read barrier then (but maybe the irq-handling takes care of >> that, not familiar with the code yet)? > > A read barrier is not required here as we do not need to order load > operation /wrt each other in the reschedule IRQ handler. Only if taking the interrupt is equivalent to: read interrupts status memory_read_barrier execute handler processor manuals should have the answer to this (or it might already be in the code)... > You can always help: there is a lot boring^Winteresting tracepoint > conversion waiting in Xenomai, see the few already converted nucleus > tracepoints. As soon as I have my system running, I'll put some effort into this. /Anders ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 13:40 ` Anders Blomdell @ 2010-11-03 16:02 ` Anders Blomdell 2010-11-03 16:46 ` Anders Blomdell 0 siblings, 1 reply; 85+ messages in thread From: Anders Blomdell @ 2010-11-03 16:02 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Anders Blomdell wrote: > Jan Kiszka wrote: >> additional barrier. Can you check this? >> >> diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h >> index df56417..66b52ad 100644 >> --- a/include/nucleus/sched.h >> +++ b/include/nucleus/sched.h >> @@ -187,6 +187,7 @@ static inline int xnsched_self_resched_p(struct >> xnsched *sched) >> if (current_sched != (__sched__)) { \ >> xnarch_cpu_set(xnsched_cpu(__sched__), >> current_sched->resched); \ >> setbits((__sched__)->status, XNRESCHED); \ >> + xnarch_memory_barrier(); \ >> } \ >> } while (0) > > In progress, if nothing breaks before, I'll report status tomorrow morning. It still breaks (in approximately the same way). I'm currently putting a barrier in the other macro doing a RESCHED, also adding some tracing to see if a read barrier is needed. Interesting side-note: Harddisk accesses seems to get real slow after error has occured (kernel installs progresses with 2-3 modules installed per second), while lots of idle time reported on all cpu's, weird... /Anders ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 16:02 ` Anders Blomdell @ 2010-11-03 16:46 ` Anders Blomdell 2010-11-03 16:53 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Anders Blomdell @ 2010-11-03 16:46 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Anders Blomdell wrote: > Anders Blomdell wrote: >> Jan Kiszka wrote: >>> additional barrier. Can you check this? >>> >>> diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h >>> index df56417..66b52ad 100644 >>> --- a/include/nucleus/sched.h >>> +++ b/include/nucleus/sched.h >>> @@ -187,6 +187,7 @@ static inline int xnsched_self_resched_p(struct >>> xnsched *sched) >>> if (current_sched != (__sched__)) { \ >>> xnarch_cpu_set(xnsched_cpu(__sched__), >>> current_sched->resched); \ >>> setbits((__sched__)->status, XNRESCHED); \ >>> + xnarch_memory_barrier(); \ >>> } \ >>> } while (0) >> >> In progress, if nothing breaks before, I'll report status tomorrow >> morning. > It still breaks (in approximately the same way). I'm currently putting a > barrier in the other macro doing a RESCHED, also adding some tracing to > see if a read barrier is needed. Nope, no luck there either. Will start interesting tracepoint adding/conversion :-( Any reason why xn_nucleus_sched_remote should ever report status = 0? /Anders ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 16:46 ` Anders Blomdell @ 2010-11-03 16:53 ` Jan Kiszka 2010-11-03 19:38 ` Anders Blomdell 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-03 16:53 UTC (permalink / raw) To: Anders Blomdell; +Cc: xenomai@xenomai.org Am 03.11.2010 17:46, Anders Blomdell wrote: > Anders Blomdell wrote: >> Anders Blomdell wrote: >>> Jan Kiszka wrote: >>>> additional barrier. Can you check this? >>>> >>>> diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h >>>> index df56417..66b52ad 100644 >>>> --- a/include/nucleus/sched.h >>>> +++ b/include/nucleus/sched.h >>>> @@ -187,6 +187,7 @@ static inline int xnsched_self_resched_p(struct >>>> xnsched *sched) >>>> if (current_sched != (__sched__)) { \ >>>> xnarch_cpu_set(xnsched_cpu(__sched__), >>>> current_sched->resched); \ >>>> setbits((__sched__)->status, XNRESCHED); \ >>>> + xnarch_memory_barrier(); \ >>>> } \ >>>> } while (0) >>> >>> In progress, if nothing breaks before, I'll report status tomorrow >>> morning. >> It still breaks (in approximately the same way). I'm currently putting a >> barrier in the other macro doing a RESCHED, also adding some tracing to >> see if a read barrier is needed. > Nope, no luck there either. Will start interesting tracepoint > adding/conversion :-( Strange. But it was too easy anyway... > > Any reason why xn_nucleus_sched_remote should ever report status = 0? Really don't know yet. You could trigger on this state and call ftrace_stop() then. Provided you had the functions tracer enabled, that should give a nice pictures of what happened before. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 16:53 ` Jan Kiszka @ 2010-11-03 19:38 ` Anders Blomdell 2010-11-03 20:41 ` Philippe Gerum 0 siblings, 1 reply; 85+ messages in thread From: Anders Blomdell @ 2010-11-03 19:38 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Am 03.11.2010 17:46, Anders Blomdell wrote: >> Anders Blomdell wrote: >>> Anders Blomdell wrote: >>>> Jan Kiszka wrote: >>>>> additional barrier. Can you check this? >>>>> >>>>> diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h >>>>> index df56417..66b52ad 100644 >>>>> --- a/include/nucleus/sched.h >>>>> +++ b/include/nucleus/sched.h >>>>> @@ -187,6 +187,7 @@ static inline int xnsched_self_resched_p(struct >>>>> xnsched *sched) >>>>> if (current_sched != (__sched__)) { \ >>>>> xnarch_cpu_set(xnsched_cpu(__sched__), >>>>> current_sched->resched); \ >>>>> setbits((__sched__)->status, XNRESCHED); \ >>>>> + xnarch_memory_barrier(); \ >>>>> } \ >>>>> } while (0) >>>> In progress, if nothing breaks before, I'll report status tomorrow >>>> morning. >>> It still breaks (in approximately the same way). I'm currently putting a >>> barrier in the other macro doing a RESCHED, also adding some tracing to >>> see if a read barrier is needed. >> Nope, no luck there either. Will start interesting tracepoint >> adding/conversion :-( > > Strange. But it was too easy anyway... > >> Any reason why xn_nucleus_sched_remote should ever report status = 0? > > Really don't know yet. You could trigger on this state and call > ftrace_stop() then. Provided you had the functions tracer enabled, that > should give a nice pictures of what happened before. Isn't there a race betweeen these two (still waiting for compilation to be finished)? static inline int __xnpod_test_resched(struct xnsched *sched) { int resched = testbits(sched->status, XNRESCHED); #ifdef CONFIG_SMP /* Send resched IPI to remote CPU(s). */ if (unlikely(xnsched_resched_p(sched))) { xnarch_send_ipi(sched->resched); xnarch_cpus_clear(sched->resched); } #endif clrbits(sched->status, XNRESCHED); return resched; } #define xnsched_set_resched(__sched__) do { \ xnsched_t *current_sched = xnpod_current_sched(); \ setbits(current_sched->status, XNRESCHED); \ if (current_sched != (__sched__)) { \ xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ setbits((__sched__)->status, XNRESCHED); \ xnarch_memory_barrier(); \ } \ } while (0) I would suggest (if I have got all the macros right): static inline int __xnpod_test_resched(struct xnsched *sched) { int resched = testbits(sched->status, XNRESCHED); if (unlikely(resched)) { #ifdef CONFIG_SMP /* Send resched IPI to remote CPU(s). */ xnarch_send_ipi(sched->resched); xnarch_cpus_clear(sched->resched); #endif clrbits(sched->status, XNRESCHED); } return resched; } /Anders ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 19:38 ` Anders Blomdell @ 2010-11-03 20:41 ` Philippe Gerum 2010-11-03 22:03 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Philippe Gerum @ 2010-11-03 20:41 UTC (permalink / raw) To: Anders Blomdell; +Cc: Jan Kiszka, xenomai@xenomai.org On Wed, 2010-11-03 at 20:38 +0100, Anders Blomdell wrote: > Jan Kiszka wrote: > > Am 03.11.2010 17:46, Anders Blomdell wrote: > >> Anders Blomdell wrote: > >>> Anders Blomdell wrote: > >>>> Jan Kiszka wrote: > >>>>> additional barrier. Can you check this? > >>>>> > >>>>> diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h > >>>>> index df56417..66b52ad 100644 > >>>>> --- a/include/nucleus/sched.h > >>>>> +++ b/include/nucleus/sched.h > >>>>> @@ -187,6 +187,7 @@ static inline int xnsched_self_resched_p(struct > >>>>> xnsched *sched) > >>>>> if (current_sched != (__sched__)) { \ > >>>>> xnarch_cpu_set(xnsched_cpu(__sched__), > >>>>> current_sched->resched); \ > >>>>> setbits((__sched__)->status, XNRESCHED); \ > >>>>> + xnarch_memory_barrier(); \ > >>>>> } \ > >>>>> } while (0) > >>>> In progress, if nothing breaks before, I'll report status tomorrow > >>>> morning. > >>> It still breaks (in approximately the same way). I'm currently putting a > >>> barrier in the other macro doing a RESCHED, also adding some tracing to > >>> see if a read barrier is needed. > >> Nope, no luck there either. Will start interesting tracepoint > >> adding/conversion :-( > > > > Strange. But it was too easy anyway... > > > >> Any reason why xn_nucleus_sched_remote should ever report status = 0? > > > > Really don't know yet. You could trigger on this state and call > > ftrace_stop() then. Provided you had the functions tracer enabled, that > > should give a nice pictures of what happened before. > > Isn't there a race betweeen these two (still waiting for compilation to > be finished)? We always hold the nklock in both contexts. > > static inline int __xnpod_test_resched(struct xnsched *sched) > { > int resched = testbits(sched->status, XNRESCHED); > #ifdef CONFIG_SMP > /* Send resched IPI to remote CPU(s). */ > if (unlikely(xnsched_resched_p(sched))) { > xnarch_send_ipi(sched->resched); > xnarch_cpus_clear(sched->resched); > } > #endif > clrbits(sched->status, XNRESCHED); > return resched; > } > > #define xnsched_set_resched(__sched__) do { \ > xnsched_t *current_sched = xnpod_current_sched(); \ > setbits(current_sched->status, XNRESCHED); \ > if (current_sched != (__sched__)) { \ > xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ > setbits((__sched__)->status, XNRESCHED); \ > xnarch_memory_barrier(); \ > } \ > } while (0) > > I would suggest (if I have got all the macros right): > > static inline int __xnpod_test_resched(struct xnsched *sched) > { > int resched = testbits(sched->status, XNRESCHED); > if (unlikely(resched)) { > #ifdef CONFIG_SMP > /* Send resched IPI to remote CPU(s). */ > xnarch_send_ipi(sched->resched); > xnarch_cpus_clear(sched->resched); > #endif > clrbits(sched->status, XNRESCHED); > } > return resched; > } > > /Anders > > > _______________________________________________ > Xenomai-core mailing list > Xenomai-core@domain.hid > https://mail.gna.org/listinfo/xenomai-core -- Philippe. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 20:41 ` Philippe Gerum @ 2010-11-03 22:03 ` Jan Kiszka 2010-11-03 22:11 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-03 22:03 UTC (permalink / raw) To: Philippe Gerum; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 4784 bytes --] Am 03.11.2010 21:41, Philippe Gerum wrote: > On Wed, 2010-11-03 at 20:38 +0100, Anders Blomdell wrote: >> Jan Kiszka wrote: >>> Am 03.11.2010 17:46, Anders Blomdell wrote: >>>> Anders Blomdell wrote: >>>>> Anders Blomdell wrote: >>>>>> Jan Kiszka wrote: >>>>>>> additional barrier. Can you check this? >>>>>>> >>>>>>> diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h >>>>>>> index df56417..66b52ad 100644 >>>>>>> --- a/include/nucleus/sched.h >>>>>>> +++ b/include/nucleus/sched.h >>>>>>> @@ -187,6 +187,7 @@ static inline int xnsched_self_resched_p(struct >>>>>>> xnsched *sched) >>>>>>> if (current_sched != (__sched__)) { \ >>>>>>> xnarch_cpu_set(xnsched_cpu(__sched__), >>>>>>> current_sched->resched); \ >>>>>>> setbits((__sched__)->status, XNRESCHED); \ >>>>>>> + xnarch_memory_barrier(); \ >>>>>>> } \ >>>>>>> } while (0) >>>>>> In progress, if nothing breaks before, I'll report status tomorrow >>>>>> morning. >>>>> It still breaks (in approximately the same way). I'm currently putting a >>>>> barrier in the other macro doing a RESCHED, also adding some tracing to >>>>> see if a read barrier is needed. >>>> Nope, no luck there either. Will start interesting tracepoint >>>> adding/conversion :-( >>> >>> Strange. But it was too easy anyway... >>> >>>> Any reason why xn_nucleus_sched_remote should ever report status = 0? >>> >>> Really don't know yet. You could trigger on this state and call >>> ftrace_stop() then. Provided you had the functions tracer enabled, that >>> should give a nice pictures of what happened before. >> >> Isn't there a race betweeen these two (still waiting for compilation to >> be finished)? > > We always hold the nklock in both contexts. > But we not not always use atomic ops for manipulating status bits (but we do in other cases where this is no need - different story). This may fix the race: diff --git a/ksrc/nucleus/intr.c b/ksrc/nucleus/intr.c index d7a772f..af8ebeb 100644 --- a/ksrc/nucleus/intr.c +++ b/ksrc/nucleus/intr.c @@ -85,7 +85,7 @@ static void xnintr_irq_handler(unsigned irq, void *cookie); void xnintr_host_tick(struct xnsched *sched) /* Interrupts off. */ { - __clrbits(sched->status, XNHTICK); + clrbits(sched->status, XNHTICK); xnarch_relay_tick(); } @@ -105,11 +105,13 @@ void xnintr_clock_handler(void) trace_mark(xn_nucleus, irq_enter, "irq %u", XNARCH_TIMER_IRQ); trace_mark(xn_nucleus, tbase_tick, "base %s", nktbase.name); + xnlock_get(&nklock); + ++sched->inesting; __setbits(sched->status, XNINIRQ); - xnlock_get(&nklock); xntimer_tick_aperiodic(); + xnlock_put(&nklock); xnstat_counter_inc(&nkclock.stat[xnsched_cpu(sched)].hits); @@ -117,7 +119,7 @@ void xnintr_clock_handler(void) &nkclock.stat[xnsched_cpu(sched)].account, start); if (--sched->inesting == 0) { - __clrbits(sched->status, XNINIRQ); + clrbits(sched->status, XNINIRQ); xnpod_schedule(); } /* @@ -178,7 +180,7 @@ static void xnintr_shirq_handler(unsigned irq, void *cookie) trace_mark(xn_nucleus, irq_enter, "irq %u", irq); ++sched->inesting; - __setbits(sched->status, XNINIRQ); + setbits(sched->status, XNINIRQ); xnlock_get(&shirq->lock); intr = shirq->handlers; @@ -220,7 +222,7 @@ static void xnintr_shirq_handler(unsigned irq, void *cookie) xnarch_end_irq(irq); if (--sched->inesting == 0) { - __clrbits(sched->status, XNINIRQ); + clrbits(sched->status, XNINIRQ); xnpod_schedule(); } @@ -247,7 +249,7 @@ static void xnintr_edge_shirq_handler(unsigned irq, void *cookie) trace_mark(xn_nucleus, irq_enter, "irq %u", irq); ++sched->inesting; - __setbits(sched->status, XNINIRQ); + setbits(sched->status, XNINIRQ); xnlock_get(&shirq->lock); intr = shirq->handlers; @@ -303,7 +305,7 @@ static void xnintr_edge_shirq_handler(unsigned irq, void *cookie) xnarch_end_irq(irq); if (--sched->inesting == 0) { - __clrbits(sched->status, XNINIRQ); + clrbits(sched->status, XNINIRQ); xnpod_schedule(); } trace_mark(xn_nucleus, irq_exit, "irq %u", irq); @@ -446,7 +448,7 @@ static void xnintr_irq_handler(unsigned irq, void *cookie) trace_mark(xn_nucleus, irq_enter, "irq %u", irq); ++sched->inesting; - __setbits(sched->status, XNINIRQ); + setbits(sched->status, XNINIRQ); xnlock_get(&xnirqs[irq].lock); @@ -493,7 +495,7 @@ static void xnintr_irq_handler(unsigned irq, void *cookie) xnarch_end_irq(irq); if (--sched->inesting == 0) { - __clrbits(sched->status, XNINIRQ); + clrbits(sched->status, XNINIRQ); xnpod_schedule(); } Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply related [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 22:03 ` Jan Kiszka @ 2010-11-03 22:11 ` Jan Kiszka 2010-11-03 22:56 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-03 22:11 UTC (permalink / raw) To: Philippe Gerum; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 2417 bytes --] Am 03.11.2010 23:03, Jan Kiszka wrote: > Am 03.11.2010 21:41, Philippe Gerum wrote: >> On Wed, 2010-11-03 at 20:38 +0100, Anders Blomdell wrote: >>> Jan Kiszka wrote: >>>> Am 03.11.2010 17:46, Anders Blomdell wrote: >>>>> Anders Blomdell wrote: >>>>>> Anders Blomdell wrote: >>>>>>> Jan Kiszka wrote: >>>>>>>> additional barrier. Can you check this? >>>>>>>> >>>>>>>> diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h >>>>>>>> index df56417..66b52ad 100644 >>>>>>>> --- a/include/nucleus/sched.h >>>>>>>> +++ b/include/nucleus/sched.h >>>>>>>> @@ -187,6 +187,7 @@ static inline int xnsched_self_resched_p(struct >>>>>>>> xnsched *sched) >>>>>>>> if (current_sched != (__sched__)) { \ >>>>>>>> xnarch_cpu_set(xnsched_cpu(__sched__), >>>>>>>> current_sched->resched); \ >>>>>>>> setbits((__sched__)->status, XNRESCHED); \ >>>>>>>> + xnarch_memory_barrier(); \ >>>>>>>> } \ >>>>>>>> } while (0) >>>>>>> In progress, if nothing breaks before, I'll report status tomorrow >>>>>>> morning. >>>>>> It still breaks (in approximately the same way). I'm currently putting a >>>>>> barrier in the other macro doing a RESCHED, also adding some tracing to >>>>>> see if a read barrier is needed. >>>>> Nope, no luck there either. Will start interesting tracepoint >>>>> adding/conversion :-( >>>> >>>> Strange. But it was too easy anyway... >>>> >>>>> Any reason why xn_nucleus_sched_remote should ever report status = 0? >>>> >>>> Really don't know yet. You could trigger on this state and call >>>> ftrace_stop() then. Provided you had the functions tracer enabled, that >>>> should give a nice pictures of what happened before. >>> >>> Isn't there a race betweeen these two (still waiting for compilation to >>> be finished)? >> >> We always hold the nklock in both contexts. >> > > But we not not always use atomic ops for manipulating status bits (but > we do in other cases where this is no need - different story). This may > fix the race: Err, nonsense. As we manipulate xnsched::status also outside of nklock protection, we must _always_ use atomic ops. This screams for a cleanup: local-only bits like XNHTICK or XNINIRQ should be pushed in a separate status word that can then be safely modified non-atomically. Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 22:11 ` Jan Kiszka @ 2010-11-03 22:56 ` Jan Kiszka 2010-11-03 23:11 ` Gilles Chanteperdrix 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-03 22:56 UTC (permalink / raw) To: Philippe Gerum, Anders Blomdell; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 6655 bytes --] Am 03.11.2010 23:11, Jan Kiszka wrote: > Am 03.11.2010 23:03, Jan Kiszka wrote: >> But we not not always use atomic ops for manipulating status bits (but >> we do in other cases where this is no need - different story). This may >> fix the race: > > Err, nonsense. As we manipulate xnsched::status also outside of nklock > protection, we must _always_ use atomic ops. > > This screams for a cleanup: local-only bits like XNHTICK or XNINIRQ > should be pushed in a separate status word that can then be safely > modified non-atomically. Second try to fix and clean up the sched status bits. Anders, please test. Jan diff --git a/include/nucleus/pod.h b/include/nucleus/pod.h index 01ff0a7..5987a1f 100644 --- a/include/nucleus/pod.h +++ b/include/nucleus/pod.h @@ -277,12 +277,10 @@ static inline void xnpod_schedule(void) * context is active, or if we are caught in the middle of a * unlocked context switch. */ -#if XENO_DEBUG(NUCLEUS) if (testbits(sched->status, XNKCOUT|XNINIRQ|XNSWLOCK)) return; -#else /* !XENO_DEBUG(NUCLEUS) */ - if (testbits(sched->status, - XNKCOUT|XNINIRQ|XNSWLOCK|XNRESCHED) != XNRESCHED) +#if !XENO_DEBUG(NUCLEUS) + if (!sched->resched) return; #endif /* !XENO_DEBUG(NUCLEUS) */ diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h index df56417..1850208 100644 --- a/include/nucleus/sched.h +++ b/include/nucleus/sched.h @@ -44,7 +44,6 @@ #define XNINTCK 0x10000000 /* In master tick handler context */ #define XNINIRQ 0x08000000 /* In IRQ handling context */ #define XNSWLOCK 0x04000000 /* In context switch */ -#define XNRESCHED 0x02000000 /* Needs rescheduling */ #define XNHDEFER 0x01000000 /* Host tick deferred */ struct xnsched_rt { @@ -63,7 +62,8 @@ typedef struct xnsched { xnflags_t status; /*!< Scheduler specific status bitmask. */ int cpu; struct xnthread *curr; /*!< Current thread. */ - xnarch_cpumask_t resched; /*!< Mask of CPUs needing rescheduling. */ + xnarch_cpumask_t remote_resched; /*!< Mask of CPUs needing rescheduling. */ + int resched; /*!< Rescheduling needed. */ struct xnsched_rt rt; /*!< Context of built-in real-time class. */ #ifdef CONFIG_XENO_OPT_SCHED_TP @@ -164,30 +164,21 @@ struct xnsched_class { #define xnsched_cpu(__sched__) ({ (void)__sched__; 0; }) #endif /* CONFIG_SMP */ -/* Test all resched flags from the given scheduler mask. */ -static inline int xnsched_resched_p(struct xnsched *sched) -{ - return testbits(sched->status, XNRESCHED); -} - -static inline int xnsched_self_resched_p(struct xnsched *sched) -{ - return testbits(sched->status, XNRESCHED); -} - /* Set self resched flag for the given scheduler. */ #define xnsched_set_self_resched(__sched__) do { \ - setbits((__sched__)->status, XNRESCHED); \ + (__sched__)->resched = 1; \ } while (0) /* Set specific resched flag into the local scheduler mask. */ #define xnsched_set_resched(__sched__) do { \ - xnsched_t *current_sched = xnpod_current_sched(); \ - setbits(current_sched->status, XNRESCHED); \ - if (current_sched != (__sched__)) { \ - xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ - setbits((__sched__)->status, XNRESCHED); \ - } \ + xnsched_t *current_sched = xnpod_current_sched(); \ + current_sched->resched = 1; \ + if (current_sched != (__sched__)) { \ + xnarch_cpu_set(xnsched_cpu(__sched__), \ + current_sched->remote_resched); \ + (__sched__)->resched = 1; \ + xnarch_memory_barrier(); \ + } \ } while (0) void xnsched_zombie_hooks(struct xnthread *thread); @@ -209,7 +200,7 @@ struct xnsched *xnsched_finish_unlocked_switch(struct xnsched *sched); static inline int xnsched_maybe_resched_after_unlocked_switch(struct xnsched *sched) { - return testbits(sched->status, XNRESCHED); + return sched->resched; } #else /* !CONFIG_XENO_HW_UNLOCKED_SWITCH */ diff --git a/ksrc/nucleus/pod.c b/ksrc/nucleus/pod.c index 9e135f3..f7f8b2c 100644 --- a/ksrc/nucleus/pod.c +++ b/ksrc/nucleus/pod.c @@ -284,7 +284,7 @@ void xnpod_schedule_handler(void) /* Called with hw interrupts off. */ trace_xn_nucleus_sched_remote(sched); #if defined(CONFIG_SMP) && defined(CONFIG_XENO_OPT_PRIOCPL) if (testbits(sched->status, XNRPICK)) { - clrbits(sched->status, XNRPICK); + __clrbits(sched->status, XNRPICK); xnshadow_rpi_check(); } #endif /* CONFIG_SMP && CONFIG_XENO_OPT_PRIOCPL */ @@ -2162,15 +2162,15 @@ static inline void xnpod_switch_to(xnsched_t *sched, static inline int __xnpod_test_resched(struct xnsched *sched) { - int resched = testbits(sched->status, XNRESCHED); + int resched = sched->resched; #ifdef CONFIG_SMP /* Send resched IPI to remote CPU(s). */ - if (unlikely(xnsched_resched_p(sched))) { - xnarch_send_ipi(sched->resched); - xnarch_cpus_clear(sched->resched); + if (unlikely(resched)) { + xnarch_send_ipi(sched->remote_resched); + xnarch_cpus_clear(sched->remote_resched); } #endif - clrbits(sched->status, XNRESCHED); + sched->resched = 0; return resched; } diff --git a/ksrc/nucleus/sched.c b/ksrc/nucleus/sched.c index 04a344e..2effea8 100644 --- a/ksrc/nucleus/sched.c +++ b/ksrc/nucleus/sched.c @@ -152,7 +152,8 @@ void xnsched_init(struct xnsched *sched, int cpu) xntimer_set_name(&sched->htimer, htimer_name); xntimer_set_sched(&sched->htimer, sched); sched->zombie = NULL; - xnarch_cpus_clear(sched->resched); + xnarch_cpus_clear(sched->remote_resched); + sched->resched = 0; attr.flags = XNROOT | XNSTARTED | XNFPU; attr.name = root_name; diff --git a/ksrc/nucleus/shadow.c b/ksrc/nucleus/shadow.c index f6bea1a..a3e1372 100644 --- a/ksrc/nucleus/shadow.c +++ b/ksrc/nucleus/shadow.c @@ -2815,7 +2815,7 @@ static inline void do_setsched_event(struct task_struct *p, int priority) __xnpod_set_thread_schedparam(thread, &xnsched_class_rt, ¶m, 0); sched = xnpod_current_sched(); - if (!xnsched_resched_p(sched)) + if (!sched->resched) return; if (p == current && diff --git a/ksrc/nucleus/timer.c b/ksrc/nucleus/timer.c index 1fe3331..1639f28 100644 --- a/ksrc/nucleus/timer.c +++ b/ksrc/nucleus/timer.c @@ -97,7 +97,7 @@ void xntimer_next_local_shot(xnsched_t *sched) __clrbits(sched->status, XNHDEFER); timer = aplink2timer(h); if (unlikely(timer == &sched->htimer)) { - if (xnsched_self_resched_p(sched) || + if (sched->resched || !xnthread_test_state(sched->curr, XNROOT)) { h = xntimerq_it_next(&sched->timerqueue, &it, h); if (h) { [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply related [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 22:56 ` Jan Kiszka @ 2010-11-03 23:11 ` Gilles Chanteperdrix 2010-11-03 23:15 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-03 23:11 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Am 03.11.2010 23:11, Jan Kiszka wrote: >> Am 03.11.2010 23:03, Jan Kiszka wrote: >>> But we not not always use atomic ops for manipulating status bits (but >>> we do in other cases where this is no need - different story). This may >>> fix the race: >> Err, nonsense. As we manipulate xnsched::status also outside of nklock >> protection, we must _always_ use atomic ops. >> >> This screams for a cleanup: local-only bits like XNHTICK or XNINIRQ >> should be pushed in a separate status word that can then be safely >> modified non-atomically. > > Second try to fix and clean up the sched status bits. Anders, please > test. > > Jan > > diff --git a/include/nucleus/pod.h b/include/nucleus/pod.h > index 01ff0a7..5987a1f 100644 > --- a/include/nucleus/pod.h > +++ b/include/nucleus/pod.h > @@ -277,12 +277,10 @@ static inline void xnpod_schedule(void) > * context is active, or if we are caught in the middle of a > * unlocked context switch. > */ > -#if XENO_DEBUG(NUCLEUS) > if (testbits(sched->status, XNKCOUT|XNINIRQ|XNSWLOCK)) > return; > -#else /* !XENO_DEBUG(NUCLEUS) */ > - if (testbits(sched->status, > - XNKCOUT|XNINIRQ|XNSWLOCK|XNRESCHED) != XNRESCHED) > +#if !XENO_DEBUG(NUCLEUS) > + if (!sched->resched) > return; > #endif /* !XENO_DEBUG(NUCLEUS) */ Having only one test was really nice here, maybe we simply read a barrier before reading the status? -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 23:11 ` Gilles Chanteperdrix @ 2010-11-03 23:15 ` Jan Kiszka 2010-11-03 23:18 ` Gilles Chanteperdrix 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-03 23:15 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 1774 bytes --] Am 04.11.2010 00:11, Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >> Am 03.11.2010 23:11, Jan Kiszka wrote: >>> Am 03.11.2010 23:03, Jan Kiszka wrote: >>>> But we not not always use atomic ops for manipulating status bits (but >>>> we do in other cases where this is no need - different story). This may >>>> fix the race: >>> Err, nonsense. As we manipulate xnsched::status also outside of nklock >>> protection, we must _always_ use atomic ops. >>> >>> This screams for a cleanup: local-only bits like XNHTICK or XNINIRQ >>> should be pushed in a separate status word that can then be safely >>> modified non-atomically. >> >> Second try to fix and clean up the sched status bits. Anders, please >> test. >> >> Jan >> >> diff --git a/include/nucleus/pod.h b/include/nucleus/pod.h >> index 01ff0a7..5987a1f 100644 >> --- a/include/nucleus/pod.h >> +++ b/include/nucleus/pod.h >> @@ -277,12 +277,10 @@ static inline void xnpod_schedule(void) >> * context is active, or if we are caught in the middle of a >> * unlocked context switch. >> */ >> -#if XENO_DEBUG(NUCLEUS) >> if (testbits(sched->status, XNKCOUT|XNINIRQ|XNSWLOCK)) >> return; >> -#else /* !XENO_DEBUG(NUCLEUS) */ >> - if (testbits(sched->status, >> - XNKCOUT|XNINIRQ|XNSWLOCK|XNRESCHED) != XNRESCHED) >> +#if !XENO_DEBUG(NUCLEUS) >> + if (!sched->resched) >> return; >> #endif /* !XENO_DEBUG(NUCLEUS) */ > > Having only one test was really nice here, maybe we simply read a > barrier before reading the status? > I agree - but the alternative is letting all modifications of xnsched::status use atomic bitops (that's required when folding all bits into a single word). And that should be much more costly, specifically on SMP. Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 23:15 ` Jan Kiszka @ 2010-11-03 23:18 ` Gilles Chanteperdrix 2010-11-03 23:41 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-03 23:18 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Am 04.11.2010 00:11, Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>> Am 03.11.2010 23:11, Jan Kiszka wrote: >>>> Am 03.11.2010 23:03, Jan Kiszka wrote: >>>>> But we not not always use atomic ops for manipulating status bits (but >>>>> we do in other cases where this is no need - different story). This may >>>>> fix the race: >>>> Err, nonsense. As we manipulate xnsched::status also outside of nklock >>>> protection, we must _always_ use atomic ops. >>>> >>>> This screams for a cleanup: local-only bits like XNHTICK or XNINIRQ >>>> should be pushed in a separate status word that can then be safely >>>> modified non-atomically. >>> Second try to fix and clean up the sched status bits. Anders, please >>> test. >>> >>> Jan >>> >>> diff --git a/include/nucleus/pod.h b/include/nucleus/pod.h >>> index 01ff0a7..5987a1f 100644 >>> --- a/include/nucleus/pod.h >>> +++ b/include/nucleus/pod.h >>> @@ -277,12 +277,10 @@ static inline void xnpod_schedule(void) >>> * context is active, or if we are caught in the middle of a >>> * unlocked context switch. >>> */ >>> -#if XENO_DEBUG(NUCLEUS) >>> if (testbits(sched->status, XNKCOUT|XNINIRQ|XNSWLOCK)) >>> return; >>> -#else /* !XENO_DEBUG(NUCLEUS) */ >>> - if (testbits(sched->status, >>> - XNKCOUT|XNINIRQ|XNSWLOCK|XNRESCHED) != XNRESCHED) >>> +#if !XENO_DEBUG(NUCLEUS) >>> + if (!sched->resched) >>> return; >>> #endif /* !XENO_DEBUG(NUCLEUS) */ >> Having only one test was really nice here, maybe we simply read a >> barrier before reading the status? >> > > I agree - but the alternative is letting all modifications of > xnsched::status use atomic bitops (that's required when folding all bits > into a single word). And that should be much more costly, specifically > on SMP. What about issuing a barrier before testing the status? -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 23:18 ` Gilles Chanteperdrix @ 2010-11-03 23:41 ` Jan Kiszka 2010-11-03 23:44 ` Gilles Chanteperdrix 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-03 23:41 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 2114 bytes --] Am 04.11.2010 00:18, Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >> Am 04.11.2010 00:11, Gilles Chanteperdrix wrote: >>> Jan Kiszka wrote: >>>> Am 03.11.2010 23:11, Jan Kiszka wrote: >>>>> Am 03.11.2010 23:03, Jan Kiszka wrote: >>>>>> But we not not always use atomic ops for manipulating status bits (but >>>>>> we do in other cases where this is no need - different story). This may >>>>>> fix the race: >>>>> Err, nonsense. As we manipulate xnsched::status also outside of nklock >>>>> protection, we must _always_ use atomic ops. >>>>> >>>>> This screams for a cleanup: local-only bits like XNHTICK or XNINIRQ >>>>> should be pushed in a separate status word that can then be safely >>>>> modified non-atomically. >>>> Second try to fix and clean up the sched status bits. Anders, please >>>> test. >>>> >>>> Jan >>>> >>>> diff --git a/include/nucleus/pod.h b/include/nucleus/pod.h >>>> index 01ff0a7..5987a1f 100644 >>>> --- a/include/nucleus/pod.h >>>> +++ b/include/nucleus/pod.h >>>> @@ -277,12 +277,10 @@ static inline void xnpod_schedule(void) >>>> * context is active, or if we are caught in the middle of a >>>> * unlocked context switch. >>>> */ >>>> -#if XENO_DEBUG(NUCLEUS) >>>> if (testbits(sched->status, XNKCOUT|XNINIRQ|XNSWLOCK)) >>>> return; >>>> -#else /* !XENO_DEBUG(NUCLEUS) */ >>>> - if (testbits(sched->status, >>>> - XNKCOUT|XNINIRQ|XNSWLOCK|XNRESCHED) != XNRESCHED) >>>> +#if !XENO_DEBUG(NUCLEUS) >>>> + if (!sched->resched) >>>> return; >>>> #endif /* !XENO_DEBUG(NUCLEUS) */ >>> Having only one test was really nice here, maybe we simply read a >>> barrier before reading the status? >>> >> >> I agree - but the alternative is letting all modifications of >> xnsched::status use atomic bitops (that's required when folding all bits >> into a single word). And that should be much more costly, specifically >> on SMP. > > What about issuing a barrier before testing the status? > The problem is not about reading but writing the status concurrently, thus it's not about the code you see above. Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 23:41 ` Jan Kiszka @ 2010-11-03 23:44 ` Gilles Chanteperdrix 2010-11-03 23:49 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-03 23:44 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Am 04.11.2010 00:18, Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>> Am 04.11.2010 00:11, Gilles Chanteperdrix wrote: >>>> Jan Kiszka wrote: >>>>> Am 03.11.2010 23:11, Jan Kiszka wrote: >>>>>> Am 03.11.2010 23:03, Jan Kiszka wrote: >>>>>>> But we not not always use atomic ops for manipulating status bits (but >>>>>>> we do in other cases where this is no need - different story). This may >>>>>>> fix the race: >>>>>> Err, nonsense. As we manipulate xnsched::status also outside of nklock >>>>>> protection, we must _always_ use atomic ops. >>>>>> >>>>>> This screams for a cleanup: local-only bits like XNHTICK or XNINIRQ >>>>>> should be pushed in a separate status word that can then be safely >>>>>> modified non-atomically. >>>>> Second try to fix and clean up the sched status bits. Anders, please >>>>> test. >>>>> >>>>> Jan >>>>> >>>>> diff --git a/include/nucleus/pod.h b/include/nucleus/pod.h >>>>> index 01ff0a7..5987a1f 100644 >>>>> --- a/include/nucleus/pod.h >>>>> +++ b/include/nucleus/pod.h >>>>> @@ -277,12 +277,10 @@ static inline void xnpod_schedule(void) >>>>> * context is active, or if we are caught in the middle of a >>>>> * unlocked context switch. >>>>> */ >>>>> -#if XENO_DEBUG(NUCLEUS) >>>>> if (testbits(sched->status, XNKCOUT|XNINIRQ|XNSWLOCK)) >>>>> return; >>>>> -#else /* !XENO_DEBUG(NUCLEUS) */ >>>>> - if (testbits(sched->status, >>>>> - XNKCOUT|XNINIRQ|XNSWLOCK|XNRESCHED) != XNRESCHED) >>>>> +#if !XENO_DEBUG(NUCLEUS) >>>>> + if (!sched->resched) >>>>> return; >>>>> #endif /* !XENO_DEBUG(NUCLEUS) */ >>>> Having only one test was really nice here, maybe we simply read a >>>> barrier before reading the status? >>>> >>> I agree - but the alternative is letting all modifications of >>> xnsched::status use atomic bitops (that's required when folding all bits >>> into a single word). And that should be much more costly, specifically >>> on SMP. >> What about issuing a barrier before testing the status? >> > > The problem is not about reading but writing the status concurrently, > thus it's not about the code you see above. The bits are modified under nklock, which implies a barrier when unlocked. Furthermore, an IPI is guaranteed to be received on the remote CPU after this barrier, so, a barrier should be enough to see the modifications which have been made remotely. -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 23:44 ` Gilles Chanteperdrix @ 2010-11-03 23:49 ` Jan Kiszka 2010-11-03 23:56 ` Gilles Chanteperdrix 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-03 23:49 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 2614 bytes --] Am 04.11.2010 00:44, Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >> Am 04.11.2010 00:18, Gilles Chanteperdrix wrote: >>> Jan Kiszka wrote: >>>> Am 04.11.2010 00:11, Gilles Chanteperdrix wrote: >>>>> Jan Kiszka wrote: >>>>>> Am 03.11.2010 23:11, Jan Kiszka wrote: >>>>>>> Am 03.11.2010 23:03, Jan Kiszka wrote: >>>>>>>> But we not not always use atomic ops for manipulating status bits (but >>>>>>>> we do in other cases where this is no need - different story). This may >>>>>>>> fix the race: >>>>>>> Err, nonsense. As we manipulate xnsched::status also outside of nklock >>>>>>> protection, we must _always_ use atomic ops. >>>>>>> >>>>>>> This screams for a cleanup: local-only bits like XNHTICK or XNINIRQ >>>>>>> should be pushed in a separate status word that can then be safely >>>>>>> modified non-atomically. >>>>>> Second try to fix and clean up the sched status bits. Anders, please >>>>>> test. >>>>>> >>>>>> Jan >>>>>> >>>>>> diff --git a/include/nucleus/pod.h b/include/nucleus/pod.h >>>>>> index 01ff0a7..5987a1f 100644 >>>>>> --- a/include/nucleus/pod.h >>>>>> +++ b/include/nucleus/pod.h >>>>>> @@ -277,12 +277,10 @@ static inline void xnpod_schedule(void) >>>>>> * context is active, or if we are caught in the middle of a >>>>>> * unlocked context switch. >>>>>> */ >>>>>> -#if XENO_DEBUG(NUCLEUS) >>>>>> if (testbits(sched->status, XNKCOUT|XNINIRQ|XNSWLOCK)) >>>>>> return; >>>>>> -#else /* !XENO_DEBUG(NUCLEUS) */ >>>>>> - if (testbits(sched->status, >>>>>> - XNKCOUT|XNINIRQ|XNSWLOCK|XNRESCHED) != XNRESCHED) >>>>>> +#if !XENO_DEBUG(NUCLEUS) >>>>>> + if (!sched->resched) >>>>>> return; >>>>>> #endif /* !XENO_DEBUG(NUCLEUS) */ >>>>> Having only one test was really nice here, maybe we simply read a >>>>> barrier before reading the status? >>>>> >>>> I agree - but the alternative is letting all modifications of >>>> xnsched::status use atomic bitops (that's required when folding all bits >>>> into a single word). And that should be much more costly, specifically >>>> on SMP. >>> What about issuing a barrier before testing the status? >>> >> >> The problem is not about reading but writing the status concurrently, >> thus it's not about the code you see above. > > The bits are modified under nklock, which implies a barrier when > unlocked. Furthermore, an IPI is guaranteed to be received on the remote > CPU after this barrier, so, a barrier should be enough to see the > modifications which have been made remotely. Check nucleus/intr.c for tons of unprotected status modifications. Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 23:49 ` Jan Kiszka @ 2010-11-03 23:56 ` Gilles Chanteperdrix 2010-11-04 0:06 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-03 23:56 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Am 04.11.2010 00:44, Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>> Am 04.11.2010 00:18, Gilles Chanteperdrix wrote: >>>> Jan Kiszka wrote: >>>>> Am 04.11.2010 00:11, Gilles Chanteperdrix wrote: >>>>>> Jan Kiszka wrote: >>>>>>> Am 03.11.2010 23:11, Jan Kiszka wrote: >>>>>>>> Am 03.11.2010 23:03, Jan Kiszka wrote: >>>>>>>>> But we not not always use atomic ops for manipulating status bits (but >>>>>>>>> we do in other cases where this is no need - different story). This may >>>>>>>>> fix the race: >>>>>>>> Err, nonsense. As we manipulate xnsched::status also outside of nklock >>>>>>>> protection, we must _always_ use atomic ops. >>>>>>>> >>>>>>>> This screams for a cleanup: local-only bits like XNHTICK or XNINIRQ >>>>>>>> should be pushed in a separate status word that can then be safely >>>>>>>> modified non-atomically. >>>>>>> Second try to fix and clean up the sched status bits. Anders, please >>>>>>> test. >>>>>>> >>>>>>> Jan >>>>>>> >>>>>>> diff --git a/include/nucleus/pod.h b/include/nucleus/pod.h >>>>>>> index 01ff0a7..5987a1f 100644 >>>>>>> --- a/include/nucleus/pod.h >>>>>>> +++ b/include/nucleus/pod.h >>>>>>> @@ -277,12 +277,10 @@ static inline void xnpod_schedule(void) >>>>>>> * context is active, or if we are caught in the middle of a >>>>>>> * unlocked context switch. >>>>>>> */ >>>>>>> -#if XENO_DEBUG(NUCLEUS) >>>>>>> if (testbits(sched->status, XNKCOUT|XNINIRQ|XNSWLOCK)) >>>>>>> return; >>>>>>> -#else /* !XENO_DEBUG(NUCLEUS) */ >>>>>>> - if (testbits(sched->status, >>>>>>> - XNKCOUT|XNINIRQ|XNSWLOCK|XNRESCHED) != XNRESCHED) >>>>>>> +#if !XENO_DEBUG(NUCLEUS) >>>>>>> + if (!sched->resched) >>>>>>> return; >>>>>>> #endif /* !XENO_DEBUG(NUCLEUS) */ >>>>>> Having only one test was really nice here, maybe we simply read a >>>>>> barrier before reading the status? >>>>>> >>>>> I agree - but the alternative is letting all modifications of >>>>> xnsched::status use atomic bitops (that's required when folding all bits >>>>> into a single word). And that should be much more costly, specifically >>>>> on SMP. >>>> What about issuing a barrier before testing the status? >>>> >>> The problem is not about reading but writing the status concurrently, >>> thus it's not about the code you see above. >> The bits are modified under nklock, which implies a barrier when >> unlocked. Furthermore, an IPI is guaranteed to be received on the remote >> CPU after this barrier, so, a barrier should be enough to see the >> modifications which have been made remotely. > > Check nucleus/intr.c for tons of unprotected status modifications. Ok. Then maybe, we should reconsider the original decision to start fiddling with the XNRESCHED bit remotely. -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-03 23:56 ` Gilles Chanteperdrix @ 2010-11-04 0:06 ` Jan Kiszka 2010-11-04 0:13 ` Gilles Chanteperdrix 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-04 0:06 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 3114 bytes --] Am 04.11.2010 00:56, Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >> Am 04.11.2010 00:44, Gilles Chanteperdrix wrote: >>> Jan Kiszka wrote: >>>> Am 04.11.2010 00:18, Gilles Chanteperdrix wrote: >>>>> Jan Kiszka wrote: >>>>>> Am 04.11.2010 00:11, Gilles Chanteperdrix wrote: >>>>>>> Jan Kiszka wrote: >>>>>>>> Am 03.11.2010 23:11, Jan Kiszka wrote: >>>>>>>>> Am 03.11.2010 23:03, Jan Kiszka wrote: >>>>>>>>>> But we not not always use atomic ops for manipulating status bits (but >>>>>>>>>> we do in other cases where this is no need - different story). This may >>>>>>>>>> fix the race: >>>>>>>>> Err, nonsense. As we manipulate xnsched::status also outside of nklock >>>>>>>>> protection, we must _always_ use atomic ops. >>>>>>>>> >>>>>>>>> This screams for a cleanup: local-only bits like XNHTICK or XNINIRQ >>>>>>>>> should be pushed in a separate status word that can then be safely >>>>>>>>> modified non-atomically. >>>>>>>> Second try to fix and clean up the sched status bits. Anders, please >>>>>>>> test. >>>>>>>> >>>>>>>> Jan >>>>>>>> >>>>>>>> diff --git a/include/nucleus/pod.h b/include/nucleus/pod.h >>>>>>>> index 01ff0a7..5987a1f 100644 >>>>>>>> --- a/include/nucleus/pod.h >>>>>>>> +++ b/include/nucleus/pod.h >>>>>>>> @@ -277,12 +277,10 @@ static inline void xnpod_schedule(void) >>>>>>>> * context is active, or if we are caught in the middle of a >>>>>>>> * unlocked context switch. >>>>>>>> */ >>>>>>>> -#if XENO_DEBUG(NUCLEUS) >>>>>>>> if (testbits(sched->status, XNKCOUT|XNINIRQ|XNSWLOCK)) >>>>>>>> return; >>>>>>>> -#else /* !XENO_DEBUG(NUCLEUS) */ >>>>>>>> - if (testbits(sched->status, >>>>>>>> - XNKCOUT|XNINIRQ|XNSWLOCK|XNRESCHED) != XNRESCHED) >>>>>>>> +#if !XENO_DEBUG(NUCLEUS) >>>>>>>> + if (!sched->resched) >>>>>>>> return; >>>>>>>> #endif /* !XENO_DEBUG(NUCLEUS) */ >>>>>>> Having only one test was really nice here, maybe we simply read a >>>>>>> barrier before reading the status? >>>>>>> >>>>>> I agree - but the alternative is letting all modifications of >>>>>> xnsched::status use atomic bitops (that's required when folding all bits >>>>>> into a single word). And that should be much more costly, specifically >>>>>> on SMP. >>>>> What about issuing a barrier before testing the status? >>>>> >>>> The problem is not about reading but writing the status concurrently, >>>> thus it's not about the code you see above. >>> The bits are modified under nklock, which implies a barrier when >>> unlocked. Furthermore, an IPI is guaranteed to be received on the remote >>> CPU after this barrier, so, a barrier should be enough to see the >>> modifications which have been made remotely. >> >> Check nucleus/intr.c for tons of unprotected status modifications. > > Ok. Then maybe, we should reconsider the original decision to start > fiddling with the XNRESCHED bit remotely. ...which removed complexity and fixed a race? Let's better review the checks done in xnpod_schedule vs. its callers, I bet there is more to save (IOW: remove the need to test for sched->resched). Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 0:06 ` Jan Kiszka @ 2010-11-04 0:13 ` Gilles Chanteperdrix 2010-11-04 7:30 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-04 0:13 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Am 04.11.2010 00:56, Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>> Am 04.11.2010 00:44, Gilles Chanteperdrix wrote: >>>> Jan Kiszka wrote: >>>>> Am 04.11.2010 00:18, Gilles Chanteperdrix wrote: >>>>>> Jan Kiszka wrote: >>>>>>> Am 04.11.2010 00:11, Gilles Chanteperdrix wrote: >>>>>>>> Jan Kiszka wrote: >>>>>>>>> Am 03.11.2010 23:11, Jan Kiszka wrote: >>>>>>>>>> Am 03.11.2010 23:03, Jan Kiszka wrote: >>>>>>>>>>> But we not not always use atomic ops for manipulating status bits (but >>>>>>>>>>> we do in other cases where this is no need - different story). This may >>>>>>>>>>> fix the race: >>>>>>>>>> Err, nonsense. As we manipulate xnsched::status also outside of nklock >>>>>>>>>> protection, we must _always_ use atomic ops. >>>>>>>>>> >>>>>>>>>> This screams for a cleanup: local-only bits like XNHTICK or XNINIRQ >>>>>>>>>> should be pushed in a separate status word that can then be safely >>>>>>>>>> modified non-atomically. >>>>>>>>> Second try to fix and clean up the sched status bits. Anders, please >>>>>>>>> test. >>>>>>>>> >>>>>>>>> Jan >>>>>>>>> >>>>>>>>> diff --git a/include/nucleus/pod.h b/include/nucleus/pod.h >>>>>>>>> index 01ff0a7..5987a1f 100644 >>>>>>>>> --- a/include/nucleus/pod.h >>>>>>>>> +++ b/include/nucleus/pod.h >>>>>>>>> @@ -277,12 +277,10 @@ static inline void xnpod_schedule(void) >>>>>>>>> * context is active, or if we are caught in the middle of a >>>>>>>>> * unlocked context switch. >>>>>>>>> */ >>>>>>>>> -#if XENO_DEBUG(NUCLEUS) >>>>>>>>> if (testbits(sched->status, XNKCOUT|XNINIRQ|XNSWLOCK)) >>>>>>>>> return; >>>>>>>>> -#else /* !XENO_DEBUG(NUCLEUS) */ >>>>>>>>> - if (testbits(sched->status, >>>>>>>>> - XNKCOUT|XNINIRQ|XNSWLOCK|XNRESCHED) != XNRESCHED) >>>>>>>>> +#if !XENO_DEBUG(NUCLEUS) >>>>>>>>> + if (!sched->resched) >>>>>>>>> return; >>>>>>>>> #endif /* !XENO_DEBUG(NUCLEUS) */ >>>>>>>> Having only one test was really nice here, maybe we simply read a >>>>>>>> barrier before reading the status? >>>>>>>> >>>>>>> I agree - but the alternative is letting all modifications of >>>>>>> xnsched::status use atomic bitops (that's required when folding all bits >>>>>>> into a single word). And that should be much more costly, specifically >>>>>>> on SMP. >>>>>> What about issuing a barrier before testing the status? >>>>>> >>>>> The problem is not about reading but writing the status concurrently, >>>>> thus it's not about the code you see above. >>>> The bits are modified under nklock, which implies a barrier when >>>> unlocked. Furthermore, an IPI is guaranteed to be received on the remote >>>> CPU after this barrier, so, a barrier should be enough to see the >>>> modifications which have been made remotely. >>> Check nucleus/intr.c for tons of unprotected status modifications. >> Ok. Then maybe, we should reconsider the original decision to start >> fiddling with the XNRESCHED bit remotely. > > ...which removed complexity and fixed a race? Let's better review the > checks done in xnpod_schedule vs. its callers, I bet there is more to > save (IOW: remove the need to test for sched->resched). Not that much complexitiy... and the race was a false positive in debug code, no big deal. At least it worked, and it has done so for a long time. No atomic needed, no barrier, only one test in xnpod_schedule. And a nice invariant: sched->status is always accessed on the local cpu. What else? -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 0:13 ` Gilles Chanteperdrix @ 2010-11-04 7:30 ` Jan Kiszka 2010-11-04 8:45 ` Anders Blomdell 2010-11-04 9:16 ` Gilles Chanteperdrix 0 siblings, 2 replies; 85+ messages in thread From: Jan Kiszka @ 2010-11-04 7:30 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 4060 bytes --] Am 04.11.2010 01:13, Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >> Am 04.11.2010 00:56, Gilles Chanteperdrix wrote: >>> Jan Kiszka wrote: >>>> Am 04.11.2010 00:44, Gilles Chanteperdrix wrote: >>>>> Jan Kiszka wrote: >>>>>> Am 04.11.2010 00:18, Gilles Chanteperdrix wrote: >>>>>>> Jan Kiszka wrote: >>>>>>>> Am 04.11.2010 00:11, Gilles Chanteperdrix wrote: >>>>>>>>> Jan Kiszka wrote: >>>>>>>>>> Am 03.11.2010 23:11, Jan Kiszka wrote: >>>>>>>>>>> Am 03.11.2010 23:03, Jan Kiszka wrote: >>>>>>>>>>>> But we not not always use atomic ops for manipulating status bits (but >>>>>>>>>>>> we do in other cases where this is no need - different story). This may >>>>>>>>>>>> fix the race: >>>>>>>>>>> Err, nonsense. As we manipulate xnsched::status also outside of nklock >>>>>>>>>>> protection, we must _always_ use atomic ops. >>>>>>>>>>> >>>>>>>>>>> This screams for a cleanup: local-only bits like XNHTICK or XNINIRQ >>>>>>>>>>> should be pushed in a separate status word that can then be safely >>>>>>>>>>> modified non-atomically. >>>>>>>>>> Second try to fix and clean up the sched status bits. Anders, please >>>>>>>>>> test. >>>>>>>>>> >>>>>>>>>> Jan >>>>>>>>>> >>>>>>>>>> diff --git a/include/nucleus/pod.h b/include/nucleus/pod.h >>>>>>>>>> index 01ff0a7..5987a1f 100644 >>>>>>>>>> --- a/include/nucleus/pod.h >>>>>>>>>> +++ b/include/nucleus/pod.h >>>>>>>>>> @@ -277,12 +277,10 @@ static inline void xnpod_schedule(void) >>>>>>>>>> * context is active, or if we are caught in the middle of a >>>>>>>>>> * unlocked context switch. >>>>>>>>>> */ >>>>>>>>>> -#if XENO_DEBUG(NUCLEUS) >>>>>>>>>> if (testbits(sched->status, XNKCOUT|XNINIRQ|XNSWLOCK)) >>>>>>>>>> return; >>>>>>>>>> -#else /* !XENO_DEBUG(NUCLEUS) */ >>>>>>>>>> - if (testbits(sched->status, >>>>>>>>>> - XNKCOUT|XNINIRQ|XNSWLOCK|XNRESCHED) != XNRESCHED) >>>>>>>>>> +#if !XENO_DEBUG(NUCLEUS) >>>>>>>>>> + if (!sched->resched) >>>>>>>>>> return; >>>>>>>>>> #endif /* !XENO_DEBUG(NUCLEUS) */ >>>>>>>>> Having only one test was really nice here, maybe we simply read a >>>>>>>>> barrier before reading the status? >>>>>>>>> >>>>>>>> I agree - but the alternative is letting all modifications of >>>>>>>> xnsched::status use atomic bitops (that's required when folding all bits >>>>>>>> into a single word). And that should be much more costly, specifically >>>>>>>> on SMP. >>>>>>> What about issuing a barrier before testing the status? >>>>>>> >>>>>> The problem is not about reading but writing the status concurrently, >>>>>> thus it's not about the code you see above. >>>>> The bits are modified under nklock, which implies a barrier when >>>>> unlocked. Furthermore, an IPI is guaranteed to be received on the remote >>>>> CPU after this barrier, so, a barrier should be enough to see the >>>>> modifications which have been made remotely. >>>> Check nucleus/intr.c for tons of unprotected status modifications. >>> Ok. Then maybe, we should reconsider the original decision to start >>> fiddling with the XNRESCHED bit remotely. >> >> ...which removed complexity and fixed a race? Let's better review the >> checks done in xnpod_schedule vs. its callers, I bet there is more to >> save (IOW: remove the need to test for sched->resched). > > Not that much complexitiy... and the race was a false positive in debug > code, no big deal. At least it worked, and it has done so for a long > time. No atomic needed, no barrier, only one test in xnpod_schedule. And > a nice invariant: sched->status is always accessed on the local cpu. > What else? Take a step back and look at the root cause for this issue again. Unlocked if need-resched __xnpod_schedule is inherently racy and will always be (not only for the remote reschedule case BTW). So we either have to accept this and remove the debugging check from the scheduler or push the check back to __xnpod_schedule where it once came from. When this it cleaned up, we can look into the remote resched protocol again. Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 7:30 ` Jan Kiszka @ 2010-11-04 8:45 ` Anders Blomdell 2010-11-04 9:10 ` Jan Kiszka 2010-11-04 9:17 ` Gilles Chanteperdrix 2010-11-04 9:16 ` Gilles Chanteperdrix 1 sibling, 2 replies; 85+ messages in thread From: Anders Blomdell @ 2010-11-04 8:45 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Am 04.11.2010 01:13, Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>> Am 04.11.2010 00:56, Gilles Chanteperdrix wrote: >>>> Jan Kiszka wrote: >>>>> Am 04.11.2010 00:44, Gilles Chanteperdrix wrote: >>>>>> Jan Kiszka wrote: >>>>>>> Am 04.11.2010 00:18, Gilles Chanteperdrix wrote: >>>>>>>> Jan Kiszka wrote: >>>>>>>>> Am 04.11.2010 00:11, Gilles Chanteperdrix wrote: >>>>>>>>>> Jan Kiszka wrote: >>>>>>>>>>> Am 03.11.2010 23:11, Jan Kiszka wrote: >>>>>>>>>>>> Am 03.11.2010 23:03, Jan Kiszka wrote: >>>>>>>>>>>>> But we not not always use atomic ops for manipulating status bits (but >>>>>>>>>>>>> we do in other cases where this is no need - different story). This may >>>>>>>>>>>>> fix the race: >>>>>>>>>>>> Err, nonsense. As we manipulate xnsched::status also outside of nklock >>>>>>>>>>>> protection, we must _always_ use atomic ops. >>>>>>>>>>>> >>>>>>>>>>>> This screams for a cleanup: local-only bits like XNHTICK or XNINIRQ >>>>>>>>>>>> should be pushed in a separate status word that can then be safely >>>>>>>>>>>> modified non-atomically. >>>>>>>>>>> Second try to fix and clean up the sched status bits. Anders, please >>>>>>>>>>> test. >>>>>>>>>>> >>>>>>>>>>> Jan >>>>>>>>>>> >>>>>>>>>>> diff --git a/include/nucleus/pod.h b/include/nucleus/pod.h >>>>>>>>>>> index 01ff0a7..5987a1f 100644 >>>>>>>>>>> --- a/include/nucleus/pod.h >>>>>>>>>>> +++ b/include/nucleus/pod.h >>>>>>>>>>> @@ -277,12 +277,10 @@ static inline void xnpod_schedule(void) >>>>>>>>>>> * context is active, or if we are caught in the middle of a >>>>>>>>>>> * unlocked context switch. >>>>>>>>>>> */ >>>>>>>>>>> -#if XENO_DEBUG(NUCLEUS) >>>>>>>>>>> if (testbits(sched->status, XNKCOUT|XNINIRQ|XNSWLOCK)) >>>>>>>>>>> return; >>>>>>>>>>> -#else /* !XENO_DEBUG(NUCLEUS) */ >>>>>>>>>>> - if (testbits(sched->status, >>>>>>>>>>> - XNKCOUT|XNINIRQ|XNSWLOCK|XNRESCHED) != XNRESCHED) >>>>>>>>>>> +#if !XENO_DEBUG(NUCLEUS) >>>>>>>>>>> + if (!sched->resched) >>>>>>>>>>> return; >>>>>>>>>>> #endif /* !XENO_DEBUG(NUCLEUS) */ >>>>>>>>>> Having only one test was really nice here, maybe we simply read a >>>>>>>>>> barrier before reading the status? >>>>>>>>>> >>>>>>>>> I agree - but the alternative is letting all modifications of >>>>>>>>> xnsched::status use atomic bitops (that's required when folding all bits >>>>>>>>> into a single word). And that should be much more costly, specifically >>>>>>>>> on SMP. >>>>>>>> What about issuing a barrier before testing the status? >>>>>>>> >>>>>>> The problem is not about reading but writing the status concurrently, >>>>>>> thus it's not about the code you see above. >>>>>> The bits are modified under nklock, which implies a barrier when >>>>>> unlocked. Furthermore, an IPI is guaranteed to be received on the remote >>>>>> CPU after this barrier, so, a barrier should be enough to see the >>>>>> modifications which have been made remotely. >>>>> Check nucleus/intr.c for tons of unprotected status modifications. >>>> Ok. Then maybe, we should reconsider the original decision to start >>>> fiddling with the XNRESCHED bit remotely. >>> ...which removed complexity and fixed a race? Let's better review the >>> checks done in xnpod_schedule vs. its callers, I bet there is more to >>> save (IOW: remove the need to test for sched->resched). >> Not that much complexitiy... and the race was a false positive in debug >> code, no big deal. At least it worked, and it has done so for a long >> time. No atomic needed, no barrier, only one test in xnpod_schedule. And >> a nice invariant: sched->status is always accessed on the local cpu. >> What else? > > Take a step back and look at the root cause for this issue again. Unlocked > > if need-resched > __xnpod_schedule > > is inherently racy and will always be (not only for the remote > reschedule case BTW). So we either have to accept this and remove the > debugging check from the scheduler or push the check back to > __xnpod_schedule where it once came from. When this it cleaned up, we > can look into the remote resched protocol again. Probably being daft here; why not stop fiddling with remote CPU status bits and always do a reschedule on IPI irq's? /Anders ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 8:45 ` Anders Blomdell @ 2010-11-04 9:10 ` Jan Kiszka 2010-11-04 9:17 ` Gilles Chanteperdrix 1 sibling, 0 replies; 85+ messages in thread From: Jan Kiszka @ 2010-11-04 9:10 UTC (permalink / raw) To: Anders Blomdell; +Cc: xenomai@xenomai.org Am 04.11.2010 09:45, Anders Blomdell wrote: > Jan Kiszka wrote: >> Am 04.11.2010 01:13, Gilles Chanteperdrix wrote: >>> Jan Kiszka wrote: >>>> Am 04.11.2010 00:56, Gilles Chanteperdrix wrote: >>>>> Jan Kiszka wrote: >>>>>> Am 04.11.2010 00:44, Gilles Chanteperdrix wrote: >>>>>>> Jan Kiszka wrote: >>>>>>>> Am 04.11.2010 00:18, Gilles Chanteperdrix wrote: >>>>>>>>> Jan Kiszka wrote: >>>>>>>>>> Am 04.11.2010 00:11, Gilles Chanteperdrix wrote: >>>>>>>>>>> Jan Kiszka wrote: >>>>>>>>>>>> Am 03.11.2010 23:11, Jan Kiszka wrote: >>>>>>>>>>>>> Am 03.11.2010 23:03, Jan Kiszka wrote: >>>>>>>>>>>>>> But we not not always use atomic ops for manipulating >>>>>>>>>>>>>> status bits (but >>>>>>>>>>>>>> we do in other cases where this is no need - different >>>>>>>>>>>>>> story). This may >>>>>>>>>>>>>> fix the race: >>>>>>>>>>>>> Err, nonsense. As we manipulate xnsched::status also >>>>>>>>>>>>> outside of nklock >>>>>>>>>>>>> protection, we must _always_ use atomic ops. >>>>>>>>>>>>> >>>>>>>>>>>>> This screams for a cleanup: local-only bits like XNHTICK or >>>>>>>>>>>>> XNINIRQ >>>>>>>>>>>>> should be pushed in a separate status word that can then be >>>>>>>>>>>>> safely >>>>>>>>>>>>> modified non-atomically. >>>>>>>>>>>> Second try to fix and clean up the sched status bits. >>>>>>>>>>>> Anders, please >>>>>>>>>>>> test. >>>>>>>>>>>> >>>>>>>>>>>> Jan >>>>>>>>>>>> >>>>>>>>>>>> diff --git a/include/nucleus/pod.h b/include/nucleus/pod.h >>>>>>>>>>>> index 01ff0a7..5987a1f 100644 >>>>>>>>>>>> --- a/include/nucleus/pod.h >>>>>>>>>>>> +++ b/include/nucleus/pod.h >>>>>>>>>>>> @@ -277,12 +277,10 @@ static inline void xnpod_schedule(void) >>>>>>>>>>>> * context is active, or if we are caught in the middle >>>>>>>>>>>> of a >>>>>>>>>>>> * unlocked context switch. >>>>>>>>>>>> */ >>>>>>>>>>>> -#if XENO_DEBUG(NUCLEUS) >>>>>>>>>>>> if (testbits(sched->status, XNKCOUT|XNINIRQ|XNSWLOCK)) >>>>>>>>>>>> return; >>>>>>>>>>>> -#else /* !XENO_DEBUG(NUCLEUS) */ >>>>>>>>>>>> - if (testbits(sched->status, >>>>>>>>>>>> - XNKCOUT|XNINIRQ|XNSWLOCK|XNRESCHED) != XNRESCHED) >>>>>>>>>>>> +#if !XENO_DEBUG(NUCLEUS) >>>>>>>>>>>> + if (!sched->resched) >>>>>>>>>>>> return; >>>>>>>>>>>> #endif /* !XENO_DEBUG(NUCLEUS) */ >>>>>>>>>>> Having only one test was really nice here, maybe we simply >>>>>>>>>>> read a >>>>>>>>>>> barrier before reading the status? >>>>>>>>>>> >>>>>>>>>> I agree - but the alternative is letting all modifications of >>>>>>>>>> xnsched::status use atomic bitops (that's required when >>>>>>>>>> folding all bits >>>>>>>>>> into a single word). And that should be much more costly, >>>>>>>>>> specifically >>>>>>>>>> on SMP. >>>>>>>>> What about issuing a barrier before testing the status? >>>>>>>>> >>>>>>>> The problem is not about reading but writing the status >>>>>>>> concurrently, >>>>>>>> thus it's not about the code you see above. >>>>>>> The bits are modified under nklock, which implies a barrier when >>>>>>> unlocked. Furthermore, an IPI is guaranteed to be received on the >>>>>>> remote >>>>>>> CPU after this barrier, so, a barrier should be enough to see the >>>>>>> modifications which have been made remotely. >>>>>> Check nucleus/intr.c for tons of unprotected status modifications. >>>>> Ok. Then maybe, we should reconsider the original decision to start >>>>> fiddling with the XNRESCHED bit remotely. >>>> ...which removed complexity and fixed a race? Let's better review the >>>> checks done in xnpod_schedule vs. its callers, I bet there is more to >>>> save (IOW: remove the need to test for sched->resched). >>> Not that much complexitiy... and the race was a false positive in debug >>> code, no big deal. At least it worked, and it has done so for a long >>> time. No atomic needed, no barrier, only one test in xnpod_schedule. And >>> a nice invariant: sched->status is always accessed on the local cpu. >>> What else? >> >> Take a step back and look at the root cause for this issue again. >> Unlocked >> >> if need-resched >> __xnpod_schedule >> >> is inherently racy and will always be (not only for the remote >> reschedule case BTW). So we either have to accept this and remove the >> debugging check from the scheduler or push the check back to >> __xnpod_schedule where it once came from. When this it cleaned up, we >> can look into the remote resched protocol again. > Probably being daft here; why not stop fiddling with remote CPU status > bits and always do a reschedule on IPI irq's? Yes that's what we did before. But the snippet above was and still is the issue to be resolved first. It motivated the change in the remote reschedule to avoid one of the possible races around this check. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 8:45 ` Anders Blomdell 2010-11-04 9:10 ` Jan Kiszka @ 2010-11-04 9:17 ` Gilles Chanteperdrix 1 sibling, 0 replies; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-04 9:17 UTC (permalink / raw) To: Anders Blomdell; +Cc: Jan Kiszka, xenomai@xenomai.org Anders Blomdell wrote: > Probably being daft here; why not stop fiddling with remote CPU status > bits and always do a reschedule on IPI irq's? That is what we had been doing for a long time, and stopped between 2.5.4 and 2.5.5, and this is what I say: maybe this was not such a good idea. -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 7:30 ` Jan Kiszka 2010-11-04 8:45 ` Anders Blomdell @ 2010-11-04 9:16 ` Gilles Chanteperdrix 2010-11-04 9:18 ` Gilles Chanteperdrix 2010-11-04 9:26 ` Jan Kiszka 1 sibling, 2 replies; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-04 9:16 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Take a step back and look at the root cause for this issue again. Unlocked > > if need-resched > __xnpod_schedule > > is inherently racy and will always be (not only for the remote > reschedule case BTW). Ok, let us examine what may happen with this code if we only set the XNRESCHED bit on the local cpu. First, other bits than XNRESCHED do not matter, because they can not change under our feet. So, we have two cases for this race: 1- we see the XNRESCHED bit, but it has been cleared once nklock is locked in __xnpod_schedule. 2- we do not see the XNRESCHED bit, but it get set right after we test it. 1 is not a problem. 2 is not a problem, because anything which sets the XNRESCHED (it may only be an interrupt in fact) bit will cause xnpod_schedule to be called right after that. So no, no race here provided that we only set the XNRESCHED bit on the local cpu. So we either have to accept this and remove the > debugging check from the scheduler or push the check back to > __xnpod_schedule where it once came from. When this it cleaned up, we > can look into the remote resched protocol again. The problem of the debug check is that it checks whether the scheduler state is modified without the XNRESCHED bit being set. And this is the problem, because yes, in that case, we have a race: the scheduler state may be modified before the XNRESCHED bit is set by an IPI. If we want to fix the debug check, we have to have a special bit, on in the sched->status flag, only for the purpose of debugging. Or remove the debug check. -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 9:16 ` Gilles Chanteperdrix @ 2010-11-04 9:18 ` Gilles Chanteperdrix 2010-11-04 9:26 ` Jan Kiszka 1 sibling, 0 replies; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-04 9:18 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >> Take a step back and look at the root cause for this issue again. Unlocked >> >> if need-resched >> __xnpod_schedule >> >> is inherently racy and will always be (not only for the remote >> reschedule case BTW). > > Ok, let us examine what may happen with this code if we only set the > XNRESCHED bit on the local cpu. First, other bits than XNRESCHED do not > matter, because they can not change under our feet. So, we have two > cases for this race: > 1- we see the XNRESCHED bit, but it has been cleared once nklock is > locked in __xnpod_schedule. > 2- we do not see the XNRESCHED bit, but it get set right after we test it. > > 1 is not a problem. > 2 is not a problem, because anything which sets the XNRESCHED (it may > only be an interrupt in fact) bit will cause xnpod_schedule to be called > right after that. > > So no, no race here provided that we only set the XNRESCHED bit on the > local cpu. > > So we either have to accept this and remove the >> debugging check from the scheduler or push the check back to >> __xnpod_schedule where it once came from. When this it cleaned up, we >> can look into the remote resched protocol again. > > The problem of the debug check is that it checks whether the scheduler > state is modified without the XNRESCHED bit being set. And this is the > problem, because yes, in that case, we have a race: the scheduler state > may be modified before the XNRESCHED bit is set by an IPI. > > If we want to fix the debug check, we have to have a special bit, on in NOT > the sched->status flag, only for the purpose of debugging. Or remove the > debug check. > -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 9:16 ` Gilles Chanteperdrix 2010-11-04 9:18 ` Gilles Chanteperdrix @ 2010-11-04 9:26 ` Jan Kiszka 2010-11-04 9:32 ` Jan Kiszka 1 sibling, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-04 9:26 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org Am 04.11.2010 10:16, Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >> Take a step back and look at the root cause for this issue again. Unlocked >> >> if need-resched >> __xnpod_schedule >> >> is inherently racy and will always be (not only for the remote >> reschedule case BTW). > > Ok, let us examine what may happen with this code if we only set the > XNRESCHED bit on the local cpu. First, other bits than XNRESCHED do not > matter, because they can not change under our feet. So, we have two > cases for this race: > 1- we see the XNRESCHED bit, but it has been cleared once nklock is > locked in __xnpod_schedule. > 2- we do not see the XNRESCHED bit, but it get set right after we test it. > > 1 is not a problem. Yes, as long as we remove the debug check from the scheduler code (or fix it somehow). The scheduling code already catches this race. > 2 is not a problem, because anything which sets the XNRESCHED (it may > only be an interrupt in fact) bit will cause xnpod_schedule to be called > right after that. > > So no, no race here provided that we only set the XNRESCHED bit on the > local cpu. > > So we either have to accept this and remove the >> debugging check from the scheduler or push the check back to >> __xnpod_schedule where it once came from. When this it cleaned up, we >> can look into the remote resched protocol again. > > The problem of the debug check is that it checks whether the scheduler > state is modified without the XNRESCHED bit being set. And this is the > problem, because yes, in that case, we have a race: the scheduler state > may be modified before the XNRESCHED bit is set by an IPI. > > If we want to fix the debug check, we have to have a special bit, on in > the sched->status flag, only for the purpose of debugging. Or remove the > debug check. Exactly my point. Is there any benefit in keeping the debug check? The code to make it work may end up as "complex" as the logic it verifies, at least that's my current feeling. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 9:26 ` Jan Kiszka @ 2010-11-04 9:32 ` Jan Kiszka 2010-11-04 10:42 ` Anders Blomdell 2010-11-04 12:39 ` Gilles Chanteperdrix 0 siblings, 2 replies; 85+ messages in thread From: Jan Kiszka @ 2010-11-04 9:32 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org Am 04.11.2010 10:26, Jan Kiszka wrote: > Am 04.11.2010 10:16, Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>> Take a step back and look at the root cause for this issue again. Unlocked >>> >>> if need-resched >>> __xnpod_schedule >>> >>> is inherently racy and will always be (not only for the remote >>> reschedule case BTW). >> >> Ok, let us examine what may happen with this code if we only set the >> XNRESCHED bit on the local cpu. First, other bits than XNRESCHED do not >> matter, because they can not change under our feet. So, we have two >> cases for this race: >> 1- we see the XNRESCHED bit, but it has been cleared once nklock is >> locked in __xnpod_schedule. >> 2- we do not see the XNRESCHED bit, but it get set right after we test it. >> >> 1 is not a problem. > > Yes, as long as we remove the debug check from the scheduler code (or > fix it somehow). The scheduling code already catches this race. > >> 2 is not a problem, because anything which sets the XNRESCHED (it may >> only be an interrupt in fact) bit will cause xnpod_schedule to be called >> right after that. >> >> So no, no race here provided that we only set the XNRESCHED bit on the >> local cpu. >> >> So we either have to accept this and remove the >>> debugging check from the scheduler or push the check back to >>> __xnpod_schedule where it once came from. When this it cleaned up, we >>> can look into the remote resched protocol again. >> >> The problem of the debug check is that it checks whether the scheduler >> state is modified without the XNRESCHED bit being set. And this is the >> problem, because yes, in that case, we have a race: the scheduler state >> may be modified before the XNRESCHED bit is set by an IPI. >> >> If we want to fix the debug check, we have to have a special bit, on in >> the sched->status flag, only for the purpose of debugging. Or remove the >> debug check. > > Exactly my point. Is there any benefit in keeping the debug check? The > code to make it work may end up as "complex" as the logic it verifies, > at least that's my current feeling. > This would be the radical approach of removing the check (and cleaning up some bits). If it's acceptable, I would split it up properly. diff --git a/include/nucleus/pod.h b/include/nucleus/pod.h index 01ff0a7..71f8311 100644 --- a/include/nucleus/pod.h +++ b/include/nucleus/pod.h @@ -277,14 +277,9 @@ static inline void xnpod_schedule(void) * context is active, or if we are caught in the middle of a * unlocked context switch. */ -#if XENO_DEBUG(NUCLEUS) - if (testbits(sched->status, XNKCOUT|XNINIRQ|XNSWLOCK)) - return; -#else /* !XENO_DEBUG(NUCLEUS) */ if (testbits(sched->status, XNKCOUT|XNINIRQ|XNSWLOCK|XNRESCHED) != XNRESCHED) return; -#endif /* !XENO_DEBUG(NUCLEUS) */ __xnpod_schedule(sched); } diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h index df56417..c832b91 100644 --- a/include/nucleus/sched.h +++ b/include/nucleus/sched.h @@ -177,17 +177,16 @@ static inline int xnsched_self_resched_p(struct xnsched *sched) /* Set self resched flag for the given scheduler. */ #define xnsched_set_self_resched(__sched__) do { \ - setbits((__sched__)->status, XNRESCHED); \ + __setbits((__sched__)->status, XNRESCHED); \ } while (0) /* Set specific resched flag into the local scheduler mask. */ #define xnsched_set_resched(__sched__) do { \ - xnsched_t *current_sched = xnpod_current_sched(); \ - setbits(current_sched->status, XNRESCHED); \ - if (current_sched != (__sched__)) { \ - xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ - setbits((__sched__)->status, XNRESCHED); \ - } \ + xnsched_t *current_sched = xnpod_current_sched(); \ + __setbits(current_sched->status, XNRESCHED); \ + if (current_sched != (__sched__)) \ + xnarch_cpu_set(xnsched_cpu(__sched__), \ + current_sched->resched); \ } while (0) void xnsched_zombie_hooks(struct xnthread *thread); diff --git a/ksrc/nucleus/pod.c b/ksrc/nucleus/pod.c index 9e135f3..87dc136 100644 --- a/ksrc/nucleus/pod.c +++ b/ksrc/nucleus/pod.c @@ -284,10 +284,11 @@ void xnpod_schedule_handler(void) /* Called with hw interrupts off. */ trace_xn_nucleus_sched_remote(sched); #if defined(CONFIG_SMP) && defined(CONFIG_XENO_OPT_PRIOCPL) if (testbits(sched->status, XNRPICK)) { - clrbits(sched->status, XNRPICK); + __clrbits(sched->status, XNRPICK); xnshadow_rpi_check(); } #endif /* CONFIG_SMP && CONFIG_XENO_OPT_PRIOCPL */ + xnsched_set_resched(sched); xnpod_schedule(); } @@ -2162,21 +2163,21 @@ static inline void xnpod_switch_to(xnsched_t *sched, static inline int __xnpod_test_resched(struct xnsched *sched) { - int resched = testbits(sched->status, XNRESCHED); + int resched = xnsched_resched_p(sched); #ifdef CONFIG_SMP /* Send resched IPI to remote CPU(s). */ - if (unlikely(xnsched_resched_p(sched))) { + if (unlikely(resched)) { xnarch_send_ipi(sched->resched); xnarch_cpus_clear(sched->resched); } #endif - clrbits(sched->status, XNRESCHED); + __clrbits(sched->status, XNRESCHED); return resched; } void __xnpod_schedule(struct xnsched *sched) { - int zombie, switched, need_resched, shadow; + int zombie, switched, shadow; struct xnthread *prev, *next, *curr; spl_t s; @@ -2194,11 +2195,10 @@ void __xnpod_schedule(struct xnsched *sched) xnthread_current_priority(curr)); reschedule: switched = 0; - need_resched = __xnpod_test_resched(sched); -#if !XENO_DEBUG(NUCLEUS) - if (!need_resched) + + if (!__xnpod_test_resched(sched)) goto signal_unlock_and_exit; -#endif /* !XENO_DEBUG(NUCLEUS) */ + zombie = xnthread_test_state(curr, XNZOMBIE); next = xnsched_pick_next(sched); @@ -2213,8 +2213,6 @@ reschedule: goto signal_unlock_and_exit; } - XENO_BUGON(NUCLEUS, need_resched == 0); - prev = curr; trace_xn_nucleus_sched_switch(prev, next); Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux ^ permalink raw reply related [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 9:32 ` Jan Kiszka @ 2010-11-04 10:42 ` Anders Blomdell 2010-11-04 12:39 ` Gilles Chanteperdrix 1 sibling, 0 replies; 85+ messages in thread From: Anders Blomdell @ 2010-11-04 10:42 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Am 04.11.2010 10:26, Jan Kiszka wrote: >> Am 04.11.2010 10:16, Gilles Chanteperdrix wrote: >>> Jan Kiszka wrote: >>>> Take a step back and look at the root cause for this issue again. Unlocked >>>> >>>> if need-resched >>>> __xnpod_schedule >>>> >>>> is inherently racy and will always be (not only for the remote >>>> reschedule case BTW). >>> Ok, let us examine what may happen with this code if we only set the >>> XNRESCHED bit on the local cpu. First, other bits than XNRESCHED do not >>> matter, because they can not change under our feet. So, we have two >>> cases for this race: >>> 1- we see the XNRESCHED bit, but it has been cleared once nklock is >>> locked in __xnpod_schedule. >>> 2- we do not see the XNRESCHED bit, but it get set right after we test it. >>> >>> 1 is not a problem. >> Yes, as long as we remove the debug check from the scheduler code (or >> fix it somehow). The scheduling code already catches this race. >> >>> 2 is not a problem, because anything which sets the XNRESCHED (it may >>> only be an interrupt in fact) bit will cause xnpod_schedule to be called >>> right after that. >>> >>> So no, no race here provided that we only set the XNRESCHED bit on the >>> local cpu. >>> >>> So we either have to accept this and remove the >>>> debugging check from the scheduler or push the check back to >>>> __xnpod_schedule where it once came from. When this it cleaned up, we >>>> can look into the remote resched protocol again. >>> The problem of the debug check is that it checks whether the scheduler >>> state is modified without the XNRESCHED bit being set. And this is the >>> problem, because yes, in that case, we have a race: the scheduler state >>> may be modified before the XNRESCHED bit is set by an IPI. >>> >>> If we want to fix the debug check, we have to have a special bit, on in >>> the sched->status flag, only for the purpose of debugging. Or remove the >>> debug check. >> Exactly my point. Is there any benefit in keeping the debug check? The >> code to make it work may end up as "complex" as the logic it verifies, >> at least that's my current feeling. >> > > This would be the radical approach of removing the check (and cleaning > up some bits). If it's acceptable, I would split it up properly. > > diff --git a/include/nucleus/pod.h b/include/nucleus/pod.h > index 01ff0a7..71f8311 100644 > --- a/include/nucleus/pod.h > +++ b/include/nucleus/pod.h > @@ -277,14 +277,9 @@ static inline void xnpod_schedule(void) > * context is active, or if we are caught in the middle of a > * unlocked context switch. > */ > -#if XENO_DEBUG(NUCLEUS) > - if (testbits(sched->status, XNKCOUT|XNINIRQ|XNSWLOCK)) > - return; > -#else /* !XENO_DEBUG(NUCLEUS) */ > if (testbits(sched->status, > XNKCOUT|XNINIRQ|XNSWLOCK|XNRESCHED) != XNRESCHED) > return; > -#endif /* !XENO_DEBUG(NUCLEUS) */ > > __xnpod_schedule(sched); > } > diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h > index df56417..c832b91 100644 > --- a/include/nucleus/sched.h > +++ b/include/nucleus/sched.h > @@ -177,17 +177,16 @@ static inline int xnsched_self_resched_p(struct xnsched *sched) > > /* Set self resched flag for the given scheduler. */ > #define xnsched_set_self_resched(__sched__) do { \ > - setbits((__sched__)->status, XNRESCHED); \ > + __setbits((__sched__)->status, XNRESCHED); \ > } while (0) > > /* Set specific resched flag into the local scheduler mask. */ > #define xnsched_set_resched(__sched__) do { \ > - xnsched_t *current_sched = xnpod_current_sched(); \ > - setbits(current_sched->status, XNRESCHED); \ > - if (current_sched != (__sched__)) { \ > - xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ > - setbits((__sched__)->status, XNRESCHED); \ > - } \ > + xnsched_t *current_sched = xnpod_current_sched(); \ > + __setbits(current_sched->status, XNRESCHED); \ > + if (current_sched != (__sched__)) \ > + xnarch_cpu_set(xnsched_cpu(__sched__), \ > + current_sched->resched); \ > } while (0) > > void xnsched_zombie_hooks(struct xnthread *thread); > diff --git a/ksrc/nucleus/pod.c b/ksrc/nucleus/pod.c > index 9e135f3..87dc136 100644 > --- a/ksrc/nucleus/pod.c > +++ b/ksrc/nucleus/pod.c > @@ -284,10 +284,11 @@ void xnpod_schedule_handler(void) /* Called with hw interrupts off. */ > trace_xn_nucleus_sched_remote(sched); > #if defined(CONFIG_SMP) && defined(CONFIG_XENO_OPT_PRIOCPL) > if (testbits(sched->status, XNRPICK)) { > - clrbits(sched->status, XNRPICK); > + __clrbits(sched->status, XNRPICK); > xnshadow_rpi_check(); > } > #endif /* CONFIG_SMP && CONFIG_XENO_OPT_PRIOCPL */ > + xnsched_set_resched(sched); > xnpod_schedule(); > } > > @@ -2162,21 +2163,21 @@ static inline void xnpod_switch_to(xnsched_t *sched, > > static inline int __xnpod_test_resched(struct xnsched *sched) > { > - int resched = testbits(sched->status, XNRESCHED); > + int resched = xnsched_resched_p(sched); > #ifdef CONFIG_SMP > /* Send resched IPI to remote CPU(s). */ > - if (unlikely(xnsched_resched_p(sched))) { > + if (unlikely(resched)) { > xnarch_send_ipi(sched->resched); > xnarch_cpus_clear(sched->resched); > } > #endif > - clrbits(sched->status, XNRESCHED); > + __clrbits(sched->status, XNRESCHED); > return resched; > } > > void __xnpod_schedule(struct xnsched *sched) > { > - int zombie, switched, need_resched, shadow; > + int zombie, switched, shadow; > struct xnthread *prev, *next, *curr; > spl_t s; > > @@ -2194,11 +2195,10 @@ void __xnpod_schedule(struct xnsched *sched) > xnthread_current_priority(curr)); > reschedule: > switched = 0; > - need_resched = __xnpod_test_resched(sched); > -#if !XENO_DEBUG(NUCLEUS) > - if (!need_resched) > + > + if (!__xnpod_test_resched(sched)) > goto signal_unlock_and_exit; > -#endif /* !XENO_DEBUG(NUCLEUS) */ > + > zombie = xnthread_test_state(curr, XNZOMBIE); > > next = xnsched_pick_next(sched); > @@ -2213,8 +2213,6 @@ reschedule: > goto signal_unlock_and_exit; > } > > - XENO_BUGON(NUCLEUS, need_resched == 0); > - > prev = curr; > > trace_xn_nucleus_sched_switch(prev, next); And remember to make the diff to head and not ftrace branch :-) /Anders ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 9:32 ` Jan Kiszka 2010-11-04 10:42 ` Anders Blomdell @ 2010-11-04 12:39 ` Gilles Chanteperdrix 2010-11-04 13:18 ` Anders Blomdell 1 sibling, 1 reply; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-04 12:39 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Am 04.11.2010 10:26, Jan Kiszka wrote: >> Am 04.11.2010 10:16, Gilles Chanteperdrix wrote: >>> Jan Kiszka wrote: >>>> Take a step back and look at the root cause for this issue again. Unlocked >>>> >>>> if need-resched >>>> __xnpod_schedule >>>> >>>> is inherently racy and will always be (not only for the remote >>>> reschedule case BTW). >>> Ok, let us examine what may happen with this code if we only set the >>> XNRESCHED bit on the local cpu. First, other bits than XNRESCHED do not >>> matter, because they can not change under our feet. So, we have two >>> cases for this race: >>> 1- we see the XNRESCHED bit, but it has been cleared once nklock is >>> locked in __xnpod_schedule. >>> 2- we do not see the XNRESCHED bit, but it get set right after we test it. >>> >>> 1 is not a problem. >> Yes, as long as we remove the debug check from the scheduler code (or >> fix it somehow). The scheduling code already catches this race. >> >>> 2 is not a problem, because anything which sets the XNRESCHED (it may >>> only be an interrupt in fact) bit will cause xnpod_schedule to be called >>> right after that. >>> >>> So no, no race here provided that we only set the XNRESCHED bit on the >>> local cpu. >>> >>> So we either have to accept this and remove the >>>> debugging check from the scheduler or push the check back to >>>> __xnpod_schedule where it once came from. When this it cleaned up, we >>>> can look into the remote resched protocol again. >>> The problem of the debug check is that it checks whether the scheduler >>> state is modified without the XNRESCHED bit being set. And this is the >>> problem, because yes, in that case, we have a race: the scheduler state >>> may be modified before the XNRESCHED bit is set by an IPI. >>> >>> If we want to fix the debug check, we have to have a special bit, on in >>> the sched->status flag, only for the purpose of debugging. Or remove the >>> debug check. >> Exactly my point. Is there any benefit in keeping the debug check? The >> code to make it work may end up as "complex" as the logic it verifies, >> at least that's my current feeling. >> > > This would be the radical approach of removing the check (and cleaning > up some bits). If it's acceptable, I would split it up properly. This debug check saved our asses when debugging SMP issues, and I suspect it may help debugging skin issues. So, I think we should try and keep it. > @@ -2162,21 +2163,21 @@ static inline void xnpod_switch_to(xnsched_t *sched, > > static inline int __xnpod_test_resched(struct xnsched *sched) > { > - int resched = testbits(sched->status, XNRESCHED); > + int resched = xnsched_resched_p(sched); > #ifdef CONFIG_SMP > /* Send resched IPI to remote CPU(s). */ > - if (unlikely(xnsched_resched_p(sched))) { > + if (unlikely(resched)) { At first sight, here you are more breaking things than cleaning them. -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 12:39 ` Gilles Chanteperdrix @ 2010-11-04 13:18 ` Anders Blomdell 2010-11-04 14:37 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Anders Blomdell @ 2010-11-04 13:18 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Jan Kiszka, xenomai@xenomai.org Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >> Am 04.11.2010 10:26, Jan Kiszka wrote: >>> Am 04.11.2010 10:16, Gilles Chanteperdrix wrote: >>>> Jan Kiszka wrote: >>>>> Take a step back and look at the root cause for this issue again. Unlocked >>>>> >>>>> if need-resched >>>>> __xnpod_schedule >>>>> >>>>> is inherently racy and will always be (not only for the remote >>>>> reschedule case BTW). >>>> Ok, let us examine what may happen with this code if we only set the >>>> XNRESCHED bit on the local cpu. First, other bits than XNRESCHED do not >>>> matter, because they can not change under our feet. So, we have two >>>> cases for this race: >>>> 1- we see the XNRESCHED bit, but it has been cleared once nklock is >>>> locked in __xnpod_schedule. >>>> 2- we do not see the XNRESCHED bit, but it get set right after we test it. >>>> >>>> 1 is not a problem. >>> Yes, as long as we remove the debug check from the scheduler code (or >>> fix it somehow). The scheduling code already catches this race. >>> >>>> 2 is not a problem, because anything which sets the XNRESCHED (it may >>>> only be an interrupt in fact) bit will cause xnpod_schedule to be called >>>> right after that. >>>> >>>> So no, no race here provided that we only set the XNRESCHED bit on the >>>> local cpu. >>>> >>>> So we either have to accept this and remove the >>>>> debugging check from the scheduler or push the check back to >>>>> __xnpod_schedule where it once came from. When this it cleaned up, we >>>>> can look into the remote resched protocol again. >>>> The problem of the debug check is that it checks whether the scheduler >>>> state is modified without the XNRESCHED bit being set. And this is the >>>> problem, because yes, in that case, we have a race: the scheduler state >>>> may be modified before the XNRESCHED bit is set by an IPI. >>>> >>>> If we want to fix the debug check, we have to have a special bit, on in >>>> the sched->status flag, only for the purpose of debugging. Or remove the >>>> debug check. >>> Exactly my point. Is there any benefit in keeping the debug check? The >>> code to make it work may end up as "complex" as the logic it verifies, >>> at least that's my current feeling. >>> >> This would be the radical approach of removing the check (and cleaning >> up some bits). If it's acceptable, I would split it up properly. > > This debug check saved our asses when debugging SMP issues, and I > suspect it may help debugging skin issues. So, I think we should try and > keep it. > > > At first sight, here you are more breaking things than cleaning them. Still, it has the SMP record for my test program, still runs with ftrace on (after 2 hours, where it previously failed after maximum 23 minutes). If I get the gist of Jan's changes, they are (using the IPI to transfer one bit of information: your cpu needs to reschedule): xnsched_set_resched: - setbits((__sched__)->status, XNRESCHED); xnpod_schedule_handler: + xnsched_set_resched(sched); If you (we?) decide to keep the debug checks, under what circumstances would the current check trigger (in laymans language, that I'll be able to understand)? /Anders ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 13:18 ` Anders Blomdell @ 2010-11-04 14:37 ` Jan Kiszka 2010-11-04 14:53 ` Anders Blomdell 2010-11-04 22:06 ` Gilles Chanteperdrix 0 siblings, 2 replies; 85+ messages in thread From: Jan Kiszka @ 2010-11-04 14:37 UTC (permalink / raw) To: Anders Blomdell; +Cc: xenomai@xenomai.org Am 04.11.2010 14:18, Anders Blomdell wrote: > Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>> Am 04.11.2010 10:26, Jan Kiszka wrote: >>>> Am 04.11.2010 10:16, Gilles Chanteperdrix wrote: >>>>> Jan Kiszka wrote: >>>>>> Take a step back and look at the root cause for this issue again. Unlocked >>>>>> >>>>>> if need-resched >>>>>> __xnpod_schedule >>>>>> >>>>>> is inherently racy and will always be (not only for the remote >>>>>> reschedule case BTW). >>>>> Ok, let us examine what may happen with this code if we only set the >>>>> XNRESCHED bit on the local cpu. First, other bits than XNRESCHED do not >>>>> matter, because they can not change under our feet. So, we have two >>>>> cases for this race: >>>>> 1- we see the XNRESCHED bit, but it has been cleared once nklock is >>>>> locked in __xnpod_schedule. >>>>> 2- we do not see the XNRESCHED bit, but it get set right after we test it. >>>>> >>>>> 1 is not a problem. >>>> Yes, as long as we remove the debug check from the scheduler code (or >>>> fix it somehow). The scheduling code already catches this race. >>>> >>>>> 2 is not a problem, because anything which sets the XNRESCHED (it may >>>>> only be an interrupt in fact) bit will cause xnpod_schedule to be called >>>>> right after that. >>>>> >>>>> So no, no race here provided that we only set the XNRESCHED bit on the >>>>> local cpu. >>>>> >>>>> So we either have to accept this and remove the >>>>>> debugging check from the scheduler or push the check back to >>>>>> __xnpod_schedule where it once came from. When this it cleaned up, we >>>>>> can look into the remote resched protocol again. >>>>> The problem of the debug check is that it checks whether the scheduler >>>>> state is modified without the XNRESCHED bit being set. And this is the >>>>> problem, because yes, in that case, we have a race: the scheduler state >>>>> may be modified before the XNRESCHED bit is set by an IPI. >>>>> >>>>> If we want to fix the debug check, we have to have a special bit, on in >>>>> the sched->status flag, only for the purpose of debugging. Or remove the >>>>> debug check. >>>> Exactly my point. Is there any benefit in keeping the debug check? The >>>> code to make it work may end up as "complex" as the logic it verifies, >>>> at least that's my current feeling. >>>> >>> This would be the radical approach of removing the check (and cleaning >>> up some bits). If it's acceptable, I would split it up properly. >> >> This debug check saved our asses when debugging SMP issues, and I >> suspect it may help debugging skin issues. So, I think we should try and >> keep it. >> >> >> At first sight, here you are more breaking things than cleaning them. > Still, it has the SMP record for my test program, still runs with ftrace > on (after 2 hours, where it previously failed after maximum 23 minutes). My version was indeed still buggy, I'm reworking it ATM. > > If I get the gist of Jan's changes, they are (using the IPI to transfer > one bit of information: your cpu needs to reschedule): > > xnsched_set_resched: > - setbits((__sched__)->status, XNRESCHED); > > xnpod_schedule_handler: > + xnsched_set_resched(sched); > > If you (we?) decide to keep the debug checks, under what circumstances > would the current check trigger (in laymans language, that I'll be able > to understand)? That's actually what /me is wondering as well. I do not see yet how you can reliably detect a missed reschedule reliably (that was the purpose of the debug check) given the racy nature between signaling resched and processing the resched hints. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 14:37 ` Jan Kiszka @ 2010-11-04 14:53 ` Anders Blomdell 2010-11-04 15:33 ` Jan Kiszka 2010-11-04 22:06 ` Gilles Chanteperdrix 1 sibling, 1 reply; 85+ messages in thread From: Anders Blomdell @ 2010-11-04 14:53 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Am 04.11.2010 14:18, Anders Blomdell wrote: >> Gilles Chanteperdrix wrote: >>> Jan Kiszka wrote: >>>> Am 04.11.2010 10:26, Jan Kiszka wrote: >>>>> Am 04.11.2010 10:16, Gilles Chanteperdrix wrote: >>>>>> Jan Kiszka wrote: >>>>>>> Take a step back and look at the root cause for this issue again. Unlocked >>>>>>> >>>>>>> if need-resched >>>>>>> __xnpod_schedule >>>>>>> >>>>>>> is inherently racy and will always be (not only for the remote >>>>>>> reschedule case BTW). >>>>>> Ok, let us examine what may happen with this code if we only set the >>>>>> XNRESCHED bit on the local cpu. First, other bits than XNRESCHED do not >>>>>> matter, because they can not change under our feet. So, we have two >>>>>> cases for this race: >>>>>> 1- we see the XNRESCHED bit, but it has been cleared once nklock is >>>>>> locked in __xnpod_schedule. >>>>>> 2- we do not see the XNRESCHED bit, but it get set right after we test it. >>>>>> >>>>>> 1 is not a problem. >>>>> Yes, as long as we remove the debug check from the scheduler code (or >>>>> fix it somehow). The scheduling code already catches this race. >>>>> >>>>>> 2 is not a problem, because anything which sets the XNRESCHED (it may >>>>>> only be an interrupt in fact) bit will cause xnpod_schedule to be called >>>>>> right after that. >>>>>> >>>>>> So no, no race here provided that we only set the XNRESCHED bit on the >>>>>> local cpu. >>>>>> >>>>>> So we either have to accept this and remove the >>>>>>> debugging check from the scheduler or push the check back to >>>>>>> __xnpod_schedule where it once came from. When this it cleaned up, we >>>>>>> can look into the remote resched protocol again. >>>>>> The problem of the debug check is that it checks whether the scheduler >>>>>> state is modified without the XNRESCHED bit being set. And this is the >>>>>> problem, because yes, in that case, we have a race: the scheduler state >>>>>> may be modified before the XNRESCHED bit is set by an IPI. >>>>>> >>>>>> If we want to fix the debug check, we have to have a special bit, on in >>>>>> the sched->status flag, only for the purpose of debugging. Or remove the >>>>>> debug check. >>>>> Exactly my point. Is there any benefit in keeping the debug check? The >>>>> code to make it work may end up as "complex" as the logic it verifies, >>>>> at least that's my current feeling. >>>>> >>>> This would be the radical approach of removing the check (and cleaning >>>> up some bits). If it's acceptable, I would split it up properly. >>> This debug check saved our asses when debugging SMP issues, and I >>> suspect it may help debugging skin issues. So, I think we should try and >>> keep it. >>> >>> >>> At first sight, here you are more breaking things than cleaning them. >> Still, it has the SMP record for my test program, still runs with ftrace >> on (after 2 hours, where it previously failed after maximum 23 minutes). > > My version was indeed still buggy, I'm reworking it ATM. Any reason why the two changes below would fail (I need to get things working real soon now). > >> If I get the gist of Jan's changes, they are (using the IPI to transfer >> one bit of information: your cpu needs to reschedule): >> >> xnsched_set_resched: >> - setbits((__sched__)->status, XNRESCHED); >> >> xnpod_schedule_handler: >> + xnsched_set_resched(sched); >> >> If you (we?) decide to keep the debug checks, under what circumstances >> would the current check trigger (in laymans language, that I'll be able >> to understand)? > > That's actually what /me is wondering as well. I do not see yet how you > can reliably detect a missed reschedule reliably (that was the purpose > of the debug check) given the racy nature between signaling resched and > processing the resched hints. The only thing I can think of are atomic set/clear on an independent variable. /Anders ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 14:53 ` Anders Blomdell @ 2010-11-04 15:33 ` Jan Kiszka 2010-11-04 22:08 ` Gilles Chanteperdrix 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-04 15:33 UTC (permalink / raw) To: Anders Blomdell; +Cc: xenomai@xenomai.org Am 04.11.2010 15:53, Anders Blomdell wrote: > Jan Kiszka wrote: >> Am 04.11.2010 14:18, Anders Blomdell wrote: >>> Gilles Chanteperdrix wrote: >>>> Jan Kiszka wrote: >>>>> Am 04.11.2010 10:26, Jan Kiszka wrote: >>>>>> Am 04.11.2010 10:16, Gilles Chanteperdrix wrote: >>>>>>> Jan Kiszka wrote: >>>>>>>> Take a step back and look at the root cause for this issue again. Unlocked >>>>>>>> >>>>>>>> if need-resched >>>>>>>> __xnpod_schedule >>>>>>>> >>>>>>>> is inherently racy and will always be (not only for the remote >>>>>>>> reschedule case BTW). >>>>>>> Ok, let us examine what may happen with this code if we only set the >>>>>>> XNRESCHED bit on the local cpu. First, other bits than XNRESCHED do not >>>>>>> matter, because they can not change under our feet. So, we have two >>>>>>> cases for this race: >>>>>>> 1- we see the XNRESCHED bit, but it has been cleared once nklock is >>>>>>> locked in __xnpod_schedule. >>>>>>> 2- we do not see the XNRESCHED bit, but it get set right after we test it. >>>>>>> >>>>>>> 1 is not a problem. >>>>>> Yes, as long as we remove the debug check from the scheduler code (or >>>>>> fix it somehow). The scheduling code already catches this race. >>>>>> >>>>>>> 2 is not a problem, because anything which sets the XNRESCHED (it may >>>>>>> only be an interrupt in fact) bit will cause xnpod_schedule to be called >>>>>>> right after that. >>>>>>> >>>>>>> So no, no race here provided that we only set the XNRESCHED bit on the >>>>>>> local cpu. >>>>>>> >>>>>>> So we either have to accept this and remove the >>>>>>>> debugging check from the scheduler or push the check back to >>>>>>>> __xnpod_schedule where it once came from. When this it cleaned up, we >>>>>>>> can look into the remote resched protocol again. >>>>>>> The problem of the debug check is that it checks whether the scheduler >>>>>>> state is modified without the XNRESCHED bit being set. And this is the >>>>>>> problem, because yes, in that case, we have a race: the scheduler state >>>>>>> may be modified before the XNRESCHED bit is set by an IPI. >>>>>>> >>>>>>> If we want to fix the debug check, we have to have a special bit, on in >>>>>>> the sched->status flag, only for the purpose of debugging. Or remove the >>>>>>> debug check. >>>>>> Exactly my point. Is there any benefit in keeping the debug check? The >>>>>> code to make it work may end up as "complex" as the logic it verifies, >>>>>> at least that's my current feeling. >>>>>> >>>>> This would be the radical approach of removing the check (and cleaning >>>>> up some bits). If it's acceptable, I would split it up properly. >>>> This debug check saved our asses when debugging SMP issues, and I >>>> suspect it may help debugging skin issues. So, I think we should try and >>>> keep it. >>>> >>>> >>>> At first sight, here you are more breaking things than cleaning them. >>> Still, it has the SMP record for my test program, still runs with ftrace >>> on (after 2 hours, where it previously failed after maximum 23 minutes). >> >> My version was indeed still buggy, I'm reworking it ATM. > Any reason why the two changes below would fail (I need to get things > working real soon now). Maybe they don't fail but definitely cause reschedules where we do not need them. I stopped thinking about those details after starting the rework. Safer for now is likely to revert 56ff4329ff, keeping nucleus debugging off. >> >>> If I get the gist of Jan's changes, they are (using the IPI to transfer >>> one bit of information: your cpu needs to reschedule): >>> >>> xnsched_set_resched: >>> - setbits((__sched__)->status, XNRESCHED); >>> >>> xnpod_schedule_handler: >>> + xnsched_set_resched(sched); >>> >>> If you (we?) decide to keep the debug checks, under what circumstances >>> would the current check trigger (in laymans language, that I'll be able >>> to understand)? >> >> That's actually what /me is wondering as well. I do not see yet how you >> can reliably detect a missed reschedule reliably (that was the purpose >> of the debug check) given the racy nature between signaling resched and >> processing the resched hints. > The only thing I can think of are atomic set/clear on an independent > variable. And the set has to be confined to few central locations - otherwise it will be simpler to check for the proper pairing of runqueue manipulation and xnsched_set_resched manually - if that was the fault pattern the test was supposed to catch (which would have had nucleus scope, no skins involved). Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 15:33 ` Jan Kiszka @ 2010-11-04 22:08 ` Gilles Chanteperdrix 2010-11-04 23:10 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-04 22:08 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > rework. Safer for now is likely to revert 56ff4329ff, keeping nucleus > debugging off. That is not enough. This commit was followed by several others to "fix the fix". You know how things are, someone proposes a fix, which fixes things for him, but it breaks in the other people configurations (one of the fallouts was a complete revamp of include/asm-arm/atomic.h for instance). -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 22:08 ` Gilles Chanteperdrix @ 2010-11-04 23:10 ` Jan Kiszka 2010-11-04 23:25 ` Gilles Chanteperdrix 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-04 23:10 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 793 bytes --] Am 04.11.2010 23:08, Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >> rework. Safer for now is likely to revert 56ff4329ff, keeping nucleus >> debugging off. > > That is not enough. It is, I've reviewed the code today. > This commit was followed by several others to "fix > the fix". You know how things are, someone proposes a fix, which fixes > things for him, but it breaks in the other people configurations (one of > the fallouts was a complete revamp of include/asm-arm/atomic.h for > instance). > I've pushed a series that reverts that commit, then fixes and cleans up on top of it. Just pushed if you want to take a look. We can find some alternative debugging mechanism independently (though I'm curious to see it - it still makes no sense to me). Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 23:10 ` Jan Kiszka @ 2010-11-04 23:25 ` Gilles Chanteperdrix 2010-11-04 23:32 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-04 23:25 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Am 04.11.2010 23:08, Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>> rework. Safer for now is likely to revert 56ff4329ff, keeping nucleus >>> debugging off. >> That is not enough. > > It is, I've reviewed the code today. The fallouts I am talking about are: 47dac49c71e89b684203e854d1b0172ecacbc555 38f2ca83a8e63cc94eaa911ff1c0940c884b5078 5e7cfa5c25672e4478a721eadbd6f6c5b4f88a2f > >> This commit was followed by several others to "fix >> the fix". You know how things are, someone proposes a fix, which fixes >> things for him, but it breaks in the other people configurations (one of >> the fallouts was a complete revamp of include/asm-arm/atomic.h for >> instance). >> > > I've pushed a series that reverts that commit, then fixes and cleans up > on top of it. Just pushed if you want to take a look. We can find some > alternative debugging mechanism independently (though I'm curious to see > it - it still makes no sense to me). Since the fix is simply a modification to what we have currently. I would prefer if we did not remove it. In fact, I think it would be simpler if we started from what we currently have than reverting past patches. -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 23:25 ` Gilles Chanteperdrix @ 2010-11-04 23:32 ` Jan Kiszka 2010-11-04 23:46 ` Gilles Chanteperdrix 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-04 23:32 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 1584 bytes --] Am 05.11.2010 00:25, Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >> Am 04.11.2010 23:08, Gilles Chanteperdrix wrote: >>> Jan Kiszka wrote: >>>> rework. Safer for now is likely to revert 56ff4329ff, keeping nucleus >>>> debugging off. >>> That is not enough. >> >> It is, I've reviewed the code today. > > The fallouts I am talking about are: > 47dac49c71e89b684203e854d1b0172ecacbc555 Not related. > 38f2ca83a8e63cc94eaa911ff1c0940c884b5078 An optimization. > 5e7cfa5c25672e4478a721eadbd6f6c5b4f88a2f That fall out of that commit is fixed in my series. > >> >>> This commit was followed by several others to "fix >>> the fix". You know how things are, someone proposes a fix, which fixes >>> things for him, but it breaks in the other people configurations (one of >>> the fallouts was a complete revamp of include/asm-arm/atomic.h for >>> instance). >>> >> >> I've pushed a series that reverts that commit, then fixes and cleans up >> on top of it. Just pushed if you want to take a look. We can find some >> alternative debugging mechanism independently (though I'm curious to see >> it - it still makes no sense to me). > > Since the fix is simply a modification to what we have currently. I > would prefer if we did not remove it. In fact, I think it would be > simpler if we started from what we currently have than reverting past > patches. Look at the series, it goes step by step to an IMHO clean state. We can pull out the debugging check removal, though, if you prefer to work on top of the existing code. Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 23:32 ` Jan Kiszka @ 2010-11-04 23:46 ` Gilles Chanteperdrix 2010-11-05 0:09 ` Jan Kiszka 2010-11-05 1:35 ` Gilles Chanteperdrix 0 siblings, 2 replies; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-04 23:46 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Am 05.11.2010 00:25, Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>> Am 04.11.2010 23:08, Gilles Chanteperdrix wrote: >>>> Jan Kiszka wrote: >>>>> rework. Safer for now is likely to revert 56ff4329ff, keeping nucleus >>>>> debugging off. >>>> That is not enough. >>> It is, I've reviewed the code today. >> The fallouts I am talking about are: >> 47dac49c71e89b684203e854d1b0172ecacbc555 > > Not related. > >> 38f2ca83a8e63cc94eaa911ff1c0940c884b5078 > > An optimization. > >> 5e7cfa5c25672e4478a721eadbd6f6c5b4f88a2f > > That fall out of that commit is fixed in my series. > >>>> This commit was followed by several others to "fix >>>> the fix". You know how things are, someone proposes a fix, which fixes >>>> things for him, but it breaks in the other people configurations (one of >>>> the fallouts was a complete revamp of include/asm-arm/atomic.h for >>>> instance). >>>> >>> I've pushed a series that reverts that commit, then fixes and cleans up >>> on top of it. Just pushed if you want to take a look. We can find some >>> alternative debugging mechanism independently (though I'm curious to see >>> it - it still makes no sense to me). >> Since the fix is simply a modification to what we have currently. I >> would prefer if we did not remove it. In fact, I think it would be >> simpler if we started from what we currently have than reverting past >> patches. > > Look at the series, it goes step by step to an IMHO clean state. We can > pull out the debugging check removal, though, if you prefer to work on > top of the existing code. >From my point of view, Anders looks for something that works, so following the rules that the minimal set of changes minimize the chances of introducing new bugs while cleaning, I would go for the minimal set of changes, such as: diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h index df56417..8150510 100644 --- a/include/nucleus/sched.h +++ b/include/nucleus/sched.h @@ -165,28 +165,27 @@ struct xnsched_class { #endif /* CONFIG_SMP */ /* Test all resched flags from the given scheduler mask. */ -static inline int xnsched_resched_p(struct xnsched *sched) +static inline int xnsched_remote_resched_p(struct xnsched *sched) { - return testbits(sched->status, XNRESCHED); + return !xnarch_cpus_empty(current_sched->resched); } -static inline int xnsched_self_resched_p(struct xnsched *sched) +static inline int xnsched_resched_p(struct xnsched *sched) { return testbits(sched->status, XNRESCHED); } /* Set self resched flag for the given scheduler. */ #define xnsched_set_self_resched(__sched__) do { \ - setbits((__sched__)->status, XNRESCHED); \ + __setbits((__sched__)->status, XNRESCHED); \ } while (0) /* Set specific resched flag into the local scheduler mask. */ #define xnsched_set_resched(__sched__) do { \ xnsched_t *current_sched = xnpod_current_sched(); \ - setbits(current_sched->status, XNRESCHED); \ + __setbits(current_sched->status, XNRESCHED); \ if (current_sched != (__sched__)) { \ xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ - setbits((__sched__)->status, XNRESCHED); \ } \ } while (0) diff --git a/ksrc/nucleus/pod.c b/ksrc/nucleus/pod.c index 862838c..4cb707a 100644 --- a/ksrc/nucleus/pod.c +++ b/ksrc/nucleus/pod.c @@ -276,18 +276,16 @@ EXPORT_SYMBOL_GPL(xnpod_fatal_helper); void xnpod_schedule_handler(void) /* Called with hw interrupts off. */ { - xnsched_t *sched; + xnsched_t *sched = xnpod_current_sched(); trace_mark(xn_nucleus, sched_remote, MARK_NOARGS); #if defined(CONFIG_SMP) && defined(CONFIG_XENO_OPT_PRIOCPL) - sched = xnpod_current_sched(); if (testbits(sched->status, XNRPICK)) { clrbits(sched->status, XNRPICK); xnshadow_rpi_check(); } -#else - (void)sched; #endif /* CONFIG_SMP && CONFIG_XENO_OPT_PRIOCPL */ + xnsched_set_self_resched(sched); xnpod_schedule(); } @@ -2174,7 +2172,7 @@ static inline int __xnpod_test_resched(struct xnsched *sched) int resched = testbits(sched->status, XNRESCHED); #ifdef CONFIG_SMP /* Send resched IPI to remote CPU(s). */ - if (unlikely(xnsched_resched_p(sched))) { + if (unlikely(xnsched_remote_resched_p(sched))) { xnarch_send_ipi(sched->resched); xnarch_cpus_clear(sched->resched); } diff --git a/ksrc/nucleus/timer.c b/ksrc/nucleus/timer.c index 1fe3331..a0ac627 100644 --- a/ksrc/nucleus/timer.c +++ b/ksrc/nucleus/timer.c @@ -97,7 +97,7 @@ void xntimer_next_local_shot(xnsched_t *sched) __clrbits(sched->status, XNHDEFER); timer = aplink2timer(h); if (unlikely(timer == &sched->htimer)) { - if (xnsched_self_resched_p(sched) || + if (xnsched_resched_p(sched) || !xnthread_test_state(sched->curr, XNROOT)) { h = xntimerq_it_next(&sched->timerqueue, &it, h); if (h) { -- Gilles. ^ permalink raw reply related [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 23:46 ` Gilles Chanteperdrix @ 2010-11-05 0:09 ` Jan Kiszka 2010-11-05 0:11 ` Gilles Chanteperdrix 2010-11-05 1:35 ` Gilles Chanteperdrix 1 sibling, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-05 0:09 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 5602 bytes --] Am 05.11.2010 00:46, Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >> Am 05.11.2010 00:25, Gilles Chanteperdrix wrote: >>> Jan Kiszka wrote: >>>> Am 04.11.2010 23:08, Gilles Chanteperdrix wrote: >>>>> Jan Kiszka wrote: >>>>>> rework. Safer for now is likely to revert 56ff4329ff, keeping nucleus >>>>>> debugging off. >>>>> That is not enough. >>>> It is, I've reviewed the code today. >>> The fallouts I am talking about are: >>> 47dac49c71e89b684203e854d1b0172ecacbc555 >> >> Not related. >> >>> 38f2ca83a8e63cc94eaa911ff1c0940c884b5078 >> >> An optimization. >> >>> 5e7cfa5c25672e4478a721eadbd6f6c5b4f88a2f >> >> That fall out of that commit is fixed in my series. >> >>>>> This commit was followed by several others to "fix >>>>> the fix". You know how things are, someone proposes a fix, which fixes >>>>> things for him, but it breaks in the other people configurations (one of >>>>> the fallouts was a complete revamp of include/asm-arm/atomic.h for >>>>> instance). >>>>> >>>> I've pushed a series that reverts that commit, then fixes and cleans up >>>> on top of it. Just pushed if you want to take a look. We can find some >>>> alternative debugging mechanism independently (though I'm curious to see >>>> it - it still makes no sense to me). >>> Since the fix is simply a modification to what we have currently. I >>> would prefer if we did not remove it. In fact, I think it would be >>> simpler if we started from what we currently have than reverting past >>> patches. >> >> Look at the series, it goes step by step to an IMHO clean state. We can >> pull out the debugging check removal, though, if you prefer to work on >> top of the existing code. > > From my point of view, Anders looks for something that works, so > following the rules that the minimal set of changes minimize the chances > of introducing new bugs while cleaning, I would go for the minimal set > of changes, such as: I don't mind where to start, you need to understand the code anyway to asses any change, may it be a complete rewrite, revert and then rework, or a combination like below. > > diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h > index df56417..8150510 100644 > --- a/include/nucleus/sched.h > +++ b/include/nucleus/sched.h > @@ -165,28 +165,27 @@ struct xnsched_class { > #endif /* CONFIG_SMP */ > > /* Test all resched flags from the given scheduler mask. */ > -static inline int xnsched_resched_p(struct xnsched *sched) > +static inline int xnsched_remote_resched_p(struct xnsched *sched) > { > - return testbits(sched->status, XNRESCHED); > + return !xnarch_cpus_empty(current_sched->resched); > } > > -static inline int xnsched_self_resched_p(struct xnsched *sched) > +static inline int xnsched_resched_p(struct xnsched *sched) > { > return testbits(sched->status, XNRESCHED); > } > > /* Set self resched flag for the given scheduler. */ > #define xnsched_set_self_resched(__sched__) do { \ > - setbits((__sched__)->status, XNRESCHED); \ > + __setbits((__sched__)->status, XNRESCHED); \ > } while (0) > > /* Set specific resched flag into the local scheduler mask. */ > #define xnsched_set_resched(__sched__) do { \ > xnsched_t *current_sched = xnpod_current_sched(); \ > - setbits(current_sched->status, XNRESCHED); \ > + __setbits(current_sched->status, XNRESCHED); \ > if (current_sched != (__sched__)) { \ > xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ > - setbits((__sched__)->status, XNRESCHED); \ > } \ > } while (0) > > diff --git a/ksrc/nucleus/pod.c b/ksrc/nucleus/pod.c > index 862838c..4cb707a 100644 > --- a/ksrc/nucleus/pod.c > +++ b/ksrc/nucleus/pod.c > @@ -276,18 +276,16 @@ EXPORT_SYMBOL_GPL(xnpod_fatal_helper); > > void xnpod_schedule_handler(void) /* Called with hw interrupts off. */ > { > - xnsched_t *sched; > + xnsched_t *sched = xnpod_current_sched(); > > trace_mark(xn_nucleus, sched_remote, MARK_NOARGS); > #if defined(CONFIG_SMP) && defined(CONFIG_XENO_OPT_PRIOCPL) > - sched = xnpod_current_sched(); > if (testbits(sched->status, XNRPICK)) { > clrbits(sched->status, XNRPICK); > xnshadow_rpi_check(); > } > -#else > - (void)sched; > #endif /* CONFIG_SMP && CONFIG_XENO_OPT_PRIOCPL */ > + xnsched_set_self_resched(sched); > xnpod_schedule(); > } > > @@ -2174,7 +2172,7 @@ static inline int __xnpod_test_resched(struct xnsched *sched) > int resched = testbits(sched->status, XNRESCHED); > #ifdef CONFIG_SMP > /* Send resched IPI to remote CPU(s). */ > - if (unlikely(xnsched_resched_p(sched))) { > + if (unlikely(xnsched_remote_resched_p(sched))) { > xnarch_send_ipi(sched->resched); > xnarch_cpus_clear(sched->resched); > } > diff --git a/ksrc/nucleus/timer.c b/ksrc/nucleus/timer.c > index 1fe3331..a0ac627 100644 > --- a/ksrc/nucleus/timer.c > +++ b/ksrc/nucleus/timer.c > @@ -97,7 +97,7 @@ void xntimer_next_local_shot(xnsched_t *sched) > __clrbits(sched->status, XNHDEFER); > timer = aplink2timer(h); > if (unlikely(timer == &sched->htimer)) { > - if (xnsched_self_resched_p(sched) || > + if (xnsched_resched_p(sched) || > !xnthread_test_state(sched->curr, XNROOT)) { > h = xntimerq_it_next(&sched->timerqueue, &it, h); > if (h) { > > This looks correct. The next steps on top would then be - avoid local reschedule if only remotes need to be signaled - remaining conversions to non-atomic status access - UP optimization Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-05 0:09 ` Jan Kiszka @ 2010-11-05 0:11 ` Gilles Chanteperdrix 0 siblings, 0 replies; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-05 0:11 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Am 05.11.2010 00:46, Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>> Am 05.11.2010 00:25, Gilles Chanteperdrix wrote: >>>> Jan Kiszka wrote: >>>>> Am 04.11.2010 23:08, Gilles Chanteperdrix wrote: >>>>>> Jan Kiszka wrote: >>>>>>> rework. Safer for now is likely to revert 56ff4329ff, keeping nucleus >>>>>>> debugging off. >>>>>> That is not enough. >>>>> It is, I've reviewed the code today. >>>> The fallouts I am talking about are: >>>> 47dac49c71e89b684203e854d1b0172ecacbc555 >>> Not related. >>> >>>> 38f2ca83a8e63cc94eaa911ff1c0940c884b5078 >>> An optimization. >>> >>>> 5e7cfa5c25672e4478a721eadbd6f6c5b4f88a2f >>> That fall out of that commit is fixed in my series. >>> >>>>>> This commit was followed by several others to "fix >>>>>> the fix". You know how things are, someone proposes a fix, which fixes >>>>>> things for him, but it breaks in the other people configurations (one of >>>>>> the fallouts was a complete revamp of include/asm-arm/atomic.h for >>>>>> instance). >>>>>> >>>>> I've pushed a series that reverts that commit, then fixes and cleans up >>>>> on top of it. Just pushed if you want to take a look. We can find some >>>>> alternative debugging mechanism independently (though I'm curious to see >>>>> it - it still makes no sense to me). >>>> Since the fix is simply a modification to what we have currently. I >>>> would prefer if we did not remove it. In fact, I think it would be >>>> simpler if we started from what we currently have than reverting past >>>> patches. >>> Look at the series, it goes step by step to an IMHO clean state. We can >>> pull out the debugging check removal, though, if you prefer to work on >>> top of the existing code. >> From my point of view, Anders looks for something that works, so >> following the rules that the minimal set of changes minimize the chances >> of introducing new bugs while cleaning, I would go for the minimal set >> of changes, such as: > > I don't mind where to start, you need to understand the code anyway to > asses any change, may it be a complete rewrite, revert and then rework, > or a combination like below. > >> diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h >> index df56417..8150510 100644 >> --- a/include/nucleus/sched.h >> +++ b/include/nucleus/sched.h >> @@ -165,28 +165,27 @@ struct xnsched_class { >> #endif /* CONFIG_SMP */ >> >> /* Test all resched flags from the given scheduler mask. */ >> -static inline int xnsched_resched_p(struct xnsched *sched) >> +static inline int xnsched_remote_resched_p(struct xnsched *sched) >> { >> - return testbits(sched->status, XNRESCHED); >> + return !xnarch_cpus_empty(current_sched->resched); >> } >> >> -static inline int xnsched_self_resched_p(struct xnsched *sched) >> +static inline int xnsched_resched_p(struct xnsched *sched) >> { >> return testbits(sched->status, XNRESCHED); >> } >> >> /* Set self resched flag for the given scheduler. */ >> #define xnsched_set_self_resched(__sched__) do { \ >> - setbits((__sched__)->status, XNRESCHED); \ >> + __setbits((__sched__)->status, XNRESCHED); \ >> } while (0) >> >> /* Set specific resched flag into the local scheduler mask. */ >> #define xnsched_set_resched(__sched__) do { \ >> xnsched_t *current_sched = xnpod_current_sched(); \ >> - setbits(current_sched->status, XNRESCHED); \ >> + __setbits(current_sched->status, XNRESCHED); \ >> if (current_sched != (__sched__)) { \ >> xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ >> - setbits((__sched__)->status, XNRESCHED); \ >> } \ >> } while (0) >> >> diff --git a/ksrc/nucleus/pod.c b/ksrc/nucleus/pod.c >> index 862838c..4cb707a 100644 >> --- a/ksrc/nucleus/pod.c >> +++ b/ksrc/nucleus/pod.c >> @@ -276,18 +276,16 @@ EXPORT_SYMBOL_GPL(xnpod_fatal_helper); >> >> void xnpod_schedule_handler(void) /* Called with hw interrupts off. */ >> { >> - xnsched_t *sched; >> + xnsched_t *sched = xnpod_current_sched(); >> >> trace_mark(xn_nucleus, sched_remote, MARK_NOARGS); >> #if defined(CONFIG_SMP) && defined(CONFIG_XENO_OPT_PRIOCPL) >> - sched = xnpod_current_sched(); >> if (testbits(sched->status, XNRPICK)) { >> clrbits(sched->status, XNRPICK); >> xnshadow_rpi_check(); >> } >> -#else >> - (void)sched; >> #endif /* CONFIG_SMP && CONFIG_XENO_OPT_PRIOCPL */ >> + xnsched_set_self_resched(sched); >> xnpod_schedule(); >> } >> >> @@ -2174,7 +2172,7 @@ static inline int __xnpod_test_resched(struct xnsched *sched) >> int resched = testbits(sched->status, XNRESCHED); >> #ifdef CONFIG_SMP >> /* Send resched IPI to remote CPU(s). */ >> - if (unlikely(xnsched_resched_p(sched))) { >> + if (unlikely(xnsched_remote_resched_p(sched))) { >> xnarch_send_ipi(sched->resched); >> xnarch_cpus_clear(sched->resched); >> } >> diff --git a/ksrc/nucleus/timer.c b/ksrc/nucleus/timer.c >> index 1fe3331..a0ac627 100644 >> --- a/ksrc/nucleus/timer.c >> +++ b/ksrc/nucleus/timer.c >> @@ -97,7 +97,7 @@ void xntimer_next_local_shot(xnsched_t *sched) >> __clrbits(sched->status, XNHDEFER); >> timer = aplink2timer(h); >> if (unlikely(timer == &sched->htimer)) { >> - if (xnsched_self_resched_p(sched) || >> + if (xnsched_resched_p(sched) || >> !xnthread_test_state(sched->curr, XNROOT)) { >> h = xntimerq_it_next(&sched->timerqueue, &it, h); >> if (h) { >> >> > > This looks correct. The next steps on top would then be > - avoid local reschedule if only remotes need to be signaled > - remaining conversions to non-atomic status access > - UP optimization My point being that these changes are not essential for Anders needs, and can be added in a second step, when we are sure that at least that first step works. -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 23:46 ` Gilles Chanteperdrix 2010-11-05 0:09 ` Jan Kiszka @ 2010-11-05 1:35 ` Gilles Chanteperdrix 2010-11-05 9:59 ` Anders Blomdell 1 sibling, 1 reply; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-05 1:35 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >> Am 05.11.2010 00:25, Gilles Chanteperdrix wrote: >>> Jan Kiszka wrote: >>>> Am 04.11.2010 23:08, Gilles Chanteperdrix wrote: >>>>> Jan Kiszka wrote: >>>>>> rework. Safer for now is likely to revert 56ff4329ff, keeping nucleus >>>>>> debugging off. >>>>> That is not enough. >>>> It is, I've reviewed the code today. >>> The fallouts I am talking about are: >>> 47dac49c71e89b684203e854d1b0172ecacbc555 >> Not related. >> >>> 38f2ca83a8e63cc94eaa911ff1c0940c884b5078 >> An optimization. >> >>> 5e7cfa5c25672e4478a721eadbd6f6c5b4f88a2f >> That fall out of that commit is fixed in my series. >> >>>>> This commit was followed by several others to "fix >>>>> the fix". You know how things are, someone proposes a fix, which fixes >>>>> things for him, but it breaks in the other people configurations (one of >>>>> the fallouts was a complete revamp of include/asm-arm/atomic.h for >>>>> instance). >>>>> >>>> I've pushed a series that reverts that commit, then fixes and cleans up >>>> on top of it. Just pushed if you want to take a look. We can find some >>>> alternative debugging mechanism independently (though I'm curious to see >>>> it - it still makes no sense to me). >>> Since the fix is simply a modification to what we have currently. I >>> would prefer if we did not remove it. In fact, I think it would be >>> simpler if we started from what we currently have than reverting past >>> patches. >> Look at the series, it goes step by step to an IMHO clean state. We can >> pull out the debugging check removal, though, if you prefer to work on >> top of the existing code. > > From my point of view, Anders looks for something that works, so > following the rules that the minimal set of changes minimize the chances > of introducing new bugs while cleaning, I would go for the minimal set > of changes, such as: The tested one (on SMP, and UP with and without unlocked ctx switch): diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h index df56417..8888cf4 100644 --- a/include/nucleus/sched.h +++ b/include/nucleus/sched.h @@ -165,28 +165,27 @@ struct xnsched_class { #endif /* CONFIG_SMP */ /* Test all resched flags from the given scheduler mask. */ -static inline int xnsched_resched_p(struct xnsched *sched) +static inline int xnsched_remote_resched_p(struct xnsched *sched) { - return testbits(sched->status, XNRESCHED); + return !xnarch_cpus_empty(sched->resched); } -static inline int xnsched_self_resched_p(struct xnsched *sched) +static inline int xnsched_resched_p(struct xnsched *sched) { return testbits(sched->status, XNRESCHED); } /* Set self resched flag for the given scheduler. */ #define xnsched_set_self_resched(__sched__) do { \ - setbits((__sched__)->status, XNRESCHED); \ + __setbits((__sched__)->status, XNRESCHED); \ } while (0) /* Set specific resched flag into the local scheduler mask. */ #define xnsched_set_resched(__sched__) do { \ xnsched_t *current_sched = xnpod_current_sched(); \ - setbits(current_sched->status, XNRESCHED); \ + __setbits(current_sched->status, XNRESCHED); \ if (current_sched != (__sched__)) { \ xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ - setbits((__sched__)->status, XNRESCHED); \ } \ } while (0) diff --git a/ksrc/nucleus/pod.c b/ksrc/nucleus/pod.c index 862838c..4cb707a 100644 --- a/ksrc/nucleus/pod.c +++ b/ksrc/nucleus/pod.c @@ -276,18 +276,16 @@ EXPORT_SYMBOL_GPL(xnpod_fatal_helper); void xnpod_schedule_handler(void) /* Called with hw interrupts off. */ { - xnsched_t *sched; + xnsched_t *sched = xnpod_current_sched(); trace_mark(xn_nucleus, sched_remote, MARK_NOARGS); #if defined(CONFIG_SMP) && defined(CONFIG_XENO_OPT_PRIOCPL) - sched = xnpod_current_sched(); if (testbits(sched->status, XNRPICK)) { clrbits(sched->status, XNRPICK); xnshadow_rpi_check(); } -#else - (void)sched; #endif /* CONFIG_SMP && CONFIG_XENO_OPT_PRIOCPL */ + xnsched_set_self_resched(sched); xnpod_schedule(); } @@ -2174,7 +2172,7 @@ static inline int __xnpod_test_resched(struct xnsched *sched) int resched = testbits(sched->status, XNRESCHED); #ifdef CONFIG_SMP /* Send resched IPI to remote CPU(s). */ - if (unlikely(xnsched_resched_p(sched))) { + if (unlikely(xnsched_remote_resched_p(sched))) { xnarch_send_ipi(sched->resched); xnarch_cpus_clear(sched->resched); } diff --git a/ksrc/nucleus/timer.c b/ksrc/nucleus/timer.c index 1fe3331..a0ac627 100644 --- a/ksrc/nucleus/timer.c +++ b/ksrc/nucleus/timer.c @@ -97,7 +97,7 @@ void xntimer_next_local_shot(xnsched_t *sched) __clrbits(sched->status, XNHDEFER); timer = aplink2timer(h); if (unlikely(timer == &sched->htimer)) { - if (xnsched_self_resched_p(sched) || + if (xnsched_resched_p(sched) || !xnthread_test_state(sched->curr, XNROOT)) { h = xntimerq_it_next(&sched->timerqueue, &it, h); if (h) { -- Gilles. ^ permalink raw reply related [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-05 1:35 ` Gilles Chanteperdrix @ 2010-11-05 9:59 ` Anders Blomdell 0 siblings, 0 replies; 85+ messages in thread From: Anders Blomdell @ 2010-11-05 9:59 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Jan Kiszka, xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 5368 bytes --] Gilles Chanteperdrix wrote: > Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>> Am 05.11.2010 00:25, Gilles Chanteperdrix wrote: >>>> Jan Kiszka wrote: >>>>> Am 04.11.2010 23:08, Gilles Chanteperdrix wrote: >>>>>> Jan Kiszka wrote: >>>>>>> rework. Safer for now is likely to revert 56ff4329ff, keeping nucleus >>>>>>> debugging off. >>>>>> That is not enough. >>>>> It is, I've reviewed the code today. >>>> The fallouts I am talking about are: >>>> 47dac49c71e89b684203e854d1b0172ecacbc555 >>> Not related. >>> >>>> 38f2ca83a8e63cc94eaa911ff1c0940c884b5078 >>> An optimization. >>> >>>> 5e7cfa5c25672e4478a721eadbd6f6c5b4f88a2f >>> That fall out of that commit is fixed in my series. >>> >>>>>> This commit was followed by several others to "fix >>>>>> the fix". You know how things are, someone proposes a fix, which fixes >>>>>> things for him, but it breaks in the other people configurations (one of >>>>>> the fallouts was a complete revamp of include/asm-arm/atomic.h for >>>>>> instance). >>>>>> >>>>> I've pushed a series that reverts that commit, then fixes and cleans up >>>>> on top of it. Just pushed if you want to take a look. We can find some >>>>> alternative debugging mechanism independently (though I'm curious to see >>>>> it - it still makes no sense to me). >>>> Since the fix is simply a modification to what we have currently. I >>>> would prefer if we did not remove it. In fact, I think it would be >>>> simpler if we started from what we currently have than reverting past >>>> patches. >>> Look at the series, it goes step by step to an IMHO clean state. We can >>> pull out the debugging check removal, though, if you prefer to work on >>> top of the existing code. >> From my point of view, Anders looks for something that works, so >> following the rules that the minimal set of changes minimize the chances >> of introducing new bugs while cleaning, I would go for the minimal set >> of changes, such as: > > The tested one (on SMP, and UP with and without unlocked ctx switch): > > diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h > index df56417..8888cf4 100644 > --- a/include/nucleus/sched.h > +++ b/include/nucleus/sched.h > @@ -165,28 +165,27 @@ struct xnsched_class { > #endif /* CONFIG_SMP */ > > /* Test all resched flags from the given scheduler mask. */ > -static inline int xnsched_resched_p(struct xnsched *sched) > +static inline int xnsched_remote_resched_p(struct xnsched *sched) > { > - return testbits(sched->status, XNRESCHED); > + return !xnarch_cpus_empty(sched->resched); > } > > -static inline int xnsched_self_resched_p(struct xnsched *sched) > +static inline int xnsched_resched_p(struct xnsched *sched) > { > return testbits(sched->status, XNRESCHED); > } > > /* Set self resched flag for the given scheduler. */ > #define xnsched_set_self_resched(__sched__) do { \ > - setbits((__sched__)->status, XNRESCHED); \ > + __setbits((__sched__)->status, XNRESCHED); \ > } while (0) > > /* Set specific resched flag into the local scheduler mask. */ > #define xnsched_set_resched(__sched__) do { \ > xnsched_t *current_sched = xnpod_current_sched(); \ > - setbits(current_sched->status, XNRESCHED); \ > + __setbits(current_sched->status, XNRESCHED); \ > if (current_sched != (__sched__)) { \ > xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ > - setbits((__sched__)->status, XNRESCHED); \ > } \ > } while (0) > > diff --git a/ksrc/nucleus/pod.c b/ksrc/nucleus/pod.c > index 862838c..4cb707a 100644 > --- a/ksrc/nucleus/pod.c > +++ b/ksrc/nucleus/pod.c > @@ -276,18 +276,16 @@ EXPORT_SYMBOL_GPL(xnpod_fatal_helper); > > void xnpod_schedule_handler(void) /* Called with hw interrupts off. */ > { > - xnsched_t *sched; > + xnsched_t *sched = xnpod_current_sched(); > > trace_mark(xn_nucleus, sched_remote, MARK_NOARGS); > #if defined(CONFIG_SMP) && defined(CONFIG_XENO_OPT_PRIOCPL) > - sched = xnpod_current_sched(); > if (testbits(sched->status, XNRPICK)) { > clrbits(sched->status, XNRPICK); > xnshadow_rpi_check(); > } > -#else > - (void)sched; > #endif /* CONFIG_SMP && CONFIG_XENO_OPT_PRIOCPL */ > + xnsched_set_self_resched(sched); > xnpod_schedule(); > } > > @@ -2174,7 +2172,7 @@ static inline int __xnpod_test_resched(struct xnsched *sched) > int resched = testbits(sched->status, XNRESCHED); > #ifdef CONFIG_SMP > /* Send resched IPI to remote CPU(s). */ > - if (unlikely(xnsched_resched_p(sched))) { > + if (unlikely(xnsched_remote_resched_p(sched))) { > xnarch_send_ipi(sched->resched); > xnarch_cpus_clear(sched->resched); > } > diff --git a/ksrc/nucleus/timer.c b/ksrc/nucleus/timer.c > index 1fe3331..a0ac627 100644 > --- a/ksrc/nucleus/timer.c > +++ b/ksrc/nucleus/timer.c > @@ -97,7 +97,7 @@ void xntimer_next_local_shot(xnsched_t *sched) > __clrbits(sched->status, XNHDEFER); > timer = aplink2timer(h); > if (unlikely(timer == &sched->htimer)) { > - if (xnsched_self_resched_p(sched) || > + if (xnsched_resched_p(sched) || > !xnthread_test_state(sched->curr, XNROOT)) { > h = xntimerq_it_next(&sched->timerqueue, &it, h); > if (h) { > > Looks very similar to what I have succesfully been running on top of 2.5.5.2 (aka 2.5.5.3 beta :-) ), except that I didn't change any names (changes makes perfect sense). /Anders [-- Attachment #2: resched.patch --] [-- Type: text/plain, Size: 1253 bytes --] diff -ur xenomai-2.5.5.2/include/nucleus/sched.h xenomai-2.5.5.2.new/include/nucleus/sched.h --- xenomai-2.5.5.2/include/nucleus/sched.h 2010-10-03 14:35:17.000000000 +0200 +++ xenomai-2.5.5.2.new/include/nucleus/sched.h 2010-11-04 15:58:48.000000000 +0100 @@ -185,7 +185,6 @@ setbits(current_sched->status, XNRESCHED); \ if (current_sched != (__sched__)) { \ xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ - setbits((__sched__)->status, XNRESCHED); \ } \ } while (0) diff -ur xenomai-2.5.5.2/ksrc/nucleus/pod.c xenomai-2.5.5.2.new/ksrc/nucleus/pod.c --- xenomai-2.5.5.2/ksrc/nucleus/pod.c 2010-10-03 14:35:17.000000000 +0200 +++ xenomai-2.5.5.2.new/ksrc/nucleus/pod.c 2010-11-04 16:01:37.000000000 +0100 @@ -279,15 +279,14 @@ xnsched_t *sched; trace_mark(xn_nucleus, sched_remote, MARK_NOARGS); -#if defined(CONFIG_SMP) && defined(CONFIG_XENO_OPT_PRIOCPL) sched = xnpod_current_sched(); +#if defined(CONFIG_SMP) && defined(CONFIG_XENO_OPT_PRIOCPL) if (testbits(sched->status, XNRPICK)) { clrbits(sched->status, XNRPICK); xnshadow_rpi_check(); } -#else - (void)sched; #endif /* CONFIG_SMP && CONFIG_XENO_OPT_PRIOCPL */ + xnsched_set_resched(sched); xnpod_schedule(); } ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 14:37 ` Jan Kiszka 2010-11-04 14:53 ` Anders Blomdell @ 2010-11-04 22:06 ` Gilles Chanteperdrix 2010-11-04 23:17 ` Jan Kiszka 1 sibling, 1 reply; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-04 22:06 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: >>> At first sight, here you are more breaking things than cleaning them. >> Still, it has the SMP record for my test program, still runs with ftrace >> on (after 2 hours, where it previously failed after maximum 23 minutes). > > My version was indeed still buggy, I'm reworking it ATM. > >> If I get the gist of Jan's changes, they are (using the IPI to transfer >> one bit of information: your cpu needs to reschedule): >> >> xnsched_set_resched: >> - setbits((__sched__)->status, XNRESCHED); >> >> xnpod_schedule_handler: >> + xnsched_set_resched(sched); >> >> If you (we?) decide to keep the debug checks, under what circumstances >> would the current check trigger (in laymans language, that I'll be able >> to understand)? > > That's actually what /me is wondering as well. I do not see yet how you > can reliably detect a missed reschedule reliably (that was the purpose > of the debug check) given the racy nature between signaling resched and > processing the resched hints. The purpose of the debugging change is to detect a change of the scheduler state which was not followed by setting the XNRESCHED bit. Getting it to work is relatively simple: we add a "scheduler change set remotely" bit to the sched structure which is NOT in the status bit, set this bit when changing a remote sched (under nklock). In the debug check code, if the scheduler state changed, and the XNRESCHED bit is not set, only consider this a but if this new bit is not set. All this is compiled out if the debug is not enabled. I will try and work on this this week-end. -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 22:06 ` Gilles Chanteperdrix @ 2010-11-04 23:17 ` Jan Kiszka 2010-11-04 23:24 ` Gilles Chanteperdrix 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-04 23:17 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 2067 bytes --] Am 04.11.2010 23:06, Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >>>> At first sight, here you are more breaking things than cleaning them. >>> Still, it has the SMP record for my test program, still runs with ftrace >>> on (after 2 hours, where it previously failed after maximum 23 minutes). >> >> My version was indeed still buggy, I'm reworking it ATM. >> >>> If I get the gist of Jan's changes, they are (using the IPI to transfer >>> one bit of information: your cpu needs to reschedule): >>> >>> xnsched_set_resched: >>> - setbits((__sched__)->status, XNRESCHED); >>> >>> xnpod_schedule_handler: >>> + xnsched_set_resched(sched); >>> >>> If you (we?) decide to keep the debug checks, under what circumstances >>> would the current check trigger (in laymans language, that I'll be able >>> to understand)? >> >> That's actually what /me is wondering as well. I do not see yet how you >> can reliably detect a missed reschedule reliably (that was the purpose >> of the debug check) given the racy nature between signaling resched and >> processing the resched hints. > > The purpose of the debugging change is to detect a change of the > scheduler state which was not followed by setting the XNRESCHED bit. But that is nucleus business, nothing skins can screw up (as long as they do not misuse APIs). > Getting it to work is relatively simple: we add a "scheduler change set > remotely" bit to the sched structure which is NOT in the status bit, set > this bit when changing a remote sched (under nklock). In the debug check > code, if the scheduler state changed, and the XNRESCHED bit is not set, > only consider this a but if this new bit is not set. All this is > compiled out if the debug is not enabled. I still see no benefit in this check. Where to you want to place the bit set? Aren't that just the same locations where xnsched_set_[self_]resched already is today? But maybe you can provide some motivating bug scenarios, real ones of the past or realistic ones of the future. Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 23:17 ` Jan Kiszka @ 2010-11-04 23:24 ` Gilles Chanteperdrix 2010-11-04 23:35 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-04 23:24 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Am 04.11.2010 23:06, Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>>>> At first sight, here you are more breaking things than cleaning them. >>>> Still, it has the SMP record for my test program, still runs with ftrace >>>> on (after 2 hours, where it previously failed after maximum 23 minutes). >>> My version was indeed still buggy, I'm reworking it ATM. >>> >>>> If I get the gist of Jan's changes, they are (using the IPI to transfer >>>> one bit of information: your cpu needs to reschedule): >>>> >>>> xnsched_set_resched: >>>> - setbits((__sched__)->status, XNRESCHED); >>>> >>>> xnpod_schedule_handler: >>>> + xnsched_set_resched(sched); >>>> >>>> If you (we?) decide to keep the debug checks, under what circumstances >>>> would the current check trigger (in laymans language, that I'll be able >>>> to understand)? >>> That's actually what /me is wondering as well. I do not see yet how you >>> can reliably detect a missed reschedule reliably (that was the purpose >>> of the debug check) given the racy nature between signaling resched and >>> processing the resched hints. >> The purpose of the debugging change is to detect a change of the >> scheduler state which was not followed by setting the XNRESCHED bit. > > But that is nucleus business, nothing skins can screw up (as long as > they do not misuse APIs). Yes, but it happens that we modify the nucleus from time to time. > >> Getting it to work is relatively simple: we add a "scheduler change set >> remotely" bit to the sched structure which is NOT in the status bit, set >> this bit when changing a remote sched (under nklock). In the debug check >> code, if the scheduler state changed, and the XNRESCHED bit is not set, >> only consider this a but if this new bit is not set. All this is >> compiled out if the debug is not enabled. > > I still see no benefit in this check. Where to you want to place the bit > set? Aren't that just the same locations where > xnsched_set_[self_]resched already is today? Well no, that would be another bit in the sched structure which would allow us to manipulate the status bits from the local cpu. That supplementary bit would only be changed from a distant CPU, and serve to detect the race which causes the false positive. The resched bits are set on the local cpu to get xnpod_schedule to trigger a rescheduling on the distance cpu. That bit would be set on the remote cpu's sched. Only when debugging is enabled. > > But maybe you can provide some motivating bug scenarios, real ones of > the past or realistic ones of the future. Of course. The bug is anything which changes the scheduler state but does not set the XNRESCHED bit. This happened when we started the SMP port. New scheduling policies would be good candidates for a revival of this bug. -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 23:24 ` Gilles Chanteperdrix @ 2010-11-04 23:35 ` Jan Kiszka 2010-11-05 1:28 ` Gilles Chanteperdrix 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-04 23:35 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 3215 bytes --] Am 05.11.2010 00:24, Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >> Am 04.11.2010 23:06, Gilles Chanteperdrix wrote: >>> Jan Kiszka wrote: >>>>>> At first sight, here you are more breaking things than cleaning them. >>>>> Still, it has the SMP record for my test program, still runs with ftrace >>>>> on (after 2 hours, where it previously failed after maximum 23 minutes). >>>> My version was indeed still buggy, I'm reworking it ATM. >>>> >>>>> If I get the gist of Jan's changes, they are (using the IPI to transfer >>>>> one bit of information: your cpu needs to reschedule): >>>>> >>>>> xnsched_set_resched: >>>>> - setbits((__sched__)->status, XNRESCHED); >>>>> >>>>> xnpod_schedule_handler: >>>>> + xnsched_set_resched(sched); >>>>> >>>>> If you (we?) decide to keep the debug checks, under what circumstances >>>>> would the current check trigger (in laymans language, that I'll be able >>>>> to understand)? >>>> That's actually what /me is wondering as well. I do not see yet how you >>>> can reliably detect a missed reschedule reliably (that was the purpose >>>> of the debug check) given the racy nature between signaling resched and >>>> processing the resched hints. >>> The purpose of the debugging change is to detect a change of the >>> scheduler state which was not followed by setting the XNRESCHED bit. >> >> But that is nucleus business, nothing skins can screw up (as long as >> they do not misuse APIs). > > Yes, but it happens that we modify the nucleus from time to time. > >> >>> Getting it to work is relatively simple: we add a "scheduler change set >>> remotely" bit to the sched structure which is NOT in the status bit, set >>> this bit when changing a remote sched (under nklock). In the debug check >>> code, if the scheduler state changed, and the XNRESCHED bit is not set, >>> only consider this a but if this new bit is not set. All this is >>> compiled out if the debug is not enabled. >> >> I still see no benefit in this check. Where to you want to place the bit >> set? Aren't that just the same locations where >> xnsched_set_[self_]resched already is today? > > Well no, that would be another bit in the sched structure which would > allow us to manipulate the status bits from the local cpu. That > supplementary bit would only be changed from a distant CPU, and serve to > detect the race which causes the false positive. The resched bits are > set on the local cpu to get xnpod_schedule to trigger a rescheduling on > the distance cpu. That bit would be set on the remote cpu's sched. Only > when debugging is enabled. > >> >> But maybe you can provide some motivating bug scenarios, real ones of >> the past or realistic ones of the future. > > Of course. The bug is anything which changes the scheduler state but > does not set the XNRESCHED bit. This happened when we started the SMP > port. New scheduling policies would be good candidates for a revival of > this bug. > You don't gain any worthwhile check if you cannot make the instrumentation required for a stable detection simpler than the proper problem solution itself. And this is what I'm still skeptical of. Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-04 23:35 ` Jan Kiszka @ 2010-11-05 1:28 ` Gilles Chanteperdrix 2010-11-05 10:21 ` Anders Blomdell 0 siblings, 1 reply; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-05 1:28 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Am 05.11.2010 00:24, Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>> Am 04.11.2010 23:06, Gilles Chanteperdrix wrote: >>>> Jan Kiszka wrote: >>>>>>> At first sight, here you are more breaking things than cleaning them. >>>>>> Still, it has the SMP record for my test program, still runs with ftrace >>>>>> on (after 2 hours, where it previously failed after maximum 23 minutes). >>>>> My version was indeed still buggy, I'm reworking it ATM. >>>>> >>>>>> If I get the gist of Jan's changes, they are (using the IPI to transfer >>>>>> one bit of information: your cpu needs to reschedule): >>>>>> >>>>>> xnsched_set_resched: >>>>>> - setbits((__sched__)->status, XNRESCHED); >>>>>> >>>>>> xnpod_schedule_handler: >>>>>> + xnsched_set_resched(sched); >>>>>> >>>>>> If you (we?) decide to keep the debug checks, under what circumstances >>>>>> would the current check trigger (in laymans language, that I'll be able >>>>>> to understand)? >>>>> That's actually what /me is wondering as well. I do not see yet how you >>>>> can reliably detect a missed reschedule reliably (that was the purpose >>>>> of the debug check) given the racy nature between signaling resched and >>>>> processing the resched hints. >>>> The purpose of the debugging change is to detect a change of the >>>> scheduler state which was not followed by setting the XNRESCHED bit. >>> But that is nucleus business, nothing skins can screw up (as long as >>> they do not misuse APIs). >> Yes, but it happens that we modify the nucleus from time to time. >> >>>> Getting it to work is relatively simple: we add a "scheduler change set >>>> remotely" bit to the sched structure which is NOT in the status bit, set >>>> this bit when changing a remote sched (under nklock). In the debug check >>>> code, if the scheduler state changed, and the XNRESCHED bit is not set, >>>> only consider this a but if this new bit is not set. All this is >>>> compiled out if the debug is not enabled. >>> I still see no benefit in this check. Where to you want to place the bit >>> set? Aren't that just the same locations where >>> xnsched_set_[self_]resched already is today? >> Well no, that would be another bit in the sched structure which would >> allow us to manipulate the status bits from the local cpu. That >> supplementary bit would only be changed from a distant CPU, and serve to >> detect the race which causes the false positive. The resched bits are >> set on the local cpu to get xnpod_schedule to trigger a rescheduling on >> the distance cpu. That bit would be set on the remote cpu's sched. Only >> when debugging is enabled. >> >>> But maybe you can provide some motivating bug scenarios, real ones of >>> the past or realistic ones of the future. >> Of course. The bug is anything which changes the scheduler state but >> does not set the XNRESCHED bit. This happened when we started the SMP >> port. New scheduling policies would be good candidates for a revival of >> this bug. >> > > You don't gain any worthwhile check if you cannot make the > instrumentation required for a stable detection simpler than the proper > problem solution itself. And this is what I'm still skeptical of. The solution is simple, but finding the problem without the instrumentation is way harder than with the instrumentation, so the instrumentation is worth something. Reproducing the false positive is surprisingly easy with a simple dual-cpu semaphore ping-pong test. So, here is the (tested) patch, using a ridiculous long variable name to illustrate what I was thinking about: diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h index 8888cf4..454b8e8 100644 --- a/include/nucleus/sched.h +++ b/include/nucleus/sched.h @@ -108,6 +108,9 @@ typedef struct xnsched { struct xnthread *gktarget; #endif +#ifdef CONFIG_XENO_OPT_DEBUG_NUCLEUS + int debug_resched_from_remote; +#endif } xnsched_t; union xnsched_policy_param; @@ -185,6 +188,8 @@ static inline int xnsched_resched_p(struct xnsched *sched) xnsched_t *current_sched = xnpod_current_sched(); \ __setbits(current_sched->status, XNRESCHED); \ if (current_sched != (__sched__)) { \ + if (XENO_DEBUG(NUCLEUS)) \ + __sched__->debug_resched_from_remote = 1; \ xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ } \ } while (0) diff --git a/ksrc/nucleus/pod.c b/ksrc/nucleus/pod.c index 4cb707a..50b0f49 100644 --- a/ksrc/nucleus/pod.c +++ b/ksrc/nucleus/pod.c @@ -2177,6 +2177,10 @@ static inline int __xnpod_test_resched(struct xnsched *sched) xnarch_cpus_clear(sched->resched); } #endif + if (XENO_DEBUG(NUCLEUS) && sched->debug_resched_from_remote) { + sched->debug_resched_from_remote = 0; + resched = 1; + } clrbits(sched->status, XNRESCHED); return resched; } I am still uncertain. -- Gilles. ^ permalink raw reply related [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-05 1:28 ` Gilles Chanteperdrix @ 2010-11-05 10:21 ` Anders Blomdell 2010-11-06 0:27 ` Gilles Chanteperdrix 0 siblings, 1 reply; 85+ messages in thread From: Anders Blomdell @ 2010-11-05 10:21 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Jan Kiszka, xenomai@xenomai.org Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >> Am 05.11.2010 00:24, Gilles Chanteperdrix wrote: >>> Jan Kiszka wrote: >>>> Am 04.11.2010 23:06, Gilles Chanteperdrix wrote: >>>>> Jan Kiszka wrote: >>>>>>>> At first sight, here you are more breaking things than cleaning them. >>>>>>> Still, it has the SMP record for my test program, still runs with ftrace >>>>>>> on (after 2 hours, where it previously failed after maximum 23 minutes). >>>>>> My version was indeed still buggy, I'm reworking it ATM. >>>>>> >>>>>>> If I get the gist of Jan's changes, they are (using the IPI to transfer >>>>>>> one bit of information: your cpu needs to reschedule): >>>>>>> >>>>>>> xnsched_set_resched: >>>>>>> - setbits((__sched__)->status, XNRESCHED); >>>>>>> >>>>>>> xnpod_schedule_handler: >>>>>>> + xnsched_set_resched(sched); >>>>>>> >>>>>>> If you (we?) decide to keep the debug checks, under what circumstances >>>>>>> would the current check trigger (in laymans language, that I'll be able >>>>>>> to understand)? >>>>>> That's actually what /me is wondering as well. I do not see yet how you >>>>>> can reliably detect a missed reschedule reliably (that was the purpose >>>>>> of the debug check) given the racy nature between signaling resched and >>>>>> processing the resched hints. >>>>> The purpose of the debugging change is to detect a change of the >>>>> scheduler state which was not followed by setting the XNRESCHED bit. >>>> But that is nucleus business, nothing skins can screw up (as long as >>>> they do not misuse APIs). >>> Yes, but it happens that we modify the nucleus from time to time. >>> >>>>> Getting it to work is relatively simple: we add a "scheduler change set >>>>> remotely" bit to the sched structure which is NOT in the status bit, set >>>>> this bit when changing a remote sched (under nklock). In the debug check >>>>> code, if the scheduler state changed, and the XNRESCHED bit is not set, >>>>> only consider this a but if this new bit is not set. All this is >>>>> compiled out if the debug is not enabled. >>>> I still see no benefit in this check. Where to you want to place the bit >>>> set? Aren't that just the same locations where >>>> xnsched_set_[self_]resched already is today? >>> Well no, that would be another bit in the sched structure which would >>> allow us to manipulate the status bits from the local cpu. That >>> supplementary bit would only be changed from a distant CPU, and serve to >>> detect the race which causes the false positive. The resched bits are >>> set on the local cpu to get xnpod_schedule to trigger a rescheduling on >>> the distance cpu. That bit would be set on the remote cpu's sched. Only >>> when debugging is enabled. >>> >>>> But maybe you can provide some motivating bug scenarios, real ones of >>>> the past or realistic ones of the future. >>> Of course. The bug is anything which changes the scheduler state but >>> does not set the XNRESCHED bit. This happened when we started the SMP >>> port. New scheduling policies would be good candidates for a revival of >>> this bug. >>> >> You don't gain any worthwhile check if you cannot make the >> instrumentation required for a stable detection simpler than the proper >> problem solution itself. And this is what I'm still skeptical of. > > The solution is simple, but finding the problem without the > instrumentation is way harder than with the instrumentation, so the > instrumentation is worth something. > > Reproducing the false positive is surprisingly easy with a simple > dual-cpu semaphore ping-pong test. So, here is the (tested) patch, > using a ridiculous long variable name to illustrate what I was > thinking about: > > diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h > index 8888cf4..454b8e8 100644 > --- a/include/nucleus/sched.h > +++ b/include/nucleus/sched.h > @@ -108,6 +108,9 @@ typedef struct xnsched { > struct xnthread *gktarget; > #endif > > +#ifdef CONFIG_XENO_OPT_DEBUG_NUCLEUS > + int debug_resched_from_remote; > +#endif > } xnsched_t; > > union xnsched_policy_param; > @@ -185,6 +188,8 @@ static inline int xnsched_resched_p(struct xnsched *sched) > xnsched_t *current_sched = xnpod_current_sched(); \ > __setbits(current_sched->status, XNRESCHED); \ > if (current_sched != (__sched__)) { \ > + if (XENO_DEBUG(NUCLEUS)) \ > + __sched__->debug_resched_from_remote = 1; \ > xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ > } \ > } while (0) > diff --git a/ksrc/nucleus/pod.c b/ksrc/nucleus/pod.c > index 4cb707a..50b0f49 100644 > --- a/ksrc/nucleus/pod.c > +++ b/ksrc/nucleus/pod.c > @@ -2177,6 +2177,10 @@ static inline int __xnpod_test_resched(struct xnsched *sched) > xnarch_cpus_clear(sched->resched); > } > #endif > + if (XENO_DEBUG(NUCLEUS) && sched->debug_resched_from_remote) { > + sched->debug_resched_from_remote = 0; > + resched = 1; > + } > clrbits(sched->status, XNRESCHED); > return resched; > } > > > I am still uncertain. Will only work if all is done under nklock, otherwise two almost simultaneous xnsched_resched_p from different cpus, might lead to one of the ipi wakeups sees the 0 written due to handling the first ipi interrupt. /Anders ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-05 10:21 ` Anders Blomdell @ 2010-11-06 0:27 ` Gilles Chanteperdrix 2010-11-06 20:26 ` Anders Blomdell 0 siblings, 1 reply; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-06 0:27 UTC (permalink / raw) To: Anders Blomdell; +Cc: Jan Kiszka, xenomai@xenomai.org Anders Blomdell wrote: > Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>> Am 05.11.2010 00:24, Gilles Chanteperdrix wrote: >>>> Jan Kiszka wrote: >>>>> Am 04.11.2010 23:06, Gilles Chanteperdrix wrote: >>>>>> Jan Kiszka wrote: >>>>>>>>> At first sight, here you are more breaking things than cleaning them. >>>>>>>> Still, it has the SMP record for my test program, still runs with ftrace >>>>>>>> on (after 2 hours, where it previously failed after maximum 23 minutes). >>>>>>> My version was indeed still buggy, I'm reworking it ATM. >>>>>>> >>>>>>>> If I get the gist of Jan's changes, they are (using the IPI to transfer >>>>>>>> one bit of information: your cpu needs to reschedule): >>>>>>>> >>>>>>>> xnsched_set_resched: >>>>>>>> - setbits((__sched__)->status, XNRESCHED); >>>>>>>> >>>>>>>> xnpod_schedule_handler: >>>>>>>> + xnsched_set_resched(sched); >>>>>>>> >>>>>>>> If you (we?) decide to keep the debug checks, under what circumstances >>>>>>>> would the current check trigger (in laymans language, that I'll be able >>>>>>>> to understand)? >>>>>>> That's actually what /me is wondering as well. I do not see yet how you >>>>>>> can reliably detect a missed reschedule reliably (that was the purpose >>>>>>> of the debug check) given the racy nature between signaling resched and >>>>>>> processing the resched hints. >>>>>> The purpose of the debugging change is to detect a change of the >>>>>> scheduler state which was not followed by setting the XNRESCHED bit. >>>>> But that is nucleus business, nothing skins can screw up (as long as >>>>> they do not misuse APIs). >>>> Yes, but it happens that we modify the nucleus from time to time. >>>> >>>>>> Getting it to work is relatively simple: we add a "scheduler change set >>>>>> remotely" bit to the sched structure which is NOT in the status bit, set >>>>>> this bit when changing a remote sched (under nklock). In the debug check >>>>>> code, if the scheduler state changed, and the XNRESCHED bit is not set, >>>>>> only consider this a but if this new bit is not set. All this is >>>>>> compiled out if the debug is not enabled. >>>>> I still see no benefit in this check. Where to you want to place the bit >>>>> set? Aren't that just the same locations where >>>>> xnsched_set_[self_]resched already is today? >>>> Well no, that would be another bit in the sched structure which would >>>> allow us to manipulate the status bits from the local cpu. That >>>> supplementary bit would only be changed from a distant CPU, and serve to >>>> detect the race which causes the false positive. The resched bits are >>>> set on the local cpu to get xnpod_schedule to trigger a rescheduling on >>>> the distance cpu. That bit would be set on the remote cpu's sched. Only >>>> when debugging is enabled. >>>> >>>>> But maybe you can provide some motivating bug scenarios, real ones of >>>>> the past or realistic ones of the future. >>>> Of course. The bug is anything which changes the scheduler state but >>>> does not set the XNRESCHED bit. This happened when we started the SMP >>>> port. New scheduling policies would be good candidates for a revival of >>>> this bug. >>>> >>> You don't gain any worthwhile check if you cannot make the >>> instrumentation required for a stable detection simpler than the proper >>> problem solution itself. And this is what I'm still skeptical of. >> The solution is simple, but finding the problem without the >> instrumentation is way harder than with the instrumentation, so the >> instrumentation is worth something. >> >> Reproducing the false positive is surprisingly easy with a simple >> dual-cpu semaphore ping-pong test. So, here is the (tested) patch, >> using a ridiculous long variable name to illustrate what I was >> thinking about: >> >> diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h >> index 8888cf4..454b8e8 100644 >> --- a/include/nucleus/sched.h >> +++ b/include/nucleus/sched.h >> @@ -108,6 +108,9 @@ typedef struct xnsched { >> struct xnthread *gktarget; >> #endif >> >> +#ifdef CONFIG_XENO_OPT_DEBUG_NUCLEUS >> + int debug_resched_from_remote; >> +#endif >> } xnsched_t; >> >> union xnsched_policy_param; >> @@ -185,6 +188,8 @@ static inline int xnsched_resched_p(struct xnsched *sched) >> xnsched_t *current_sched = xnpod_current_sched(); \ >> __setbits(current_sched->status, XNRESCHED); \ >> if (current_sched != (__sched__)) { \ >> + if (XENO_DEBUG(NUCLEUS)) \ >> + __sched__->debug_resched_from_remote = 1; \ >> xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ >> } \ >> } while (0) >> diff --git a/ksrc/nucleus/pod.c b/ksrc/nucleus/pod.c >> index 4cb707a..50b0f49 100644 >> --- a/ksrc/nucleus/pod.c >> +++ b/ksrc/nucleus/pod.c >> @@ -2177,6 +2177,10 @@ static inline int __xnpod_test_resched(struct xnsched *sched) >> xnarch_cpus_clear(sched->resched); >> } >> #endif >> + if (XENO_DEBUG(NUCLEUS) && sched->debug_resched_from_remote) { >> + sched->debug_resched_from_remote = 0; >> + resched = 1; >> + } >> clrbits(sched->status, XNRESCHED); >> return resched; >> } >> >> >> I am still uncertain. > Will only work if all is done under nklock, otherwise two almost > simultaneous xnsched_resched_p from different cpus, might lead to one of > the ipi wakeups sees the 0 written due to handling the first ipi interrupt. This is a patch artifact, the function modified are xnsched_set_resched and xnpod_test_resched, and both are run with the nklock locked. -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-06 0:27 ` Gilles Chanteperdrix @ 2010-11-06 20:26 ` Anders Blomdell 2010-11-06 20:37 ` Gilles Chanteperdrix 0 siblings, 1 reply; 85+ messages in thread From: Anders Blomdell @ 2010-11-06 20:26 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Jan Kiszka, xenomai@xenomai.org Gilles Chanteperdrix wrote: > Anders Blomdell wrote: >> Gilles Chanteperdrix wrote: >>> Jan Kiszka wrote: >>>> Am 05.11.2010 00:24, Gilles Chanteperdrix wrote: >>>>> Jan Kiszka wrote: >>>>>> Am 04.11.2010 23:06, Gilles Chanteperdrix wrote: >>>>>>> Jan Kiszka wrote: >>>>>>>>>> At first sight, here you are more breaking things than cleaning them. >>>>>>>>> Still, it has the SMP record for my test program, still runs with ftrace >>>>>>>>> on (after 2 hours, where it previously failed after maximum 23 minutes). >>>>>>>> My version was indeed still buggy, I'm reworking it ATM. >>>>>>>> >>>>>>>>> If I get the gist of Jan's changes, they are (using the IPI to transfer >>>>>>>>> one bit of information: your cpu needs to reschedule): >>>>>>>>> >>>>>>>>> xnsched_set_resched: >>>>>>>>> - setbits((__sched__)->status, XNRESCHED); >>>>>>>>> >>>>>>>>> xnpod_schedule_handler: >>>>>>>>> + xnsched_set_resched(sched); >>>>>>>>> >>>>>>>>> If you (we?) decide to keep the debug checks, under what circumstances >>>>>>>>> would the current check trigger (in laymans language, that I'll be able >>>>>>>>> to understand)? >>>>>>>> That's actually what /me is wondering as well. I do not see yet how you >>>>>>>> can reliably detect a missed reschedule reliably (that was the purpose >>>>>>>> of the debug check) given the racy nature between signaling resched and >>>>>>>> processing the resched hints. >>>>>>> The purpose of the debugging change is to detect a change of the >>>>>>> scheduler state which was not followed by setting the XNRESCHED bit. >>>>>> But that is nucleus business, nothing skins can screw up (as long as >>>>>> they do not misuse APIs). >>>>> Yes, but it happens that we modify the nucleus from time to time. >>>>> >>>>>>> Getting it to work is relatively simple: we add a "scheduler change set >>>>>>> remotely" bit to the sched structure which is NOT in the status bit, set >>>>>>> this bit when changing a remote sched (under nklock). In the debug check >>>>>>> code, if the scheduler state changed, and the XNRESCHED bit is not set, >>>>>>> only consider this a but if this new bit is not set. All this is >>>>>>> compiled out if the debug is not enabled. >>>>>> I still see no benefit in this check. Where to you want to place the bit >>>>>> set? Aren't that just the same locations where >>>>>> xnsched_set_[self_]resched already is today? >>>>> Well no, that would be another bit in the sched structure which would >>>>> allow us to manipulate the status bits from the local cpu. That >>>>> supplementary bit would only be changed from a distant CPU, and serve to >>>>> detect the race which causes the false positive. The resched bits are >>>>> set on the local cpu to get xnpod_schedule to trigger a rescheduling on >>>>> the distance cpu. That bit would be set on the remote cpu's sched. Only >>>>> when debugging is enabled. >>>>> >>>>>> But maybe you can provide some motivating bug scenarios, real ones of >>>>>> the past or realistic ones of the future. >>>>> Of course. The bug is anything which changes the scheduler state but >>>>> does not set the XNRESCHED bit. This happened when we started the SMP >>>>> port. New scheduling policies would be good candidates for a revival of >>>>> this bug. >>>>> >>>> You don't gain any worthwhile check if you cannot make the >>>> instrumentation required for a stable detection simpler than the proper >>>> problem solution itself. And this is what I'm still skeptical of. >>> The solution is simple, but finding the problem without the >>> instrumentation is way harder than with the instrumentation, so the >>> instrumentation is worth something. >>> >>> Reproducing the false positive is surprisingly easy with a simple >>> dual-cpu semaphore ping-pong test. So, here is the (tested) patch, >>> using a ridiculous long variable name to illustrate what I was >>> thinking about: >>> >>> diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h >>> index 8888cf4..454b8e8 100644 >>> --- a/include/nucleus/sched.h >>> +++ b/include/nucleus/sched.h >>> @@ -108,6 +108,9 @@ typedef struct xnsched { >>> struct xnthread *gktarget; >>> #endif >>> >>> +#ifdef CONFIG_XENO_OPT_DEBUG_NUCLEUS >>> + int debug_resched_from_remote; >>> +#endif >>> } xnsched_t; >>> >>> union xnsched_policy_param; >>> @@ -185,6 +188,8 @@ static inline int xnsched_resched_p(struct xnsched *sched) >>> xnsched_t *current_sched = xnpod_current_sched(); \ >>> __setbits(current_sched->status, XNRESCHED); \ >>> if (current_sched != (__sched__)) { \ >>> + if (XENO_DEBUG(NUCLEUS)) \ >>> + __sched__->debug_resched_from_remote = 1; \ >>> xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ >>> } \ >>> } while (0) >>> diff --git a/ksrc/nucleus/pod.c b/ksrc/nucleus/pod.c >>> index 4cb707a..50b0f49 100644 >>> --- a/ksrc/nucleus/pod.c >>> +++ b/ksrc/nucleus/pod.c >>> @@ -2177,6 +2177,10 @@ static inline int __xnpod_test_resched(struct xnsched *sched) >>> xnarch_cpus_clear(sched->resched); >>> } >>> #endif >>> + if (XENO_DEBUG(NUCLEUS) && sched->debug_resched_from_remote) { >>> + sched->debug_resched_from_remote = 0; >>> + resched = 1; >>> + } >>> clrbits(sched->status, XNRESCHED); >>> return resched; >>> } >>> >>> >>> I am still uncertain. >> Will only work if all is done under nklock, otherwise two almost >> simultaneous xnsched_resched_p from different cpus, might lead to one of >> the ipi wakeups sees the 0 written due to handling the first ipi interrupt. > > This is a patch artifact, the function modified are xnsched_set_resched > and xnpod_test_resched, and both are run with the nklock locked. > Isn't this a possible scenario? CPU A CPU B CPU C take nklock remote = 1 send ipi #1 release nklock take nklock handle ipi remote = 1 ack ipi #1 send ipi #2 release nklock take nklock if remote (==1) remote = 0 reseched = 1 relese nklock handle ipi ack ipi #2 take nklock if remote (==0) OOPS! /Anders ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-06 20:26 ` Anders Blomdell @ 2010-11-06 20:37 ` Gilles Chanteperdrix 2010-11-06 22:49 ` Philippe Gerum 0 siblings, 1 reply; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-06 20:37 UTC (permalink / raw) To: Anders Blomdell; +Cc: Jan Kiszka, xenomai@xenomai.org Anders Blomdell wrote: > Gilles Chanteperdrix wrote: >> Anders Blomdell wrote: >>> Gilles Chanteperdrix wrote: >>>> Jan Kiszka wrote: >>>>> Am 05.11.2010 00:24, Gilles Chanteperdrix wrote: >>>>>> Jan Kiszka wrote: >>>>>>> Am 04.11.2010 23:06, Gilles Chanteperdrix wrote: >>>>>>>> Jan Kiszka wrote: >>>>>>>>>>> At first sight, here you are more breaking things than cleaning them. >>>>>>>>>> Still, it has the SMP record for my test program, still runs with ftrace >>>>>>>>>> on (after 2 hours, where it previously failed after maximum 23 minutes). >>>>>>>>> My version was indeed still buggy, I'm reworking it ATM. >>>>>>>>> >>>>>>>>>> If I get the gist of Jan's changes, they are (using the IPI to transfer >>>>>>>>>> one bit of information: your cpu needs to reschedule): >>>>>>>>>> >>>>>>>>>> xnsched_set_resched: >>>>>>>>>> - setbits((__sched__)->status, XNRESCHED); >>>>>>>>>> >>>>>>>>>> xnpod_schedule_handler: >>>>>>>>>> + xnsched_set_resched(sched); >>>>>>>>>> >>>>>>>>>> If you (we?) decide to keep the debug checks, under what circumstances >>>>>>>>>> would the current check trigger (in laymans language, that I'll be able >>>>>>>>>> to understand)? >>>>>>>>> That's actually what /me is wondering as well. I do not see yet how you >>>>>>>>> can reliably detect a missed reschedule reliably (that was the purpose >>>>>>>>> of the debug check) given the racy nature between signaling resched and >>>>>>>>> processing the resched hints. >>>>>>>> The purpose of the debugging change is to detect a change of the >>>>>>>> scheduler state which was not followed by setting the XNRESCHED bit. >>>>>>> But that is nucleus business, nothing skins can screw up (as long as >>>>>>> they do not misuse APIs). >>>>>> Yes, but it happens that we modify the nucleus from time to time. >>>>>> >>>>>>>> Getting it to work is relatively simple: we add a "scheduler change set >>>>>>>> remotely" bit to the sched structure which is NOT in the status bit, set >>>>>>>> this bit when changing a remote sched (under nklock). In the debug check >>>>>>>> code, if the scheduler state changed, and the XNRESCHED bit is not set, >>>>>>>> only consider this a but if this new bit is not set. All this is >>>>>>>> compiled out if the debug is not enabled. >>>>>>> I still see no benefit in this check. Where to you want to place the bit >>>>>>> set? Aren't that just the same locations where >>>>>>> xnsched_set_[self_]resched already is today? >>>>>> Well no, that would be another bit in the sched structure which would >>>>>> allow us to manipulate the status bits from the local cpu. That >>>>>> supplementary bit would only be changed from a distant CPU, and serve to >>>>>> detect the race which causes the false positive. The resched bits are >>>>>> set on the local cpu to get xnpod_schedule to trigger a rescheduling on >>>>>> the distance cpu. That bit would be set on the remote cpu's sched. Only >>>>>> when debugging is enabled. >>>>>> >>>>>>> But maybe you can provide some motivating bug scenarios, real ones of >>>>>>> the past or realistic ones of the future. >>>>>> Of course. The bug is anything which changes the scheduler state but >>>>>> does not set the XNRESCHED bit. This happened when we started the SMP >>>>>> port. New scheduling policies would be good candidates for a revival of >>>>>> this bug. >>>>>> >>>>> You don't gain any worthwhile check if you cannot make the >>>>> instrumentation required for a stable detection simpler than the proper >>>>> problem solution itself. And this is what I'm still skeptical of. >>>> The solution is simple, but finding the problem without the >>>> instrumentation is way harder than with the instrumentation, so the >>>> instrumentation is worth something. >>>> >>>> Reproducing the false positive is surprisingly easy with a simple >>>> dual-cpu semaphore ping-pong test. So, here is the (tested) patch, >>>> using a ridiculous long variable name to illustrate what I was >>>> thinking about: >>>> >>>> diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h >>>> index 8888cf4..454b8e8 100644 >>>> --- a/include/nucleus/sched.h >>>> +++ b/include/nucleus/sched.h >>>> @@ -108,6 +108,9 @@ typedef struct xnsched { >>>> struct xnthread *gktarget; >>>> #endif >>>> >>>> +#ifdef CONFIG_XENO_OPT_DEBUG_NUCLEUS >>>> + int debug_resched_from_remote; >>>> +#endif >>>> } xnsched_t; >>>> >>>> union xnsched_policy_param; >>>> @@ -185,6 +188,8 @@ static inline int xnsched_resched_p(struct xnsched *sched) >>>> xnsched_t *current_sched = xnpod_current_sched(); \ >>>> __setbits(current_sched->status, XNRESCHED); \ >>>> if (current_sched != (__sched__)) { \ >>>> + if (XENO_DEBUG(NUCLEUS)) \ >>>> + __sched__->debug_resched_from_remote = 1; \ >>>> xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ >>>> } \ >>>> } while (0) >>>> diff --git a/ksrc/nucleus/pod.c b/ksrc/nucleus/pod.c >>>> index 4cb707a..50b0f49 100644 >>>> --- a/ksrc/nucleus/pod.c >>>> +++ b/ksrc/nucleus/pod.c >>>> @@ -2177,6 +2177,10 @@ static inline int __xnpod_test_resched(struct xnsched *sched) >>>> xnarch_cpus_clear(sched->resched); >>>> } >>>> #endif >>>> + if (XENO_DEBUG(NUCLEUS) && sched->debug_resched_from_remote) { >>>> + sched->debug_resched_from_remote = 0; >>>> + resched = 1; >>>> + } >>>> clrbits(sched->status, XNRESCHED); >>>> return resched; >>>> } >>>> >>>> >>>> I am still uncertain. >>> Will only work if all is done under nklock, otherwise two almost >>> simultaneous xnsched_resched_p from different cpus, might lead to one of >>> the ipi wakeups sees the 0 written due to handling the first ipi interrupt. >> This is a patch artifact, the function modified are xnsched_set_resched >> and xnpod_test_resched, and both are run with the nklock locked. >> > > Isn't this a possible scenario? > > CPU A CPU B CPU C > take nklock > remote = 1 > send ipi #1 > release nklock > take nklock handle ipi > remote = 1 ack ipi #1 > send ipi #2 > release nklock > take nklock > if remote (==1) > remote = 0 > reseched = 1 > relese nklock > handle ipi > ack ipi #2 > take nklock > if remote (==0) > OOPS! No problem here, since handling the first IPI has taken into account the two scheduler state changes. So, no OOPS. The second IPI is spurious. Anyway, after some thoughts, I think we are going to try and make the current situation work instead of going back to the old way. You can find the patch which attempts to do so here: http://sisyphus.hd.free.fr/~gilles/sched_status.txt It even avoids the second IPI in this case. Experimental and only lightly tested for now. -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-06 20:37 ` Gilles Chanteperdrix @ 2010-11-06 22:49 ` Philippe Gerum 2010-11-07 1:00 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Philippe Gerum @ 2010-11-06 22:49 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Jan Kiszka, xenomai@xenomai.org On Sat, 2010-11-06 at 21:37 +0100, Gilles Chanteperdrix wrote: > Anders Blomdell wrote: > > Gilles Chanteperdrix wrote: > >> Anders Blomdell wrote: > >>> Gilles Chanteperdrix wrote: > >>>> Jan Kiszka wrote: > >>>>> Am 05.11.2010 00:24, Gilles Chanteperdrix wrote: > >>>>>> Jan Kiszka wrote: > >>>>>>> Am 04.11.2010 23:06, Gilles Chanteperdrix wrote: > >>>>>>>> Jan Kiszka wrote: > >>>>>>>>>>> At first sight, here you are more breaking things than cleaning them. > >>>>>>>>>> Still, it has the SMP record for my test program, still runs with ftrace > >>>>>>>>>> on (after 2 hours, where it previously failed after maximum 23 minutes). > >>>>>>>>> My version was indeed still buggy, I'm reworking it ATM. > >>>>>>>>> > >>>>>>>>>> If I get the gist of Jan's changes, they are (using the IPI to transfer > >>>>>>>>>> one bit of information: your cpu needs to reschedule): > >>>>>>>>>> > >>>>>>>>>> xnsched_set_resched: > >>>>>>>>>> - setbits((__sched__)->status, XNRESCHED); > >>>>>>>>>> > >>>>>>>>>> xnpod_schedule_handler: > >>>>>>>>>> + xnsched_set_resched(sched); > >>>>>>>>>> > >>>>>>>>>> If you (we?) decide to keep the debug checks, under what circumstances > >>>>>>>>>> would the current check trigger (in laymans language, that I'll be able > >>>>>>>>>> to understand)? > >>>>>>>>> That's actually what /me is wondering as well. I do not see yet how you > >>>>>>>>> can reliably detect a missed reschedule reliably (that was the purpose > >>>>>>>>> of the debug check) given the racy nature between signaling resched and > >>>>>>>>> processing the resched hints. > >>>>>>>> The purpose of the debugging change is to detect a change of the > >>>>>>>> scheduler state which was not followed by setting the XNRESCHED bit. > >>>>>>> But that is nucleus business, nothing skins can screw up (as long as > >>>>>>> they do not misuse APIs). > >>>>>> Yes, but it happens that we modify the nucleus from time to time. > >>>>>> > >>>>>>>> Getting it to work is relatively simple: we add a "scheduler change set > >>>>>>>> remotely" bit to the sched structure which is NOT in the status bit, set > >>>>>>>> this bit when changing a remote sched (under nklock). In the debug check > >>>>>>>> code, if the scheduler state changed, and the XNRESCHED bit is not set, > >>>>>>>> only consider this a but if this new bit is not set. All this is > >>>>>>>> compiled out if the debug is not enabled. > >>>>>>> I still see no benefit in this check. Where to you want to place the bit > >>>>>>> set? Aren't that just the same locations where > >>>>>>> xnsched_set_[self_]resched already is today? > >>>>>> Well no, that would be another bit in the sched structure which would > >>>>>> allow us to manipulate the status bits from the local cpu. That > >>>>>> supplementary bit would only be changed from a distant CPU, and serve to > >>>>>> detect the race which causes the false positive. The resched bits are > >>>>>> set on the local cpu to get xnpod_schedule to trigger a rescheduling on > >>>>>> the distance cpu. That bit would be set on the remote cpu's sched. Only > >>>>>> when debugging is enabled. > >>>>>> > >>>>>>> But maybe you can provide some motivating bug scenarios, real ones of > >>>>>>> the past or realistic ones of the future. > >>>>>> Of course. The bug is anything which changes the scheduler state but > >>>>>> does not set the XNRESCHED bit. This happened when we started the SMP > >>>>>> port. New scheduling policies would be good candidates for a revival of > >>>>>> this bug. > >>>>>> > >>>>> You don't gain any worthwhile check if you cannot make the > >>>>> instrumentation required for a stable detection simpler than the proper > >>>>> problem solution itself. And this is what I'm still skeptical of. > >>>> The solution is simple, but finding the problem without the > >>>> instrumentation is way harder than with the instrumentation, so the > >>>> instrumentation is worth something. > >>>> > >>>> Reproducing the false positive is surprisingly easy with a simple > >>>> dual-cpu semaphore ping-pong test. So, here is the (tested) patch, > >>>> using a ridiculous long variable name to illustrate what I was > >>>> thinking about: > >>>> > >>>> diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h > >>>> index 8888cf4..454b8e8 100644 > >>>> --- a/include/nucleus/sched.h > >>>> +++ b/include/nucleus/sched.h > >>>> @@ -108,6 +108,9 @@ typedef struct xnsched { > >>>> struct xnthread *gktarget; > >>>> #endif > >>>> > >>>> +#ifdef CONFIG_XENO_OPT_DEBUG_NUCLEUS > >>>> + int debug_resched_from_remote; > >>>> +#endif > >>>> } xnsched_t; > >>>> > >>>> union xnsched_policy_param; > >>>> @@ -185,6 +188,8 @@ static inline int xnsched_resched_p(struct xnsched *sched) > >>>> xnsched_t *current_sched = xnpod_current_sched(); \ > >>>> __setbits(current_sched->status, XNRESCHED); \ > >>>> if (current_sched != (__sched__)) { \ > >>>> + if (XENO_DEBUG(NUCLEUS)) \ > >>>> + __sched__->debug_resched_from_remote = 1; \ > >>>> xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ > >>>> } \ > >>>> } while (0) > >>>> diff --git a/ksrc/nucleus/pod.c b/ksrc/nucleus/pod.c > >>>> index 4cb707a..50b0f49 100644 > >>>> --- a/ksrc/nucleus/pod.c > >>>> +++ b/ksrc/nucleus/pod.c > >>>> @@ -2177,6 +2177,10 @@ static inline int __xnpod_test_resched(struct xnsched *sched) > >>>> xnarch_cpus_clear(sched->resched); > >>>> } > >>>> #endif > >>>> + if (XENO_DEBUG(NUCLEUS) && sched->debug_resched_from_remote) { > >>>> + sched->debug_resched_from_remote = 0; > >>>> + resched = 1; > >>>> + } > >>>> clrbits(sched->status, XNRESCHED); > >>>> return resched; > >>>> } > >>>> > >>>> > >>>> I am still uncertain. > >>> Will only work if all is done under nklock, otherwise two almost > >>> simultaneous xnsched_resched_p from different cpus, might lead to one of > >>> the ipi wakeups sees the 0 written due to handling the first ipi interrupt. > >> This is a patch artifact, the function modified are xnsched_set_resched > >> and xnpod_test_resched, and both are run with the nklock locked. > >> > > > > Isn't this a possible scenario? > > > > CPU A CPU B CPU C > > take nklock > > remote = 1 > > send ipi #1 > > release nklock > > take nklock handle ipi > > remote = 1 ack ipi #1 > > send ipi #2 > > release nklock > > take nklock > > if remote (==1) > > remote = 0 > > reseched = 1 > > relese nklock > > handle ipi > > ack ipi #2 > > take nklock > > if remote (==0) > > OOPS! > > No problem here, since handling the first IPI has taken into account the > two scheduler state changes. So, no OOPS. The second IPI is spurious. > > Anyway, after some thoughts, I think we are going to try and make the > current situation work instead of going back to the old way. > > You can find the patch which attempts to do so here: > http://sisyphus.hd.free.fr/~gilles/sched_status.txt Ack. At last, this addresses the real issues without asking for regression funkiness: fix the lack of barrier before testing XNSCHED in the xnpod_schedule pre-test, and stop sched->status trashing due to XNINIRQ/XNHTICK/XNRPICK ops done un-synced on nklock. In short, this patch looks like moving the local-only flags where they belong, i.e. anywhere you want but *outside* of the status with remotely accessed bits. XNRPICK seems to be handled differently, but it makes sense to group it with other RPI data as you did, so fine with me. > > It even avoids the second IPI in this case. Experimental and only > lightly tested for now. > -- Philippe. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-06 22:49 ` Philippe Gerum @ 2010-11-07 1:00 ` Jan Kiszka 2010-11-07 8:31 ` Gilles Chanteperdrix ` (2 more replies) 0 siblings, 3 replies; 85+ messages in thread From: Jan Kiszka @ 2010-11-07 1:00 UTC (permalink / raw) To: Philippe Gerum; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 9123 bytes --] Am 06.11.2010 23:49, Philippe Gerum wrote: > On Sat, 2010-11-06 at 21:37 +0100, Gilles Chanteperdrix wrote: >> Anders Blomdell wrote: >>> Gilles Chanteperdrix wrote: >>>> Anders Blomdell wrote: >>>>> Gilles Chanteperdrix wrote: >>>>>> Jan Kiszka wrote: >>>>>>> Am 05.11.2010 00:24, Gilles Chanteperdrix wrote: >>>>>>>> Jan Kiszka wrote: >>>>>>>>> Am 04.11.2010 23:06, Gilles Chanteperdrix wrote: >>>>>>>>>> Jan Kiszka wrote: >>>>>>>>>>>>> At first sight, here you are more breaking things than cleaning them. >>>>>>>>>>>> Still, it has the SMP record for my test program, still runs with ftrace >>>>>>>>>>>> on (after 2 hours, where it previously failed after maximum 23 minutes). >>>>>>>>>>> My version was indeed still buggy, I'm reworking it ATM. >>>>>>>>>>> >>>>>>>>>>>> If I get the gist of Jan's changes, they are (using the IPI to transfer >>>>>>>>>>>> one bit of information: your cpu needs to reschedule): >>>>>>>>>>>> >>>>>>>>>>>> xnsched_set_resched: >>>>>>>>>>>> - setbits((__sched__)->status, XNRESCHED); >>>>>>>>>>>> >>>>>>>>>>>> xnpod_schedule_handler: >>>>>>>>>>>> + xnsched_set_resched(sched); >>>>>>>>>>>> >>>>>>>>>>>> If you (we?) decide to keep the debug checks, under what circumstances >>>>>>>>>>>> would the current check trigger (in laymans language, that I'll be able >>>>>>>>>>>> to understand)? >>>>>>>>>>> That's actually what /me is wondering as well. I do not see yet how you >>>>>>>>>>> can reliably detect a missed reschedule reliably (that was the purpose >>>>>>>>>>> of the debug check) given the racy nature between signaling resched and >>>>>>>>>>> processing the resched hints. >>>>>>>>>> The purpose of the debugging change is to detect a change of the >>>>>>>>>> scheduler state which was not followed by setting the XNRESCHED bit. >>>>>>>>> But that is nucleus business, nothing skins can screw up (as long as >>>>>>>>> they do not misuse APIs). >>>>>>>> Yes, but it happens that we modify the nucleus from time to time. >>>>>>>> >>>>>>>>>> Getting it to work is relatively simple: we add a "scheduler change set >>>>>>>>>> remotely" bit to the sched structure which is NOT in the status bit, set >>>>>>>>>> this bit when changing a remote sched (under nklock). In the debug check >>>>>>>>>> code, if the scheduler state changed, and the XNRESCHED bit is not set, >>>>>>>>>> only consider this a but if this new bit is not set. All this is >>>>>>>>>> compiled out if the debug is not enabled. >>>>>>>>> I still see no benefit in this check. Where to you want to place the bit >>>>>>>>> set? Aren't that just the same locations where >>>>>>>>> xnsched_set_[self_]resched already is today? >>>>>>>> Well no, that would be another bit in the sched structure which would >>>>>>>> allow us to manipulate the status bits from the local cpu. That >>>>>>>> supplementary bit would only be changed from a distant CPU, and serve to >>>>>>>> detect the race which causes the false positive. The resched bits are >>>>>>>> set on the local cpu to get xnpod_schedule to trigger a rescheduling on >>>>>>>> the distance cpu. That bit would be set on the remote cpu's sched. Only >>>>>>>> when debugging is enabled. >>>>>>>> >>>>>>>>> But maybe you can provide some motivating bug scenarios, real ones of >>>>>>>>> the past or realistic ones of the future. >>>>>>>> Of course. The bug is anything which changes the scheduler state but >>>>>>>> does not set the XNRESCHED bit. This happened when we started the SMP >>>>>>>> port. New scheduling policies would be good candidates for a revival of >>>>>>>> this bug. >>>>>>>> >>>>>>> You don't gain any worthwhile check if you cannot make the >>>>>>> instrumentation required for a stable detection simpler than the proper >>>>>>> problem solution itself. And this is what I'm still skeptical of. >>>>>> The solution is simple, but finding the problem without the >>>>>> instrumentation is way harder than with the instrumentation, so the >>>>>> instrumentation is worth something. >>>>>> >>>>>> Reproducing the false positive is surprisingly easy with a simple >>>>>> dual-cpu semaphore ping-pong test. So, here is the (tested) patch, >>>>>> using a ridiculous long variable name to illustrate what I was >>>>>> thinking about: >>>>>> >>>>>> diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h >>>>>> index 8888cf4..454b8e8 100644 >>>>>> --- a/include/nucleus/sched.h >>>>>> +++ b/include/nucleus/sched.h >>>>>> @@ -108,6 +108,9 @@ typedef struct xnsched { >>>>>> struct xnthread *gktarget; >>>>>> #endif >>>>>> >>>>>> +#ifdef CONFIG_XENO_OPT_DEBUG_NUCLEUS >>>>>> + int debug_resched_from_remote; >>>>>> +#endif >>>>>> } xnsched_t; >>>>>> >>>>>> union xnsched_policy_param; >>>>>> @@ -185,6 +188,8 @@ static inline int xnsched_resched_p(struct xnsched *sched) >>>>>> xnsched_t *current_sched = xnpod_current_sched(); \ >>>>>> __setbits(current_sched->status, XNRESCHED); \ >>>>>> if (current_sched != (__sched__)) { \ >>>>>> + if (XENO_DEBUG(NUCLEUS)) \ >>>>>> + __sched__->debug_resched_from_remote = 1; \ >>>>>> xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ >>>>>> } \ >>>>>> } while (0) >>>>>> diff --git a/ksrc/nucleus/pod.c b/ksrc/nucleus/pod.c >>>>>> index 4cb707a..50b0f49 100644 >>>>>> --- a/ksrc/nucleus/pod.c >>>>>> +++ b/ksrc/nucleus/pod.c >>>>>> @@ -2177,6 +2177,10 @@ static inline int __xnpod_test_resched(struct xnsched *sched) >>>>>> xnarch_cpus_clear(sched->resched); >>>>>> } >>>>>> #endif >>>>>> + if (XENO_DEBUG(NUCLEUS) && sched->debug_resched_from_remote) { >>>>>> + sched->debug_resched_from_remote = 0; >>>>>> + resched = 1; >>>>>> + } >>>>>> clrbits(sched->status, XNRESCHED); >>>>>> return resched; >>>>>> } >>>>>> >>>>>> >>>>>> I am still uncertain. >>>>> Will only work if all is done under nklock, otherwise two almost >>>>> simultaneous xnsched_resched_p from different cpus, might lead to one of >>>>> the ipi wakeups sees the 0 written due to handling the first ipi interrupt. >>>> This is a patch artifact, the function modified are xnsched_set_resched >>>> and xnpod_test_resched, and both are run with the nklock locked. >>>> >>> >>> Isn't this a possible scenario? >>> >>> CPU A CPU B CPU C >>> take nklock >>> remote = 1 >>> send ipi #1 >>> release nklock >>> take nklock handle ipi >>> remote = 1 ack ipi #1 >>> send ipi #2 >>> release nklock >>> take nklock >>> if remote (==1) >>> remote = 0 >>> reseched = 1 >>> relese nklock >>> handle ipi >>> ack ipi #2 >>> take nklock >>> if remote (==0) >>> OOPS! >> >> No problem here, since handling the first IPI has taken into account the >> two scheduler state changes. So, no OOPS. The second IPI is spurious. >> >> Anyway, after some thoughts, I think we are going to try and make the >> current situation work instead of going back to the old way. >> >> You can find the patch which attempts to do so here: >> http://sisyphus.hd.free.fr/~gilles/sched_status.txt > > Ack. At last, this addresses the real issues without asking for > regression funkiness: fix the lack of barrier before testing XNSCHED in Check the kernel, we actually need it on both sides. Wherever the final barriers will be, we should leave a comment behind why they are there. Could be picked up from kernel/smp.c. > the xnpod_schedule pre-test, and stop sched->status trashing due to > XNINIRQ/XNHTICK/XNRPICK ops done un-synced on nklock. > > In short, this patch looks like moving the local-only flags where they > belong, i.e. anywhere you want but *outside* of the status with remotely > accessed bits. XNRPICK seems to be handled differently, but it makes > sense to group it with other RPI data as you did, so fine with me. I just hope we finally converge over a solution. Looks like all possibilities have been explored now. A few more comments on this one: It probably makes sense to group the status bits accordingly (both their values and definitions) and briefly document on which status field they are supposed to be applied. I do not understand the split logic - or some bits are simply not yet migrated. XNHDEFER, XNSWLOCK, XNKCOUT are all local-only as well, no? Then better put them in the _local_ status field, that's more consistent (and would help if we once wanted to optimize their cache line usage). The naming is unfortunate: status vs. lstatus. This is asking for confusion and typos. They must be better distinguishable, e.g. local_status. Or we need accessors that have debug checks built in, catching wrong bits for their target fields. Good catch of the RPI breakage, Gilles! Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-07 1:00 ` Jan Kiszka @ 2010-11-07 8:31 ` Gilles Chanteperdrix 2010-11-07 9:46 ` Jan Kiszka 2010-11-07 10:03 ` Philippe Gerum 2010-11-07 9:46 ` Philippe Gerum 2010-11-11 15:46 ` Gilles Chanteperdrix 2 siblings, 2 replies; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-07 8:31 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: >>> Anyway, after some thoughts, I think we are going to try and make the >>> current situation work instead of going back to the old way. >>> >>> You can find the patch which attempts to do so here: >>> http://sisyphus.hd.free.fr/~gilles/sched_status.txt >> Ack. At last, this addresses the real issues without asking for >> regression funkiness: fix the lack of barrier before testing XNSCHED in > > Check the kernel, we actually need it on both sides. Wherever the final > barriers will be, we should leave a comment behind why they are there. > Could be picked up from kernel/smp.c. We have it on both sides: the non-local flags are modified while holding the nklock. Unlocking the nklock implies a barrier. > >> the xnpod_schedule pre-test, and stop sched->status trashing due to >> XNINIRQ/XNHTICK/XNRPICK ops done un-synced on nklock. >> >> In short, this patch looks like moving the local-only flags where they >> belong, i.e. anywhere you want but *outside* of the status with remotely >> accessed bits. XNRPICK seems to be handled differently, but it makes >> sense to group it with other RPI data as you did, so fine with me. > > I just hope we finally converge over a solution. Looks like all > possibilities have been explored now. A few more comments on this one: > > It probably makes sense to group the status bits accordingly (both their > values and definitions) and briefly document on which status field they > are supposed to be applied. Ok, but I wanted them to not use the same values, so that we can use the sched->status | sched->lstatus trick in xnpod_schedule. Something is lacking too: we probably need to use sched->status | sched->lstatus for display in /proc. > > I do not understand the split logic - or some bits are simply not yet > migrated. XNHDEFER, XNSWLOCK, XNKCOUT are all local-only as well, no? > Then better put them in the _local_ status field, that's more consistent > (and would help if we once wanted to optimize their cache line usage). Maybe the naming is not good the. ->status is everything which is modified under nklock, ->lstatus is for XNINIRQ and XNHTICK which are modified without holding the nklock. > > The naming is unfortunate: status vs. lstatus. This is asking for > confusion and typos. They must be better distinguishable, e.g. > local_status. Or we need accessors that have debug checks built in, > catching wrong bits for their target fields. I agree. > > Good catch of the RPI breakage, Gilles! -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-07 8:31 ` Gilles Chanteperdrix @ 2010-11-07 9:46 ` Jan Kiszka 2010-11-07 9:57 ` Gilles Chanteperdrix 2010-11-07 10:03 ` Philippe Gerum 1 sibling, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-07 9:46 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 3044 bytes --] Am 07.11.2010 09:31, Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >>>> Anyway, after some thoughts, I think we are going to try and make the >>>> current situation work instead of going back to the old way. >>>> >>>> You can find the patch which attempts to do so here: >>>> http://sisyphus.hd.free.fr/~gilles/sched_status.txt >>> Ack. At last, this addresses the real issues without asking for >>> regression funkiness: fix the lack of barrier before testing XNSCHED in >> >> Check the kernel, we actually need it on both sides. Wherever the final >> barriers will be, we should leave a comment behind why they are there. >> Could be picked up from kernel/smp.c. > > We have it on both sides: the non-local flags are modified while holding > the nklock. Unlocking the nklock implies a barrier. I think this does not work if nklock is used nested, ie. hold across xnsched_set_resched and the next xnpod_schedule. > >> >>> the xnpod_schedule pre-test, and stop sched->status trashing due to >>> XNINIRQ/XNHTICK/XNRPICK ops done un-synced on nklock. >>> >>> In short, this patch looks like moving the local-only flags where they >>> belong, i.e. anywhere you want but *outside* of the status with remotely >>> accessed bits. XNRPICK seems to be handled differently, but it makes >>> sense to group it with other RPI data as you did, so fine with me. >> >> I just hope we finally converge over a solution. Looks like all >> possibilities have been explored now. A few more comments on this one: >> >> It probably makes sense to group the status bits accordingly (both their >> values and definitions) and briefly document on which status field they >> are supposed to be applied. > > Ok, but I wanted them to not use the same values, so that we can use the > sched->status | sched->lstatus trick in xnpod_schedule. Something is > lacking too: we probably need to use sched->status | sched->lstatus for > display in /proc. Nothing speaks against clustering the flag values so that they can be OR'ed. They should just be grouped according to their target field. > >> >> I do not understand the split logic - or some bits are simply not yet >> migrated. XNHDEFER, XNSWLOCK, XNKCOUT are all local-only as well, no? >> Then better put them in the _local_ status field, that's more consistent >> (and would help if we once wanted to optimize their cache line usage). > > Maybe the naming is not good the. ->status is everything which is > modified under nklock, ->lstatus is for XNINIRQ and XNHTICK which are > modified without holding the nklock. And this is not a good clustering IMHO as it makes no difference for a local-only flag if it is protected by nklock or not (as long as IRQs are off, of course). What makes a difference it the CPU using the related field. If we group according to local and remote usage, less cache line bouncing can be achieved (of both fields are also cache line aligned, but that is a second step that only helps if the first is made). Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-07 9:46 ` Jan Kiszka @ 2010-11-07 9:57 ` Gilles Chanteperdrix 2010-11-07 10:00 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-07 9:57 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Am 07.11.2010 09:31, Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>>>> Anyway, after some thoughts, I think we are going to try and make the >>>>> current situation work instead of going back to the old way. >>>>> >>>>> You can find the patch which attempts to do so here: >>>>> http://sisyphus.hd.free.fr/~gilles/sched_status.txt >>>> Ack. At last, this addresses the real issues without asking for >>>> regression funkiness: fix the lack of barrier before testing XNSCHED in >>> Check the kernel, we actually need it on both sides. Wherever the final >>> barriers will be, we should leave a comment behind why they are there. >>> Could be picked up from kernel/smp.c. >> We have it on both sides: the non-local flags are modified while holding >> the nklock. Unlocking the nklock implies a barrier. > > I think this does not work if nklock is used nested, ie. hold across > xnsched_set_resched and the next xnpod_schedule. Ok. There is a race here, even without nesting, we need a barrier before sending the IPI. >>> I do not understand the split logic - or some bits are simply not yet >>> migrated. XNHDEFER, XNSWLOCK, XNKCOUT are all local-only as well, no? >>> Then better put them in the _local_ status field, that's more consistent >>> (and would help if we once wanted to optimize their cache line usage). >> Maybe the naming is not good the. ->status is everything which is >> modified under nklock, ->lstatus is for XNINIRQ and XNHTICK which are >> modified without holding the nklock. > > And this is not a good clustering IMHO as it makes no difference for a > local-only flag if it is protected by nklock or not (as long as IRQs are > off, of course). What makes a difference it the CPU using the related > field. If we group according to local and remote usage, less cache line > bouncing can be achieved (of both fields are also cache line aligned, > but that is a second step that only helps if the first is made). The two status are in the same cache line. -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-07 9:57 ` Gilles Chanteperdrix @ 2010-11-07 10:00 ` Jan Kiszka 0 siblings, 0 replies; 85+ messages in thread From: Jan Kiszka @ 2010-11-07 10:00 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 2241 bytes --] Am 07.11.2010 10:57, Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >> Am 07.11.2010 09:31, Gilles Chanteperdrix wrote: >>> Jan Kiszka wrote: >>>>>> Anyway, after some thoughts, I think we are going to try and make the >>>>>> current situation work instead of going back to the old way. >>>>>> >>>>>> You can find the patch which attempts to do so here: >>>>>> http://sisyphus.hd.free.fr/~gilles/sched_status.txt >>>>> Ack. At last, this addresses the real issues without asking for >>>>> regression funkiness: fix the lack of barrier before testing XNSCHED in >>>> Check the kernel, we actually need it on both sides. Wherever the final >>>> barriers will be, we should leave a comment behind why they are there. >>>> Could be picked up from kernel/smp.c. >>> We have it on both sides: the non-local flags are modified while holding >>> the nklock. Unlocking the nklock implies a barrier. >> >> I think this does not work if nklock is used nested, ie. hold across >> xnsched_set_resched and the next xnpod_schedule. > > Ok. There is a race here, even without nesting, we need a barrier before > sending the IPI. > >>>> I do not understand the split logic - or some bits are simply not yet >>>> migrated. XNHDEFER, XNSWLOCK, XNKCOUT are all local-only as well, no? >>>> Then better put them in the _local_ status field, that's more consistent >>>> (and would help if we once wanted to optimize their cache line usage). >>> Maybe the naming is not good the. ->status is everything which is >>> modified under nklock, ->lstatus is for XNINIRQ and XNHTICK which are >>> modified without holding the nklock. >> >> And this is not a good clustering IMHO as it makes no difference for a >> local-only flag if it is protected by nklock or not (as long as IRQs are >> off, of course). What makes a difference it the CPU using the related >> field. If we group according to local and remote usage, less cache line >> bouncing can be achieved (of both fields are also cache line aligned, >> but that is a second step that only helps if the first is made). > > The two status are in the same cache line. > Which can (and likely should) be changed - if the fields are logically separated first. Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-07 8:31 ` Gilles Chanteperdrix 2010-11-07 9:46 ` Jan Kiszka @ 2010-11-07 10:03 ` Philippe Gerum 2010-11-07 10:08 ` Jan Kiszka 1 sibling, 1 reply; 85+ messages in thread From: Philippe Gerum @ 2010-11-07 10:03 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Jan Kiszka, xenomai@xenomai.org On Sun, 2010-11-07 at 09:31 +0100, Gilles Chanteperdrix wrote: > Jan Kiszka wrote: > >>> Anyway, after some thoughts, I think we are going to try and make the > >>> current situation work instead of going back to the old way. > >>> > >>> You can find the patch which attempts to do so here: > >>> http://sisyphus.hd.free.fr/~gilles/sched_status.txt > >> Ack. At last, this addresses the real issues without asking for > >> regression funkiness: fix the lack of barrier before testing XNSCHED in > > > > Check the kernel, we actually need it on both sides. Wherever the final > > barriers will be, we should leave a comment behind why they are there. > > Could be picked up from kernel/smp.c. > > We have it on both sides: the non-local flags are modified while holding > the nklock. Unlocking the nklock implies a barrier. I think we may have an issue with this kind of construct: xnlock_get_irq*(&nklock) xnpod_resume/suspend/whatever_thread() xnlock_get_irq*(&nklock) ... xnlock_put_irq*(&nklock) xnpod_schedule() xnlock_get_irq*(&nklock) send_ipi =====> xnpod_schedule_handler on dest CPU xnlock_put_irq*(&nklock) xnlock_put_irq*(&nklock) The issue would be triggered by the use of recursive locking. In that case, the source CPU would only sync its cache when the lock is actually dropped by the outer xnlock_put_irq* call and the inner xnlock_get/put_irq* would not act as barriers, so the remote rescheduling handler won't always see the XNSCHED update done remotely, and may lead to a no-op. So we need a barrier before sending the IPI in __xnpod_test_resched(). This could not happen if all schedule state changes where clearly isolated from rescheduling calls in different critical sections, but it's sometimes not an option not to group them for consistency reasons. > > > > >> the xnpod_schedule pre-test, and stop sched->status trashing due to > >> XNINIRQ/XNHTICK/XNRPICK ops done un-synced on nklock. > >> > >> In short, this patch looks like moving the local-only flags where they > >> belong, i.e. anywhere you want but *outside* of the status with remotely > >> accessed bits. XNRPICK seems to be handled differently, but it makes > >> sense to group it with other RPI data as you did, so fine with me. > > > > I just hope we finally converge over a solution. Looks like all > > possibilities have been explored now. A few more comments on this one: > > > > It probably makes sense to group the status bits accordingly (both their > > values and definitions) and briefly document on which status field they > > are supposed to be applied. > > Ok, but I wanted them to not use the same values, so that we can use the > sched->status | sched->lstatus trick in xnpod_schedule. Something is > lacking too: we probably need to use sched->status | sched->lstatus for > display in /proc. > > > > > I do not understand the split logic - or some bits are simply not yet > > migrated. XNHDEFER, XNSWLOCK, XNKCOUT are all local-only as well, no? > > Then better put them in the _local_ status field, that's more consistent > > (and would help if we once wanted to optimize their cache line usage). > > Maybe the naming is not good the. ->status is everything which is > modified under nklock, ->lstatus is for XNINIRQ and XNHTICK which are > modified without holding the nklock. > > > > > The naming is unfortunate: status vs. lstatus. This is asking for > > confusion and typos. They must be better distinguishable, e.g. > > local_status. Or we need accessors that have debug checks built in, > > catching wrong bits for their target fields. > > I agree. > > > > > Good catch of the RPI breakage, Gilles! > -- Philippe. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-07 10:03 ` Philippe Gerum @ 2010-11-07 10:08 ` Jan Kiszka 2010-11-07 10:12 ` Gilles Chanteperdrix 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-07 10:08 UTC (permalink / raw) To: Philippe Gerum; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 1805 bytes --] Am 07.11.2010 11:03, Philippe Gerum wrote: > On Sun, 2010-11-07 at 09:31 +0100, Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>>>> Anyway, after some thoughts, I think we are going to try and make the >>>>> current situation work instead of going back to the old way. >>>>> >>>>> You can find the patch which attempts to do so here: >>>>> http://sisyphus.hd.free.fr/~gilles/sched_status.txt >>>> Ack. At last, this addresses the real issues without asking for >>>> regression funkiness: fix the lack of barrier before testing XNSCHED in >>> >>> Check the kernel, we actually need it on both sides. Wherever the final >>> barriers will be, we should leave a comment behind why they are there. >>> Could be picked up from kernel/smp.c. >> >> We have it on both sides: the non-local flags are modified while holding >> the nklock. Unlocking the nklock implies a barrier. > > I think we may have an issue with this kind of construct: > > xnlock_get_irq*(&nklock) > xnpod_resume/suspend/whatever_thread() > xnlock_get_irq*(&nklock) > ... > xnlock_put_irq*(&nklock) > xnpod_schedule() > xnlock_get_irq*(&nklock) > send_ipi > =====> xnpod_schedule_handler on dest CPU > xnlock_put_irq*(&nklock) > xnlock_put_irq*(&nklock) > > The issue would be triggered by the use of recursive locking. In that > case, the source CPU would only sync its cache when the lock is actually > dropped by the outer xnlock_put_irq* call and the inner > xnlock_get/put_irq* would not act as barriers, so the remote > rescheduling handler won't always see the XNSCHED update done remotely, > and may lead to a no-op. So we need a barrier before sending the IPI in > __xnpod_test_resched(). That's what I said. And we need it on the reader side as an rmb(). Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-07 10:08 ` Jan Kiszka @ 2010-11-07 10:12 ` Gilles Chanteperdrix 2010-11-07 10:14 ` Jan Kiszka 0 siblings, 1 reply; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-07 10:12 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Am 07.11.2010 11:03, Philippe Gerum wrote: >> On Sun, 2010-11-07 at 09:31 +0100, Gilles Chanteperdrix wrote: >>> Jan Kiszka wrote: >>>>>> Anyway, after some thoughts, I think we are going to try and make the >>>>>> current situation work instead of going back to the old way. >>>>>> >>>>>> You can find the patch which attempts to do so here: >>>>>> http://sisyphus.hd.free.fr/~gilles/sched_status.txt >>>>> Ack. At last, this addresses the real issues without asking for >>>>> regression funkiness: fix the lack of barrier before testing XNSCHED in >>>> Check the kernel, we actually need it on both sides. Wherever the final >>>> barriers will be, we should leave a comment behind why they are there. >>>> Could be picked up from kernel/smp.c. >>> We have it on both sides: the non-local flags are modified while holding >>> the nklock. Unlocking the nklock implies a barrier. >> I think we may have an issue with this kind of construct: >> >> xnlock_get_irq*(&nklock) >> xnpod_resume/suspend/whatever_thread() >> xnlock_get_irq*(&nklock) >> ... >> xnlock_put_irq*(&nklock) >> xnpod_schedule() >> xnlock_get_irq*(&nklock) >> send_ipi >> =====> xnpod_schedule_handler on dest CPU >> xnlock_put_irq*(&nklock) >> xnlock_put_irq*(&nklock) >> >> The issue would be triggered by the use of recursive locking. In that >> case, the source CPU would only sync its cache when the lock is actually >> dropped by the outer xnlock_put_irq* call and the inner >> xnlock_get/put_irq* would not act as barriers, so the remote >> rescheduling handler won't always see the XNSCHED update done remotely, >> and may lead to a no-op. So we need a barrier before sending the IPI in >> __xnpod_test_resched(). > > That's what I said. > > And we need it on the reader side as an rmb(). This one we have, in xnpod_schedule_handler. -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-07 10:12 ` Gilles Chanteperdrix @ 2010-11-07 10:14 ` Jan Kiszka 2010-11-07 10:49 ` Philippe Gerum 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-07 10:14 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org [-- Attachment #1: Type: text/plain, Size: 2084 bytes --] Am 07.11.2010 11:12, Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >> Am 07.11.2010 11:03, Philippe Gerum wrote: >>> On Sun, 2010-11-07 at 09:31 +0100, Gilles Chanteperdrix wrote: >>>> Jan Kiszka wrote: >>>>>>> Anyway, after some thoughts, I think we are going to try and make the >>>>>>> current situation work instead of going back to the old way. >>>>>>> >>>>>>> You can find the patch which attempts to do so here: >>>>>>> http://sisyphus.hd.free.fr/~gilles/sched_status.txt >>>>>> Ack. At last, this addresses the real issues without asking for >>>>>> regression funkiness: fix the lack of barrier before testing XNSCHED in >>>>> Check the kernel, we actually need it on both sides. Wherever the final >>>>> barriers will be, we should leave a comment behind why they are there. >>>>> Could be picked up from kernel/smp.c. >>>> We have it on both sides: the non-local flags are modified while holding >>>> the nklock. Unlocking the nklock implies a barrier. >>> I think we may have an issue with this kind of construct: >>> >>> xnlock_get_irq*(&nklock) >>> xnpod_resume/suspend/whatever_thread() >>> xnlock_get_irq*(&nklock) >>> ... >>> xnlock_put_irq*(&nklock) >>> xnpod_schedule() >>> xnlock_get_irq*(&nklock) >>> send_ipi >>> =====> xnpod_schedule_handler on dest CPU >>> xnlock_put_irq*(&nklock) >>> xnlock_put_irq*(&nklock) >>> >>> The issue would be triggered by the use of recursive locking. In that >>> case, the source CPU would only sync its cache when the lock is actually >>> dropped by the outer xnlock_put_irq* call and the inner >>> xnlock_get/put_irq* would not act as barriers, so the remote >>> rescheduling handler won't always see the XNSCHED update done remotely, >>> and may lead to a no-op. So we need a barrier before sending the IPI in >>> __xnpod_test_resched(). >> >> That's what I said. >> >> And we need it on the reader side as an rmb(). > > This one we have, in xnpod_schedule_handler. > Right, with your patch (the above sounded like we only need it on writer side). Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 259 bytes --] ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-07 10:14 ` Jan Kiszka @ 2010-11-07 10:49 ` Philippe Gerum 0 siblings, 0 replies; 85+ messages in thread From: Philippe Gerum @ 2010-11-07 10:49 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org, Anders On Sun, 2010-11-07 at 11:14 +0100, Jan Kiszka wrote: > Am 07.11.2010 11:12, Gilles Chanteperdrix wrote: > > Jan Kiszka wrote: > >> Am 07.11.2010 11:03, Philippe Gerum wrote: > >>> On Sun, 2010-11-07 at 09:31 +0100, Gilles Chanteperdrix wrote: > >>>> Jan Kiszka wrote: > >>>>>>> Anyway, after some thoughts, I think we are going to try and make the > >>>>>>> current situation work instead of going back to the old way. > >>>>>>> > >>>>>>> You can find the patch which attempts to do so here: > >>>>>>> http://sisyphus.hd.free.fr/~gilles/sched_status.txt > >>>>>> Ack. At last, this addresses the real issues without asking for > >>>>>> regression funkiness: fix the lack of barrier before testing XNSCHED in > >>>>> Check the kernel, we actually need it on both sides. Wherever the final > >>>>> barriers will be, we should leave a comment behind why they are there. > >>>>> Could be picked up from kernel/smp.c. > >>>> We have it on both sides: the non-local flags are modified while holding > >>>> the nklock. Unlocking the nklock implies a barrier. > >>> I think we may have an issue with this kind of construct: > >>> > >>> xnlock_get_irq*(&nklock) > >>> xnpod_resume/suspend/whatever_thread() > >>> xnlock_get_irq*(&nklock) > >>> ... > >>> xnlock_put_irq*(&nklock) > >>> xnpod_schedule() > >>> xnlock_get_irq*(&nklock) > >>> send_ipi > >>> =====> xnpod_schedule_handler on dest CPU > >>> xnlock_put_irq*(&nklock) > >>> xnlock_put_irq*(&nklock) > >>> > >>> The issue would be triggered by the use of recursive locking. In that > >>> case, the source CPU would only sync its cache when the lock is actually > >>> dropped by the outer xnlock_put_irq* call and the inner > >>> xnlock_get/put_irq* would not act as barriers, so the remote > >>> rescheduling handler won't always see the XNSCHED update done remotely, > >>> and may lead to a no-op. So we need a barrier before sending the IPI in > >>> __xnpod_test_resched(). > >> > >> That's what I said. > >> > >> And we need it on the reader side as an rmb(). > > > > This one we have, in xnpod_schedule_handler. > > > > Right, with your patch (the above sounded like we only need it on writer > side). C'mon... -- Philippe. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-07 1:00 ` Jan Kiszka 2010-11-07 8:31 ` Gilles Chanteperdrix @ 2010-11-07 9:46 ` Philippe Gerum 2010-11-11 15:46 ` Gilles Chanteperdrix 2 siblings, 0 replies; 85+ messages in thread From: Philippe Gerum @ 2010-11-07 9:46 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org, Anders On Sun, 2010-11-07 at 02:00 +0100, Jan Kiszka wrote: > Am 06.11.2010 23:49, Philippe Gerum wrote: > > On Sat, 2010-11-06 at 21:37 +0100, Gilles Chanteperdrix wrote: > >> Anders Blomdell wrote: > >>> Gilles Chanteperdrix wrote: > >>>> Anders Blomdell wrote: > >>>>> Gilles Chanteperdrix wrote: > >>>>>> Jan Kiszka wrote: > >>>>>>> Am 05.11.2010 00:24, Gilles Chanteperdrix wrote: > >>>>>>>> Jan Kiszka wrote: > >>>>>>>>> Am 04.11.2010 23:06, Gilles Chanteperdrix wrote: > >>>>>>>>>> Jan Kiszka wrote: > >>>>>>>>>>>>> At first sight, here you are more breaking things than cleaning them. > >>>>>>>>>>>> Still, it has the SMP record for my test program, still runs with ftrace > >>>>>>>>>>>> on (after 2 hours, where it previously failed after maximum 23 minutes). > >>>>>>>>>>> My version was indeed still buggy, I'm reworking it ATM. > >>>>>>>>>>> > >>>>>>>>>>>> If I get the gist of Jan's changes, they are (using the IPI to transfer > >>>>>>>>>>>> one bit of information: your cpu needs to reschedule): > >>>>>>>>>>>> > >>>>>>>>>>>> xnsched_set_resched: > >>>>>>>>>>>> - setbits((__sched__)->status, XNRESCHED); > >>>>>>>>>>>> > >>>>>>>>>>>> xnpod_schedule_handler: > >>>>>>>>>>>> + xnsched_set_resched(sched); > >>>>>>>>>>>> > >>>>>>>>>>>> If you (we?) decide to keep the debug checks, under what circumstances > >>>>>>>>>>>> would the current check trigger (in laymans language, that I'll be able > >>>>>>>>>>>> to understand)? > >>>>>>>>>>> That's actually what /me is wondering as well. I do not see yet how you > >>>>>>>>>>> can reliably detect a missed reschedule reliably (that was the purpose > >>>>>>>>>>> of the debug check) given the racy nature between signaling resched and > >>>>>>>>>>> processing the resched hints. > >>>>>>>>>> The purpose of the debugging change is to detect a change of the > >>>>>>>>>> scheduler state which was not followed by setting the XNRESCHED bit. > >>>>>>>>> But that is nucleus business, nothing skins can screw up (as long as > >>>>>>>>> they do not misuse APIs). > >>>>>>>> Yes, but it happens that we modify the nucleus from time to time. > >>>>>>>> > >>>>>>>>>> Getting it to work is relatively simple: we add a "scheduler change set > >>>>>>>>>> remotely" bit to the sched structure which is NOT in the status bit, set > >>>>>>>>>> this bit when changing a remote sched (under nklock). In the debug check > >>>>>>>>>> code, if the scheduler state changed, and the XNRESCHED bit is not set, > >>>>>>>>>> only consider this a but if this new bit is not set. All this is > >>>>>>>>>> compiled out if the debug is not enabled. > >>>>>>>>> I still see no benefit in this check. Where to you want to place the bit > >>>>>>>>> set? Aren't that just the same locations where > >>>>>>>>> xnsched_set_[self_]resched already is today? > >>>>>>>> Well no, that would be another bit in the sched structure which would > >>>>>>>> allow us to manipulate the status bits from the local cpu. That > >>>>>>>> supplementary bit would only be changed from a distant CPU, and serve to > >>>>>>>> detect the race which causes the false positive. The resched bits are > >>>>>>>> set on the local cpu to get xnpod_schedule to trigger a rescheduling on > >>>>>>>> the distance cpu. That bit would be set on the remote cpu's sched. Only > >>>>>>>> when debugging is enabled. > >>>>>>>> > >>>>>>>>> But maybe you can provide some motivating bug scenarios, real ones of > >>>>>>>>> the past or realistic ones of the future. > >>>>>>>> Of course. The bug is anything which changes the scheduler state but > >>>>>>>> does not set the XNRESCHED bit. This happened when we started the SMP > >>>>>>>> port. New scheduling policies would be good candidates for a revival of > >>>>>>>> this bug. > >>>>>>>> > >>>>>>> You don't gain any worthwhile check if you cannot make the > >>>>>>> instrumentation required for a stable detection simpler than the proper > >>>>>>> problem solution itself. And this is what I'm still skeptical of. > >>>>>> The solution is simple, but finding the problem without the > >>>>>> instrumentation is way harder than with the instrumentation, so the > >>>>>> instrumentation is worth something. > >>>>>> > >>>>>> Reproducing the false positive is surprisingly easy with a simple > >>>>>> dual-cpu semaphore ping-pong test. So, here is the (tested) patch, > >>>>>> using a ridiculous long variable name to illustrate what I was > >>>>>> thinking about: > >>>>>> > >>>>>> diff --git a/include/nucleus/sched.h b/include/nucleus/sched.h > >>>>>> index 8888cf4..454b8e8 100644 > >>>>>> --- a/include/nucleus/sched.h > >>>>>> +++ b/include/nucleus/sched.h > >>>>>> @@ -108,6 +108,9 @@ typedef struct xnsched { > >>>>>> struct xnthread *gktarget; > >>>>>> #endif > >>>>>> > >>>>>> +#ifdef CONFIG_XENO_OPT_DEBUG_NUCLEUS > >>>>>> + int debug_resched_from_remote; > >>>>>> +#endif > >>>>>> } xnsched_t; > >>>>>> > >>>>>> union xnsched_policy_param; > >>>>>> @@ -185,6 +188,8 @@ static inline int xnsched_resched_p(struct xnsched *sched) > >>>>>> xnsched_t *current_sched = xnpod_current_sched(); \ > >>>>>> __setbits(current_sched->status, XNRESCHED); \ > >>>>>> if (current_sched != (__sched__)) { \ > >>>>>> + if (XENO_DEBUG(NUCLEUS)) \ > >>>>>> + __sched__->debug_resched_from_remote = 1; \ > >>>>>> xnarch_cpu_set(xnsched_cpu(__sched__), current_sched->resched); \ > >>>>>> } \ > >>>>>> } while (0) > >>>>>> diff --git a/ksrc/nucleus/pod.c b/ksrc/nucleus/pod.c > >>>>>> index 4cb707a..50b0f49 100644 > >>>>>> --- a/ksrc/nucleus/pod.c > >>>>>> +++ b/ksrc/nucleus/pod.c > >>>>>> @@ -2177,6 +2177,10 @@ static inline int __xnpod_test_resched(struct xnsched *sched) > >>>>>> xnarch_cpus_clear(sched->resched); > >>>>>> } > >>>>>> #endif > >>>>>> + if (XENO_DEBUG(NUCLEUS) && sched->debug_resched_from_remote) { > >>>>>> + sched->debug_resched_from_remote = 0; > >>>>>> + resched = 1; > >>>>>> + } > >>>>>> clrbits(sched->status, XNRESCHED); > >>>>>> return resched; > >>>>>> } > >>>>>> > >>>>>> > >>>>>> I am still uncertain. > >>>>> Will only work if all is done under nklock, otherwise two almost > >>>>> simultaneous xnsched_resched_p from different cpus, might lead to one of > >>>>> the ipi wakeups sees the 0 written due to handling the first ipi interrupt. > >>>> This is a patch artifact, the function modified are xnsched_set_resched > >>>> and xnpod_test_resched, and both are run with the nklock locked. > >>>> > >>> > >>> Isn't this a possible scenario? > >>> > >>> CPU A CPU B CPU C > >>> take nklock > >>> remote = 1 > >>> send ipi #1 > >>> release nklock > >>> take nklock handle ipi > >>> remote = 1 ack ipi #1 > >>> send ipi #2 > >>> release nklock > >>> take nklock > >>> if remote (==1) > >>> remote = 0 > >>> reseched = 1 > >>> relese nklock > >>> handle ipi > >>> ack ipi #2 > >>> take nklock > >>> if remote (==0) > >>> OOPS! > >> > >> No problem here, since handling the first IPI has taken into account the > >> two scheduler state changes. So, no OOPS. The second IPI is spurious. > >> > >> Anyway, after some thoughts, I think we are going to try and make the > >> current situation work instead of going back to the old way. > >> > >> You can find the patch which attempts to do so here: > >> http://sisyphus.hd.free.fr/~gilles/sched_status.txt > > > > Ack. At last, this addresses the real issues without asking for > > regression funkiness: fix the lack of barrier before testing XNSCHED in > > Check the kernel, we actually need it on both sides. No, really? > Wherever the final > barriers will be, we should leave a comment behind why they are there. > Could be picked up from kernel/smp.c. > > > the xnpod_schedule pre-test, and stop sched->status trashing due to > > XNINIRQ/XNHTICK/XNRPICK ops done un-synced on nklock. > > > > In short, this patch looks like moving the local-only flags where they > > belong, i.e. anywhere you want but *outside* of the status with remotely > > accessed bits. XNRPICK seems to be handled differently, but it makes > > sense to group it with other RPI data as you did, so fine with me. > > I just hope we finally converge over a solution. Looks like all > possibilities have been explored now. A few more comments on this one: > > It probably makes sense to group the status bits accordingly (both their > values and definitions) and briefly document on which status field they > are supposed to be applied. > > I do not understand the split logic - or some bits are simply not yet > migrated. XNHDEFER, XNSWLOCK, XNKCOUT are all local-only as well, no? The split logic is to keep the scheduler bits in the scheduler status, and move other per-CPU bits elsewhere. So in fact, we only need XNHDEFER to migrate as well. > Then better put them in the _local_ status field, that's more consistent > (and would help if we once wanted to optimize their cache line usage). > > The naming is unfortunate: status vs. lstatus. This is asking for > confusion and typos. They must be better distinguishable, e.g. > local_status. Or we need accessors that have debug checks built in, > catching wrong bits for their target fields. > > Good catch of the RPI breakage, Gilles! > > Jan > -- Philippe. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-07 1:00 ` Jan Kiszka 2010-11-07 8:31 ` Gilles Chanteperdrix 2010-11-07 9:46 ` Philippe Gerum @ 2010-11-11 15:46 ` Gilles Chanteperdrix 2010-11-12 15:36 ` Jan Kiszka 2 siblings, 1 reply; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-11 15:46 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > I just hope we finally converge over a solution. Looks like all > possibilities have been explored now. A few more comments on this one: > > It probably makes sense to group the status bits accordingly (both their > values and definitions) and briefly document on which status field they > are supposed to be applied. > > I do not understand the split logic - or some bits are simply not yet > migrated. XNHDEFER, XNSWLOCK, XNKCOUT are all local-only as well, no? > Then better put them in the _local_ status field, that's more consistent > (and would help if we once wanted to optimize their cache line usage). > > The naming is unfortunate: status vs. lstatus. This is asking for > confusion and typos. They must be better distinguishable, e.g. > local_status. Or we need accessors that have debug checks built in, > catching wrong bits for their target fields. > > Good catch of the RPI breakage, Gilles! Hi Jan, I just pushed a modified version of this patch, including your remarks as well as the ones of Philippe. I suspect some of the cleanup patches you sent still make sense over this patch, would it be possible to rebase them over this pushed version? TIA, -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-11 15:46 ` Gilles Chanteperdrix @ 2010-11-12 15:36 ` Jan Kiszka 2010-11-13 18:31 ` Gilles Chanteperdrix 0 siblings, 1 reply; 85+ messages in thread From: Jan Kiszka @ 2010-11-12 15:36 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org Am 11.11.2010 16:46, Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >> I just hope we finally converge over a solution. Looks like all >> possibilities have been explored now. A few more comments on this one: >> >> It probably makes sense to group the status bits accordingly (both their >> values and definitions) and briefly document on which status field they >> are supposed to be applied. >> >> I do not understand the split logic - or some bits are simply not yet >> migrated. XNHDEFER, XNSWLOCK, XNKCOUT are all local-only as well, no? >> Then better put them in the _local_ status field, that's more consistent >> (and would help if we once wanted to optimize their cache line usage). >> >> The naming is unfortunate: status vs. lstatus. This is asking for >> confusion and typos. They must be better distinguishable, e.g. >> local_status. Or we need accessors that have debug checks built in, >> catching wrong bits for their target fields. >> >> Good catch of the RPI breakage, Gilles! > > Hi Jan, > > I just pushed a modified version of this patch, including your remarks > as well as the ones of Philippe. I suspect some of the cleanup patches > you sent still make sense over this patch, would it be possible to > rebase them over this pushed version? Just rebased and pushed my queue. One additional optimization was added ("Optimize setting of XNRESCHED"), basic tests passed. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: [Xenomai-core] Potential problem with rt_eepro100 2010-11-12 15:36 ` Jan Kiszka @ 2010-11-13 18:31 ` Gilles Chanteperdrix 0 siblings, 0 replies; 85+ messages in thread From: Gilles Chanteperdrix @ 2010-11-13 18:31 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai@xenomai.org Jan Kiszka wrote: > Am 11.11.2010 16:46, Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>> I just hope we finally converge over a solution. Looks like all >>> possibilities have been explored now. A few more comments on this one: >>> >>> It probably makes sense to group the status bits accordingly (both their >>> values and definitions) and briefly document on which status field they >>> are supposed to be applied. >>> >>> I do not understand the split logic - or some bits are simply not yet >>> migrated. XNHDEFER, XNSWLOCK, XNKCOUT are all local-only as well, no? >>> Then better put them in the _local_ status field, that's more consistent >>> (and would help if we once wanted to optimize their cache line usage). >>> >>> The naming is unfortunate: status vs. lstatus. This is asking for >>> confusion and typos. They must be better distinguishable, e.g. >>> local_status. Or we need accessors that have debug checks built in, >>> catching wrong bits for their target fields. >>> >>> Good catch of the RPI breakage, Gilles! >> Hi Jan, >> >> I just pushed a modified version of this patch, including your remarks >> as well as the ones of Philippe. I suspect some of the cleanup patches >> you sent still make sense over this patch, would it be possible to >> rebase them over this pushed version? > > Just rebased and pushed my queue. One additional optimization was added > ("Optimize setting of XNRESCHED"), basic tests passed. Ah, I thought about this one, I wonder why I forgot it. Merged, thanks. -- Gilles. ^ permalink raw reply [flat|nested] 85+ messages in thread
end of thread, other threads:[~2010-11-13 18:31 UTC | newest]
Thread overview: 85+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <4CC82C8D.3080808@domain.hid>
[not found] ` <4CC84327.9070202@domain.hid>
2010-10-28 7:34 ` [Xenomai-core] [RTnet-users] Potential problem with rt_eepro100 Anders Blomdell
2010-10-28 7:40 ` Jan Kiszka
2010-10-28 9:34 ` Anders Blomdell
2010-10-28 10:18 ` Jan Kiszka
2010-10-28 13:02 ` [Xenomai-core] " Anders Blomdell
2010-10-28 15:05 ` Anders Blomdell
2010-10-28 15:09 ` Jan Kiszka
2010-10-28 15:18 ` Anders Blomdell
2010-10-28 15:34 ` Jan Kiszka
2010-10-29 17:42 ` Anders Blomdell
2010-10-29 18:06 ` Jan Kiszka
2010-10-29 19:29 ` Anders Blomdell
2010-11-01 16:55 ` Anders Blomdell
2010-11-03 8:17 ` Jan Kiszka
2010-11-03 10:33 ` Anders Blomdell
2010-11-03 11:44 ` Anders Blomdell
2010-11-03 11:50 ` Jan Kiszka
2010-11-03 11:55 ` Jan Kiszka
2010-11-03 12:07 ` Anders Blomdell
2010-11-03 12:17 ` Jan Kiszka
2010-11-03 13:40 ` Anders Blomdell
2010-11-03 16:02 ` Anders Blomdell
2010-11-03 16:46 ` Anders Blomdell
2010-11-03 16:53 ` Jan Kiszka
2010-11-03 19:38 ` Anders Blomdell
2010-11-03 20:41 ` Philippe Gerum
2010-11-03 22:03 ` Jan Kiszka
2010-11-03 22:11 ` Jan Kiszka
2010-11-03 22:56 ` Jan Kiszka
2010-11-03 23:11 ` Gilles Chanteperdrix
2010-11-03 23:15 ` Jan Kiszka
2010-11-03 23:18 ` Gilles Chanteperdrix
2010-11-03 23:41 ` Jan Kiszka
2010-11-03 23:44 ` Gilles Chanteperdrix
2010-11-03 23:49 ` Jan Kiszka
2010-11-03 23:56 ` Gilles Chanteperdrix
2010-11-04 0:06 ` Jan Kiszka
2010-11-04 0:13 ` Gilles Chanteperdrix
2010-11-04 7:30 ` Jan Kiszka
2010-11-04 8:45 ` Anders Blomdell
2010-11-04 9:10 ` Jan Kiszka
2010-11-04 9:17 ` Gilles Chanteperdrix
2010-11-04 9:16 ` Gilles Chanteperdrix
2010-11-04 9:18 ` Gilles Chanteperdrix
2010-11-04 9:26 ` Jan Kiszka
2010-11-04 9:32 ` Jan Kiszka
2010-11-04 10:42 ` Anders Blomdell
2010-11-04 12:39 ` Gilles Chanteperdrix
2010-11-04 13:18 ` Anders Blomdell
2010-11-04 14:37 ` Jan Kiszka
2010-11-04 14:53 ` Anders Blomdell
2010-11-04 15:33 ` Jan Kiszka
2010-11-04 22:08 ` Gilles Chanteperdrix
2010-11-04 23:10 ` Jan Kiszka
2010-11-04 23:25 ` Gilles Chanteperdrix
2010-11-04 23:32 ` Jan Kiszka
2010-11-04 23:46 ` Gilles Chanteperdrix
2010-11-05 0:09 ` Jan Kiszka
2010-11-05 0:11 ` Gilles Chanteperdrix
2010-11-05 1:35 ` Gilles Chanteperdrix
2010-11-05 9:59 ` Anders Blomdell
2010-11-04 22:06 ` Gilles Chanteperdrix
2010-11-04 23:17 ` Jan Kiszka
2010-11-04 23:24 ` Gilles Chanteperdrix
2010-11-04 23:35 ` Jan Kiszka
2010-11-05 1:28 ` Gilles Chanteperdrix
2010-11-05 10:21 ` Anders Blomdell
2010-11-06 0:27 ` Gilles Chanteperdrix
2010-11-06 20:26 ` Anders Blomdell
2010-11-06 20:37 ` Gilles Chanteperdrix
2010-11-06 22:49 ` Philippe Gerum
2010-11-07 1:00 ` Jan Kiszka
2010-11-07 8:31 ` Gilles Chanteperdrix
2010-11-07 9:46 ` Jan Kiszka
2010-11-07 9:57 ` Gilles Chanteperdrix
2010-11-07 10:00 ` Jan Kiszka
2010-11-07 10:03 ` Philippe Gerum
2010-11-07 10:08 ` Jan Kiszka
2010-11-07 10:12 ` Gilles Chanteperdrix
2010-11-07 10:14 ` Jan Kiszka
2010-11-07 10:49 ` Philippe Gerum
2010-11-07 9:46 ` Philippe Gerum
2010-11-11 15:46 ` Gilles Chanteperdrix
2010-11-12 15:36 ` Jan Kiszka
2010-11-13 18:31 ` Gilles Chanteperdrix
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.