Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-10
PATCH 1/1 Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-10
i have released the -V0.7.41-10 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this release fixes two bugs:
- one affecting SMP systems & RCU (the missing smp_mb()s)
- the other one in net/xfrm/xfrm_policy.c, affecting systems where network interfaces (or pseudo-interfaces) are frequently created/destroyed
i've also added a new debugging feature which is activated if RT_DEADLOCK_DETECT is enabled: the checking of active locks in freed memory.
This catches a dangerous category of bugs which the upstream kernel can silently ignore (because there locks are quite 'passive'), while the -RT kernel will often go down in flames sometime later (it has lists within the lock, etc.). This mechanism found the xfrm_policy.c bug:
BUG: events/0/4, active lock [e94a8cdc(e94a8cd0-e94a90dc)] freed! [<c0103e31>] dump_stack+0x1e/0x20 (20) [<c0136fa2>] check_no_locks_freed+0x158/0x210 (60) [<c01477e9>] kfree+0x59/0x15a (48) [<c03638db>] xfrm_policy_gc_task+0x6f/0x7e (28) [<c012f3c7>] worker_thread+0x1c1/0x26c (132) [<c01333e9>] kthread+0x95/0xbd (48) [<c01012c9>] kernel_thread_helper+0x5/0xb (1039269908)
so i'd expect more such bugs to be found. If you had stability problems under PREEMPT_RT (hangs, crashes), please enable RT_DEADLOCK_DETECT and try to reproduce the problem and send me the resulting log messages.
to create a -V0.7.41-10 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.12-rc1.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.12-rc1-V0.7.41-10
Ingo
Quoted 4 lines · Ingo Molnar
i have released the -V0.7.41-10 Real-Time Preemption patch, which can be downloaded from the usual place:
I get zillions of "return type defaults to int" warnings trying to compile this with PREEMPT_DESKTOP.
Lee
Quoted 8 lines · Lee Revell
Quoted 4 lines · Ingo Molnar
i have released the -V0.7.41-10 Real-Time Preemption patch, which can be downloaded from the usual place:
I get zillions of "return type defaults to int" warnings trying to compile this with
PREEMPT_DESKTOP.
i've uploaded -41-11 which should fix it.
Ingo
Quoted 6 lines · Ingo Molnar
Quoted 4 lines · Lee Revell
Quoted 3 lines · Ingo Molnar
i have released the -V0.7.41-10 Real-Time Preemption patch, which can be downloaded from the usual place:
Quoted 7 lines
Quoted 4 lines
Quoted 1 line
I get zillions of "return type defaults to int" warnings trying to compile this with
PREEMPT_DESKTOP.i've uploaded -41-11 which should fix it.
OK. Any idea about those get_swap_page latencies? I set the swappiness to 100 on both machines, but I only see those on the slower machine.
Running for several days with PREEMPT_DESKTOP, on the Athlon XP the worst latency I am seeing is ~150 usecs! But on the C3 its about 4ms:
( ksoftirqd/0-2 |#0): new 16 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 32 us maximum-latency wakeup. ( IRQ 11-1445 |#0): new 77 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 86 us maximum-latency wakeup. ( IRQ 11-1445 |#0): new 110 us maximum-latency wakeup. ( IRQ 11-1445 |#0): new 121 us maximum-latency wakeup. ( IRQ 11-1445 |#0): new 131 us maximum-latency wakeup. ( IRQ 11-1445 |#0): new 136 us maximum-latency wakeup. ( IRQ 11-1445 |#0): new 143 us maximum-latency wakeup. ( IRQ 11-1445 |#0): new 172 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 594 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 1164 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 1255 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 1429 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 1557 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 1680 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 1722 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 1944 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 2027 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 2082 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 2107 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 2112 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 2322 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 2339 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 2426 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 2517 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 2707 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 2817 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 2874 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 3053 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 3149 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 3225 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 3250 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 3316 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 3636 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 3668 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 3819 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 3953 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 3964 us maximum-latency wakeup. ( ksoftirqd/0-2 |#0): new 4104 us maximum-latency wakeup.
The traces look like this:
preemption latency trace v1.1.4 on 2.6.12-rc1-RT-V0.7.41-08
--------------------------------------------------------------------
latency: 4104 us, #124/124, CPU#0 | (M:preempt VP:0, KP:1, SP:1 HP:1 #P:1)
-----------------
| task: ksoftirqd/0-2 (uid:0 nice:-10 policy:0 rt_prio:0)
-----------------
_------=> CPU#
/ _-----=> irqs-off
| / _----=> need-resched
|| / _---=> hardirq/softirq
||| / _--=> preempt-depth
|||| /
||||| delay
cmd pid ||||| time | caller
\ / ||||| \ | /
(T1/#0) kswapd0 66 0 9 00000002 00000000 [0061867425992692] 0.000ms (+914240.345ms): <6177736b> (<00306470>)
(T1/#2) kswapd0 66 0 9 00000002 00000002 [0061867425993150] 0.000ms (+0.000ms): __trace_start_sched_wakeup+0x96/0xc0 <c012f806> (try_to_wake_up+0x84/0x140 <c010f9e4>)
(T1/#3) kswapd0 66 0 9 00000000 00000003 [0061867425993646] 0.001ms (+0.001ms): wake_up_process+0x1c/0x30 <c010fabc> (do_softirq+0x4b/0x60 <c01047bb>)
(T6/#4) kswapd0-66 0dn.2 2us!< (1)
(T2/#5) kswapd0-66 0dnh2 975us : do_IRQ+0x2d/0x80 <c010467d> (c014e3c6 0 0)
(T1/#6) kswapd0 66 0 5 00000001 00000006 [0061867426579669] 0.976ms (+0.003ms): mask_and_ack_8259A+0xb/0x110 <c010818b> (__do_IRQ+0x8b/0x160 <c01364ab>)
(T1/#7) kswapd0 66 0 5 00000001 00000007 [0061867426581623] 0.979ms (+0.000ms): redirect_hardirq+0x8/0x90 <c0136288> (__do_IRQ+0xbc/0x160 <c01364dc>)
(T1/#8) kswapd0 66 0 5 00000000 00000008 [0061867426582099] 0.980ms (+0.000ms): handle_IRQ_event+0xe/0xf0 <c013631e> (__do_IRQ+0xea/0x160 <c013650a>)
(T1/#9) kswapd0 66 0 5 00000000 00000009 [0061867426582486] 0.981ms (+0.000ms): timer_interrupt+0xb/0x100 <c0106fcb> (handle_IRQ_event+0x61/0xf0 <c0136371>)
(T1/#10) kswapd0 66 0 5 00000001 0000000a [0061867426583035] 0.982ms (+0.004ms): mark_offset_tsc+0xe/0x370 <c010c81e> (timer_interrupt+0x24/0x100 <c0106fe4>)
(T1/#11) kswapd0 66 0 5 00000001 0000000b [0061867426585820] 0.986ms (+0.000ms): do_timer+0x8/0x20 <c011e718> (timer_interrupt+0x2a/0x100 <c0106fea>)
(T1/#12) kswapd0 66 0 5 00000001 0000000c [0061867426586179] 0.987ms (+0.000ms): update_process_times+0xa/0x100 <c011e17a> (timer_interrupt+0x44/0x100 <c0107004>)
(T1/#13) kswapd0 66 0 5 00000001 0000000d [0061867426586521] 0.988ms (+0.000ms): account_system_time+0xa/0xb0 <c011013a> (update_process_times+0xed/0x100 <c011e25d>)
(T1/#14) kswapd0 66 0 5 00000001 0000000e [0061867426586854] 0.988ms (+0.000ms): acct_update_integrals+0xa/0x60 <c013609a> (account_system_time+0x40/0xb0 <c0110170>)
(T1/#15) kswapd0 66 0 5 00000001 0000000f [0061867426587131] 0.989ms (+0.000ms): update_mem_hiwater+0x8/0x50 <c0147b68> (update_process_times+0xed/0x100 <c011e25d>)
(T1/#16) kswapd0 66 0 5 00000001 00000010 [0061867426587472] 0.989ms (+0.000ms): run_local_timers+0x8/0x20 <c011e298> (update_process_times+0x2d/0x100 <c011e19d>)
(T1/#17) kswapd0 66 0 5 00000001 00000011 [0061867426587879] 0.990ms (+0.000ms): raise_softirq+0xa/0x70 <c011a21a> (update_process_times+0x2d/0x100 <c011e19d>)
(T1/#18) kswapd0 66 0 5 00000001 00000012 [0061867426588355] 0.991ms (+0.000ms): rcu_check_callbacks+0x8/0xc0 <c0126e18> (update_process_times+0x68/0x100 <c011e1d8>)
(T1/#19) kswapd0 66 0 5 00000001 00000013 [0061867426588691] 0.991ms (+0.000ms): idle_cpu+0x8/0x20 <c0110c28> (rcu_check_callbacks+0x66/0xc0 <c0126e76>)
(T1/#20) kswapd0 66 0 5 00000001 00000014 [0061867426589168] 0.992ms (+0.000ms): scheduler_tick+0xc/0x3e0 <c011024c> (update_process_times+0x6f/0x100 <c011e1df>)
(T1/#21) kswapd0 66 0 5 00000001 00000015 [0061867426589501] 0.993ms (+0.001ms): sched_clock+0xe/0xe0 <c010c57e> (scheduler_tick+0x1d/0x3e0 <c011025d>)
(T1/#22) kswapd0 66 0 5 00000001 00000016 [0061867426590397] 0.994ms (+0.000ms): run_posix_cpu_timers+0xe/0x1b0 <c012d04e> (timer_interrupt+0x44/0x100 <c0107004>)
(T1/#23) kswapd0 66 0 5 00000001 00000017 [0061867426590838] 0.995ms (+0.001ms): profile_hit+0x9/0x50 <c0115a79> (timer_interrupt+0x4e/0x100 <c010700e>)
(T1/#24) kswapd0 66 0 5 00000001 00000018 [0061867426591522] 0.996ms (+0.000ms): note_interrupt+0xb/0x90 <c0136e0b> (__do_IRQ+0x148/0x160 <c0136568>)
(T1/#25) kswapd0 66 0 5 00000001 00000019 [0061867426591895] 0.997ms (+0.000ms): end_8259A_irq+0x8/0x40 <c0107f58> (__do_IRQ+0x110/0x160 <c0136530>)
(T1/#26) kswapd0 66 0 5 00000001 0000001a [0061867426592237] 0.997ms (+0.002ms): enable_8259A_irq+0xb/0x80 <c010803b> (__do_IRQ+0x110/0x160 <c0136530>)
(T1/#27) kswapd0 66 0 7 00000002 0000001b [0061867426593509] 0.999ms (+0.000ms): irq_exit+0x8/0x50 <c011a1c8> (do_IRQ+0x60/0x80 <c01046b0>)
(T1/#28) kswapd0 66 0 3 00000003 0000001c [0061867426593976] 1.000ms (+0.000ms): do_softirq+0xb/0x60 <c010477b> (irq_exit+0x45/0x50 <c011a205>)
(T1/#29) kswapd0 66 0 9 00000000 0000001d [0061867426594452] 1.001ms (+0.001ms): __do_softirq+0xa/0x90 <c011a05a> (do_softirq+0x4b/0x60 <c01047bb>)
(T6/#30) kswapd0-66 0dn.2 1002us!< (1)
(T2/#31) kswapd0-66 0dnh2 1973us : do_IRQ+0x2d/0x80 <c010467d> (c014e3cc 0 0)
(T1/#32) kswapd0 66 0 5 00000001 00000020 [0061867427179407] 1.974ms (+0.002ms): mask_and_ack_8259A+0xb/0x110 <c010818b> (__do_IRQ+0x8b/0x160 <c01364ab>)
(T1/#33) kswapd0 66 0 5 00000001 00000021 [0061867427181188] 1.977ms (+0.000ms): redirect_hardirq+0x8/0x90 <c0136288> (__do_IRQ+0xbc/0x160 <c01364dc>)
(T1/#34) kswapd0 66 0 5 00000000 00000022 [0061867427181652] 1.978ms (+0.000ms): handle_IRQ_event+0xe/0xf0 <c013631e> (__do_IRQ+0xea/0x160 <c013650a>)
(T1/#35) kswapd0 66 0 5 00000000 00000023 [0061867427182012] 1.978ms (+0.000ms): timer_interrupt+0xb/0x100 <c0106fcb> (handle_IRQ_event+0x61/0xf0 <c0136371>)
(T1/#36) kswapd0 66 0 5 00000001 00000024 [0061867427182448] 1.979ms (+0.004ms): mark_offset_tsc+0xe/0x370 <c010c81e> (timer_interrupt+0x24/0x100 <c0106fe4>)
(T1/#37) kswapd0 66 0 5 00000001 00000025 [0061867427185275] 1.984ms (+0.000ms): do_timer+0x8/0x20 <c011e718> (timer_interrupt+0x2a/0x100 <c0106fea>)
(T1/#38) kswapd0 66 0 5 00000001 00000026 [0061867427185625] 1.984ms (+0.000ms): update_process_times+0xa/0x100 <c011e17a> (timer_interrupt+0x44/0x100 <c0107004>)
(T1/#39) kswapd0 66 0 5 00000001 00000027 [0061867427185972] 1.985ms (+0.000ms): account_system_time+0xa/0xb0 <c011013a> (update_process_times+0xed/0x100 <c011e25d>)
(T1/#40) kswapd0 66 0 5 00000001 00000028 [0061867427186355] 1.986ms (+0.000ms): acct_update_integrals+0xa/0x60 <c013609a> (account_system_time+0x40/0xb0 <c0110170>)
(T1/#41) kswapd0 66 0 5 00000001 00000029 [0061867427186720] 1.986ms (+0.000ms): update_mem_hiwater+0x8/0x50 <c0147b68> (update_process_times+0xed/0x100 <c011e25d>)
(T1/#42) kswapd0 66 0 5 00000001 0000002a [0061867427187061] 1.987ms (+0.000ms): run_local_timers+0x8/0x20 <c011e298> (update_process_times+0x2d/0x100 <c011e19d>)
(T1/#43) kswapd0 66 0 5 00000001 0000002b [0061867427187394] 1.987ms (+0.000ms): raise_softirq+0xa/0x70 <c011a21a> (update_process_times+0x2d/0x100 <c011e19d>)
(T1/#44) kswapd0 66 0 5 00000001 0000002c [0061867427187844] 1.988ms (+0.000ms): rcu_check_callbacks+0x8/0xc0 <c0126e18> (update_process_times+0x68/0x100 <c011e1d8>)
(T1/#45) kswapd0 66 0 5 00000001 0000002d [0061867427188177] 1.989ms (+0.000ms): idle_cpu+0x8/0x20 <c0110c28> (rcu_check_callbacks+0x66/0xc0 <c0126e76>)
(T1/#46) kswapd0 66 0 5 00000001 0000002e [0061867427188595] 1.989ms (+0.000ms): scheduler_tick+0xc/0x3e0 <c011024c> (update_process_times+0x6f/0x100 <c011e1df>)
(T1/#47) kswapd0 66 0 5 00000001 0000002f [0061867427189086] 1.990ms (+0.001ms): sched_clock+0xe/0xe0 <c010c57e> (scheduler_tick+0x1d/0x3e0 <c011025d>)
(T1/#48) kswapd0 66 0 5 00000001 00000030 [0061867427189936] 1.992ms (+0.000ms): run_posix_cpu_timers+0xe/0x1b0 <c012d04e> (timer_interrupt+0x44/0x100 <c0107004>)
(T1/#49) kswapd0 66 0 5 00000001 00000031 [0061867427190359] 1.992ms (+0.001ms): profile_hit+0x9/0x50 <c0115a79> (timer_interrupt+0x4e/0x100 <c010700e>)
(T1/#50) kswapd0 66 0 5 00000001 00000032 [0061867427191007] 1.993ms (+0.000ms): note_interrupt+0xb/0x90 <c0136e0b> (__do_IRQ+0x148/0x160 <c0136568>)
(T1/#51) kswapd0 66 0 5 00000001 00000033 [0061867427191376] 1.994ms (+0.000ms): end_8259A_irq+0x8/0x40 <c0107f58> (__do_IRQ+0x110/0x160 <c0136530>)
(T1/#52) kswapd0 66 0 5 00000001 00000034 [0061867427191718] 1.995ms (+0.002ms): enable_8259A_irq+0xb/0x80 <c010803b> (__do_IRQ+0x110/0x160 <c0136530>)
(T1/#53) kswapd0 66 0 7 00000002 00000035 [0061867427192985] 1.997ms (+0.000ms): irq_exit+0x8/0x50 <c011a1c8> (do_IRQ+0x60/0x80 <c01046b0>)
(T1/#55) kswapd0 66 0 9 00000000 00000037 [0061867427194001] 1.998ms (+0.000ms): __do_softirq+0xa/0x90 <c011a05a> (do_softirq+0x4b/0x60 <c01047bb>)
(T6/#56) kswapd0-66 0dn.2 1999us!< (1)
(T2/#57) kswapd0-66 0dnh2 2971us : do_IRQ+0x2d/0x80 <c010467d> (c014e3cf 0 0)
(T1/#58) kswapd0 66 0 5 00000001 0000003a [0061867427779204] 2.972ms (+0.002ms): mask_and_ack_8259A+0xb/0x110 <c010818b> (__do_IRQ+0x8b/0x160 <c01364ab>)
(T1/#59) kswapd0 66 0 5 00000001 0000003b [0061867427780963] 2.975ms (+0.000ms): redirect_hardirq+0x8/0x90 <c0136288> (__do_IRQ+0xbc/0x160 <c01364dc>)
(T1/#60) kswapd0 66 0 5 00000000 0000003c [0061867427781443] 2.976ms (+0.000ms): handle_IRQ_event+0xe/0xf0 <c013631e> (__do_IRQ+0xea/0x160 <c013650a>)
(T1/#61) kswapd0 66 0 5 00000000 0000003d [0061867427781830] 2.976ms (+0.000ms): timer_interrupt+0xb/0x100 <c0106fcb> (handle_IRQ_event+0x61/0xf0 <c0136371>)
(T1/#62) kswapd0 66 0 5 00000001 0000003e [0061867427782271] 2.977ms (+0.004ms): mark_offset_tsc+0xe/0x370 <c010c81e> (timer_interrupt+0x24/0x100 <c0106fe4>)
(T1/#63) kswapd0 66 0 5 00000001 0000003f [0061867427785062] 2.982ms (+0.000ms): do_timer+0x8/0x20 <c011e718> (timer_interrupt+0x2a/0x100 <c0106fea>)
(T1/#64) kswapd0 66 0 5 00000001 00000040 [0061867427785408] 2.982ms (+0.000ms): update_process_times+0xa/0x100 <c011e17a> (timer_interrupt+0x44/0x100 <c0107004>)
(T1/#65) kswapd0 66 0 5 00000001 00000041 [0061867427785750] 2.983ms (+0.000ms): account_system_time+0xa/0xb0 <c011013a> (update_process_times+0xed/0x100 <c011e25d>)
(T1/#66) kswapd0 66 0 5 00000001 00000042 [0061867427786129] 2.984ms (+0.000ms): acct_update_integrals+0xa/0x60 <c013609a> (account_system_time+0x40/0xb0 <c0110170>)
(T1/#67) kswapd0 66 0 5 00000001 00000043 [0061867427786489] 2.984ms (+0.000ms): update_mem_hiwater+0x8/0x50 <c0147b68> (update_process_times+0xed/0x100 <c011e25d>)
(T1/#68) kswapd0 66 0 5 00000001 00000044 [0061867427786839] 2.985ms (+0.000ms): run_local_timers+0x8/0x20 <c011e298> (update_process_times+0x2d/0x100 <c011e19d>)
(T1/#69) kswapd0 66 0 5 00000001 00000045 [0061867427787172] 2.985ms (+0.000ms): raise_softirq+0xa/0x70 <c011a21a> (update_process_times+0x2d/0x100 <c011e19d>)
(T1/#70) kswapd0 66 0 5 00000001 00000046 [0061867427787626] 2.986ms (+0.000ms): rcu_check_callbacks+0x8/0xc0 <c0126e18> (update_process_times+0x68/0x100 <c011e1d8>)
(T1/#71) kswapd0 66 0 5 00000001 00000047 [0061867427787964] 2.987ms (+0.000ms): idle_cpu+0x8/0x20 <c0110c28> (rcu_check_callbacks+0x66/0xc0 <c0126e76>)
(T1/#72) kswapd0 66 0 5 00000001 00000048 [0061867427788378] 2.987ms (+0.000ms): scheduler_tick+0xc/0x3e0 <c011024c> (update_process_times+0x6f/0x100 <c011e1df>)
(T1/#73) kswapd0 66 0 5 00000001 00000049 [0061867427788711] 2.988ms (+0.001ms): sched_clock+0xe/0xe0 <c010c57e> (scheduler_tick+0x1d/0x3e0 <c011025d>)
(T1/#74) kswapd0 66 0 5 00000001 0000004a [0061867427789557] 2.989ms (+0.000ms): run_posix_cpu_timers+0xe/0x1b0 <c012d04e> (timer_interrupt+0x44/0x100 <c0107004>)
(T1/#75) kswapd0 66 0 5 00000001 0000004b [0061867427789989] 2.990ms (+0.001ms): profile_hit+0x9/0x50 <c0115a79> (timer_interrupt+0x4e/0x100 <c010700e>)
(T1/#76) kswapd0 66 0 5 00000001 0000004c [0061867427790659] 2.991ms (+0.000ms): note_interrupt+0xb/0x90 <c0136e0b> (__do_IRQ+0x148/0x160 <c0136568>)
(T1/#77) kswapd0 66 0 5 00000001 0000004d [0061867427791033] 2.992ms (+0.000ms): end_8259A_irq+0x8/0x40 <c0107f58> (__do_IRQ+0x110/0x160 <c0136530>)
(T1/#78) kswapd0 66 0 5 00000001 0000004e [0061867427791433] 2.992ms (+0.002ms): enable_8259A_irq+0xb/0x80 <c010803b> (__do_IRQ+0x110/0x160 <c0136530>)
(T1/#79) kswapd0 66 0 7 00000002 0000004f [0061867427792705] 2.995ms (+0.000ms): irq_exit+0x8/0x50 <c011a1c8> (do_IRQ+0x60/0x80 <c01046b0>)
(T1/#80) kswapd0 66 0 3 00000003 00000050 [0061867427793238] 2.995ms (+0.000ms): do_softirq+0xb/0x60 <c010477b> (irq_exit+0x45/0x50 <c011a205>)
(T1/#81) kswapd0 66 0 9 00000000 00000051 [0061867427793742] 2.996ms (+0.000ms): __do_softirq+0xa/0x90 <c011a05a> (do_softirq+0x4b/0x60 <c01047bb>)
(T6/#82) kswapd0-66 0dn.2 2997us!< (1)
(T2/#83) kswapd0-66 0dnh2 3969us : do_IRQ+0x2d/0x80 <c010467d> (c014e3c6 0 0)
(T1/#84) kswapd0 66 0 5 00000001 00000054 [0061867428379021] 3.970ms (+0.003ms): mask_and_ack_8259A+0xb/0x110 <c010818b> (__do_IRQ+0x8b/0x160 <c01364ab>)
(T1/#85) kswapd0 66 0 5 00000001 00000055 [0061867428380861] 3.973ms (+0.000ms): redirect_hardirq+0x8/0x90 <c0136288> (__do_IRQ+0xbc/0x160 <c01364dc>)
(T1/#86) kswapd0 66 0 5 00000000 00000056 [0061867428381320] 3.974ms (+0.000ms): handle_IRQ_event+0xe/0xf0 <c013631e> (__do_IRQ+0xea/0x160 <c013650a>)
(T1/#87) kswapd0 66 0 5 00000000 00000057 [0061867428381680] 3.975ms (+0.000ms): timer_interrupt+0xb/0x100 <c0106fcb> (handle_IRQ_event+0x61/0xf0 <c0136371>)
(T1/#88) kswapd0 66 0 5 00000001 00000058 [0061867428382121] 3.975ms (+0.004ms): mark_offset_tsc+0xe/0x370 <c010c81e> (timer_interrupt+0x24/0x100 <c0106fe4>)
(T1/#89) kswapd0 66 0 5 00000001 00000059 [0061867428385025] 3.980ms (+0.000ms): do_timer+0x8/0x20 <c011e718> (timer_interrupt+0x2a/0x100 <c0106fea>)
(T1/#90) kswapd0 66 0 5 00000001 0000005a [0061867428385375] 3.981ms (+0.000ms): update_process_times+0xa/0x100 <c011e17a> (timer_interrupt+0x44/0x100 <c0107004>)
(T1/#91) kswapd0 66 0 5 00000001 0000005b [0061867428385721] 3.981ms (+0.000ms): account_system_time+0xa/0xb0 <c011013a> (update_process_times+0xed/0x100 <c011e25d>)
(T1/#92) kswapd0 66 0 5 00000001 0000005c [0061867428386105] 3.982ms (+0.000ms): acct_update_integrals+0xa/0x60 <c013609a> (account_system_time+0x40/0xb0 <c0110170>)
(T1/#93) kswapd0 66 0 5 00000001 0000005d [0061867428386469] 3.982ms (+0.000ms): update_mem_hiwater+0x8/0x50 <c0147b68> (update_process_times+0xed/0x100 <c011e25d>)
(T1/#94) kswapd0 66 0 5 00000001 0000005e [0061867428386810] 3.983ms (+0.000ms): run_local_timers+0x8/0x20 <c011e298> (update_process_times+0x2d/0x100 <c011e19d>)
(T1/#95) kswapd0 66 0 5 00000001 0000005f [0061867428387139] 3.984ms (+0.000ms): raise_softirq+0xa/0x70 <c011a21a> (update_process_times+0x2d/0x100 <c011e19d>)
(T1/#96) kswapd0 66 0 5 00000001 00000060 [0061867428387622] 3.984ms (+0.000ms): rcu_check_callbacks+0x8/0xc0 <c0126e18> (update_process_times+0x68/0x100 <c011e1d8>)
(T1/#97) kswapd0 66 0 5 00000001 00000061 [0061867428387958] 3.985ms (+0.000ms): idle_cpu+0x8/0x20 <c0110c28> (rcu_check_callbacks+0x66/0xc0 <c0126e76>)
(T1/#98) kswapd0 66 0 5 00000001 00000062 [0061867428388453] 3.986ms (+0.000ms): scheduler_tick+0xc/0x3e0 <c011024c> (update_process_times+0x6f/0x100 <c011e1df>)
(T1/#99) kswapd0 66 0 5 00000001 00000063 [0061867428388781] 3.986ms (+0.001ms): sched_clock+0xe/0xe0 <c010c57e> (scheduler_tick+0x1d/0x3e0 <c011025d>)
(T1/#100) kswapd0 66 0 5 00000001 00000064 [0061867428389637] 3.988ms (+0.000ms): run_posix_cpu_timers+0xe/0x1b0 <c012d04e> (timer_interrupt+0x44/0x100 <c0107004>)
(T1/#101) kswapd0 66 0 5 00000001 00000065 [0061867428390064] 3.988ms (+0.001ms): profile_hit+0x9/0x50 <c0115a79> (timer_interrupt+0x4e/0x100 <c010700e>)
(T1/#102) kswapd0 66 0 5 00000001 00000066 [0061867428390703] 3.990ms (+0.000ms): note_interrupt+0xb/0x90 <c0136e0b> (__do_IRQ+0x148/0x160 <c0136568>)
(T1/#103) kswapd0 66 0 5 00000001 00000067 [0061867428391076] 3.990ms (+0.000ms): end_8259A_irq+0x8/0x40 <c0107f58> (__do_IRQ+0x110/0x160 <c0136530>)
(T1/#104) kswapd0 66 0 5 00000001 00000068 [0061867428391423] 3.991ms (+0.002ms): enable_8259A_irq+0xb/0x80 <c010803b> (__do_IRQ+0x110/0x160 <c0136530>)
(T1/#105) kswapd0 66 0 7 00000002 00000069 [0061867428392667] 3.993ms (+0.000ms): irq_exit+0x8/0x50 <c011a1c8> (do_IRQ+0x60/0x80 <c01046b0>)
(T1/#106) kswapd0 66 0 3 00000003 0000006a [0061867428393139] 3.994ms (+0.000ms): do_softirq+0xb/0x60 <c010477b> (irq_exit+0x45/0x50 <c011a205>)
(T1/#107) kswapd0 66 0 9 00000000 0000006b [0061867428393628] 3.994ms (+0.000ms): __do_softirq+0xa/0x90 <c011a05a> (do_softirq+0x4b/0x60 <c01047bb>)
(T6/#108) kswapd0-66 0dn.2 3995us+< (1)
(T1/#109) kswapd0 66 0 2 00000001 0000006d [0061867428448564] 4.086ms (+0.001ms): preempt_schedule+0xa/0x70 <c02a837a> (get_swap_page+0x208/0x290 <c014e488>)
(T1/#110) kswapd0 66 0 2 00000000 0000006e [0061867428449351] 4.087ms (+0.000ms): preempt_schedule+0xa/0x70 <c02a837a> (get_swap_page+0xc4/0x290 <c014e344>)
(T1/#111) kswapd0 66 0 3 00000000 0000006f [0061867428449864] 4.088ms (+0.000ms): __schedule+0xe/0x710 <c02a7b5e> (preempt_schedule+0x4f/0x70 <c02a83bf>)
(T1/#112) kswapd0 66 0 3 00000000 00000070 [0061867428450437] 4.089ms (+0.000ms): profile_hit+0x9/0x50 <c0115a79> (__schedule+0x3a/0x710 <c02a7b8a>)
(T1/#113) kswapd0 66 0 3 00000001 00000071 [0061867428450904] 4.090ms (+0.002ms): sched_clock+0xe/0xe0 <c010c57e> (__schedule+0x68/0x710 <c02a7bb8>)
(T1/#114) kswapd0 66 0 3 00000002 00000072 [0061867428452321] 4.092ms (+0.000ms): dequeue_task+0xa/0x50 <c010f5ba> (__schedule+0x1ca/0x710 <c02a7d1a>)
(T1/#115) kswapd0 66 0 3 00000002 00000073 [0061867428452788] 4.093ms (+0.000ms): recalc_task_prio+0xc/0x1a0 <c010f71c> (__schedule+0x1e4/0x710 <c02a7d34>)
(T1/#116) kswapd0 66 0 3 00000002 00000074 [0061867428453289] 4.094ms (+0.000ms): effective_prio+0x8/0x50 <c010f6c8> (recalc_task_prio+0xa6/0x1a0 <c010f7b6>)
(T1/#117) kswapd0 66 0 3 00000002 00000075 [0061867428453667] 4.094ms (+0.001ms): enqueue_task+0xa/0x80 <c010f60a> (__schedule+0x1eb/0x710 <c02a7d3b>)(T4/#118) [ => kswapd0 ] 4.095ms (+0.002ms)
(T1/#119) <...> 2 0 1 00000002 00000077 [0061867428455634] 4.098ms (+0.001ms): __switch_to+0xb/0x1a0 <c01013bb> (__schedule+0x329/0x710 <c02a7e79>)
(T3/#120) <...>-2 0d..2 4100us : __schedule+0x356/0x710 <c02a7ea6> <kswapd0-66> (74 69):
(T1/#121) <...> 2 0 1 00000001 00000079 [0061867428457287] 4.100ms (+0.000ms): trace_stop_sched_switched+0xa/0x150 <c012f83a> (__schedule+0x38d/0x710 <c02a7edd>)
(T3/#122) <...>-2 0d..1 4101us : trace_stop_sched_switched+0x42/0x150 <c012f872> <<...>-2> (69 0):
(T1/#123) <...> 2 0 1 00000001 0000007b [0061867428458566] 4.102ms (+0.000ms): trace_stop_sched_switched+0xfe/0x150 <c012f92e> (__schedule+0x38d/0x710 <c02a7edd>)
vim:ft=help
Lee
Quoted 2 lines · Lee Revell
Running for several days with
PREEMPT_DESKTOP, on the Athlon XP the worst latency I am seeing is ~150 usecs! But on the C3 its about 4ms:
could you run a bit with tracing disabled (in the .config) on the C3? (but wakeup timing still enabled) It may very well be tracing overhead that makes those latencies that high. Also, we'd thus have some hard data on how much overhead tracing is in such a situation, on that CPU.
Ingo
Quoted 10 lines · Ingo Molnar
Quoted 2 lines · Lee Revell
Running for several days with
PREEMPT_DESKTOP, on the Athlon XP the worst latency I am seeing is ~150 usecs! But on the C3 its about 4ms:could you run a bit with tracing disabled (in the .config) on the C3? (but wakeup timing still enabled) It may very well be tracing overhead that makes those latencies that high. Also, we'd thus have some hard data on how much overhead tracing is in such a situation, on that CPU.
I have not left it to run overnight yet with the swappiness set to 100, which triggers the biggest latencies as my entire desktop is swapped out, but so far it looks like the problem was tracing overhead. With timing enabled but tracing disabled the longest latency on the C3 so far is 270 usecs.
An important giveaway is that with tracing enabled the same code path only triggers ~200 usec latencies on the K7 but ~2ms on the C3. Since the longest latency with PREEMPT_DESKTOP is normally more a function of memory bandwidth than processor speed, and the machines differ much more in the latter, this agrees with the theory that the overhead is the problem.
Lee
Quoted 11 lines · Lee Revell
Quoted 4 lines
could you run a bit with tracing disabled (in the .config) on the C3? (but wakeup timing still enabled) It may very well be tracing overhead that makes those latencies that high. Also, we'd thus have some hard data on how much overhead tracing is in such a situation, on that CPU.
I have not left it to run overnight yet with the swappiness set to 100, which triggers the biggest latencies as my entire desktop is swapped out, but so far it looks like the problem was tracing overhead. With timing enabled but tracing disabled the longest latency on the C3 so far is 270 usecs.
Quoted 6 lines
An important giveaway is that with tracing enabled the same code path only triggers ~200 usec latencies on the K7 but ~2ms on the C3. Since the longest latency with
PREEMPT_DESKTOPis normally more a function of memory bandwidth than processor speed, and the machines differ much more in the latter, this agrees with the theory that the overhead is the problem.
besides cycle overhead, function tracing increases cache footprint - and with a CPU that has smaller caches (such as the C3) it can tip a loop over the edge, and can make it cache-trashing, while it would fit into the cache before. In such a situation the difference can be dramatic.
(on CPUs with larger caches similar artifacts can happen too, but it needs a 'fatter' loop, which are apparently rarer.)
Ingo
Quoted 5 lines · Ingo Molnar
i have released the -V0.7.41-10 Real-Time Preemption patch, which can be downloaded from the usual place:
Ingo,
-15 has a typo that prevents building with my config.
Lee
linux/mm.h renamed from linux/mm.h~ +1 -1
@@ -845,7 +845,7 @@#else static inline int check_no_locks_freed (const void *from,const void *to) { - return 0 +return 0 ; }#endif
Quoted 16 lines · Lee Revell
Quoted 5 lines · Ingo Molnar
i have released the -V0.7.41-10 Real-Time Preemption patch, which can be downloaded from the usual place:
Ingo,
-15 has a typo that prevents building with my config.
Lee
linux/mm.h line 848
Quoted 5 lines
linux/mm.h renamed from linux/mm.h~ +1
-1@@ -845,7 +845,7 @@#else static inline int check_no_locks_freed (const void *from,const void *to) { -return 0 +return 0 ;
thanks - applied this to 41-20.
Ingo
PATCH 1/1 Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-25
In reply to Ingo Molnari have released the -V0.7.41-25 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this release tries to stabilize things some more. In particular i've changed 'nocheck' semaphores to not be included in any PI or debugging logic. This makes them pretty much stateless and compatible. XFS seems to be working much better with this approach, and maybe some of the other problematic subsystems (USB/firewire) will improve too.
there's also a latency tracer fix which should cure some of the 'truncated traces' problems.
i've also included Trond Myklebust's NFS client patch which should reduce latencies in that area (on PREEMPT_DESKTOP/VOLUNTARY kernels - under PREEMPT_RT the whole NFS code was fully preemptable already). It's experimental so be careful if you are using NFS.
to create a -V0.7.41-25 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.12-rc1.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.12-rc1-V0.7.41-25
Ingo
PATCH 1/1 Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
i have released the -V0.7.43-00 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this release too is a step towards more robustness. I found a bug that caused an infinite recursion and subsequent spontaneous reboot. The bug was once again related to lock->debug locks, so i decided to get rid of them altogether: from now on every lock in the -RT domain is debugged.
To be able to use code that relies on incompatible properties of stock Linux semaphores (and rwsems), i've added a new compile-time semaphore-type mechanism that enables the easy switching from RT semaphores to stock semaphores. I've done this conversion for all subsystems that needed it - e.g. XFS, firewire, USB and SCSI. XFS seems to be working much better with this approach - BYMMV.
but an unavoidable side-effect is that the whole codebase got turned upside down once again, so be careful and expect a few rough edges. In particular keep an eye on new compile-time warnings related to semaphores - code that gives a warning might build but it will almost certainly not work.
to create a -V0.7.43-00 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.12-rc1.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.12-rc1-V0.7.43-00
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 4 lines
i have released the -V0.7.43-00 Real-Time Preemption patch, which can be downloaded from the usual place:
RT-V0.7.43-00 is failing to build here:
.
.
.
CC kernel/rcupdate.o
CC kernel/intermodule.okernel/intermodule.c:179: warning: `inter_module_register' is deprecated (declar
ed at kernel/intermodule.c:38)kernel/intermodule.c:180: warning: `inter_module_unregister' is deprecated (decl
ared at kernel/intermodule.c:79)kernel/intermodule.c:182: warning: `inter_module_put' is deprecated (declared at
kernel/intermodule.c:160)
CC kernel/extable.o CC kernel/params.o CC kernel/posix-timers.o CC kernel/kthread.o CC kernel/wait.o CC kernel/kfifo.o CC kernel/sys_ni.o CC kernel/posix-cpu-timers.o CC kernel/rt.o
kernel/rt.c:1435: error: up_read' undeclared here (not in a function) kernel/rt.c:1435: error: initializer element is not constant kernel/rt.c:1435: error: (near initialization for __ksymtab_up_read.value') kernel/rt.c:1435: error: __ksymtab_up_read causes a section type conflict make[1]: *** [kernel/rt.o] Error 1
make: *** [kernel] Error 2
Bye.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 11 lines · Rui Nuno Capela
Quoted 3 lines
i have released the -V0.7.43-00 Real-Time Preemption patch, which can be downloaded from the usual place:
RT-V0.7.43-00 is failing to build here:
kernel/rt.c:1435: error:up_read' undeclared here (not in a function) kernel/rt.c:1435: error: initializer element is not constant kernel/rt.c:1435: error: (near initialization for__ksymtab_up_read.value')kernel/rt.c:1435: error:__ksymtab_up_readcauses a section type conflict make[1]: *** [kernel/rt.o] Error 1
thx - i've uploaded -43-01 which should fix this.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 3 lines
thx - i've uploaded -43-01 which should fix this.
Now it's dying-on-the-beach:
.
.
.
if [ -r System.map -a -x /sbin/depmod ]; then /sbin/depmod -ae -F System.map 2.6.12-rc1-RT-V0.7.43-01.0; fi
WARNING:/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/usb/storage/usb-storage.ko needs unknown symbol __compat_down_failed_interruptible
WARNING:/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/usb/storage/usb-storage.ko needs unknown symbol __compat_up_wakeup
WARNING:/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/parport/parport.ko needs unknown symbol __compat_down_failed_interruptible
WARNING:/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/parport/parport.ko needs unknown symbol __compat_up_wakeup
WARNING:/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/net/ppp_async.ko needs unknown symbol __compat_up_wakeup
WARNING:/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/net/ppp_async.ko needs unknown symbol __compat_down_failed
WARNING:/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/ieee1394/ieee1394.ko needs unknown symbol __compat_down_failed_trylock
WARNING:/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/ieee1394/ieee1394.ko needs unknown symbol __compat_down_failed_interruptible
WARNING:/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/ieee1394/ieee1394.ko needs unknown symbol __compat_up_wakeup
WARNING:/lib/modules/2.6.12-rc1-RT-V0.7.43-01.0/kernel/drivers/ieee1394/ieee1394.ko needs unknown symbol __compat_down_failed
make: *** [_modinst_post] Error 1
Bye.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 6 lines · Rui Nuno Capela
Quoted 2 lines
thx - i've uploaded -43-01 which should fix this.
Now it's dying-on-the-beach:
needs unknown symbol
__compat_down_failed_interruptible
ok - does -43-02 work any better?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 11 lines · Rui Nuno Capela
Quoted 7 lines
Quoted 3 lines
thx - i've uploaded -43-01 which should fix this.
Now it's dying-on-the-beach:
needs unknown symbol
__compat_down_failed_interruptibleok - does -43-02 work any better?
Nope. Same error output as last report.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 3 lines · Rui Nuno Capela
Quoted 1 line
Quoted 1 line
needs unknown symbol
__compat_down_failed_interruptibleNope. Same error output as last report.
does -43-04 work for you?
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 7 lines
Quoted 4 lines
Quoted 2 lines
Quoted 2 lines
needs unknown symbol
__compat_down_failed_interruptibleNope. Same error output as last report.
does -43-04 work for you?
RT-V0.7.43-05 is now working for me. No quirks so far, on the UP laptop. Building now for the SMP/HT desktop.
Cheers.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
In reply to Ingo MolnarQuoted 24 lines · Ingo Molnar
i have released the -V0.7.43-00 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this release too is a step towards more robustness. I found a bug that caused an infinite recursion and subsequent spontaneous reboot. The bug was once again related to
lock->debuglocks, so i decided to get rid of them altogether: from now on every lock in the -RT domain is debugged.To be able to use code that relies on incompatible properties of stock Linux semaphores (and rwsems), i've added a new compile-time semaphore-type mechanism that enables the easy switching from RT semaphores to stock semaphores. I've done this conversion for all subsystems that needed it - e.g. XFS, firewire, USB and SCSI. XFS seems to be working much better with this approach - BYMMV.
but an unavoidable side-effect is that the whole codebase got turned upside down once again, so be careful and expect a few rough edges. In particular keep an eye on new compile-time warnings related to semaphores - code that gives a warning might build but it will almost certainly not work.
Quoted 3 lines
to create a -V0.7.43-00 tree from scratch, the patching order is:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2
I use the .gz, more reliable unpacks
Again I use the .gz
Quoted 4 lines
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.12-r
c1-V0.7.43-00Ingo
It was up to 43-04 by the time I got there.
This one didn't go in cleanly Ingo. From my build-src scripts output:
-------------------
Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04
[...]
patching file lib/rwsem-spinlock.c
Hunk #5 FAILED at 133.
Hunk #6 FAILED at 160.
Hunk #7 FAILED at 179.
Hunk #8 FAILED at 194.
Hunk #9 FAILED at 204.
Hunk #10 FAILED at 231.
Hunk #11 FAILED at 250.
Hunk #12 FAILED at 265.
Hunk #13 FAILED at 274.
Hunk #14 FAILED at 293.
Hunk #15 FAILED at 314.
11 out of 15 hunks FAILED -- saving rejects to file lib/rwsem-spinlock.c.rej
-----------
I doubt it would run, so I haven't built it. Should I?
Signature · 8 lines
Cheers, Gene "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) 99.34% setiathome rank, not too shabby for a WV hillbilly Yahoo.com and AOL/TW attorneys please note, additions to the above message by Gene Heskett are: Copyright 2005 by Maurice Eugene Heskett, all rights reserved.
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Gene Heskett wrote:
<snip>
Quoted 13 lines
It was up to 43-04 by the time I got there.
This one didn't go in cleanly Ingo. From my build-src scripts output:
-------------------
Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04
[...]
patching filelib/rwsem-spinlock.c
Hunk #5 FAILED at 133.
Hunk #6 FAILED at 160.
Hunk #7 FAILED at 179.
Hunk #8 FAILED at 194.
Hunk #9 FAILED at 204.
Hunk #10 FAILED at 231.
Quoted 9 lines
Hunk #11 FAILED at 250.
Hunk #12 FAILED at 265.
Hunk #13 FAILED at 274.
Hunk #14 FAILED at 293.
Hunk #15 FAILED at 314.
11 out of 15 hunks FAILED -- saving rejects to filelib/rwsem-spinlock.c.rej
-----------
I doubt it would run, so I haven't built it. Should I?
Adding the attached patch on top of the above should resolve the failures, at least in the patching. Still working on building it.
Signature · 1 line
kr
lib/rwsem-spinlock.c renamed from lib/rwsem-spinlock.c.orig +19 -14
@@ -18,7 +18,7 @@ struct rwsem_waiter { };#if RWSEM_DEBUG -void rwsemtrace (struct rw_semaphore *sem,const char *str) +void rwsemtrace (struct compat_rw_semaphore *sem,const char *str) {if (sem->debug) printk("[%d] %s({%d,%d})\n",
@@ -30,7 +30,7 @@ void rwsemtrace(struct rw_semaphore *sem/* * initialise the semaphore */ -void fastcall init_rwsem(struct rw_semaphore *sem) +void fastcall compat_init_rwsem(struct compat_rw_semaphore *sem) { sem->activity =0 ;spin_lock_init (&sem->wait_lock);
@@ -49,8 +49,8 @@ void fastcall init_rwsem(struct rw_semap* - woken process blocks are discarded from the list after having task zeroed * - writers are only woken if wakewrite is non-zero */ -static inline struct rw_semaphore * -__rwsem_do_wake (struct rw_semaphore *sem,int wakewrite) +static inline struct compat_rw_semaphore * +__rwsem_do_wake (struct compat_rw_semaphore *sem,int wakewrite) {struct rwsem_waiter *waiter;struct task_struct *tsk;
@@ -111,8 +111,8 @@ __rwsem_do_wake(struct rw_semaphore *sem/* * wake a single writer */ -static inline struct rw_semaphore * -__rwsem_wake_one_writer (struct rw_semaphore *sem) +static inline struct compat_rw_semaphore * +__rwsem_wake_one_writer (struct compat_rw_semaphore *sem) {struct rwsem_waiter *waiter;struct task_struct *tsk;
@@ -133,7 +133,8 @@ __rwsem_wake_one_writer(struct rw_semaph/* * get a read lock on the semaphore */ -void fastcall __sched __down_read(struct rw_semaphore *sem) +void fastcall __sched __down_read(struct compat_rw_semaphore *sem) + {struct rwsem_waiter waiter;struct task_struct *tsk;
@@ -179,7 +180,8 @@ void fastcall __sched __down_read(struct/* * trylock for reading -- returns 1 if successful, 0 if contention */ -int fastcall __down_read_trylock(struct rw_semaphore *sem) +int fastcall __down_read_trylock(struct compat_rw_semaphore *sem) + {unsigned long flags;int ret =0 ;
@@ -204,7 +206,8 @@ int fastcall __down_read_trylock(struct* get a write lock on the semaphore * - we increment the waiting count anyway to indicate an exclusive lock */ -void fastcall __sched __down_write(struct rw_semaphore *sem) +void fastcall __sched __down_write(struct compat_rw_semaphore *sem) + {struct rwsem_waiter waiter;struct task_struct *tsk;
@@ -250,7 +253,8 @@ void fastcall __sched __down_write(struc/* * trylock for writing -- returns 1 if successful, 0 if contention */ -int fastcall __down_write_trylock(struct rw_semaphore *sem) +int fastcall __down_write_trylock(struct compat_rw_semaphore *sem) + {unsigned long flags;int ret =0 ;
@@ -274,7 +278,8 @@ int fastcall __down_write_trylock(struct/* * release a read lock on the semaphore */ -void fastcall __up_read(struct rw_semaphore *sem) +void fastcall __up_read(struct compat_rw_semaphore *sem) + {unsigned long flags;
@@ -293,7 +298,7 @@ void fastcall __up_read(struct rw_semaph/* * release a write lock on the semaphore */ -void fastcall __up_write(struct rw_semaphore *sem) +void fastcall __up_write(struct compat_rw_semaphore *sem) {unsigned long flags;
@@ -314,7 +319,7 @@ void fastcall __up_write(struct rw_semap* downgrade a write lock into a read lock * - just wake up any readers at the front of the queue */ -void fastcall __downgrade_write(struct rw_semaphore *sem) +void fastcall __downgrade_write(struct compat_rw_semaphore *sem) {unsigned long flags;
@@ -331,7 +336,7 @@ void fastcall __downgrade_write(struct rrwsemtrace (sem,"Leaving __downgrade_write" ); } -EXPORT_SYMBOL (init_rwsem); +EXPORT_SYMBOL (compat_init_rwsem);EXPORT_SYMBOL (__down_read);EXPORT_SYMBOL (__down_read_trylock);EXPORT_SYMBOL (__down_write);
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 6 lines · K.R. Foley
Quoted 3 lines
This one didn't go in cleanly Ingo. From my build-src scripts output:
-------------------
Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04Adding the attached patch on top of the above should resolve the failures, at least in the patching. Still working on building it.
i fixed these things up in -43-05 ... i hope :-|
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 11 lines · Ingo Molnar
Quoted 6 lines · K.R. Foley
Quoted 3 lines
This one didn't go in cleanly Ingo. From my build-src scripts
output: -------------------
Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04Adding the attached patch on top of the above should resolve the failures, at least in the patching. Still working on building it.
i fixed these things up in -43-05 ... i hope :-|
Ingo
Ok, I'll try that later today too. Got dirt to move in the yard, decent weather for a change & the old farts gotta get his exersize :-)
Signature · 8 lines
Cheers, Gene "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) 99.34% setiathome rank, not too shabby for a WV hillbilly Yahoo.com and AOL/TW attorneys please note, additions to the above message by Gene Heskett are: Copyright 2005 by Maurice Eugene Heskett, all rights reserved.
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
In reply to K.R. FoleyQuoted 26 lines · K.R. Foley
Gene Heskett wrote:
<snip>Quoted 14 lines
It was up to 43-04 by the time I got there.
This one didn't go in cleanly Ingo. From my build-src scripts
output: -------------------
Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04 [...]
patching filelib/rwsem-spinlock.c
Hunk #5 FAILED at 133.
Hunk #6 FAILED at 160.
Hunk #7 FAILED at 179.
Hunk #8 FAILED at 194.
Hunk #9 FAILED at 204.
Hunk #10 FAILED at 231.
Hunk #11 FAILED at 250.Quoted 8 lines
Hunk #12 FAILED at 265.
Hunk #13 FAILED at 274.
Hunk #14 FAILED at 293.
Hunk #15 FAILED at 314.
11 out of 15 hunks FAILED -- saving rejects to filelib/rwsem-spinlock.c.rej
-----------
I doubt it would run, so I haven't built it. Should I?
Quoted 2 lines
Adding the attached patch on top of the above should resolve the failures, at least in the patching. Still working on building it.
I assume you mean apply before the 43-04 patch?
I'll give it a go later today, right now I've got dirt to move in the yard.
Signature · 8 lines
Cheers, Gene "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) 99.34% setiathome rank, not too shabby for a WV hillbilly Yahoo.com and AOL/TW attorneys please note, additions to the above message by Gene Heskett are: Copyright 2005 by Maurice Eugene Heskett, all rights reserved.
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 28 lines · Gene Heskett
Quoted 26 lines · K.R. Foley
Gene Heskett wrote:
<snip>Quoted 22 lines
It was up to 43-04 by the time I got there.
This one didn't go in cleanly Ingo. From my build-src scripts
output: -------------------
Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04 [...]
patching filelib/rwsem-spinlock.c
Hunk #5 FAILED at 133.
Hunk #6 FAILED at 160.
Hunk #7 FAILED at 179.
Hunk #8 FAILED at 194.
Hunk #9 FAILED at 204.
Hunk #10 FAILED at 231.
Hunk #11 FAILED at 250.
Hunk #12 FAILED at 265.
Hunk #13 FAILED at 274.
Hunk #14 FAILED at 293.
Hunk #15 FAILED at 314.
11 out of 15 hunks FAILED -- saving rejects to filelib/rwsem-spinlock.c.rej
-----------
I doubt it would run, so I haven't built it. Should I?
Quoted 5 lines
Quoted 2 lines
Adding the attached patch on top of the above should resolve the failures, at least in the patching. Still working on building it.
I assume you mean apply before the 43-04 patch?
No actually I meant to apply it after the 43-04 patch. However, Ingo has a new patch that should cover this also.
Quoted 3 lines
I'll give it a go later today, right now I've got dirt to move in the yard.
Signature · 1 line
kr
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 28 lines · K.R. Foley
Quoted 27 lines · Gene Heskett
Quoted 26 lines · K.R. Foley
Gene Heskett wrote:
<snip>Quoted 22 lines
It was up to 43-04 by the time I got there.
This one didn't go in cleanly Ingo. From my build-src scripts
output: -------------------
Applying patch realtime-preempt-2.6.12-rc1-V0.7.43-04 [...]
patching filelib/rwsem-spinlock.c
Hunk #5 FAILED at 133.
Hunk #6 FAILED at 160.
Hunk #7 FAILED at 179.
Hunk #8 FAILED at 194.
Hunk #9 FAILED at 204.
Hunk #10 FAILED at 231.
Hunk #11 FAILED at 250.
Hunk #12 FAILED at 265.
Hunk #13 FAILED at 274.
Hunk #14 FAILED at 293.
Hunk #15 FAILED at 314.
11 out of 15 hunks FAILED -- saving rejects to filelib/rwsem-spinlock.c.rej
-----------
I doubt it would run, so I haven't built it. Should I?
Quoted 10 lines
Quoted 4 lines
Quoted 2 lines
Adding the attached patch on top of the above should resolve the failures, at least in the patching. Still working on building it.
I assume you mean apply before the 43-04 patch?
No actually I meant to apply it after the 43-04 patch. However, Ingo has a new patch that should cover this also.
Quoted 2 lines
I'll give it a go later today, right now I've got dirt to move in the yard.
3 hrs later, rained out, or in as the case may be. 43-05 is building now, with lots of traceing turned on to see what sorts of grins I might get out of it.
No one has commented about the loss of video in the tvtime/pcHDTV-3000 card situation, am I on my own, basicly reverting to the pcHDTV-2.0.tar.gz stuff to overwrite the kernel stuff?
------
2 friggin hours later, I'm finally rebooted. I start heyu in my rc.local file by launching a series of scripts to set that all up, and my cm-11a interface decided, for the first time in a couple of years, to not talk to the 'heyu setclock' command. Boot hung, but not of course until I'd used up half the boots per fsck on 100GB of disks. Grrrrroooowwff.
Anyway, now lets see what works.
tvtime doesn't, even if I re-install the drivers from the pcHDTV-2.0 archive. No video, just a blue screen, sound so-so.
kino works
xsane works
spcagui works
But, I did get some odd stuff in the logs while doing this as I had a lot of traceing stuff turned on over and above the defaults:
Warning, this IS lengthy
---------------------------
Apr 1 18:05:13 coyote gconfd (root-5947): starting (version 2.6.0), pid 5947 user 'root'
Apr 1 18:05:13 coyote gconfd (root-5947): Resolved address "xml:readonly:/etc/gconf/gconf.xml.mandatory" to a read-only config source at position 0
Apr 1 18:05:13 coyote gconfd (root-5947): Resolved address "xml:readwrite:/root/.gconf" to a writable config source at position 1
Apr 1 18:05:13 coyote gconfd (root-5947): Resolved address "xml:readonly:/etc/gconf/gconf.xml.defaults" to a read-only config source at position 2
Apr 1 18:05:19 coyote ieee1394.agent[6002]: ... no drivers for IEEE1394 product 0x/0x/0x
Apr 1 18:05:20 coyote kernel: ieee1394: raw1394: /dev/raw1394 device initialized
Apr 1 18:05:20 coyote ieee1394.agent[6016]: ... no drivers for IEEE1394 product 0x/0x/0x
Apr 1 18:05:24 coyote kernel:
Apr 1 18:05:24 coyote kernel: ==========================================
Apr 1 18:05:24 coyote kernel: [ BUG: lock recursion deadlock detected! |
Apr 1 18:05:24 coyote kernel: ------------------------------------------
Apr 1 18:05:24 coyote kernel: already locked: [e4d17228] {(struct semaphore *)(&fi->complete_sem)}
Apr 1 18:05:24 coyote kernel: .. held by: kino: 6082 [e13ecbb0, 118]
Apr 1 18:05:24 coyote kernel: ... acquired at: raw1394_read+0x104/0x110 [raw1394]
Apr 1 18:05:24 coyote kernel:
Apr 1 18:05:24 coyote kernel: ------------------------------
Apr 1 18:05:24 coyote kernel: | showing all locks held by: | (kino/6082 [e13ecbb0, 118]):
Apr 1 18:05:24 coyote kernel: ------------------------------
Apr 1 18:05:24 coyote kernel:
Apr 1 18:05:24 coyote kernel: #001: [e4d17228] {(struct semaphore *)(&fi->complete_sem)}
Apr 1 18:05:24 coyote kernel: ... acquired at: raw1394_read+0x104/0x110 [raw1394]
Apr 1 18:05:24 coyote kernel:
Apr 1 18:05:24 coyote kernel: -{current task's backtrace}----------------->
Apr 1 18:05:24 coyote kernel: [<c0103353>] dump_stack+0x23/0x30 (20)
Apr 1 18:05:24 coyote kernel: [<c013093e>] check_deadlock+0x2fe/0x320 (44)
Apr 1 18:05:24 coyote kernel: [<c01313b7>] task_blocks_on_lock+0x37/0xf0 (36)
Apr 1 18:05:24 coyote kernel: [<c0374987>] __down_interruptible+0x257/0x4f0 (88)
Apr 1 18:05:24 coyote kernel: [<c0132cba>] rt_down_interruptible+0xba/0x1f0 (48)
Apr 1 18:05:24 coyote kernel: [<f8c9d8f4>] raw1394_read+0x104/0x110 [raw1394] (32)
Apr 1 18:05:24 coyote kernel: [<c015d45d>] vfs_read+0xcd/0x140 (36)
Apr 1 18:05:24 coyote kernel: [<c015d750>] sys_read+0x50/0x80 (44)
Apr 1 18:05:24 coyote kernel: [<c0102cf8>] sysenter_past_esp+0x61/0x89 (-4028)
Apr 1 18:05:24 coyote kernel:
Apr 1 18:05:24 coyote kernel: showing all tasks:
Apr 1 18:05:24 coyote kernel: S init: 1 [c190d670, 116] (not blocked)
Apr 1 18:05:24 coyote kernel: S ksoftirqd/0: 2 [c190d0e0, 105] (not blocked)
Apr 1 18:05:24 coyote kernel: S desched/0: 3 [c190cb50, 105] (not blocked)
Apr 1 18:05:24 coyote kernel: S events/0: 4 [c190c5c0, 98] (not blocked)
Apr 1 18:05:24 coyote kernel: S khelper: 5 [c190c030, 112] (not blocked)
Apr 1 18:05:24 coyote kernel: S kthread: 10 [c192d690, 110] (not blocked)
Apr 1 18:05:24 coyote kernel: S kacpid: 19 [c192d100, 120] (not blocked)
Apr 1 18:05:24 coyote kernel: S IRQ 9: 20 [c192cb70, 50] (not blocked)
Apr 1 18:05:24 coyote kernel: S kblockd/0: 147 [c192c5e0, 110] (not blocked)
Apr 1 18:05:24 coyote kernel: S khubd: 160 [c192c050, 116] (not blocked)
Apr 1 18:05:24 coyote kernel: S pdflush: 220 [c1b796b0, 116] (not blocked)
Apr 1 18:05:24 coyote kernel: S pdflush: 221 [c1b79120, 115] (not blocked)
Apr 1 18:05:24 coyote kernel: S aio/0: 223 [c1b78600, 112] (not blocked)
Apr 1 18:05:24 coyote kernel: S kswapd0: 222 [c1b78b90, 125] (not blocked)
Apr 1 18:05:24 coyote kernel: S IRQ 8: 808 [f7c3f6d0, 51] (not blocked)
Apr 1 18:05:24 coyote kernel: S IRQ 0: 820 [f7c3f140, 52] (not blocked)
Apr 1 18:05:24 coyote kernel: S IRQ 6: 840 [f7c3ebb0, 53] (not blocked)
Apr 1 18:05:24 coyote kernel: S kseriod: 812 [c1b78070, 116] (not blocked)
Apr 1 18:05:24 coyote kernel: S IRQ 14: 859 [f7c3e620, 54] (not blocked)
Apr 1 18:05:24 coyote kernel: S IRQ 15: 861 [f7c3e090, 55] (not blocked)
Apr 1 18:05:24 coyote kernel: S IRQ 12: 883 [f7cae0b0, 56] (not blocked)
Apr 1 18:05:24 coyote kernel: S IRQ 11: 888 [f7ccd710, 57] (not blocked)
Apr 1 18:05:24 coyote kernel: S IRQ 5: 892 [f7ccd180, 58] (not blocked)
Apr 1 18:05:24 coyote kernel: S IRQ 1: 944 [f7d35240, 59] (not blocked)
Apr 1 18:05:24 coyote kernel: S kjournald: 949 [f7d2a700, 115] (not blocked)
Apr 1 18:05:24 coyote kernel: S kjournald: 1432 [f7e477f0, 120] (not blocked)
Apr 1 18:05:24 coyote kernel: S kjournald: 1433 [f7f13930, 115] (not blocked)
Apr 1 18:05:24 coyote kernel: S kjournald: 1434 [f7d34cb0, 115] (not blocked)
Apr 1 18:05:24 coyote kernel: S kjournald: 1435 [f7d1c150, 115] (not blocked)
Apr 1 18:05:24 coyote kernel: S kjournald: 1436 [f7d1d200, 120] (not blocked)
Apr 1 18:05:24 coyote kernel: S kjournald: 1437 [f7d1c6e0, 115] (not blocked)
Apr 1 18:05:24 coyote kernel: S kjournald: 1438 [f7d2b7b0, 120] (not blocked)
Apr 1 18:05:24 coyote kernel: S khpsbpkt: 1496 [f7d2b220, 115] (not blocked)
Apr 1 18:05:24 coyote kernel: S knodemgrd_0: 1557 [f7fc8940, 116] (not blocked)
Apr 1 18:05:24 coyote kernel: S IRQ 4: 1614 [f7d2ac90, 60] (not blocked)
Apr 1 18:05:24 coyote kernel: S IRQ 3: 1615 [f7f8c920, 61] (not blocked)
Apr 1 18:05:24 coyote kernel: S syslogd: 1921 [f7e46cd0, 116] (not blocked)
Apr 1 18:05:24 coyote kernel: S klogd: 1925 [f7d357d0, 116] (not blocked)
Apr 1 18:05:24 coyote kernel: S portmap: 1936 [f7caf6f0, 116] (not blocked)
Apr 1 18:05:24 coyote kernel: S rpc.statd: 1955 [f7f8ceb0, 121] (not blocked)
Apr 1 18:05:24 coyote kernel: S nscd: 1992 [f7e46740, 116] (not blocked)
Apr 1 18:05:24 coyote kernel: S nscd: 1993 [f7fc83b0, 116] (not blocked)
Apr 1 18:05:24 coyote kernel: S nscd: 1994 [f7caf160, 115] (not blocked)
Apr 1 18:05:24 coyote kernel: S nscd: 1995 [f7fc99f0, 115] (not blocked)
Apr 1 18:05:24 coyote kernel: S nscd: 1996 [f7fc8ed0, 115] (not blocked)
Apr 1 18:05:24 coyote kernel: S nscd: 1997 [f7fc9460, 115] (not blocked)
Apr 1 18:05:24 coyote kernel: S ntpd: 2012 [f7caebd0, 116] (not blocked)
Apr 1 18:05:24 coyote kernel: S mount.smbfs: 2022 [f7cccbf0, 119] (not blocked)
Apr 1 18:05:24 coyote kernel: S smbiod: 2024 [f7ccc0d0, 115] (not blocked)
Apr 1 18:05:24 coyote kernel: S mount.smbfs: 2027 [f7d2a170, 121] (not blocked)
Apr 1 18:05:24 coyote kernel: S identd: 2037 [f7d34190, 123] (not blocked)
Apr 1 18:05:24 coyote kernel: S identd: 2044 [f7cae640, 124] (not blocked)
Apr 1 18:05:24 coyote kernel: S identd: 2045 [f7f26e30, 123] (not blocked)
Apr 1 18:05:24 coyote kernel: S identd: 2046 [f7f27950, 123] (not blocked)
Apr 1 18:05:24 coyote kernel: S smartd: 2054 [f7d34720, 122] (not blocked)
Apr 1 18:05:24 coyote kernel: S arpwatch: 2063 [f7f268a0, 116] (not blocked)
Apr 1 18:05:24 coyote kernel: S sshd: 2074 [f7e461b0, 120] (not blocked)
Apr 1 18:05:24 coyote kernel: S xinetd: 2089 [f7e47260, 117] (not blocked)
Apr 1 18:05:24 coyote kernel: S rpc.rquotad: 2102 [f7f273c0, 119] (not blocked)
Apr 1 18:05:24 coyote kernel: S nfsd: 2106 [f7f8c390, 120] (not blocked)
Apr 1 18:05:24 coyote kernel: S nfsd: 2107 [f7f8d9d0, 119] (not blocked)
Apr 1 18:05:24 coyote kernel: S nfsd: 2108 [f7f12880, 119] (not blocked)
Apr 1 18:05:24 coyote kernel: S nfsd: 2109 [f7f133a0, 119] (not blocked)
Apr 1 18:05:24 coyote kernel: S nfsd: 2110 [f7f12e10, 119] (not blocked)
Apr 1 18:05:24 coyote kernel: S nfsd: 2111 [f7d1d790, 120] (not blocked)
Apr 1 18:05:24 coyote kernel: S nfsd: 2112 [f7d1cc70, 120] (not blocked)
Apr 1 18:05:24 coyote kernel: S nfsd: 2113 [f6db7a30, 120] (not blocked)
Apr 1 18:05:24 coyote kernel: S lockd: 2117 [f6db74a0, 122] (not blocked)
Apr 1 18:05:24 coyote kernel: S rpciod/0: 2118 [f6db6f10, 111] (not blocked)
Apr 1 18:05:24 coyote kernel: S rpc.mountd: 2119 [f6db6980, 121] (not blocked)
Apr 1 18:05:24 coyote kernel: S rpc.rstatd: 2148 [f7f26310, 122] (not blocked)
Apr 1 18:05:24 coyote kernel: S S61xprint: 2261 [f6df4410, 121] (not blocked)
Apr 1 18:05:24 coyote kernel: S S61xprint: 2264 [f6e7f0e0, 124] (not blocked)
Apr 1 18:05:24 coyote kernel: S S61xprint: 2267 [f6df5a50, 120] (not blocked)
Apr 1 18:05:24 coyote kernel: S Apr 1 18:05:13 coyote gconfd (root-5947): starting (version 2.6.0), pid 5947 user 'root'
Apr 1 18:05:13 coyote gconfd (root-5947): Resolved address "xml:readonly:/etc/gconf/gconf.xml.mandatory" to a read-only config source at position 0
Apr 1 18:05:13 coyote gconfd (root-5947): Resolved address "xml:readwrite:/root/.gconf" to a writable config source at position 1
Apr 1 18:05:13 coyote gconfd (root-5947): Resolved address "xml:readonly:/etc/gconf/gconf.xml.defaults" to a read-only config source at position 2
Apr 1 18:05:19 coyote ieee1394.agent[6002]: ... no drivers for IEEE1394 product 0x/0x/0x
Apr 1 18:05:20 coyote kernel: ieee1394: raw1394: /dev/raw1394 device initialized
Apr 1 18:05:20 coyote ieee1394.agent[6016]: ... no drivers for IEEE1394 product 0x/0x/0x
[...]
Apr 1 18:05:24 coyote kernel:
Apr 1 18:05:24 coyote kernel: ==========================================
Apr 1 18:05:24 coyote kernel: [ BUG: lock recursion deadlock detected! |
Apr 1 18:05:24 coyote kernel: ------------------------------------------
[...snip copy]
[...snip copy]
Apr 1 18:05:26 coyote kernel: #042: [c045fa00] {tasklist_lock}
Apr 1 18:05:26 coyote kernel: .. held by: kino: 6082 [e13ecbb0, 118]
Apr 1 18:05:26 coyote kernel: ... acquired at: show_all_locks+0x30/0x130
Apr 1 18:05:26 coyote kernel: =============================================
Apr 1 18:05:26 coyote kernel:
Apr 1 18:05:26 coyote kernel: [ turning off deadlock detection. Please report this trace. ]
Apr 1 18:05:26 coyote kernel:
Apr 1 18:05:43 coyote gconfd (root-5947): GConf server is not in use, shutting down.
Apr 1 18:05:43 coyote gconfd (root-5947): Exiting
Apr 1 18:08:33 coyote kernel: /usr/src/spca-stf/spca5xx-20050206/drivers/usb/spca50x.c: USB SPCA5XX camera found.Type Labtec Webcam Pro Zc0302 + Hdcs2020
Apr 1 18:08:33 coyote kernel: /usr/src/spca-stf/spca5xx-20050206/drivers/usb/spca50x.c: [spca50x_probe:7258] Camera type JPEG
Apr 1 18:08:33 coyote kernel: usbcore: registered new driver spca50x
Apr 1 18:08:33 coyote kernel: /usr/src/spca-stf/spca5xx-20050206/drivers/usb/spca50x.c: spca5xx driver 56.02.06 registered
Apr 1 18:08:33 coyote kernel: /usr/src/spca-stf/spca5xx-20050206/drivers/usb/zc3xx.h: [zc3xx_init:231] Find Sensor HDCS2020
Apr 1 18:08:33 coyote kernel: /usr/src/spca-stf/spca5xx-20050206/drivers/usb/spca50x.c: init isoc: usb_submit_urb(0) ret -28
Apr 1 18:08:47 coyote kernel: ohci_hcd 0000:00:02.1: bad entry 37ce6440
[e9d36d08] {(struct semaphore *)(&tty->atomic_write)}--------------------------------
There are several sets of duplicate entries above, and to took the liberty of clipping some of them back out, almost as if the logging got stuck in a loop.
But, I only started kino once. And switched it to capture mode after starting, once, and shut it down once.
And, as far as getting video from the camera and displaying it on screen, that was fine ANAICT.
Make of this what you can. It certainly looks unusual to me.
Signature · 8 lines
Cheers, Gene "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) 99.34% setiathome rank, not too shabby for a WV hillbilly Yahoo.com and AOL/TW attorneys please note, additions to the above message by Gene Heskett are: Copyright 2005 by Maurice Eugene Heskett, all rights reserved.
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 3 lines · Gene Heskett
No one has commented about the loss of video in the tvtime/pcHDTV-3000 card situation, am I on my own, basicly reverting to the pcHDTV-2.0.tar.gz stuff to overwrite the kernel stuff?
You didn't really give much of a clue as to where to start looking.
If you report a bug of the "hardware foo stopped working with kernel bar" type, and that's all the information you provide, the bug report is useless to anyone who does not have the exact same hardware.
Lee
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 6 lines · Lee Revell
Quoted 4 lines · Gene Heskett
No one has commented about the loss of video in the tvtime/pcHDTV-3000 card situation, am I on my own, basicly reverting to the
pcHDTV-2.0.tar.gz stuff to overwrite the kernel stuff?
Quoted 8 lines
You didn't really give much of a clue as to where to start looking.
If you report a bug of the "hardware foo stopped working with kernel bar" type, and that's all the information you provide, the bug report is useless to anyone who does not have the exact same hardware.
Lee
I did, in a previous incarnation of this thread 2-3 days ago, post the lsmod output and a section of the log showing (I believe) rampant dma failures. It also didn't generate any comments.
FWIW, I have reinstalled the tarballs version of the drivers, but that was of no use, so its definitely something in the RT patch itself I believe. 2.6.12-rc1 works great. By default.
As far as my being able to fix that, I'm afraid I'll have to plead NDI. The last time I dealt with dma, was on an rca 1802 cpu, which had its own builtin dma controller that took care of everything but the pointer reload for the next 6 byte fetch, and which I used for 6 bytes per field of video to feed a homebrewed character generator I made out of ttl chips, to generate the academy leader on a commercial. The year was 1978. A bit far back up the log for even me, altho I may still have a copy of the machine code I wrote that ran it at KRCR-TV in Redding CA for a decade that I know of, maybe longer.
That is neither here nor there now of course, just shining a light back up the calendar about 27 years for illustration.
Signature · 8 lines
Cheers, Gene "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) 99.34% setiathome rank, not too shabby for a WV hillbilly Yahoo.com and AOL/TW attorneys please note, additions to the above message by Gene Heskett are: Copyright 2005 by Maurice Eugene Heskett, all rights reserved.
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
In reply to Gene HeskettQuoted 8 lines · Gene Heskett
Apr 1 18:05:20 coyote ieee1394.agent[6016]: ... no drivers for IEEE1394 product 0x/0x/0x
Apr 1 18:05:24 coyote kernel:
Apr 1 18:05:24 coyote kernel: ==========================================
Apr 1 18:05:24 coyote kernel: [ BUG: lock recursion deadlock detected! |
Apr 1 18:05:24 coyote kernel: ------------------------------------------
Apr 1 18:05:24 coyote kernel: already locked: [e4d17228] {(struct semaphore *)(&fi->complete_sem)}
Apr 1 18:05:24 coyote kernel: .. held by: kino: 6082 [e13ecbb0, 118]
Apr 1 18:05:24 coyote kernel: ... acquired at: raw1394_read+0x104/0x110 [raw1394]hm - does the patch below help? (or -43-06 which has the same patch)
Ingo
drivers/ieee1394/raw1394-private.h renamed from drivers/ieee1394/raw1394-private.h.orig +1 -1
@@ -29,7 +29,7 @@ struct file_info {struct list_head req_pending;struct list_head req_complete; -struct semaphore complete_sem; +struct compat_semaphore complete_sem;spinlock_t reqlists_lock;wait_queue_head_t poll_wait_complete;
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Hi Ingo,
I've discovered a problem with basically all "yields" in the kernel. But that's not why I'm writing you this. To see if your kernel has the same problems as mine, I wrote a modified test that caused me the problems, and ran it on your kernel. But too my surprise, this test caused other problems. This modified test causes my kernel the same types of problems too.
Attached is the test I ran. The list.h is just my version of the kernels list functions for userspace. It's used in the test program.
What the test program does, is spawn 5 processes, each with a different priority. Starting with 10 and going to 14. All are SCHED_FIFO. Each of these processes just do a scan of all directories starting with the root directory '/' and going down. I usually run this with a directory NFS mounted too, but I don't think this was a problem.
Here's the bug I get:
Slab corruption: start=cfc45938, len=276
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<c0142b1d>](mempool_free+0x9d/0xb0) 050: 68 9a 3e c0 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b Prev obj: start=cfc45818, len=276
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [<c01426a8>](mempool_create+0xe8/0x120) 000: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 010: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a Next obj: start=cfc45a58, len=276
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<00000000>](0x0)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b BUG at kernel/timer.c:419!
------------[ cut here ]------------ kernel BUG at kernel/timer.c:419! invalid operand: 0000 [#1] PREEMPT Modules linked in: CPU: 0 EIP: 0060:[<c012142d>] Not tainted VLI EFLAGS: 00010282 (2.6.12-rc1-RT-V0.7.43-06)
EIP is at cascade+0x6d/0x80
eax: 0000001e ebx: c03e9a90 ecx: 00000000 edx: c0118720
esi: c03e9a68 edi: c03e9a90 ebp: c1273f44 esp: c1273f2c
ds: 007b es: 007b ss: 0068 preempt: 00000001
Process ksoftirqd/0 (pid: 2, threadinfo=c1272000 task=cffed260)
Stack: c0387e66 c0389ef9 000001a3 00000000 c03e9878 c1273f60 c1273f78 c0121bae
c03e9080 c03e98f0 0000002f 00000000 c1272000 c1273f60 c1273f60 c0112643
00000005 c1272000 00000000 c1273fa0 c011d45a c04f3e28 c1272000 cffeff00
Call Trace:
[<c0103bef>] show_stack+0x8f/0xb0 (28)
[<c0103daa>] show_registers+0x16a/0x1d0 (56)
[<c0103fc6>] die+0xf6/0x190 (64)
[<c01044e1>] do_invalid_op+0xc1/0xd0 (204)
[<c010381b>] error_code+0x2b/0x30 (84)
[<c0121bae>] run_timer_softirq+0x2ae/0x420 (52)
[<c011d45a>] ___do_softirq+0x9a/0x100 (40)
[<c011d579>] _do_softirq+0x29/0x30 (8)
[<c011da41>] ksoftirqd+0xb1/0x130 (20)
[<c012de1a>] kthread+0xaa/0xb0 (48)
[<c0100e35>] kernel_thread_helper+0x5/0x10 (1054392340)
---------------------------| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c0103f13>] .... die+0x43/0x190
.....[<c01044e1>] .. ( <= do_invalid_op+0xc1/0xd0)
.. [<c0137b8d>] .... print_traces+0x1d/0x60
.....[<c0103bef>] .. ( <= show_stack+0x8f/0xb0)
Code: 76 04 8b 45 10 83 c4 0c 5b 5e 5f 5d c3 c7 04 24 66 7e 38 c0 b8 a3 01 00 00 89 44 24 08 b8 f9 9e 38 c0 89 44 24 04 e8 d3 6e ff ff <0f> 0b a3 01 f9 9e 38 c0 eb b3 89 f6 8d bc 27 00 00 00 00 55 89
BUG: ksoftirqd/0/2, lock held at task exit time!
[c03e9080] {&base->lock}.. held by: ksoftirqd/0: 2 [cffed260, 106]
... acquired at: run_timer_softirq+0x243/0x420
-- Steve
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <time.h>
#include <sys/sem.h>
#include <sys/shm.h>
#include <sys/time.h>
#include <sys/wait.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <fcntl.h>
#include <signal.h>
#include <ctype.h>
#include <sched.h>
#define __USE_GNU
#include <sys/ipc.h>
#ifdef SDR_TOOLS
#include <dump_log.h>
#include <linux/logdev.h>
#include <dump_log.h>
#include <tracer_xml.h>
#include "dump_trace.h"
int logfd = -1;
#else
#define logdev_print(x...) do {} while(0)
#define logdev_switch_set(x) (0)
#endif
#include <list.h>
static int reader (int i);
typedef int (*callfunc_t)(int);
#define NR_PROCS 5pid_t pids[NR_PROCS];callfunc_t dofunc[NR_PROCS] = {
reader,
reader,
reader,
reader,
reader
};
int priorities[NR_PROCS] = {
10,
11,
12,
13,
14,
};key_t key;
int semid = -1;
int shmid = -1;
int safe = 0;
int tod = 0;
int *flags;
void cleanup(void)
{
int i;
for (i=0; i < NR_PROCS; i++) {
if (pids[i])
kill(pids[i],SIGKILL);
}
if (semid >= 0)
semctl(semid, 0, IPC_RMID);
if (shmid >= 0)
shmctl(shmid, IPC_RMID, NULL);
#ifdef SDR_TOOLS
if (logfd >= 0)
close_logdev(logfd);#endif
}
void catchall(int sig)
{
cleanup();
psignal(sig,"Caught: ");
exit(-1);
}static int compare_timeval(const struct timeval *a, const struct timeval *b)
{
return (a->tv_sec > b->tv_sec) ? 1 :
(a->tv_sec < b->tv_sec) ? -1:
(a->tv_usec > b->tv_usec) ? 1:
(a->tv_usec < b->tv_usec) ? -1:
0;
}static void add_timeval(const struct timeval *a, const struct timeval *b, struct timeval *c) {
c->tv_usec = a->tv_usec + b->tv_usec;
c->tv_sec = a->tv_sec + b->tv_sec;
while (c->tv_usec > 1000000) {
c->tv_usec -= 1000000;
c->tv_sec++;
}}
static void sub_timeval(const struct timeval *a, const struct timeval *b, struct timeval *c) {
c->tv_usec = a->tv_usec - b->tv_usec;
c->tv_sec = a->tv_sec - b->tv_sec;
while (c->tv_usec < 0) {
c->tv_usec += 1000000;
c->tv_sec--;
}}
struct dir_item {
struct list_head list;
char *dir;
};LIST_HEAD_DECLARE(dirs);
static void read_dirs(char *dirname)
{
DIR *dir;
struct dirent *dent;
struct stat st;
struct dir_item *item;
int len = strlen(dirname);
char *name;
if ((dir = opendir(dirname)) == NULL)
return;
while ((dent = readdir(dir))) {
if (strcmp(dent->d_name,".") == 0 ||
strcmp(dent->d_name,"..") == 0)
continue;
name = malloc(strlen(dent->d_name)+len+2);
if (!name) {
goto out;
}
strcpy(name,dirname);
name[len] = '/';
strcpy(name+len+1,dent->d_name);
if (stat(name,&st) < 0) {
perror(name);
free(name);
continue;
}
if ((S_ISDIR(st.st_mode))) {
item = malloc(sizeof(*item));
if (!item) {
free(name);
goto out;
}
item->dir = name;
list_add_tail(&item->list,&dirs);
} else {
free(name);
}
}
out:
closedir(dir);
}static int reader(int i)
{
struct sembuf sops;
int semid;
struct timeval starttv;
struct timeval endtv;
struct timeval tv;
struct timeval lasttv;
struct timeval deltatv;
time_t t;
char timebuf[30];
unsigned long long starttsc, nowtsc;
memset(&sops,0,sizeof(sops));
if ((semid = semget(key,1,0)) < 0) {
perror("semget");
return -1;
}
printf("reader %d grabbing waiting on sem\n",i);
if (semop(semid, &sops, 1) < 0) {
perror("semop");
return -1;
}
logdev_print(logfd,"reader %d past semaphore\n",i);
if (gettimeofday(&starttv,NULL) < 0) {
perror("gettimeofday");
return -1;
}
memset (&deltatv,0,sizeof(deltatv));
endtv.tv_sec = 10;
endtv.tv_usec = 0;
add_timeval(&starttv,&endtv,&endtv);
t = time(NULL);
ctime_r(&t,timebuf);
timebuf[strlen(timebuf)-1] = 0;
printf("reader %d starting loop (%s)\n",i,timebuf);
logdev_print(logfd,"reader %d (pid %d) starting loop (%s)\n",i,getpid(),timebuf);
lasttv = starttv;
asm ("rdtsc" : "=A"(starttsc));
chdir("/");
read_dirs("/");
do {
struct list_head *p;
struct dir_item *item;
asm ("rdtsc" : "=A"(nowtsc));
if (safe && (nowtsc - starttsc > 8000000000ULL)) {
printf("now - start > 8000000000\n");
break;
}
if (list_empty(&dirs))
break;
p = dirs.next;
list_del(p);
item = list_entry(p,struct dir_item, list);
read_dirs(item->dir);
free(item->dir);
free(item);
if (gettimeofday(&tv,NULL) < 0) {
perror("gettimeofday (in loop)");
return -1;
}
sub_timeval(&tv,&lasttv,&lasttv);
if (compare_timeval(&deltatv,&lasttv) < 0)
deltatv = lasttv;
lasttv = tv;
} while(!tod || compare_timeval(&endtv,&tv) > 0);
t = time(NULL);
ctime_r(&t,timebuf);
timebuf[strlen(timebuf)-1] = 0;
logdev_print(logfd,"spinner %d (pid %d) done (%s)\n",i,getpid(),timebuf);
printf("spinner %d ended loop (%s) (%d.%06d secs delta)\n",
i,timebuf,(int)deltatv.tv_sec,(int)deltatv.tv_usec);
return 0;
}void usage(char **argv)
{
char *arg = argv[0];
char *p = arg+strlen(arg);
while (p >= arg && *p != '/') p--;
p++;
printf("\nusage: %s [-st]\n"
" -s : safe mode. Have the readers use the tsc to stop\n"
" -t : use timeofday to stop loop\n"
"\n",p);
exit(-1);
}int main (int argc, char **argv)
{
int ret=0;
int i;
int nr_procs=0;
struct sembuf sops;
int c;
opterr = 0;
while ((c=getopt(argc,argv,"hnsf:")) >= 0) {
switch (c) {
case 's':
safe = 1;
break;
case 't':
tod = 1;
break;
case 'h':
default:
printf("\n");
if (c != ':' && tolower(optopt) != 'h' && optopt != '?')
printf("unknown option: %c\n",optopt);
usage(argv);
}
}
key = ftok(argv[0],123);
if ((semid = semget(key,1,IPC_CREAT|IPC_EXCL|0600)) < 0) {
perror("semget");
exit (-1);
}
if ((shmid = shmget(key,30,IPC_CREAT|IPC_EXCL|0600)) < 0) {
perror("shmget");
goto out;
}
if ((flags = shmat(shmid, NULL, 0)) == (void*)-1) {
perror("shmat");
goto out;
}#ifdef SDR_TOOLS
if ((logfd = open_logdev(NULL,O_RDWR)) < 0) {
perror("open_logdev");
goto out;
}
if (logdev_switch_set(1)) {
perror("logdev_switch_on");
}#endif
/* Grab the semaphore before anyone else can take it. */
memset(&sops,0,sizeof(sops));
// sops.sem_flg = SEM_UNDO;
sops.sem_op = 1;
if (semop(semid, &sops, 1) < 0) {
perror("semop");
ret = -1;
goto out;
}
for (i=0; i < NR_PROCS; i++) {
struct sched_param p;
if ((pids[i] = fork()) < 0) {
perror("fork");
ret = -1;
goto out;
} else if (pids[i] == 0) {
/* child */
ret = dofunc[i](i);
exit(ret);
}
nr_procs++;
p.sched_priority = priorities[i];
if (sched_setscheduler(pids[i],SCHED_FIFO,&p)) {
perror("sched_setscheduler");
goto out;
}
/* parent */
}
signal(SIGINT,catchall);
signal(SIGILL,catchall);
signal(SIGFPE,catchall);
signal(SIGSEGV,catchall);
signal(SIGBUS,catchall);
sleep(1);
printf("parent zeroing semaphore\n");
sops.sem_op = -1;
if (semop(semid,&sops,1) < 0) {
perror("semop");
ret = -1;
goto out;
}
while (nr_procs) {
int status;
pid_t pid;
if ((pid = wait(&status)) < 0) {
perror("wait");
break;
}
for (i=0; i < NR_PROCS; i++) {
if (pids[i] == pid) {
pids[i] = 0;
nr_procs--;
}
}
}
if (logdev_switch_set(0)) {
perror("logdev_switch_off");
}out:
cleanup(); exit(ret); }
#ifndef __USER_LIST_H
#define __USER_LIST_H
#include <sys/types.h>
#include <unistd.h>
#define DEBUG_LIST
#ifdef DEBUG_LIST
#include <sys/types.h>
#include <signal.h>
#ifndef LIST_BUG
#define LIST_BUG() do { printf(">>>>> list bug <<<< at %d\n",__LINE__); kill(getpid(),SIGSEGV); } while(0) #endif
#define __LIST_MAGIC 0xdeabbeef
#define __LIST_MAGIC_POISON 0xbeefdead
#define __LIST_MAGIC_COMMA , __LIST_MAGIC
#define __LIST_MAGIC_ASSIGN(x) (x).magic = __LIST_MAGIC;
#else
#define __LIST_MAGIC
#define __LIST_MAGIC_COMMA
#define __LIST_MAGIC_ASSIGN(x)
#endif
#define __LIST_POISON ((struct list_head *)-1)
struct list_head {
struct list_head *next;
struct list_head *prev;
#ifdef DEBUG_LIST
int magic;#endif
};
#define LIST_HEAD_INIT(x) { &x, &x __LIST_MAGIC_COMMA}
#define LIST_HEAD_DECLARE(x) struct list_head x = LIST_HEAD_INIT(x)
#define INIT_LIST_HEAD(x) do { (x).next = &x; (x).prev = &x; __LIST_MAGIC_ASSIGN(x)} while (0)
#define list_for_each(p,list) for(p=(list)->next; p != list; p=p->next) #define list_for_each_reverse(p,list) for(p=(list)->prev; p != list; p=p->prev) #define list_for_each_safe(p,n,list) for(p=(list)->next,n=p->next; p != list; p=n,n=p->next)
#ifdef DEBUG_LIST
static inline void list_check(struct list_head *x)
{
struct list_head *p;
list_for_each_reverse(p,x) { if (p->magic != __LIST_MAGIC) LIST_BUG(); }
list_for_each(p,x) { if (p->magic != __LIST_MAGIC) LIST_BUG(); }
}#endif
static inline void list_add(struct list_head *x,struct list_head *list) {
#ifdef DEBUG_LIST if (x->magic == __LIST_MAGIC_POISON && (x->next != __LIST_POISON || x->prev != __LIST_POISON)) LIST_BUG(); #endif x->next = list->next; x->prev = list; list->next->prev = x; list->next = x; #ifdef DEBUG_LIST x->magic = __LIST_MAGIC; list_check(list);
#endif
}
static inline void list_add_tail(struct list_head *x, struct list_head *list) {
#ifdef DEBUG_LIST if (x->magic == __LIST_MAGIC && (x->next != __LIST_POISON || x->prev != __LIST_POISON)) LIST_BUG(); #endif x->prev = list->prev; x->next = list; list->prev->next = x; list->prev = x; #ifdef DEBUG_LIST x->magic = __LIST_MAGIC; list_check(list);
#endif
}
#define list_entry(p,type,list) ((type*)(((char*)(p))-((char*)&(((type*)NULL)->list))))
#define list_empty(list) ((list)->next == (list))
#define list_head(list) ((list)->next)
static inline void list_del(struct list_head *x)
{
#ifdef DEBUG_LIST if (x->magic != __LIST_MAGIC) LIST_BUG(); list_check(x); x->magic = __LIST_MAGIC_POISON; #endif x->prev->next = x->next; x->next->prev = x->prev; x->next = __LIST_POISON; x->prev = __LIST_POISON; }
static inline struct list_head * pop_list_head(struct list_head *head)
{
struct list_head *p;
if (list_empty(head))
return NULL;
p = head->next;
list_del(p);
#ifdef DEBUG_LIST
list_check(head);
#endif
return p;
}#endif /* __USER_LIST_H */
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 2 lines · Steven Rostedt
Here's the bug I get:
FYI
For kicks I ran this on 2.6.11-rc2-RT-V0.7.36-02 (I still had it as a Grub option), and the system just locked up hard. I just was curious if this was from a different change. But at least in the latest it shows output, and not just a hard lockup.
Oh, the bug report was running kernel 2.6.12-rc1-RT-V0.7.43-06.
-- Steve
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 11 lines · Steven Rostedt
Quoted 2 lines · Steven Rostedt
Here's the bug I get:
FYI
For kicks I ran this on 2.6.11-rc2-RT-V0.7.36-02 (I still had it as a Grub option), and the system just locked up hard. I just was curious if this was from a different change. But at least in the latest it shows output, and not just a hard lockup.
I had the same results yesterday, while punishing the swap by building the kernel with make -j64 over NFS. It thrashed wildly for 20 minutes or so then eventually all disk activity stopped. Of course that stupid cow continued bouncing up and down...
It wasn't clear from your last mail whether you were using NFS. If so I would be suspicious given the NFS changes in the new RT patches. I'll try to reproduce the problem on a local fs.
Lee
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 3 lines · Lee Revell
It wasn't clear from your last mail whether you were using NFS. If so I would be suspicious given the NFS changes in the new RT patches. I'll try to reproduce the problem on a local fs.
also, try to undo the fs/nfs/*.c and include/linux/*nfs*.h changes, those are latency breakers, so not strictly necessary.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 9 lines · Ingo Molnar
Quoted 3 lines · Lee Revell
It wasn't clear from your last mail whether you were using NFS. If so I would be suspicious given the NFS changes in the new RT patches. I'll try to reproduce the problem on a local fs.
also, try to undo the
fs/nfs/*.candinclude/linux/*nfs*.hchanges, those are latency breakers, so not strictly necessary.Ingo
Hi Ingo;
I just got done rebooting to 43-06, had problems with my heyu startup scripts again, but I finally found a missing & in one of them, and I can have it recycle itself from the cli like it used to again.
So far, with *all* the 'logit' switches turned on and in full preempt mode, there's nothing unusual in the log.
Here goes tvtime from a cli:
Audio only, blue screen video, this in the log:
---------------
Apr 2 17:12:48 coyote kernel: cx88[0]: video y / packed - dma channel status dump
Apr 2 17:12:48 coyote kernel: cx88[0]: cmds: initial risc: 0x06b46000
Apr 2 17:12:48 coyote kernel: cx88[0]: cmds: cdt base : 0x00180440
Apr 2 17:12:48 coyote kernel: cx88[0]: cmds: cdt size : 0x0000000c
Apr 2 17:12:48 coyote kernel: cx88[0]: cmds: iq base : 0x00180400
Apr 2 17:12:48 coyote kernel: cx88[0]: cmds: iq size : 0x00000010
Apr 2 17:12:48 coyote kernel: cx88[0]: cmds: risc pc : 0x00000000
Apr 2 17:12:48 coyote kernel: cx88[0]: cmds: iq wr ptr : 0x00000000
Apr 2 17:12:48 coyote kernel: cx88[0]: cmds: iq rd ptr : 0x00000000
Apr 2 17:12:48 coyote kernel: cx88[0]: cmds: cdt current : 0x00000000
Apr 2 17:12:48 coyote kernel: cx88[0]: cmds: pci target : 0x00000000
Apr 2 17:12:48 coyote kernel: cx88[0]: cmds: line / byte : 0x00000000
Apr 2 17:12:48 coyote kernel: cx88[0]: risc0: 0x00000000 [ INVALID count=0 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: risc1: 0x00000000 [ INVALID count=0 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: risc2: 0x00000000 [ INVALID count=0 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: risc3: 0x00000000 [ INVALID count=0 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: iq 0: 0x80008000 [ sync resync count=0 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: iq 1: 0x1c000500 [ write sol eol count=1280 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: iq 2: 0x06922000 [ arg #1 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: iq 3: 0x1c000500 [ write sol eol count=1280 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: iq 4: 0x06922a00 [ arg #1 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: iq 5: 0x1c000500 [ write sol eol count=1280 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: iq 6: 0x2dc68400 [ arg #1 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: iq 7: 0x18000200 [ write sol count=512 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: iq 8: 0x2dc68e00 [ arg #1 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: iq 9: 0x14000300 [ write eol count=768 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: iq a: 0x2dc69000 [ arg #1 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: iq b: 0x1c000500 [ write sol eol count=1280 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: iq c: 0x2dc69800 [ arg #1 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: iq d: 0x0031c040 [ INVALID 21 20 cnt0 resync 14 count=64 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: iq e: 0x00000000 [ INVALID count=0 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: iq f: 0x00000011 [ INVALID count=17 ]
Apr 2 17:12:48 coyote kernel: cx88[0]: fifo: 0x00180c00 -> 0x183400
Apr 2 17:12:48 coyote kernel: cx88[0]: ctrl: 0x00180400 -> 0x180460
Apr 2 17:12:48 coyote kernel: cx88[0]: ptr1_reg: 0x00182118
Apr 2 17:12:48 coyote kernel: cx88[0]: ptr2_reg: 0x00180488
Apr 2 17:12:48 coyote kernel: cx88[0]: cnt1_reg: 0x00000082
Apr 2 17:12:48 coyote kernel: cx88[0]: cnt2_reg: 0x00000000
Apr 2 17:12:48 coyote kernel: cx88[0]/0: [d4da5940/0] timeout - dma=0x00000000
Apr 2 17:12:48 coyote kernel: cx88[0]/0: [d4da5d40/1] timeout - dma=0x00000000
Apr 2 17:12:48 coyote kernel: cx88[0]/0: [d417d960/2] timeout - dma=0x00000000
Apr 2 17:12:48 coyote kernel: cx88[0]/0: [d4da5540/3] timeout - dma=0x06b46000
Apr 2 17:12:49 coyote kernel: cx88[0]: video y / packed - dma channel status dump
[...]
followed by many repeats of the above as I let it run about
5-6 seconds. On exit, this:
Apr 2 17:12:57 coyote kernel: rtc latency histogram of {tvtime/5717, 232 samples}:
Apr 2 17:12:57 coyote kernel: 20 4
Apr 2 17:12:57 coyote kernel: 21 81
Apr 2 17:12:57 coyote kernel: 22 64
Apr 2 17:12:57 coyote kernel: 23 32
Apr 2 17:12:57 coyote kernel: 24 13
Apr 2 17:12:57 coyote kernel: 25 2
Apr 2 17:12:57 coyote kernel: 26 8
Apr 2 17:12:57 coyote kernel: 27 2
Apr 2 17:12:57 coyote kernel: 28 3
Apr 2 17:12:57 coyote kernel: 29 1
Apr 2 17:12:57 coyote kernel: 30 1
Apr 2 17:12:57 coyote kernel: 32 2
Apr 2 17:12:57 coyote kernel: 33 2
Apr 2 17:12:57 coyote kernel: 34 1
Apr 2 17:12:57 coyote kernel: 35 1
Apr 2 17:12:57 coyote kernel: 37 1
Apr 2 17:12:57 coyote kernel: 9999 14------------
dma timeouts. I don't get these, and I do get good video under 2.6.12-rc1 re-installing the pcHDTV-2.0 stuff doesn't help.
The rest of the stuff I usually check..
xsane ok
kino ok, only errors logged was because I started it before turning the camera on :(
spcagui ok once spca50x was reinstalled, a few lines in the log:
-------------------
Apr 2 17:21:54 coyote kernel: /usr/src/spca-stf/spca5xx-20050206/drivers/usb/spca50x.c: USB SPCA5XX camera found. Type Labtec Webcam Pro Zc0302 + Hdcs2020 Apr 2 17:21:54 coyote kernel: /usr/src/spca-stf/spca5xx-20050206/drivers/usb/spca50x.c: [spca50x_probe:7258] Camera type JPEG Apr 2 17:21:54 coyote kernel: usbcore: registered new driver spca50x Apr 2 17:21:54 coyote kernel: /usr/src/spca-stf/spca5xx-20050206/drivers/usb/spca50x.c: spca5xx driver 56.02.06 registered Apr 2 17:21:54 coyote kernel: /usr/src/spca-stf/spca5xx-20050206/drivers/usb/zc3xx.h: [zc3xx_init:231] Find Sensor HDCS2020 Apr 2 17:21:55 coyote kernel: /usr/src/spca-stf/spca5xx-20050206/drivers/usb/spca50x.c: init isoc: usb_submit_urb(0) ret -28 Apr 2 17:22:08 coyote kernel: ohci_hcd 0000:00:02.1: bad entry 37ce6580
-------------------
That last item was when I clicked the Q button I believe. But it worked, albeit with a pretty decent cpu hit, 25% or so. That cpu hit is nothing new, its the jpeg decoder I'm told.
This "feels good" so far, but I'd sure like to get tvtime working again.
Signature · 8 lines
Cheers, Gene "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) 99.34% setiathome rank, not too shabby for a WV hillbilly Yahoo.com and AOL/TW attorneys please note, additions to the above message by Gene Heskett are: Copyright 2005 by Maurice Eugene Heskett, all rights reserved.
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
In reply to Steven RostedtQuoted 5 lines · Steven Rostedt
Quoted 2 lines · Steven Rostedt
Here's the bug I get:
Quoted 8 lines
FYI
For kicks I ran this on 2.6.11-rc2-RT-V0.7.36-02 (I still had it as a Grub option), and the system just locked up hard. I just was curious if this was from a different change. But at least in the latest it shows output, and not just a hard lockup.
Oh, the bug report was running kernel 2.6.12-rc1-RT-V0.7.43-06.
ok, so it's not the recent NFS changes.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 9 lines · Ingo Molnar
Quoted 7 lines · Steven Rostedt
Quoted 2 lines · Steven Rostedt
Here's the bug I get:
FYI
Quoted 9 lines
Quoted 6 lines
For kicks I ran this on 2.6.11-rc2-RT-V0.7.36-02 (I still had it as a Grub option), and the system just locked up hard. I just was curious if this was from a different change. But at least in the latest it shows output, and not just a hard lockup.
Oh, the bug report was running kernel 2.6.12-rc1-RT-V0.7.43-06.
ok, so it's not the recent NFS changes.
I may need to take this back. I forgot to open the serial, so it wasn't accepting input. So it would just appear dead. And the console was fighting against the RT tasks, so it too would seem to be dead. I've reran the test on the latest, but this time I didn't have the NFS mounted, and it's still running.
-- Steve
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 12 lines · Steven Rostedt
Quoted 10 lines · Ingo Molnar
Quoted 9 lines
FYI
For kicks I ran this on 2.6.11-rc2-RT-V0.7.36-02 (I still had it as a Grub option), and the system just locked up hard. I just was curious if this was from a different change. But at least in the latest it shows output, and not just a hard lockup.
Oh, the bug report was running kernel 2.6.12-rc1-RT-V0.7.43-06.
Quoted 9 lines
Quoted 2 lines
ok, so it's not the recent NFS changes.
I may need to take this back. I forgot to open the serial, so it wasn't accepting input. So it would just appear dead. And the console was fighting against the RT tasks, so it too would seem to be dead. I've reran the test on the latest, but this time I didn't have the NFS mounted, and it's still running.
I tried the 2.6.12-rc1-RT-V0.7.43-06 kernel again, and I still have the serial, to do sysrq. The console is using X which locks (even all the ctrl-alt-X functions) and the ssh session that I run the test stops after the processes try to grab the locks. It doesn't reply to ping. But the sysrq from the serial shows constantly:
s test3_rt: 2269 [cf304690, 89] (not blocked)
s test3_rt: 2270 [cf304050, 88] (not blocked)
s test3_rt: 2271 [cef86cb0, 87] (not blocked)
s test3_rt: 2272 [cef86670, 86] (not blocked)
R test3_rt: 2273 [cf28a050, 85] (not blocked)
So it seems that it's in a deadlock somewhere. Since the 43-06 gets much further, this seems to be another problem. I'm not going to look at this problem anymore, since it doesn't show up in the lastest.
I'll run a few more tests to see if I can narrow things down on 43-06.
-- Steve
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 16 lines · Steven Rostedt
Quoted 1 line · Steven Rostedt
On Sat, 2005-04-02 at 22:35 +0200, Ingo Molnar wrote:
I tried the 2.6.12-rc1-RT-V0.7.43-06 kernel again, and I still have the serial, to do sysrq. The console is using X which locks (even all the ctrl-alt-X functions) and the ssh session that I run the test stops after the processes try to grab the locks. It doesn't reply to ping. But the sysrq from the serial shows constantly:
s
test3_rt: 2269 [cf304690, 89] (not blocked)
stest3_rt: 2270 [cf304050, 88] (not blocked)
stest3_rt: 2271 [cef86cb0, 87] (not blocked)
stest3_rt: 2272 [cef86670, 86] (not blocked)
Rtest3_rt: 2273 [cf28a050, 85] (not blocked)
Quoted 5 lines
So it seems that it's in a deadlock somewhere. Since the 43-06 gets much further, this seems to be another problem. I'm not going to look at this problem anymore, since it doesn't show up in the lastest.
I'll run a few more tests to see if I can narrow things down on 43-06.
Once again I spoke too soon. I got the same lockup with 43-06, it just took a little more to do so. All I did differently was to put the test into a while loop on the command line:
while : ; do test3_rs ; done
On the second iteration, it locked up in the same place as 36-02. But this is a different issue than what I showed with a NFS mounted system. That was a BUG where as this has something in a spinning loop somewhere. The attached is the gzipped minicom capture. After the system locked up, I was still able to get the serial input and do a few task dumps. I did several and it clearly shows that the system is locked. What you constantly see is:
R test3_rt: 2263 [cbd6b9b0, 116] (not blocked)
S test3_rt: 2264 [cc06d8d0, 89] (not blocked)
S test3_rt: 2265 [cc06c090, 88] (not blocked)
R test3_rt: 2266 [cc06ccb0, 87] (not blocked)
D test3_rt: 2267 [cc1286c0, 86] blocked on: [ce127650] {(struct
semaphore *)(&inode->i_sem)}
.. held by: test3_rt: 2268 [ce822760, 85]
... acquired at: vfs_readdir+0x53/0xa0
D test3_rt: 2268 [ce822760, 85] (not blocked)
Process 2263 started the run and has just released the semaphore, it was preempted before getting to the wait and although still running, it is not really part of the picture.
Process 2267 is blocked on 2268 which is sleeping at fs/jbd/transaction.c:636 which is in do_get_write_access waiting (I believe) for a transaction to finish. Probably for kjournald to run, since it is also in the running state.
But the problem seems to be with 2266 where as it's trace shows:
test3_rt [cc06ccb0]R C0371AD6 [on rq] 6824 2266 2263 2267 2265 (NOTLB)cadebc48 00000046 c04eea30 c0371ad6 00000000 00000001 00000016 c0371aa1
c0102d00 00000000 00000000 11de7305 071e89c0 00000071 cc06ccb0 cc06cde8
ffffffff cc06ccb0 cfae68d4 cadebc5c c0371ad6 10000000 cabc71ac cfae68d4
Call Trace:
[<c0371ad6>] preempt_schedule_irq+0x46/0x70 (20)
[<c0102d00>] need_resched+0x20/0x24 (-7260)
---------------------------| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c03710df>] .... __schedule+0x4f/0x840
.....[<c0371ad6>] .. ( <= preempt_schedule_irq+0x46/0x70)
.. [<c0371179>] .... __schedule+0xe9/0x840
.....[<c0371ad6>] .. ( <= preempt_schedule_irq+0x46/0x70)
Which is not very helpful.
So it is probably stuck in some spinning "yield" loop, which was the reason I was writing this test to begin with! It's most likely also waiting for kjournald to do some work, and is starving it in a schedule or yield loop never actually going to sleep letting kjournald do the real work.
-- Steve
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 5 lines · Steven Rostedt
So it is probably stuck in some spinning "yield" loop, which was the reason I was writing this test to begin with! It's most likely also waiting for kjournald to do some work, and is starving it in a schedule or yield loop never actually going to sleep letting kjournald do the real work.
actually, what priorities do the yielding tasks have? sched_yield() does not guarantee that the CPU will be given up, of if a highest-prio SCHED_FIFO task is in a yield() loop it will livelock the system.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 8 lines · Ingo Molnar
Quoted 5 lines · Steven Rostedt
So it is probably stuck in some spinning "yield" loop, which was the reason I was writing this test to begin with! It's most likely also waiting for kjournald to do some work, and is starving it in a schedule or yield loop never actually going to sleep letting kjournald do the real work.
Quoted 4 lines
actually, what priorities do the yielding tasks have?
sched_yield()does not guarantee that the CPU will be given up, of if a highest-prioSCHED_FIFOtask is in ayield()loop it will livelock the system.
What scares me is the code in fs/inode.c with that __wait_on_freeing_inode. Look at the code in find_inode and find_inode_fast. Here you will see that they really are busy loops with a yield in them, if the inode they are waiting on is I_FREEING or I_CLEAR and the process doing this hasn't set I_LOCK. I haven't looked much at this, but my kernel has livelocked on it.
My custom kernel plays with dynamic priorities. That is tasks jump around in their priorities based on different situations not part of the normal linux kernel. So my kernel can find these cases easier since a path where a process gets bumped up to a high priority happens more often and causes preemption more often than the normal RT kernel. But this situation can probably occur in the RT kernel and maybe even the mainline kernel, since it only needs to have a RT FIFO task get blocked here, and a lower priority task needing to run to change the state.
Currently my fix is in yield to lower the priority of the task calling yield and raise it after the schedule. This is NOT a proper fix. It's just a hack so I can get by it and test other parts.
-- Steve
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 10 lines · Steven Rostedt
Quoted 3 lines
actually, what priorities do the yielding tasks have?
sched_yield()does not guarantee that the CPU will be given up, of if a highest-prioSCHED_FIFOtask is in ayield()loop it will livelock the system.What scares me is the code in
fs/inode.cwith that__wait_on_freeing_inode. Look at the code infind_inodeandfind_inode_fast. Here you will see that they really are busy loops with a yield in them, if the inode they are waiting on isI_FREEINGorI_CLEARand the process doing this hasn't setI_LOCK. I haven't looked much at this, but my kernel has livelocked on it.
ok, makes sense.
Quoted 3 lines
Currently my fix is in yield to lower the priority of the task calling yield and raise it after the schedule. This is NOT a proper fix. It's just a hack so I can get by it and test other parts.
yeah, yield() is a quite RT-incompatible concept, which could livelock an upstream kernel just as much - if the task in question is SCHED_FIFO. Almost all yield() uses should be eliminated from the upstream kernel, step by step.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 8 lines · Ingo Molnar
Quoted 3 lines
Currently my fix is in yield to lower the priority of the task calling yield and raise it after the schedule. This is NOT a proper fix. It's just a hack so I can get by it and test other parts.
yeah,
yield()is a quite RT-incompatible concept, which could livelock an upstream kernel just as much - if the task in question isSCHED_FIFO. Almost allyield()uses should be eliminated from the upstream kernel, step by step.
Now the question is, who will fix it? Preferably the maintainers, but I don't know how much of a priority this is to them. I don't have the time now to look at this and understand enough about the code to be able to make a proper fix, and I'm sure you have other things to do too.
-- Steve
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 11 lines · Steven Rostedt
Quoted 8 lines · Ingo Molnar
Quoted 3 lines
Currently my fix is in yield to lower the priority of the task calling yield and raise it after the schedule. This is NOT a proper fix. It's just a hack so I can get by it and test other parts.
yeah,
yield()is a quite RT-incompatible concept, which could livelock an upstream kernel just as much - if the task in question isSCHED_FIFO. Almost allyield()uses should be eliminated from the upstream kernel, step by step.
Quoted 4 lines
Now the question is, who will fix it? Preferably the maintainers, but I don't know how much of a priority this is to them. I don't have the time now to look at this and understand enough about the code to be able to make a proper fix, and I'm sure you have other things to do too.
I'm sure a lot of the yield() users could be converted to schedule_timeout(), some of the users i saw were for low memory conditions where we want other tasks to make progress and complete so that we a bit more free memory.
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 5 lines · Zwane Mwaikambo
I'm sure a lot of the
yield()users could be converted toschedule_timeout(), some of the users i saw were for low memory conditions where we want other tasks to make progress and complete so that we a bit more free memory.
I've stated earlier that I was locked up in fs/inode.c with the __wait_on_freeing_inode. Can this be switched to a schedule_timeout?
Of course schedule_timeout is not too good with RT as well. Although you can prevent a live_deadlock, but we bring up the problem of priority inversion again. The process needing to run can still be starved by another higher priority process that is lower in priority as the one doing the waiting.
The schedule_timeout should stop the livelock. But what is the effect of switching to it?
-- Steve
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
In reply to Zwane MwaikamboQuoted 18 lines · Zwane Mwaikambo
Quoted 11 lines · Steven Rostedt
Quoted 8 lines · Ingo Molnar
Quoted 3 lines
Currently my fix is in yield to lower the priority of the task calling yield and raise it after the schedule. This is NOT a proper fix. It's just a hack so I can get by it and test other parts.
yeah,
yield()is a quite RT-incompatible concept, which could livelock an upstream kernel just as much - if the task in question isSCHED_FIFO. Almost allyield()uses should be eliminated from the upstream kernel, step by step.Quoted 4 lines
Now the question is, who will fix it? Preferably the maintainers, but I don't know how much of a priority this is to them. I don't have the time now to look at this and understand enough about the code to be able to make a proper fix, and I'm sure you have other things to do too.
Quoted 5 lines
I'm sure a lot of the
yield()users could be converted toschedule_timeout(), some of the users i saw were for low memory conditions where we want other tasks to make progress and complete so that we a bit more free memory.
Easy, but damn ugly. Completions are the right answer. The memory system needs a queue system where tasks can sleep (with a timeout) until the right amount of memory is available instead of half busy-looping.
Esben
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 9 lines · Esben Nielsen
Quoted 5 lines
I'm sure a lot of the
yield()users could be converted toschedule_timeout(), some of the users i saw were for low memory conditions where we want other tasks to make progress and complete so that we a bit more free memory.Easy, but damn ugly. Completions are the right answer. The memory system needs a queue system where tasks can sleep (with a timeout) until the right amount of memory is available instead of half busy-looping.
I agree entirely, that would definitely be a better way to go eventually.
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 9 lines · Zwane Mwaikambo
Quoted 2 lines · Esben Nielsen
Quoted 2 lines
I'm sure a lot of the
yield()users could be converted toschedule_timeout(), some of the users i saw were for low memoryconditions
Quoted 4 lines
Quoted 3 lines
where we want other tasks to make progress and complete so that we a bit more free memory.
Quoted 5 lines
Quoted 3 lines
Easy, but damn ugly. Completions are the right answer. The memory system needs a queue system where tasks can sleep (with a timeout) until the right amount of memory is available instead of half busy-looping.
I agree entirely, that would definitely be a better way to go eventually.
I wouldn't bet on it. There used to be a queue - minus the timeout. Throughput improved markedly with it's removal.
That said, yield()s in the kernel can be quite evil. I once instrumented semaphores, and under hefty load, frequently found tasks waiting for a semaphore held by someone in the expired array. When you've got a busy cpu, that wait can be _extremely_ painful. The yield()s in mm/*.c are long gone (thank god), but after a quick grep/peek, I can imagine the one in free_more_memory() causing some throughput grief in a cpu intense environment, and the one in __wait_on_freeing_inode() would punt you into the dungeon while you're holding the inode lock... that looks like it could be pretty unpleasant.
-Mike
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
In reply to Steven RostedtQuoted 11 lines · Steven Rostedt
Quoted 8 lines · Ingo Molnar
Quoted 3 lines
Currently my fix is in yield to lower the priority of the task calling yield and raise it after the schedule. This is NOT a proper fix. It's just a hack so I can get by it and test other parts.
yeah,
yield()is a quite RT-incompatible concept, which could livelock an upstream kernel just as much - if the task in question isSCHED_FIFO. Almost allyield()uses should be eliminated from the upstream kernel, step by step.
Quoted 4 lines
Now the question is, who will fix it? Preferably the maintainers, but I don't know how much of a priority this is to them. I don't have the time now to look at this and understand enough about the code to be able to make a proper fix, and I'm sure you have other things to do too.
How about adding a
if(rt_task(current)) {
WARN_ON(1);
mutex_setprio(current, MAX_PRIO-1) }
?
to find all calls to yields from rt-tasks. That will force the user (aka the real-time developer) to either stop calling the subsystems still using yield from his RT-tasks, or fix those subsystems.
Esben
Quoted 3 lines
-- Steve
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 9 lines · Esben Nielsen
Quoted 4 lines
Now the question is, who will fix it? Preferably the maintainers, but I don't know how much of a priority this is to them. I don't have the time now to look at this and understand enough about the code to be able to make a proper fix, and I'm sure you have other things to do too.
How about adding a
if(rt_task(current)) { WARN_ON(1); mutex_setprio(current, MAX_PRIO-1)
Quoted 6 lines
}
?to find all calls to yields from rt-tasks. That will force the user (aka the real-time developer) to either stop calling the subsystems still using yield from his RT-tasks, or fix those subsystems.
i've added this to the -43-08 patch, so that we can see the scope of the problem. But any yield() use could become a problem due to priority inheritance. (which might eventually be expanded to userspace locking too)
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
Quoted 15 lines · Ingo Molnar
Quoted 12 lines · Esben Nielsen
Quoted 4 lines
Now the question is, who will fix it? Preferably the maintainers, but I don't know how much of a priority this is to them. I don't have the time now to look at this and understand enough about the code to be able to make a proper fix, and I'm sure you have other things to do too.
How about adding a
if(rt_task(current)) { WARN_ON(1); mutex_setprio(current, MAX_PRIO-1)}
?
Quoted 9 lines
Quoted 3 lines
to find all calls to yields from rt-tasks. That will force the user (aka the real-time developer) to either stop calling the subsystems still using yield from his RT-tasks, or fix those subsystems.
i've added this to the -43-08 patch, so that we can see the scope of the problem. But any
yield()use could become a problem due to priority inheritance. (which might eventually be expanded to userspace locking too)
Any calls to non-deterministic subsystems breaks the real-time properties. yield() is certainly not the only problem. Code waiting for RCU-completion or whatever is bad too. Calling code like that from RT-tasks or calling them while having locks shared with RT-tasks is just bad. Anyone knowing about RT development _has_ to know that. Putting warnings and traces into the kernel is a nice feature.
Static code analyzes would also help quite a bit. What about having a new attribute "nonrt" for functions and locks? yield() and syncronize_kernel() are certain candidates. Any function having nonrt operations are marked nonrt. Any lock becomes held while doing a nonrt operation is marked nonrt. Taking a nonrt lock is a nonrt operation. (Might end up marking the whole kernel nonrt....)
Esben
Quoted 1 line
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
In reply to Ingo MolnarQuoted 8 lines · Ingo Molnar
Quoted 6 lines
For kicks I ran this on 2.6.11-rc2-RT-V0.7.36-02 (I still had it as a Grub option), and the system just locked up hard. I just was curious if this was from a different change. But at least in the latest it shows output, and not just a hard lockup.
Oh, the bug report was running kernel 2.6.12-rc1-RT-V0.7.43-06.
ok, so it's not the recent NFS changes.
Here's an interesting trace I got today. It looks either the emu10k1 or USB irq handler left IRQ 10 disabled. This isn't a tracer bug because you can clearly see this leads to an xrun. Since I've been hacking the emu10k1 driver quite a bit, I suspect this is the problem.
This trace also shows that my trigger callback for the emu10k1 multichannel device needs optimizing; it takes 300 usecs to stop all 16 voices, not acceptable for an ALSA irq handler which uses SA_INTERRUPT. I think I can improve this significantly by reordering the register settings and eliminating some function call overhead.
Lee
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
In reply to Steven RostedtQuoted 5 lines · Steven Rostedt
What the test program does, is spawn 5 processes, each with a different priority. Starting with 10 and going to 14. All are
SCHED_FIFO. Each of these processes just do a scan of all directories starting with the root directory '/' and going down. I usually run this with a directory NFS mounted too, but I don't think this was a problem.
My knowledge of the kernel is still pretty limited, but it looks to me like something corrupted the timer list.
Have you tried kdb? Last time I checked it worked great with PREEMPT_RT.
Lee
PATCH 1/1 Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
In reply to Ingo Molnari have released the -V0.7.44-00 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this is a merge of -43-08 to 2.6.12-rc2.
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.12-rc2.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.12-rc2-V0.7.44-00
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
Quoted 6 lines
i have released the -V0.7.44-00 Real-Time Preemption patch, which can be downloaded from the usual place:
I'm having plenty of this on boot, on my SMP/HT desktop (P4/x86), while running RT-V0.7.44-01 (SMP+PREEMPT_RT):
BUG: kstopmachine:xxxx RT task yield()-ing!
See sample dmesg and .config on attach.
OTOH, on my laptop (P4/UP), all seems to be clear fine.
Is this something to be affraid of? :)
Cheers.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
Linux version 2.6.12-rc2-RT-V0.7.44-01.0smp (root@gamma-suse1) (gcc version 3.3.4 (pre 3.3.5 20040809)) #1 SMP Tue Apr 5 19:21:11 WEST 2005 BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000003ff30000 (usable)
BIOS-e820: 000000003ff30000 - 000000003ff40000 (ACPI data)
BIOS-e820: 000000003ff40000 - 000000003fff0000 (ACPI NVS)
BIOS-e820: 000000003fff0000 - 0000000040000000 (reserved)
BIOS-e820: 00000000ffb80000 - 0000000100000000 (reserved)
127MB HIGHMEM available.
896MB LOWMEM available.
found SMP MP-table at 000ff780
On node 0 totalpages: 261936
DMA zone: 4096 pages, LIFO batch:1
Normal zone: 225280 pages, LIFO batch:16
HighMem zone: 32560 pages, LIFO batch:7
DMI 2.3 present.
ACPI: RSDP (v002 ACPIAM ) @ 0x000f9e60
ACPI: XSDT (v001 A M I OEMXSDT 0x08000320 MSFT 0x00000097) @ 0x3ff30100
ACPI: FADT (v003 A M I OEMFACP 0x08000320 MSFT 0x00000097) @ 0x3ff30290
ACPI: MADT (v001 A M I OEMAPIC 0x08000320 MSFT 0x00000097) @ 0x3ff30390
ACPI: OEMB (v001 A M I OEMBIOS 0x08000320 MSFT 0x00000097) @ 0x3ff40040
ACPI: DSDT (v001 P4P81 P4P81086 0x00000086 INTL 0x02002026) @ 0x00000000
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
Processor #0 15:2 APIC version 20
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
Processor #1 15:2 APIC version 20
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.
Enabling APIC mode: Flat. Using 1 I/O APICs
Using ACPI (MADT) for SMP configuration information
Allocating PCI resources starting at 40000000 (gap: 40000000:bfb80000)
Real-Time Preemption Support (c) Ingo Molnar
Built 1 zonelists
Kernel command line: root=/dev/hda2
mapped APIC to ffffd000 (fee00000)
mapped IOAPIC to ffffc000 (fec00000)
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 65536 bytes)
Detected 3360.970 MHz processor.
Using tsc for high-res timesource
Console: colour VGA+ 80x25
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 1035212k/1047744k available (1872k kernel code, 12144k reserved, 598k data, 176k init, 130240k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay loop... 6668.28 BogoMIPS (lpj=3334144)
Security Framework v1.0.0 initialized
Mount-cache hash table entries: 512
CPU: After generic identify, caps: bfebfbff 00000000 00000000 00000000 00004400 00000000 00000000
CPU: After vendor identify, caps: bfebfbff 00000000 00000000 00000000 00004400 00000000 00000000
CPU: Trace cache: 12K uops, L1 D cache: 8K
CPU: L2 cache: 512K
CPU: Physical Processor ID: 0
CPU: After all inits, caps: bfebfbff 00000000 00000000 00000080 00004400 00000000 00000000
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
CPU0: Intel(R) Pentium(R) 4 CPU 2.80GHz stepping 09
Booting processor 1/1 eip 2000
Initializing CPU#1
Calibrating delay loop... 6717.44 BogoMIPS (lpj=3358720)
CPU: After generic identify, caps: bfebfbff 00000000 00000000 00000000 00004400 00000000 00000000
CPU: After vendor identify, caps: bfebfbff 00000000 00000000 00000000 00004400 00000000 00000000
CPU: Trace cache: 12K uops, L1 D cache: 8K
CPU: L2 cache: 512K
CPU: Physical Processor ID: 0
CPU: After all inits, caps: bfebfbff 00000000 00000000 00000080 00004400 00000000 00000000
CPU1: Intel(R) Pentium(R) 4 CPU 2.80GHz stepping 09
Total of 2 processors activated (13385.72 BogoMIPS).
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 pin1=2 pin2=-1
checking TSC synchronization across 2 CPUs: passed.spawn_desched_task(00000000)
desched cpu_callback 3/00000000
ksoftirqd started up.
softirq RT prio: 24.
desched cpu_callback 2/00000000
desched thread 0 started up.
desched cpu_callback 3/00000001
desched cpu_callback 2/00000001
ksoftirqd started up.
softirq RT prio: 24.
Brought up 2 CPUs
desched thread 1 started up.
CPU0 attaching sched-domain:
domain 0: span 3
groups: 1 2
domain 1: span 3
groups: 3
CPU1 attaching sched-domain:
domain 0: span 3
groups: 2 1
domain 1: span 3
groups: 3
NET: Registered protocol family 16
PCI: PCI BIOS revision 2.10 entry at 0xf0031, last bus=2
PCI: Using configuration type 1
mtrr: v2.0 (20020519)
ACPI: Subsystem revision 20050309
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Probing PCI hardware (bus 00)
PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1
Boot video device is 0000:01:00.0
PCI: Transparent bridge - 0000:00:1e.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P4._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 *10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 *7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs *3 4 5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 *5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 *5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 10 *11 12 14 15)
SCSI subsystem initialized
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report
highmem bounce pool size: 64 pages
Real Time Clock Driver v1.12
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH5: IDE controller at PCI slot 0000:00:1f.1
PCI: Enabling device 0000:00:1f.1 (0005 -> 0007)
ACPI: PCI Interrupt 0000:00:1f.1[A] -> GSI 18 (level, low) -> IRQ 18
ICH5: chipset revision 2
ICH5: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:DMA
ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:DMA, hdd:DMAProbing IDE interface ide0...
hda: IC35L120AVVA07-0, ATA DISK drive
hdb: IC35L120AVVA07-0, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: SONY DVD RW DRU-500A, ATAPI CD/DVD-ROM drive
hdd: HL-DT-ST RW/DVD GCC-4120B, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 128KiB
hda: 241254720 sectors (123522 MB) w/1863KiB Cache, CHS=65535/16/63, UDMA(100)
hda: cache flushes supported
hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 hda9 hda10 hda11 >
hdb: max request size: 128KiB
hdb: 241254720 sectors (123522 MB) w/1863KiB Cache, CHS=65535/16/63, UDMA(100)
hdb: cache flushes supported
hdb: hdb1 hdb2 hdb3 hdb4 < hdb5 hdb6 hdb7 hdb8 hdb9 hdb10 hdb11 >
hdc: ATAPI 32X DVD-ROM DVD-R CD-R/RW drive, 8192kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
hdd: ATAPI 32X DVD-ROM CD-R/RW drive, 2048kB Cache, DMA
mice: PS/2 mouse device common for all mice
NET: Registered protocol family 2
IP: routing cache hash table of 2048 buckets, 64Kbytes
TCP established hash table entries: 65536 (order: 9, 2621440 bytes)
TCP bind hash table entries: 65536 (order: 9, 2097152 bytes)
TCP: Hash tables configured (established 65536 bind 65536)
NET: Registered protocol family 1
NET: Registered protocol family 17
Starting balanced_irq
input: AT Translated Set 2 keyboard on isa0060/serio0
ReiserFS: hda2: found reiserfs format "3.6" with standard journal
logips2pp: Detected unknown logitech mouse model 0
input: ImPS/2 Logitech Wheel Mouse on isa0060/serio1
ReiserFS: hda2: using ordered data mode
ReiserFS: hda2: journal params: device hda2, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda2: checking transaction log (hda2)
ReiserFS: hda2: Using r5 hash to sort names
VFS: Mounted root (reiserfs filesystem) readonly.
Freeing unused kernel memory: 176k freed
Adding 987956k swap on /dev/hda11. Priority:42 extents:1
Adding 963860k swap on /dev/hdb11. Priority:42 extents:1
ReiserFS: hda2: warning: noacl not supported.
ReiserFS: hda2: warning: noacl not supported.
BUG: kstopmachine:1507 RT task yield()-ing! [<c02d245d>] yield+0x5d/0x60 (8) [<c013a695>] stop_machine+0xa5/0x140 (24) [<c013a740>] do_stop+0x0/0x70 (32) [<c013a749>] do_stop+0x9/0x70 (4) [<c01302e5>] kthread+0xa5/0xf0 (12) [<c0130240>] kthread+0x0/0xf0 (16) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (16) BUG: kstopmachine:1507 RT task yield()-ing! [<c02d245d>] yield+0x5d/0x60 (8) [<c013a695>] stop_machine+0xa5/0x140 (24) [<c013a740>] do_stop+0x0/0x70 (32) [<c013a749>] do_stop+0x9/0x70 (4) [<c01302e5>] kthread+0xa5/0xf0 (12) [<c0130240>] kthread+0x0/0xf0 (16) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (16) BUG: kstopmachine:1508 RT task yield()-ing! [<c02d245d>] yield+0x5d/0x60 (8) [<c013a575>] stopmachine+0x95/0xe0 (24) [<c013a4e0>] stopmachine+0x0/0xe0 (4) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (12) usbcore: registered new driver usbfs usbcore: registered new driver hub BUG: kstopmachine:1649 RT task yield()-ing! [<c02d245d>] yield+0x5d/0x60 (8) [<c013a695>] stop_machine+0xa5/0x140 (24) [<c013a740>] do_stop+0x0/0x70 (32) [<c013a749>] do_stop+0x9/0x70 (4) [<c01302e5>] kthread+0xa5/0xf0 (12) [<c0130240>] kthread+0x0/0xf0 (16) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (16) BUG: kstopmachine:1649 RT task yield()-ing! [<c02d245d>] yield+0x5d/0x60 (8) [<c013a695>] stop_machine+0xa5/0x140 (24) [<c013a740>] do_stop+0x0/0x70 (32) [<c013a749>] do_stop+0x9/0x70 (4) [<c01302e5>] kthread+0xa5/0xf0 (12) [<c0130240>] kthread+0x0/0xf0 (16) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (16) BUG: kstopmachine:1649 RT task yield()-ing! BUG: kstopmachine:1650 RT task yield()-ing! [<c02d245d>] yield+0x5d/0x60 (8) [<c013a575>] stopmachine+0x95/0xe0 (24) [<c013a4e0>] stopmachine+0x0/0xe0 (4) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (12) BUG: kstopmachine:1650 RT task yield()-ing! [<c02d245d>] yield+0x5d/0x60 (8) [<c013a575>] stopmachine+0x95/0xe0 (24) [<c013a4e0>] stopmachine+0x0/0xe0 (4) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (12) BUG: kstopmachine:1650 RT task yield()-ing! [<c02d245d>] yield+0x5d/0x60 (8) [<c013a575>] stopmachine+0x95/0xe0 (24) [<c013a4e0>] stopmachine+0x0/0xe0 (4) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (12) BUG: kstopmachine:1650 RT task yield()-ing! [<c02d245d>] yield+0x5d/0x60 (8) [<c013a575>] stopmachine+0x95/0xe0 (24) [<c013a4e0>] stopmachine+0x0/0xe0 (4) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (12) [<c02d245d>] yield+0x5d/0x60 (8) [<c013a695>] stop_machine+0xa5/0x140 (24) [<c013a740>] do_stop+0x0/0x70 (32) [<c013a749>] do_stop+0x9/0x70 (4) [<c01302e5>] kthread+0xa5/0xf0 (12) [<c0130240>] kthread+0x0/0xf0 (16) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (16)
device-mapper: 4.4.0-ioctl (2005-01-12) initialised: [email protected]
ACPI: PCI Interrupt 0000:02:05.0[A] -> GSI 22 (level, low) -> IRQ 22
ACPI: PCI Interrupt 0000:02:05.0[A] -> GSI 22 (level, low) -> IRQ 22
eth0: 3Com Gigabit LOM (3C940)
PrefPort:A RlmtMode:Check Link State
ReiserFS: hda6: warning: noacl not supported.
ReiserFS: hda6: found reiserfs format "3.6" with standard journal
ReiserFS: hda6: using ordered data mode
printk: 307 messages suppressed.
BUG: kstopmachine:2083 RT task yield()-ing! [<c02d245d>] yield+0x5d/0x60 (8) [<c013a695>] stop_machine+0xa5/0x140 (24) [<c013a740>] do_stop+0x0/0x70 (32) [<c013a749>] do_stop+0x9/0x70 (4) [<c01302e5>] kthread+0xa5/0xf0 (12) [<c0130240>] kthread+0x0/0xf0 (16) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (16)
ACPI: PCI Interrupt 0000:00:1d.7[D] -> GSI 23 (level, low) -> IRQ 23
PCI: Setting latency timer of device 0000:00:1d.7 to 64ehci_hcd 0000:00:1d.7: EHCI Host Controllerehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1ehci_hcd 0000:00:1d.7: irq 23, io mem 0xfebffc00
ReiserFS: hda6: journal params: device hda6, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda6: checking transaction log (hda6)
PCI: cache line size of 128 is not supported by device 0000:00:1d.7ehci_hcd 0000:00:1d.7: USB 2.0 initialized, EHCI 1.00, driver 10 Dec 2004
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 6 ports detected
ReiserFS: hda6: Using r5 hash to sort names
ReiserFS: hda8: warning: noacl not supported.
USB Universal Host Controller Interface driver v2.2
ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:00:1d.0 to 64uhci_hcd 0000:00:1d.0: UHCI Host Controller
ReiserFS: hda8: found reiserfs format "3.6" with standard journaluhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2uhci_hcd 0000:00:1d.0: irq 16, io base 0x0000ef00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 19 (level, low) -> IRQ 19
PCI: Setting latency timer of device 0000:00:1d.1 to 64uhci_hcd 0000:00:1d.1: UHCI Host Controlleruhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3uhci_hcd 0000:00:1d.1: irq 19, io base 0x0000ef20
ReiserFS: hda8: using ordered data mode
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.2[C] -> GSI 18 (level, low) -> IRQ 18
PCI: Setting latency timer of device 0000:00:1d.2 to 64uhci_hcd 0000:00:1d.2: UHCI Host Controller
ReiserFS: hda8: journal params: device hda8, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda8: checking transaction log (hda8)uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4uhci_hcd 0000:00:1d.2: irq 18, io base 0x0000ef80
ReiserFS: hda8: Using r5 hash to sort names
usb 3-1: new low speed USB device using uhci_hcd and address 2
subfs 0.9
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
ohci1394: $Rev: 1250 $ Ben Collins <[email protected]>
ACPI: PCI Interrupt 0000:02:03.0[A] -> GSI 20 (level, low) -> IRQ 20
ohci1394: fw-host0: OHCI-1394 1.0 (PCI): IRQ=[20] MMIO=[feaff800-feafffff] Max Packet=[2048]
ieee1394: Host added: ID:BUS[0-00:1023] GUID[00e01800003252fa]
printk: 34 messages suppressed.
BUG: kstopmachine:3125 RT task yield()-ing! [<c02d245d>] yield+0x5d/0x60 (8) [<c013a695>] stop_machine+0xa5/0x140 (24) [<c013a740>] do_stop+0x0/0x70 (32) [<c013a749>] do_stop+0x9/0x70 (4) [<c01302e5>] kthread+0xa5/0xf0 (12) [<c0130240>] kthread+0x0/0xf0 (16) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (16) BUG: kstopmachine:3125 RT task yield()-ing! [<c02d245d>] yield+0x5d/0x60 (8) [<c013a695>] stop_machine+0xa5/0x140 (24) [<c013a740>] do_stop+0x0/0x70 (32) [<c013a749>] do_stop+0x9/0x70 (4) [<c01302e5>] kthread+0xa5/0xf0 (12) [<c0130240>] kthread+0x0/0xf0 (16) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (16)
usbhid: probe of 3-1:1.0 failed with error -5
usbcore: registered new driver usbhid drivers/usb/input/hid-core.c: v2.01:USB HID core driver Realtime LSM initialized (group 17, mlock=1)
eth0: network connection up using port A
speed: 100
autonegotiation: yes
duplex mode: half
flowctrl: none
irq moderation: disabled
scatter-gather: enabled
printk: 28 messages suppressed.
BUG: kstopmachine:3768 RT task yield()-ing! [<c02d245d>] yield+0x5d/0x60 (8) [<c013a695>] stop_machine+0xa5/0x140 (24) [<c013a740>] do_stop+0x0/0x70 (32) [<c013a749>] do_stop+0x9/0x70 (4) [<c01302e5>] kthread+0xa5/0xf0 (12) [<c0130240>] kthread+0x0/0xf0 (16) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (16)
ACPI: PCI Interrupt 0000:00:1f.5[B] -> GSI 17 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:00:1f.5 to 64 AC'97 0 analog subsections not ready intel8x0_measure_ac97_clock: measured 49237 usecs
intel8x0: clocking to 48000
ACPI: PCI Interrupt 0000:02:0d.0[A] -> GSI 21 (level, low) -> IRQ 21
printk: 47 messages suppressed.
BUG: kstopmachine:4131 RT task yield()-ing! [<c02d245d>] yield+0x5d/0x60 (8) [<c013a695>] stop_machine+0xa5/0x140 (24) [<c013a740>] do_stop+0x0/0x70 (32) [<c013a749>] do_stop+0x9/0x70 (4) [<c01302e5>] kthread+0xa5/0xf0 (12) [<c0130240>] kthread+0x0/0xf0 (16) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (16)
ACPI: PCI Interrupt 0000:02:0a.0[A] -> GSI 22 (level, low) -> IRQ 22
usbcore: registered new driver snd-usb-usx2y
vt: argh, driver_data is NULL !
vt: argh, driver_data is NULL !
vt: argh, driver_data is NULL !
vt: argh, driver_data is NULL !
vt: argh, driver_data is NULL !
vt: argh, driver_data is NULL !
printk: 55 messages suppressed.
BUG: kstopmachine:6187 RT task yield()-ing! [<c02d245d>] yield+0x5d/0x60 (8) [<c013a695>] stop_machine+0xa5/0x140 (24) [<c013a740>] do_stop+0x0/0x70 (32) [<c013a749>] do_stop+0x9/0x70 (4) [<c01302e5>] kthread+0xa5/0xf0 (12) [<c0130240>] kthread+0x0/0xf0 (16) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (16) BUG: kstopmachine:6187 RT task yield()-ing! [<c02d245d>] yield+0x5d/0x60 (8) [<c013a695>] stop_machine+0xa5/0x140 (24) [<c013a740>] do_stop+0x0/0x70 (32) [<c013a749>] do_stop+0x9/0x70 (4) [<c01302e5>] kthread+0xa5/0xf0 (12) [<c0130240>] kthread+0x0/0xf0 (16) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (16)
Linux agpgart interface v0.101 (c) Dave Jones
nvidia: module license 'NVIDIA' taints kernel.
ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16
NVRM: loading NVIDIA Linux x86 NVIDIA Kernel Module 1.0-7167 Fri Feb 25 09:08:22 PST 2005
printk: 6 messages suppressed.
BUG: kstopmachine:6653 RT task yield()-ing! [<c02d245d>] yield+0x5d/0x60 (8) [<c013a695>] stop_machine+0xa5/0x140 (24) [<c013a740>] do_stop+0x0/0x70 (32) [<c013a749>] do_stop+0x9/0x70 (4) [<c01302e5>] kthread+0xa5/0xf0 (12) [<c0130240>] kthread+0x0/0xf0 (16) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (16) BUG: kstopmachine:6653 RT task yield()-ing! [<c02d245d>] yield+0x5d/0x60 (8) [<c013a695>] stop_machine+0xa5/0x140 (24) [<c013a740>] do_stop+0x0/0x70 (32) [<c013a749>] do_stop+0x9/0x70 (4) [<c01302e5>] kthread+0xa5/0xf0 (12) [<c0130240>] kthread+0x0/0xf0 (16) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (16) BUG: kstopmachine:6653 RT task yield()-ing! BUG: kstopmachine:6654 RT task yield()-ing! [<c02d245d>] [<c02d245d>] yield+0x5d/0x60 yield+0x5d/0x60 (8) (8) [<c013a695>] [<c013a575>] stop_machine+0xa5/0x140 (24) stopmachine+0x95/0xe0 (24) [<c013a4e0>] stopmachine+0x0/0xe0 (4) [<c013a740>] [<c0100fd5>] do_stop+0x0/0x70 kernel_thread_helper+0x5/0x10 (32) [<c013a749>] (12) do_stop+0x9/0x70 (4) [<c01302e5>]<3>BUG: kstopmachine:6654 RT task yield()-ing! kthread+0xa5/0xf0 (12) [<c02d245d>] [<c0130240>] yield+0x5d/0x60 kthread+0x0/0xf0 (16) (8) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (16) [<c013a575>] stopmachine+0x95/0xe0 (24) [<c013a4e0>] stopmachine+0x0/0xe0 (4) [<c0100fd5>] kernel_thread_helper+0x5/0x10 (12)
input: Wacom Graphire2 4x5 on usb-0000:00:1d.1-1
usbcore: registered new driver wacomdrivers/usb/input/wacom.c: v1.40:USB Wacom Graphire and Wacom Intuos tablet driver
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
Our first victim!! :-)
Quoted 10 lines · Rui Nuno Capela
Quoted 1 line
I'm having plenty of this on boot, on my SMP/HT desktop (P4/x86), while running RT-V0.7.44-01 (SMP+PREEMPT_RT):
BUG: kstopmachine:xxxx RT task yield()-ing!See sample dmesg and .config on attach.
OTOH, on my laptop (P4/UP), all seems to be clear fine.
The kstopmachine is only run on SMP environments, so it won't show up on your UP machine.
Quoted 2 lines
Is this something to be affraid of? :)
If your box is still running, then no. But it's now a chore to remove the yield from this algorithm, since yields have a possibility to deadlock the system. Although in this particular case, it may not be a problem, since the threads that are being waited on are created for other CPUs. But I haven't looked too much into what stop_machine is doing so I can very well be wrong.
Thank you for reporting it, we want to weed out all the yields that a RT task may call.
-- Steve
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
Quoted 2 lines
Our first victim!! :-)
No kidding!?
Quoted 26 lines · Rui Nuno Capela
Quoted 10 lines
Quoted 1 line
I'm having plenty of this on boot, on my SMP/HT desktop (P4/x86), while running RT-V0.7.44-01 (SMP+PREEMPT_RT):
BUG: kstopmachine:xxxx RT task yield()-ing!See sample dmesg and .config on attach.
OTOH, on my laptop (P4/UP), all seems to be clear fine.
The kstopmachine is only run on SMP environments, so it won't show up on your UP machine.
Quoted 2 lines
Is this something to be affraid of? :)
If your box is still running, then no. But it's now a chore to remove the yield from this algorithm, since yields have a possibility to deadlock the system. Although in this particular case, it may not be a problem, since the threads that are being waited on are created for other CPUs. But I haven't looked too much into what
stop_machineis doing so I can very well be wrong.
Quoted 3 lines
Thank you for reporting it, we want to weed out all the yields that a RT task may call.
Now, I'm sure my fears were reasonable. With RT-V0.7.44-02 SMP a can't even reach an usable system state. This weird BUG: kstopmachine:xxxx RT task yield()-ing! is flooding the init process to death.
Completely. Hard-reset is the only viable solution to a fast scrolling console dump, which seems to be in a terrible, nasty and endless loop.
I'm not afraid anymore. RT-0.7.44-02 is useless on my P4 SMP/HT desktop machine. ;)
Bye.
Signature · 2 lines
rncbc aka Rui Nuno Capela [email protected]
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
Quoted 5 lines · Rui Nuno Capela
Quoted 2 lines
Our first victim!! :-)
No kidding!?
V0.7.44-02 does not even compile for me. It appears to be full of merge errors.
I get these errors with "make oldconfig":
HOSTLD scripts/kconfig/confscripts/kconfig/conf -o arch/i386/Kconfig lib/Kconfig.RT:160:warning: choice values currently only support a single prompt lib/Kconfig.RT:173:warning: choice values currently only support a single prompt lib/Kconfig.RT:190:warning: choice values currently only support a single prompt lib/Kconfig.RT:211:warning: choice values currently only support a single prompt lib/Kconfig.RT:7:warning: choice values currently only support a single prompt lib/Kconfig.RT:20:warning: choice values currently only support a single prompt lib/Kconfig.RT:37:warning: choice values currently only support a single prompt lib/Kconfig.RT:58:warning: choice values currently only support a single prompt #
# using defaults found in .config
Then, looks like mcount-wrapper.S is two copies of the same file. To have any chance of building this patch was required:
i386/kernel/mcount-wrapper.S renamed from i386/kernel/mcount-wrapper.S~ +0 -27
@@ -25,30 +25,3 @@ out: ret -/* - * linux/arch/i386/mcount-wrapper.S - * - * Copyright (C) 2004 Ingo Molnar - */ - -.globl mcount -mcount: - - cmpl $0, mcount_enabled - jz out - - push %ebp - mov %esp, %ebp - pushl %eax - pushl %ecx - pushl %edx - - call __mcount - - popl %edx - popl %ecx - popl %eax - popl %ebp -out: - ret -
And it still bombs out here. This is where I gave up:
CC kernel/rt.okernel/rt.c:1931: error: redefinition of pi_lock' kernel/rt.c:55: error: pi_lock' previously defined here kernel/rt.c:2037: error: redefinition of zap_rt_locks' kernel/rt.c:161: error: zap_rt_locks' previously defined here kernel/rt.c:2382: error: redefinition of check_pi_list_present' kernel/rt.c:555: error: check_pi_list_present' previously defined here kernel/rt.c:2387: error: redefinition of check_pi_list_empty' kernel/rt.c:560: error: check_pi_list_empty' previously defined here kernel/rt.c:2398: error: redefinition of change_owner' kernel/rt.c:571: error: change_owner' previously defined here kernel/rt.c:2420: error: redefinition of pi_setprio' kernel/rt.c:593: error: pi_setprio' previously defined here
[etc]
Lee
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
Quoted 5 lines · Lee Revell
Quoted 3 lines · Rui Nuno Capela
Quoted 2 lines
Our first victim!! :-)
Quoted 7 lines
Quoted 2 lines
No kidding!?
V0.7.44-02 does not even compile for me. It appears to be full of merge errors.
I must be in the twilight zone over here. V0.7.44-02 runs fine on my UP system, my older SMP system (although I have to compile in my SCSI drivers, but that has nothing to do with this patch) and my faster P4/HT SMP system at the office. Not only that but I seem to be the only one having problems with SCSI modules in every variant of 2.6.12 that I have tried on my older SMP system (reason for compiling in mentioned above). I have attached the configs from UP (daffy) and older SMP (porky) systems, in case that will help.
Signature · 1 line
kr
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.12-rc2-RT-V0.7.44-02
# Thu Apr 7 05:57:47 2005
#CONFIG_X86=yCONFIG_MMU=yCONFIG_UID16=yCONFIG_GENERIC_ISA_DMA=yCONFIG_GENERIC_IOMAP=y
#
# Code maturity level options
#CONFIG_EXPERIMENTAL=yCONFIG_CLEAN_COMPILE=yCONFIG_BROKEN_ON_SMP=yCONFIG_LOCK_KERNEL=yCONFIG_INIT_ENV_ARG_LIMIT=32
#
# General setup
#CONFIG_LOCALVERSION=""CONFIG_SWAP=yCONFIG_SYSVIPC=yCONFIG_POSIX_MQUEUE=yCONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not setCONFIG_SYSCTL=y
# CONFIG_AUDIT is not setCONFIG_HOTPLUG=yCONFIG_KOBJECT_UEVENT=yCONFIG_IKCONFIG=yCONFIG_IKCONFIG_PROC=yCONFIG_EMBEDDED=yCONFIG_KALLSYMS=yCONFIG_KALLSYMS_ALL=yCONFIG_KALLSYMS_EXTRA_PASS=yCONFIG_BASE_FULL=yCONFIG_FUTEX=yCONFIG_EPOLL=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not setCONFIG_SHMEM=yCONFIG_CC_ALIGN_FUNCTIONS=0CONFIG_CC_ALIGN_LABELS=0CONFIG_CC_ALIGN_LOOPS=0CONFIG_CC_ALIGN_JUMPS=0
# CONFIG_TINY_SHMEM is not setCONFIG_BASE_SMALL=0
#
# Loadable module support
#CONFIG_MODULES=y
# CONFIG_MODULE_UNLOAD is not setCONFIG_OBSOLETE_MODPARM=yCONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not setCONFIG_KMOD=y
#
# Processor type and features
#CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not setCONFIG_MPENTIUMII=y
# 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_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODE is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not setCONFIG_X86_GENERIC=yCONFIG_X86_CMPXCHG=yCONFIG_X86_XADD=yCONFIG_X86_L1_CACHE_SHIFT=7CONFIG_GENERIC_CALIBRATE_DELAY=yCONFIG_X86_WP_WORKS_OK=yCONFIG_X86_INVLPG=yCONFIG_X86_BSWAP=yCONFIG_X86_POPAD_OK=yCONFIG_X86_GOOD_APIC=yCONFIG_X86_INTEL_USERCOPY=yCONFIG_X86_USE_PPRO_CHECKSUM=y
# CONFIG_HPET_TIMER is not set
# CONFIG_SMP is not set
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT_DESKTOP is not setCONFIG_PREEMPT_RT=yCONFIG_PREEMPT=yCONFIG_PREEMPT_SOFTIRQS=yCONFIG_PREEMPT_HARDIRQS=yCONFIG_PREEMPT_RCU=yCONFIG_PREEMPT_BKL=yCONFIG_RWSEM_GENERIC_SPINLOCK=yCONFIG_ASM_SEMAPHORES=y
# CONFIG_X86_UP_APIC is not setCONFIG_X86_TSC=yCONFIG_X86_MCE=y
# CONFIG_X86_MCE_NONFATAL is not set
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not setCONFIG_MICROCODE=mCONFIG_X86_MSR=mCONFIG_X86_CPUID=m
#
# Firmware Drivers
#CONFIG_EDD=m
# CONFIG_NOHIGHMEM is not setCONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not setCONFIG_HIGHMEM=y
# CONFIG_HIGHPTE is not set
# CONFIG_MATH_EMULATION is not setCONFIG_MTRR=y
# CONFIG_EFI is not setCONFIG_HAVE_DEC_LOCK=yCONFIG_SECCOMP=y
#
# Power management options (ACPI, APM)
#CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
# CONFIG_SOFTWARE_SUSPEND is not set
#
# ACPI (Advanced Configuration and Power Interface) Support #CONFIG_ACPI=yCONFIG_ACPI_BOOT=yCONFIG_ACPI_INTERPRETER=y
# CONFIG_ACPI_SLEEP is not set
# CONFIG_ACPI_AC is not set
# CONFIG_ACPI_BATTERY is not set
# CONFIG_ACPI_BUTTON is not set CONFIG_ACPI_VIDEO=m
# CONFIG_ACPI_FAN is not set
# CONFIG_ACPI_PROCESSOR is not set
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_IBM is not set
# CONFIG_ACPI_TOSHIBA is not set CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not setCONFIG_ACPI_BUS=yCONFIG_ACPI_EC=yCONFIG_ACPI_POWER=yCONFIG_ACPI_PCI=yCONFIG_ACPI_SYSTEM=y
# CONFIG_X86_PM_TIMER is not set
# CONFIG_ACPI_CONTAINER is not set
#
# APM (Advanced Power Management) BIOS Support
#CONFIG_APM=y
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
# CONFIG_APM_DO_ENABLE is not setCONFIG_APM_CPU_IDLE=y
# CONFIG_APM_DISPLAY_BLANK is not setCONFIG_APM_RTC_IS_GMT=y
# CONFIG_APM_ALLOW_INTS is not set
# CONFIG_APM_REAL_MODE_POWER_OFF is not set
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not setCONFIG_PCI_GOANY=yCONFIG_PCI_BIOS=yCONFIG_PCI_DIRECT=yCONFIG_PCI_MMCONFIG=y
# CONFIG_PCIEPORTBUS is not set
# CONFIG_PCI_LEGACY_PROC is not setCONFIG_PCI_NAMES=y
# CONFIG_PCI_DEBUG is not setCONFIG_ISA=y
# CONFIG_EISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set
#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set
#
# Executable file formats
#CONFIG_BINFMT_ELF=yCONFIG_BINFMT_AOUT=mCONFIG_BINFMT_MISC=m
#
# Device Drivers
#
#
# Generic Driver Options
#CONFIG_STANDALONE=yCONFIG_PREVENT_FIRMWARE_BUILD=yCONFIG_FW_LOADER=m
# CONFIG_DEBUG_DRIVER is not set
#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set
#
# Parallel port support
#CONFIG_PARPORT=mCONFIG_PARPORT_PC=mCONFIG_PARPORT_SERIAL=m
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_GSC is not setCONFIG_PARPORT_1284=y
#
# Plug and Play support
#CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set
#
# Protocols
#CONFIG_ISAPNP=y
# CONFIG_PNPBIOS is not setCONFIG_PNPACPI=y
#
# Block devices
#CONFIG_BLK_DEV_FD=m
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not setCONFIG_BLK_CPQ_DA=mCONFIG_BLK_CPQ_CISS_DA=mCONFIG_CISS_SCSI_TAPE=y
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not setCONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not setCONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_SX8 is not setCONFIG_BLK_DEV_RAM=yCONFIG_BLK_DEV_RAM_COUNT=16CONFIG_BLK_DEV_RAM_SIZE=8192CONFIG_BLK_DEV_INITRD=yCONFIG_INITRAMFS_SOURCE=""
# CONFIG_LBD is not set
# CONFIG_CDROM_PKTCDVD is not set
#
# IO Schedulers
#CONFIG_IOSCHED_NOOP=yCONFIG_IOSCHED_AS=yCONFIG_IOSCHED_DEADLINE=yCONFIG_IOSCHED_CFQ=y
# CONFIG_ATA_OVER_ETH is not set
#
# ATA/ATAPI/MFM/RLL support
#CONFIG_IDE=yCONFIG_BLK_DEV_IDE=y
#
# Please see Documentation/ide.txt for help/info on IDE drives #
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set CONFIG_BLK_DEV_IDEDISK=yCONFIG_IDEDISK_MULTI_MODE=yCONFIG_BLK_DEV_IDECD=m
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_IDE_TASK_IOCTL is not set
#
# IDE chipset support/bugfixes
#CONFIG_IDE_GENERIC=yCONFIG_BLK_DEV_CMD640=y
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
# CONFIG_BLK_DEV_IDEPNP is not setCONFIG_BLK_DEV_IDEPCI=yCONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not setCONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not setCONFIG_BLK_DEV_RZ1000=yCONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not setCONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not setCONFIG_BLK_DEV_AEC62XX=yCONFIG_BLK_DEV_ALI15X3=y
# CONFIG_WDC_ALI15X3 is not setCONFIG_BLK_DEV_AMD74XX=y
# CONFIG_BLK_DEV_ATIIXP is not setCONFIG_BLK_DEV_CMD64X=yCONFIG_BLK_DEV_TRIFLEX=yCONFIG_BLK_DEV_CY82C693=y
# CONFIG_BLK_DEV_CS5520 is not setCONFIG_BLK_DEV_CS5530=yCONFIG_BLK_DEV_HPT34X=y
# CONFIG_HPT34X_AUTODMA is not setCONFIG_BLK_DEV_HPT366=y
# CONFIG_BLK_DEV_SC1200 is not setCONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_NS87415 is not setCONFIG_BLK_DEV_PDC202XX_OLD=y
# CONFIG_PDC202XX_BURST is not setCONFIG_BLK_DEV_PDC202XX_NEW=y
# CONFIG_PDC202XX_FORCE is not setCONFIG_BLK_DEV_SVWKS=yCONFIG_BLK_DEV_SIIMAGE=yCONFIG_BLK_DEV_SIS5513=yCONFIG_BLK_DEV_SLC90E66=y
# CONFIG_BLK_DEV_TRM290 is not setCONFIG_BLK_DEV_VIA82CXXX=y
# CONFIG_IDE_ARM is not set
# CONFIG_IDE_CHIPSETS is not setCONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not setCONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set
#
# SCSI device support
#CONFIG_SCSI=mCONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#CONFIG_BLK_DEV_SD=mCONFIG_CHR_DEV_ST=mCONFIG_CHR_DEV_OSST=mCONFIG_BLK_DEV_SR=mCONFIG_BLK_DEV_SR_VENDOR=yCONFIG_CHR_DEV_SG=m
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs #
# CONFIG_SCSI_MULTI_LUN is not set CONFIG_SCSI_CONSTANTS=yCONFIG_SCSI_LOGGING=y
#
# SCSI Transport Attributes
#CONFIG_SCSI_SPI_ATTRS=m
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
#
# SCSI low-level drivers
#CONFIG_BLK_DEV_3W_XXXX_RAID=m
# CONFIG_SCSI_3W_9XXX is not setCONFIG_SCSI_7000FASST=mCONFIG_SCSI_ACARD=mCONFIG_SCSI_AHA152X=mCONFIG_SCSI_AHA1542=mCONFIG_SCSI_AACRAID=mCONFIG_SCSI_AIC7XXX=mCONFIG_AIC7XXX_CMDS_PER_DEVICE=32CONFIG_AIC7XXX_RESET_DELAY_MS=15000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not setCONFIG_AIC7XXX_DEBUG_MASK=0
# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not setCONFIG_SCSI_AIC7XXX_OLD=mCONFIG_SCSI_AIC79XX=mCONFIG_AIC79XX_CMDS_PER_DEVICE=32CONFIG_AIC79XX_RESET_DELAY_MS=15000
# CONFIG_AIC79XX_ENABLE_RD_STRM is not set
# CONFIG_AIC79XX_DEBUG_ENABLE is not setCONFIG_AIC79XX_DEBUG_MASK=0
# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_DPT_I2O is not setCONFIG_SCSI_IN2000=m
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not setCONFIG_SCSI_SATA=y
# CONFIG_SCSI_SATA_AHCI is not setCONFIG_SCSI_SATA_SVW=mCONFIG_SCSI_ATA_PIIX=m
# CONFIG_SCSI_SATA_NV is not setCONFIG_SCSI_SATA_PROMISE=m
# CONFIG_SCSI_SATA_QSTOR is not set
# CONFIG_SCSI_SATA_SX4 is not setCONFIG_SCSI_SATA_SIL=m
# CONFIG_SCSI_SATA_SIS is not set
# CONFIG_SCSI_SATA_ULI is not setCONFIG_SCSI_SATA_VIA=m
# CONFIG_SCSI_SATA_VITESSE is not setCONFIG_SCSI_BUSLOGIC=m
# CONFIG_SCSI_OMIT_FLASHPOINT is not setCONFIG_SCSI_DMX3191D=mCONFIG_SCSI_DTC3280=mCONFIG_SCSI_EATA=mCONFIG_SCSI_EATA_TAGGED_QUEUE=y
# CONFIG_SCSI_EATA_LINKED_COMMANDS is not setCONFIG_SCSI_EATA_MAX_TAGS=16CONFIG_SCSI_FUTURE_DOMAIN=mCONFIG_SCSI_GDTH=mCONFIG_SCSI_GENERIC_NCR5380=m
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_GENERIC_NCR53C400 is not setCONFIG_SCSI_IPS=m
# CONFIG_SCSI_INITIO is not setCONFIG_SCSI_INIA100=mCONFIG_SCSI_PPA=mCONFIG_SCSI_IMM=m
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not setCONFIG_SCSI_NCR53C406A=mCONFIG_SCSI_SYM53C8XX_2=mCONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
# CONFIG_SCSI_IPR is not setCONFIG_SCSI_PAS16=mCONFIG_SCSI_PSI240I=mCONFIG_SCSI_QLOGIC_FAS=mCONFIG_SCSI_QLOGIC_FC=m
# CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not setCONFIG_SCSI_QLOGIC_1280=m
# CONFIG_SCSI_QLOGIC_1280_1040 is not setCONFIG_SCSI_QLA2XXX=m
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not setCONFIG_SCSI_SYM53C416=m
# CONFIG_SCSI_DC395x is not setCONFIG_SCSI_DC390T=mCONFIG_SCSI_T128=mCONFIG_SCSI_U14_34F=m
# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not setCONFIG_SCSI_U14_34F_MAX_TAGS=8CONFIG_SCSI_ULTRASTOR=mCONFIG_SCSI_NSP32=mCONFIG_SCSI_DEBUG=m
#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set
#
# Multi-device support (RAID and LVM)
#CONFIG_MD=yCONFIG_BLK_DEV_MD=yCONFIG_MD_LINEAR=mCONFIG_MD_RAID0=mCONFIG_MD_RAID1=m
# CONFIG_MD_RAID10 is not setCONFIG_MD_RAID5=m
# CONFIG_MD_RAID6 is not setCONFIG_MD_MULTIPATH=m
# CONFIG_MD_FAULTY is not setCONFIG_BLK_DEV_DM=m
# CONFIG_DM_CRYPT is not set
# CONFIG_DM_SNAPSHOT is not set
# CONFIG_DM_MIRROR is not set
# CONFIG_DM_ZERO is not set
# CONFIG_DM_MULTIPATH is not set
#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set
#
# I2O device support
#CONFIG_I2O=m
# CONFIG_I2O_CONFIG is not setCONFIG_I2O_BLOCK=mCONFIG_I2O_SCSI=mCONFIG_I2O_PROC=m
#
# Networking support
#CONFIG_NET=y
#
# Networking options
#CONFIG_PACKET=yCONFIG_PACKET_MMAP=yCONFIG_UNIX=yCONFIG_NET_KEY=mCONFIG_INET=yCONFIG_IP_MULTICAST=yCONFIG_IP_ADVANCED_ROUTER=yCONFIG_IP_MULTIPLE_TABLES=yCONFIG_IP_ROUTE_FWMARK=yCONFIG_IP_ROUTE_MULTIPATH=y
# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not setCONFIG_IP_ROUTE_VERBOSE=y
# CONFIG_IP_PNP is not setCONFIG_NET_IPIP=mCONFIG_NET_IPGRE=mCONFIG_NET_IPGRE_BROADCAST=yCONFIG_IP_MROUTE=yCONFIG_IP_PIMSM_V1=yCONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not setCONFIG_SYN_COOKIES=yCONFIG_INET_AH=mCONFIG_INET_ESP=mCONFIG_INET_IPCOMP=mCONFIG_INET_TUNNEL=m
# CONFIG_IP_TCPDIAG is not set
# CONFIG_IP_TCPDIAG_IPV6 is not set
#
# IP: Virtual Server Configuration
#CONFIG_IP_VS=m
# CONFIG_IP_VS_DEBUG is not setCONFIG_IP_VS_TAB_BITS=16
#
# IPVS transport protocol load balancing support
#
# CONFIG_IP_VS_PROTO_TCP is not set
# CONFIG_IP_VS_PROTO_UDP is not set
# CONFIG_IP_VS_PROTO_ESP is not set
# CONFIG_IP_VS_PROTO_AH is not set
#
# IPVS scheduler
#CONFIG_IP_VS_RR=mCONFIG_IP_VS_WRR=mCONFIG_IP_VS_LC=mCONFIG_IP_VS_WLC=mCONFIG_IP_VS_LBLC=mCONFIG_IP_VS_LBLCR=mCONFIG_IP_VS_DH=mCONFIG_IP_VS_SH=m
# CONFIG_IP_VS_SED is not set
# CONFIG_IP_VS_NQ is not set
#
# IPVS application helper
#CONFIG_IPV6=m
# CONFIG_IPV6_PRIVACY is not setCONFIG_INET6_AH=mCONFIG_INET6_ESP=mCONFIG_INET6_IPCOMP=mCONFIG_INET6_TUNNEL=m
# CONFIG_IPV6_TUNNEL is not setCONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not setCONFIG_BRIDGE_NETFILTER=y
#
# IP: Netfilter Configuration
#CONFIG_IP_NF_CONNTRACK=m
# CONFIG_IP_NF_CT_ACCT is not set
# CONFIG_IP_NF_CONNTRACK_MARK is not set
# CONFIG_IP_NF_CT_PROTO_SCTP is not setCONFIG_IP_NF_FTP=mCONFIG_IP_NF_IRC=mCONFIG_IP_NF_TFTP=mCONFIG_IP_NF_AMANDA=mCONFIG_IP_NF_QUEUE=mCONFIG_IP_NF_IPTABLES=mCONFIG_IP_NF_MATCH_LIMIT=m
# CONFIG_IP_NF_MATCH_IPRANGE is not setCONFIG_IP_NF_MATCH_MAC=mCONFIG_IP_NF_MATCH_PKTTYPE=mCONFIG_IP_NF_MATCH_MARK=mCONFIG_IP_NF_MATCH_MULTIPORT=mCONFIG_IP_NF_MATCH_TOS=mCONFIG_IP_NF_MATCH_RECENT=mCONFIG_IP_NF_MATCH_ECN=mCONFIG_IP_NF_MATCH_DSCP=mCONFIG_IP_NF_MATCH_AH_ESP=mCONFIG_IP_NF_MATCH_LENGTH=mCONFIG_IP_NF_MATCH_TTL=mCONFIG_IP_NF_MATCH_TCPMSS=mCONFIG_IP_NF_MATCH_HELPER=mCONFIG_IP_NF_MATCH_STATE=mCONFIG_IP_NF_MATCH_CONNTRACK=mCONFIG_IP_NF_MATCH_OWNER=m
# CONFIG_IP_NF_MATCH_PHYSDEV is not set
# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
# CONFIG_IP_NF_MATCH_REALM is not set
# CONFIG_IP_NF_MATCH_SCTP is not set
# CONFIG_IP_NF_MATCH_COMMENT is not set
# CONFIG_IP_NF_MATCH_HASHLIMIT is not setCONFIG_IP_NF_FILTER=mCONFIG_IP_NF_TARGET_REJECT=mCONFIG_IP_NF_TARGET_LOG=mCONFIG_IP_NF_TARGET_ULOG=mCONFIG_IP_NF_TARGET_TCPMSS=mCONFIG_IP_NF_NAT=mCONFIG_IP_NF_NAT_NEEDED=yCONFIG_IP_NF_TARGET_MASQUERADE=mCONFIG_IP_NF_TARGET_REDIRECT=m
# CONFIG_IP_NF_TARGET_NETMAP is not set
# CONFIG_IP_NF_TARGET_SAME is not setCONFIG_IP_NF_NAT_SNMP_BASIC=mCONFIG_IP_NF_NAT_IRC=mCONFIG_IP_NF_NAT_FTP=mCONFIG_IP_NF_NAT_TFTP=mCONFIG_IP_NF_NAT_AMANDA=mCONFIG_IP_NF_MANGLE=mCONFIG_IP_NF_TARGET_TOS=mCONFIG_IP_NF_TARGET_ECN=mCONFIG_IP_NF_TARGET_DSCP=mCONFIG_IP_NF_TARGET_MARK=m
# CONFIG_IP_NF_TARGET_CLASSIFY is not set
# CONFIG_IP_NF_RAW is not setCONFIG_IP_NF_ARPTABLES=mCONFIG_IP_NF_ARPFILTER=mCONFIG_IP_NF_ARP_MANGLE=m
#
# IPv6: Netfilter Configuration (EXPERIMENTAL)
#
# CONFIG_IP6_NF_QUEUE is not setCONFIG_IP6_NF_IPTABLES=mCONFIG_IP6_NF_MATCH_LIMIT=mCONFIG_IP6_NF_MATCH_MAC=mCONFIG_IP6_NF_MATCH_RT=mCONFIG_IP6_NF_MATCH_OPTS=mCONFIG_IP6_NF_MATCH_FRAG=mCONFIG_IP6_NF_MATCH_HL=mCONFIG_IP6_NF_MATCH_MULTIPORT=mCONFIG_IP6_NF_MATCH_OWNER=mCONFIG_IP6_NF_MATCH_MARK=mCONFIG_IP6_NF_MATCH_IPV6HEADER=mCONFIG_IP6_NF_MATCH_AHESP=mCONFIG_IP6_NF_MATCH_LENGTH=mCONFIG_IP6_NF_MATCH_EUI64=m
# CONFIG_IP6_NF_MATCH_PHYSDEV is not setCONFIG_IP6_NF_FILTER=mCONFIG_IP6_NF_TARGET_LOG=mCONFIG_IP6_NF_MANGLE=mCONFIG_IP6_NF_TARGET_MARK=m
# CONFIG_IP6_NF_RAW is not set
#
# Bridge: Netfilter Configuration
#
# CONFIG_BRIDGE_NF_EBTABLES is not setCONFIG_XFRM=yCONFIG_XFRM_USER=m
#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not setCONFIG_ATM=yCONFIG_ATM_CLIP=y
# CONFIG_ATM_CLIP_NO_ICMP is not setCONFIG_ATM_LANE=mCONFIG_ATM_MPOA=mCONFIG_ATM_BR2684=mCONFIG_ATM_BR2684_IPFILTER=yCONFIG_BRIDGE=mCONFIG_VLAN_8021Q=m
# CONFIG_DECNET is not setCONFIG_LLC=y
# CONFIG_LLC2 is not setCONFIG_IPX=m
# CONFIG_IPX_INTERN is not setCONFIG_ATALK=mCONFIG_DEV_APPLETALK=yCONFIG_LTPC=mCONFIG_COPS=mCONFIG_COPS_DAYNA=yCONFIG_COPS_TANGENT=yCONFIG_IPDDP=mCONFIG_IPDDP_ENCAP=yCONFIG_IPDDP_DECAP=y
# CONFIG_X25 is not set
# CONFIG_LAPB is not setCONFIG_NET_DIVERT=y
# CONFIG_ECONET is not setCONFIG_WAN_ROUTER=m
#
# QoS and/or fair queueing
#CONFIG_NET_SCHED=yCONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not setCONFIG_NET_SCH_CBQ=mCONFIG_NET_SCH_HTB=m
# CONFIG_NET_SCH_HFSC is not set
# CONFIG_NET_SCH_ATM is not setCONFIG_NET_SCH_PRIO=mCONFIG_NET_SCH_RED=mCONFIG_NET_SCH_SFQ=mCONFIG_NET_SCH_TEQL=mCONFIG_NET_SCH_TBF=mCONFIG_NET_SCH_GRED=mCONFIG_NET_SCH_DSMARK=m
# CONFIG_NET_SCH_NETEM is not setCONFIG_NET_SCH_INGRESS=mCONFIG_NET_QOS=yCONFIG_NET_ESTIMATOR=yCONFIG_NET_CLS=y
# CONFIG_NET_CLS_BASIC is not setCONFIG_NET_CLS_TCINDEX=mCONFIG_NET_CLS_ROUTE4=mCONFIG_NET_CLS_ROUTE=yCONFIG_NET_CLS_FW=mCONFIG_NET_CLS_U32=m
# CONFIG_CLS_U32_PERF is not set
# CONFIG_NET_CLS_IND is not set
# CONFIG_CLS_U32_MARK is not setCONFIG_NET_CLS_RSVP=mCONFIG_NET_CLS_RSVP6=m
# CONFIG_NET_EMATCH is not set
# CONFIG_NET_CLS_ACT is not setCONFIG_NET_CLS_POLICE=y
#
# Network testing
#
# CONFIG_NET_PKTGEN is not setCONFIG_NETPOLL=y
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not setCONFIG_NET_POLL_CONTROLLER=y
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not setCONFIG_NETDEVICES=yCONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not setCONFIG_TUN=m
# CONFIG_NET_SB1000 is not set
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
#
# Ethernet (10 or 100Mbit)
#CONFIG_NET_ETHERNET=yCONFIG_MII=mCONFIG_HAPPYMEAL=mCONFIG_SUNGEM=mCONFIG_NET_VENDOR_3COM=yCONFIG_EL1=mCONFIG_EL2=mCONFIG_ELPLUS=mCONFIG_EL16=mCONFIG_EL3=mCONFIG_3C515=mCONFIG_VORTEX=mCONFIG_TYPHOON=mCONFIG_LANCE=mCONFIG_NET_VENDOR_SMC=y
CONFIG_WD80x3=mCONFIG_ULTRA=mCONFIG_SMC9194=mCONFIG_NET_VENDOR_RACAL=yCONFIG_NI5010=mCONFIG_NI52=mCONFIG_NI65=m
#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not setCONFIG_AT1700=mCONFIG_DEPCA=mCONFIG_HP100=mCONFIG_NET_ISA=yCONFIG_E2100=mCONFIG_EWRK3=mCONFIG_EEXPRESS=mCONFIG_EEXPRESS_PRO=mCONFIG_HPLAN_PLUS=mCONFIG_HPLAN=mCONFIG_LP486E=mCONFIG_ETH16I=mCONFIG_NE2000=m
# CONFIG_ZNET is not set
# CONFIG_SEEQ8005 is not setCONFIG_NET_PCI=yCONFIG_PCNET32=mCONFIG_AMD8111_ETH=m
# CONFIG_AMD8111E_NAPI is not setCONFIG_ADAPTEC_STARFIRE=m
# CONFIG_ADAPTEC_STARFIRE_NAPI is not setCONFIG_AC3200=mCONFIG_APRICOT=mCONFIG_B44=m
# CONFIG_FORCEDETH is not set
CONFIG_CS89x0=mCONFIG_DGRS=mCONFIG_EEPRO100=mCONFIG_E100=mCONFIG_FEALNX=mCONFIG_NATSEMI=mCONFIG_NE2K_PCI=mCONFIG_8139CP=mCONFIG_8139TOO=mCONFIG_8139TOO_PIO=y
# CONFIG_8139TOO_TUNE_TWISTER is not setCONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not setCONFIG_SIS900=mCONFIG_EPIC100=mCONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not setCONFIG_TLAN=mCONFIG_VIA_RHINE=m
# CONFIG_VIA_RHINE_MMIO is not setCONFIG_NET_POCKET=yCONFIG_ATP=mCONFIG_DE600=mCONFIG_DE620=m
#
# Ethernet (1000 Mbit)
#CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not setCONFIG_DL2K=mCONFIG_E1000=mCONFIG_E1000_NAPI=yCONFIG_NS83820=mCONFIG_HAMACHI=mCONFIG_YELLOWFIN=mCONFIG_R8169=m
# CONFIG_R8169_NAPI is not set
# CONFIG_R8169_VLAN is not setCONFIG_SK98LIN=m
# CONFIG_VIA_VELOCITY is not setCONFIG_TIGON3=m
#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set
#
# Token Ring devices
#CONFIG_TR=yCONFIG_IBMTR=mCONFIG_IBMOL=mCONFIG_IBMLS=mCONFIG_3C359=mCONFIG_TMS380TR=mCONFIG_TMSPCI=m
# CONFIG_SKISA is not set
# CONFIG_PROTEON is not setCONFIG_ABYSS=mCONFIG_SMCTR=m
#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
#
# ATM drivers
#
# CONFIG_ATM_TCP is not set
# CONFIG_ATM_LANAI is not set
# CONFIG_ATM_ENI is not set
# CONFIG_ATM_FIRESTREAM is not set
# CONFIG_ATM_ZATM is not set
# CONFIG_ATM_NICSTAR 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_MAYBE is not set
# CONFIG_ATM_HE is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not setCONFIG_PLIP=mCONFIG_PPP=mCONFIG_PPP_MULTILINK=yCONFIG_PPP_FILTER=yCONFIG_PPP_ASYNC=mCONFIG_PPP_SYNC_TTY=mCONFIG_PPP_DEFLATE=m
# CONFIG_PPP_BSDCOMP is not setCONFIG_PPPOE=mCONFIG_PPPOATM=mCONFIG_SLIP=mCONFIG_SLIP_COMPRESSED=yCONFIG_SLIP_SMART=yCONFIG_SLIP_MODE_SLIP6=yCONFIG_NET_FC=yCONFIG_SHAPER=mCONFIG_NETCONSOLE=m
#
# ISDN subsystem
#
# CONFIG_ISDN is not set
#
# Telephony Support
#
# CONFIG_PHONE is not set
#
# Input device support
#CONFIG_INPUT=y
#
# Userland interfaces
#CONFIG_INPUT_MOUSEDEV=yCONFIG_INPUT_MOUSEDEV_PSAUX=yCONFIG_INPUT_MOUSEDEV_SCREEN_X=1024CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768CONFIG_INPUT_JOYDEV=m
# CONFIG_INPUT_TSDEV is not setCONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#CONFIG_INPUT_KEYBOARD=yCONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not setCONFIG_INPUT_MOUSE=yCONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_INPORT is not set
# CONFIG_MOUSE_LOGIBM is not set
# CONFIG_MOUSE_PC110PAD is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Hardware I/O ports
#CONFIG_SERIO=yCONFIG_SERIO_I8042=yCONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not setCONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_GAMEPORT is not setCONFIG_SOUND_GAMEPORT=y
#
# Character devices
#CONFIG_VT=yCONFIG_VT_CONSOLE=yCONFIG_HW_CONSOLE=yCONFIG_SERIAL_NONSTANDARD=yCONFIG_COMPUTONE=mCONFIG_ROCKETPORT=mCONFIG_CYCLADES=m
# CONFIG_CYZ_INTR is not setCONFIG_DIGIEPCA=mCONFIG_ESPSERIAL=mCONFIG_MOXA_INTELLIO=mCONFIG_MOXA_SMARTIO=mCONFIG_ISI=mCONFIG_SYNCLINK=m
# CONFIG_SYNCLINKMP is not setCONFIG_N_HDLC=mCONFIG_RISCOM8=mCONFIG_SPECIALIX=mCONFIG_SPECIALIX_RTSCTS=yCONFIG_SX=m
# CONFIG_RIO is not setCONFIG_STALDRV=yCONFIG_STALLION=mCONFIG_ISTALLION=m
#
# Serial drivers
#CONFIG_SERIAL_8250=m
# CONFIG_SERIAL_8250_ACPI is not setCONFIG_SERIAL_8250_NR_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
#
# Non-8250 serial port support
#CONFIG_SERIAL_CORE=m
# CONFIG_SERIAL_JSM is not setCONFIG_UNIX98_PTYS=yCONFIG_LEGACY_PTYS=yCONFIG_LEGACY_PTY_COUNT=256CONFIG_PRINTER=mCONFIG_LP_CONSOLE=yCONFIG_PPDEV=mCONFIG_TIPAR=m
#
# IPMI
#CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not setCONFIG_IPMI_DEVICE_INTERFACE=m
# CONFIG_IPMI_SI is not setCONFIG_IPMI_WATCHDOG=m
# CONFIG_IPMI_POWEROFF is not set
#
# Watchdog Cards
#CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
#
# Watchdog Device Drivers
#CONFIG_SOFT_WATCHDOG=mCONFIG_ACQUIRE_WDT=mCONFIG_ADVANTECH_WDT=mCONFIG_ALIM1535_WDT=mCONFIG_ALIM7101_WDT=mCONFIG_SC520_WDT=mCONFIG_EUROTECH_WDT=mCONFIG_IB700_WDT=mCONFIG_WAFER_WDT=m
# CONFIG_I8XX_TCO is not setCONFIG_SC1200_WDT=m
# CONFIG_60XX_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_W83627HF_WDT is not setCONFIG_W83877F_WDT=mCONFIG_MACHZ_WDT=m
#
# ISA-based Watchdog Cards
#CONFIG_PCWATCHDOG=m
# CONFIG_MIXCOMWD is not setCONFIG_WDT=m
# CONFIG_WDT_501 is not set
#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not setCONFIG_WDTPCI=m
# CONFIG_WDT_501_PCI is not set
# CONFIG_HW_RANDOM is not setCONFIG_NVRAM=mCONFIG_RTC=yCONFIG_RTC_HISTOGRAM=yCONFIG_BLOCKER=yCONFIG_DTLK=mCONFIG_R3964=m
# CONFIG_APPLICOM is not setCONFIG_SONYPI=m
#
# Ftape, the floppy tape device driver
#CONFIG_FTAPE=mCONFIG_ZFTAPE=mCONFIG_ZFT_DFLT_BLK_SZ=10240
#
# The compressor will be built as a module only!
#CONFIG_ZFT_COMPRESSOR=mCONFIG_FT_NR_BUFFERS=3
# CONFIG_FT_PROC_FS is not setCONFIG_FT_NORMAL_DEBUG=y
# CONFIG_FT_FULL_DEBUG is not set
# CONFIG_FT_NO_TRACE is not set
# CONFIG_FT_NO_TRACE_AT_ALL is not set
#
# Hardware configuration
#CONFIG_FT_STD_FDC=y
# CONFIG_FT_MACH2 is not set
# CONFIG_FT_PROBE_FC10 is not set
# CONFIG_FT_ALT_FDC is not setCONFIG_FT_FDC_THR=8CONFIG_FT_FDC_MAX_RATE=2000CONFIG_FT_ALPHA_CLOCK=0CONFIG_AGP=mCONFIG_AGP_ALI=mCONFIG_AGP_ATI=mCONFIG_AGP_AMD=m
# CONFIG_AGP_AMD64 is not setCONFIG_AGP_INTEL=mCONFIG_AGP_NVIDIA=mCONFIG_AGP_SIS=mCONFIG_AGP_SWORKS=mCONFIG_AGP_VIA=m
# CONFIG_AGP_EFFICEON is not set
# CONFIG_DRM is not setCONFIG_MWAVE=m
# CONFIG_RAW_DRIVER is not set
# CONFIG_HPET is not set
# CONFIG_HANGCHECK_TIMER is not set
#
# TPM devices
#
# CONFIG_TCG_TPM is not set
#
# I2C support
#CONFIG_I2C=mCONFIG_I2C_CHARDEV=m
#
# I2C Algorithms
#CONFIG_I2C_ALGOBIT=mCONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_ALGOPCA is not set
#
# I2C Hardware Bus support
#CONFIG_I2C_ALI1535=m
# CONFIG_I2C_ALI1563 is not setCONFIG_I2C_ALI15X3=mCONFIG_I2C_AMD756=m
# CONFIG_I2C_AMD756_S4882 is not set
# CONFIG_I2C_AMD8111 is not setCONFIG_I2C_ELEKTOR=mCONFIG_I2C_I801=mCONFIG_I2C_I810=mCONFIG_I2C_PIIX4=mCONFIG_I2C_ISA=m
# CONFIG_I2C_NFORCE2 is not setCONFIG_I2C_PARPORT=m
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
# CONFIG_SCx200_ACB is not setCONFIG_I2C_SIS5595=m
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_STUB is not setCONFIG_I2C_VIA=mCONFIG_I2C_VIAPRO=mCONFIG_I2C_VOODOO3=m
# CONFIG_I2C_PCA_ISA is not set
#
# Hardware Sensors Chip support
#CONFIG_I2C_SENSOR=mCONFIG_SENSORS_ADM1021=m
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ASB100 is not setCONFIG_SENSORS_DS1621=m
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_FSCPOS is not setCONFIG_SENSORS_GL518SM=m
# CONFIG_SENSORS_GL520SM is not setCONFIG_SENSORS_IT87=m
# CONFIG_SENSORS_LM63 is not setCONFIG_SENSORS_LM75=m
# CONFIG_SENSORS_LM77 is not setCONFIG_SENSORS_LM78=mCONFIG_SENSORS_LM80=m
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_SMSC47M1 is not setCONFIG_SENSORS_VIA686A=mCONFIG_SENSORS_W83781D=m
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83627HF is not set
#
# Other I2C Chip support
#
# CONFIG_SENSORS_DS1337 is not setCONFIG_SENSORS_EEPROM=mCONFIG_SENSORS_PCF8574=mCONFIG_SENSORS_PCF8591=m
# CONFIG_SENSORS_RTC8564 is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set
#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set
#
# Misc devices
#
# CONFIG_IBM_ASM is not set
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set
#
# Graphics support
#CONFIG_FB=yCONFIG_FB_CFB_FILLRECT=yCONFIG_FB_CFB_COPYAREA=yCONFIG_FB_CFB_IMAGEBLIT=yCONFIG_FB_SOFT_CURSOR=y
# CONFIG_FB_MACMODES is not setCONFIG_FB_MODE_HELPERS=yCONFIG_FB_TILEBLITTING=yCONFIG_FB_CIRRUS=mCONFIG_FB_PM2=m
# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not setCONFIG_FB_VGA16=mCONFIG_FB_VESA=yCONFIG_VIDEO_SELECT=yCONFIG_FB_HGA=m
# CONFIG_FB_HGA_ACCEL is not set
# CONFIG_FB_NVIDIA is not setCONFIG_FB_RIVA=m
# CONFIG_FB_RIVA_I2C is not set
# CONFIG_FB_RIVA_DEBUG is not set
# CONFIG_FB_I810 is not set
# CONFIG_FB_INTEL is not setCONFIG_FB_MATROX=mCONFIG_FB_MATROX_MILLENIUM=yCONFIG_FB_MATROX_MYSTIQUE=y
# CONFIG_FB_MATROX_G is not setCONFIG_FB_MATROX_I2C=mCONFIG_FB_MATROX_MULTIHEAD=y
# CONFIG_FB_RADEON_OLD is not setCONFIG_FB_RADEON=mCONFIG_FB_RADEON_I2C=y
# CONFIG_FB_RADEON_DEBUG is not setCONFIG_FB_ATY128=mCONFIG_FB_ATY=mCONFIG_FB_ATY_CT=y
# CONFIG_FB_ATY_GENERIC_LCD is not set
# CONFIG_FB_ATY_XL_INIT is not setCONFIG_FB_ATY_GX=y
# CONFIG_FB_SAVAGE is not setCONFIG_FB_SIS=mCONFIG_FB_SIS_300=yCONFIG_FB_SIS_315=yCONFIG_FB_NEOMAGIC=m
# CONFIG_FB_KYRO is not setCONFIG_FB_3DFX=m
# CONFIG_FB_3DFX_ACCEL is not setCONFIG_FB_VOODOO1=m
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_VIRTUAL is not set
#
# Console display driver support
#CONFIG_VGA_CONSOLE=yCONFIG_MDA_CONSOLE=mCONFIG_DUMMY_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE is not set
#
# Logo configuration
#
# CONFIG_LOGO is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Sound
#CONFIG_SOUND=m
#
# Advanced Linux Sound Architecture
#
# CONFIG_SND is not set
#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set
#
# USB support
#CONFIG_USB_ARCH_HAS_HCD=yCONFIG_USB_ARCH_HAS_OHCI=y
# CONFIG_USB is not set
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# MMC/SD Card support
#
# CONFIG_MMC is not set
#
# InfiniBand support
#
# CONFIG_INFINIBAND is not set
#
# File systems
#CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not setCONFIG_EXT3_FS=mCONFIG_EXT3_FS_XATTR=yCONFIG_EXT3_FS_POSIX_ACL=y
# CONFIG_EXT3_FS_SECURITY is not setCONFIG_JBD=m
# CONFIG_JBD_DEBUG is not setCONFIG_FS_MBCACHE=yCONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not setCONFIG_REISERFS_PROC_INFO=y
# CONFIG_REISERFS_FS_XATTR is not setCONFIG_JFS_FS=m
# CONFIG_JFS_POSIX_ACL is not set
# CONFIG_JFS_SECURITY is not setCONFIG_JFS_DEBUG=y
# CONFIG_JFS_STATISTICS is not setCONFIG_FS_POSIX_ACL=y
#
# XFS support
#
# CONFIG_XFS_FS is not setCONFIG_MINIX_FS=mCONFIG_ROMFS_FS=mCONFIG_QUOTA=y
# CONFIG_QFMT_V1 is not setCONFIG_QFMT_V2=yCONFIG_QUOTACTL=yCONFIG_DNOTIFY=yCONFIG_AUTOFS_FS=mCONFIG_AUTOFS4_FS=m
#
# CD-ROM/DVD Filesystems
#CONFIG_ISO9660_FS=yCONFIG_JOLIET=yCONFIG_ZISOFS=yCONFIG_ZISOFS_FS=yCONFIG_UDF_FS=mCONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#CONFIG_FAT_FS=mCONFIG_MSDOS_FS=mCONFIG_VFAT_FS=mCONFIG_FAT_DEFAULT_CODEPAGE=437CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#CONFIG_PROC_FS=yCONFIG_PROC_KCORE=yCONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVPTS_FS_XATTR is not setCONFIG_TMPFS=y
# CONFIG_TMPFS_XATTR is not set
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not setCONFIG_RAMFS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not setCONFIG_CRAMFS=y
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not setCONFIG_SYSV_FS=mCONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set
#
# Network File Systems
#CONFIG_NFS_FS=mCONFIG_NFS_V3=y
# CONFIG_NFS_V4 is not setCONFIG_NFS_DIRECTIO=yCONFIG_NFSD=mCONFIG_NFSD_V3=y
# CONFIG_NFSD_V4 is not setCONFIG_NFSD_TCP=yCONFIG_LOCKD=mCONFIG_LOCKD_V4=yCONFIG_EXPORTFS=mCONFIG_SUNRPC=m
# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not setCONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
# CONFIG_CIFS is not setCONFIG_NCP_FS=mCONFIG_NCPFS_PACKET_SIGNING=yCONFIG_NCPFS_IOCTL_LOCKING=yCONFIG_NCPFS_STRONG=yCONFIG_NCPFS_NFS_NS=yCONFIG_NCPFS_OS2_NS=yCONFIG_NCPFS_SMALLDOS=yCONFIG_NCPFS_NLS=yCONFIG_NCPFS_EXTRAS=yCONFIG_CODA_FS=m
# CONFIG_CODA_FS_OLD_API is not setCONFIG_AFS_FS=mCONFIG_RXRPC=m
#
# Partition Types
#CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not setCONFIG_OSF_PARTITION=y
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not setCONFIG_MSDOS_PARTITION=yCONFIG_BSD_DISKLABEL=yCONFIG_MINIX_SUBPARTITION=yCONFIG_SOLARIS_X86_PARTITION=yCONFIG_UNIXWARE_DISKLABEL=y
# CONFIG_LDM_PARTITION is not setCONFIG_SGI_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not setCONFIG_SUN_PARTITION=y
# CONFIG_EFI_PARTITION is not set
#
# Native Language Support
#CONFIG_NLS=yCONFIG_NLS_DEFAULT="iso8859-1"CONFIG_NLS_CODEPAGE_437=mCONFIG_NLS_CODEPAGE_737=mCONFIG_NLS_CODEPAGE_775=mCONFIG_NLS_CODEPAGE_850=mCONFIG_NLS_CODEPAGE_852=mCONFIG_NLS_CODEPAGE_855=mCONFIG_NLS_CODEPAGE_857=mCONFIG_NLS_CODEPAGE_860=mCONFIG_NLS_CODEPAGE_861=mCONFIG_NLS_CODEPAGE_862=mCONFIG_NLS_CODEPAGE_863=mCONFIG_NLS_CODEPAGE_864=mCONFIG_NLS_CODEPAGE_865=mCONFIG_NLS_CODEPAGE_866=mCONFIG_NLS_CODEPAGE_869=mCONFIG_NLS_CODEPAGE_936=mCONFIG_NLS_CODEPAGE_950=mCONFIG_NLS_CODEPAGE_932=mCONFIG_NLS_CODEPAGE_949=mCONFIG_NLS_CODEPAGE_874=mCONFIG_NLS_ISO8859_8=mCONFIG_NLS_CODEPAGE_1250=mCONFIG_NLS_CODEPAGE_1251=m
# CONFIG_NLS_ASCII is not setCONFIG_NLS_ISO8859_1=mCONFIG_NLS_ISO8859_2=mCONFIG_NLS_ISO8859_3=mCONFIG_NLS_ISO8859_4=mCONFIG_NLS_ISO8859_5=mCONFIG_NLS_ISO8859_6=mCONFIG_NLS_ISO8859_7=mCONFIG_NLS_ISO8859_9=mCONFIG_NLS_ISO8859_13=mCONFIG_NLS_ISO8859_14=mCONFIG_NLS_ISO8859_15=mCONFIG_NLS_KOI8_R=mCONFIG_NLS_KOI8_U=mCONFIG_NLS_UTF8=m
#
# Profiling support
#CONFIG_PROFILING=yCONFIG_OPROFILE=m
#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not setCONFIG_DEBUG_KERNEL=yCONFIG_MAGIC_SYSRQ=yCONFIG_LOG_BUF_SHIFT=14
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB is not setCONFIG_DEBUG_PREEMPT=yCONFIG_WAKEUP_TIMING=yCONFIG_PREEMPT_TRACE=y
# CONFIG_CRITICAL_PREEMPT_TIMING is not set
# CONFIG_CRITICAL_IRQSOFF_TIMING is not setCONFIG_LATENCY_TIMING=yCONFIG_LATENCY_TRACE=yCONFIG_MCOUNT=yCONFIG_RT_DEADLOCK_DETECT=y
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_HIGHMEM is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_FS is not setCONFIG_FRAME_POINTER=yCONFIG_EARLY_PRINTK=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_KPROBES is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_4KSTACKS is not set
#
# Security options
#
# CONFIG_KEYS is not setCONFIG_SECURITY=yCONFIG_SECURITY_NETWORK=yCONFIG_SECURITY_CAPABILITIES=y
# CONFIG_SECURITY_SECLVL is not set
# CONFIG_SECURITY_SELINUX is not set
#
# Cryptographic options
#CONFIG_CRYPTO=yCONFIG_CRYPTO_HMAC=yCONFIG_CRYPTO_NULL=mCONFIG_CRYPTO_MD4=mCONFIG_CRYPTO_MD5=mCONFIG_CRYPTO_SHA1=mCONFIG_CRYPTO_SHA256=mCONFIG_CRYPTO_SHA512=m
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_TGR192 is not setCONFIG_CRYPTO_DES=mCONFIG_CRYPTO_BLOWFISH=m
# CONFIG_CRYPTO_TWOFISH is not setCONFIG_CRYPTO_SERPENT=m
# CONFIG_CRYPTO_AES_586 is not setCONFIG_CRYPTO_CAST5=m
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_ANUBIS is not setCONFIG_CRYPTO_DEFLATE=m
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_TEST is not set
#
# Hardware crypto devices
#
# CONFIG_CRYPTO_DEV_PADLOCK is not set
#
# Library routines
#CONFIG_CRC_CCITT=mCONFIG_CRC32=y
# CONFIG_LIBCRC32C is not setCONFIG_ZLIB_INFLATE=yCONFIG_ZLIB_DEFLATE=mCONFIG_GENERIC_HARDIRQS=yCONFIG_GENERIC_IRQ_PROBE=yCONFIG_X86_BIOS_REBOOT=y
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.12-rc2-RT-V0.7.44-02
# Thu Apr 7 05:56:40 2005
#CONFIG_X86=yCONFIG_MMU=yCONFIG_UID16=yCONFIG_GENERIC_ISA_DMA=yCONFIG_GENERIC_IOMAP=y
#
# Code maturity level options
#CONFIG_EXPERIMENTAL=yCONFIG_CLEAN_COMPILE=yCONFIG_LOCK_KERNEL=yCONFIG_INIT_ENV_ARG_LIMIT=32
#
# General setup
#CONFIG_LOCALVERSION=""CONFIG_SWAP=yCONFIG_SYSVIPC=yCONFIG_POSIX_MQUEUE=yCONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not setCONFIG_SYSCTL=y
# CONFIG_AUDIT is not setCONFIG_HOTPLUG=yCONFIG_KOBJECT_UEVENT=yCONFIG_IKCONFIG=yCONFIG_IKCONFIG_PROC=yCONFIG_CPUSETS=y
# CONFIG_EMBEDDED is not setCONFIG_KALLSYMS=yCONFIG_KALLSYMS_ALL=yCONFIG_KALLSYMS_EXTRA_PASS=yCONFIG_BASE_FULL=yCONFIG_FUTEX=yCONFIG_EPOLL=yCONFIG_SHMEM=yCONFIG_CC_ALIGN_FUNCTIONS=0CONFIG_CC_ALIGN_LABELS=0CONFIG_CC_ALIGN_LOOPS=0CONFIG_CC_ALIGN_JUMPS=0
# CONFIG_TINY_SHMEM is not setCONFIG_BASE_SMALL=0
#
# Loadable module support
#CONFIG_MODULES=yCONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not setCONFIG_OBSOLETE_MODPARM=yCONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not setCONFIG_KMOD=yCONFIG_STOP_MACHINE=y
#
# Processor type and features
#CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not setCONFIG_MPENTIUMIII=y
# 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_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODE is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not setCONFIG_X86_GENERIC=yCONFIG_X86_CMPXCHG=yCONFIG_X86_XADD=yCONFIG_X86_L1_CACHE_SHIFT=7CONFIG_GENERIC_CALIBRATE_DELAY=yCONFIG_X86_WP_WORKS_OK=yCONFIG_X86_INVLPG=yCONFIG_X86_BSWAP=yCONFIG_X86_POPAD_OK=yCONFIG_X86_GOOD_APIC=yCONFIG_X86_INTEL_USERCOPY=yCONFIG_X86_USE_PPRO_CHECKSUM=y
# CONFIG_HPET_TIMER is not setCONFIG_SMP=yCONFIG_NR_CPUS=8
# CONFIG_SCHED_SMT is not set
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT_DESKTOP is not setCONFIG_PREEMPT_RT=yCONFIG_PREEMPT=yCONFIG_PREEMPT_SOFTIRQS=yCONFIG_PREEMPT_HARDIRQS=yCONFIG_PREEMPT_RCU=yCONFIG_PREEMPT_BKL=yCONFIG_RWSEM_GENERIC_SPINLOCK=yCONFIG_ASM_SEMAPHORES=yCONFIG_X86_LOCAL_APIC=yCONFIG_X86_IO_APIC=yCONFIG_X86_TSC=yCONFIG_X86_MCE=y
# CONFIG_X86_MCE_NONFATAL is not set
# CONFIG_X86_MCE_P4THERMAL is not set
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not setCONFIG_MICROCODE=mCONFIG_X86_MSR=mCONFIG_X86_CPUID=m
#
# Firmware Drivers
#CONFIG_EDD=mCONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
# CONFIG_MATH_EMULATION is not setCONFIG_MTRR=yCONFIG_IRQBALANCE=yCONFIG_HAVE_DEC_LOCK=y
# CONFIG_SECCOMP is not set
#
# Power management options (ACPI, APM)
#
# CONFIG_PM is not set
#
# ACPI (Advanced Configuration and Power Interface) Support #
# CONFIG_ACPI is not setCONFIG_ACPI_BOOT=y
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not setCONFIG_PCI_GOANY=yCONFIG_PCI_BIOS=yCONFIG_PCI_DIRECT=y
# CONFIG_PCIEPORTBUS is not set
# CONFIG_PCI_MSI is not set
# CONFIG_PCI_LEGACY_PROC is not setCONFIG_PCI_NAMES=y
# CONFIG_PCI_DEBUG is not setCONFIG_ISA=y
# CONFIG_EISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set
#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set
#
# Executable file formats
#CONFIG_BINFMT_ELF=yCONFIG_BINFMT_AOUT=mCONFIG_BINFMT_MISC=m
#
# Device Drivers
#
#
# Generic Driver Options
#CONFIG_STANDALONE=yCONFIG_PREVENT_FIRMWARE_BUILD=yCONFIG_FW_LOADER=m
# CONFIG_DEBUG_DRIVER is not set
#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
#
# Plug and Play support
#CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set
#
# Protocols
#CONFIG_ISAPNP=y
# CONFIG_PNPBIOS is not set
#
# Block devices
#CONFIG_BLK_DEV_FD=m
# CONFIG_BLK_DEV_XD is not setCONFIG_BLK_CPQ_DA=mCONFIG_BLK_CPQ_CISS_DA=mCONFIG_CISS_SCSI_TAPE=y
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not setCONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not setCONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not setCONFIG_BLK_DEV_RAM=yCONFIG_BLK_DEV_RAM_COUNT=16CONFIG_BLK_DEV_RAM_SIZE=8192CONFIG_BLK_DEV_INITRD=yCONFIG_INITRAMFS_SOURCE=""
# CONFIG_LBD is not set
# CONFIG_CDROM_PKTCDVD is not set
#
# IO Schedulers
#CONFIG_IOSCHED_NOOP=yCONFIG_IOSCHED_AS=yCONFIG_IOSCHED_DEADLINE=yCONFIG_IOSCHED_CFQ=y
# CONFIG_ATA_OVER_ETH is not set
#
# ATA/ATAPI/MFM/RLL support
#CONFIG_IDE=yCONFIG_BLK_DEV_IDE=y
#
# Please see Documentation/ide.txt for help/info on IDE drives #
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set CONFIG_BLK_DEV_IDEDISK=yCONFIG_IDEDISK_MULTI_MODE=yCONFIG_BLK_DEV_IDECD=m
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_IDE_TASK_IOCTL is not set
#
# IDE chipset support/bugfixes
#CONFIG_IDE_GENERIC=yCONFIG_BLK_DEV_CMD640=y
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
# CONFIG_BLK_DEV_IDEPNP is not setCONFIG_BLK_DEV_IDEPCI=yCONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not setCONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not setCONFIG_BLK_DEV_RZ1000=yCONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not setCONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not setCONFIG_BLK_DEV_AEC62XX=yCONFIG_BLK_DEV_ALI15X3=y
# CONFIG_WDC_ALI15X3 is not setCONFIG_BLK_DEV_AMD74XX=y
# CONFIG_BLK_DEV_ATIIXP is not setCONFIG_BLK_DEV_CMD64X=yCONFIG_BLK_DEV_TRIFLEX=yCONFIG_BLK_DEV_CY82C693=y
# CONFIG_BLK_DEV_CS5520 is not setCONFIG_BLK_DEV_CS5530=yCONFIG_BLK_DEV_HPT34X=y
# CONFIG_HPT34X_AUTODMA is not setCONFIG_BLK_DEV_HPT366=y
# CONFIG_BLK_DEV_SC1200 is not setCONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_NS87415 is not setCONFIG_BLK_DEV_PDC202XX_OLD=y
# CONFIG_PDC202XX_BURST is not setCONFIG_BLK_DEV_PDC202XX_NEW=y
# CONFIG_PDC202XX_FORCE is not setCONFIG_BLK_DEV_SVWKS=yCONFIG_BLK_DEV_SIIMAGE=yCONFIG_BLK_DEV_SIS5513=yCONFIG_BLK_DEV_SLC90E66=y
# CONFIG_BLK_DEV_TRM290 is not setCONFIG_BLK_DEV_VIA82CXXX=y
# CONFIG_IDE_ARM is not set
# CONFIG_IDE_CHIPSETS is not setCONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not setCONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set
#
# SCSI device support
#CONFIG_SCSI=yCONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#CONFIG_BLK_DEV_SD=yCONFIG_CHR_DEV_ST=mCONFIG_CHR_DEV_OSST=mCONFIG_BLK_DEV_SR=mCONFIG_BLK_DEV_SR_VENDOR=yCONFIG_CHR_DEV_SG=y
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs #
# CONFIG_SCSI_MULTI_LUN is not set CONFIG_SCSI_CONSTANTS=yCONFIG_SCSI_LOGGING=y
#
# SCSI Transport Attributes
#CONFIG_SCSI_SPI_ATTRS=m
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
#
# SCSI low-level drivers
#CONFIG_BLK_DEV_3W_XXXX_RAID=m
# CONFIG_SCSI_3W_9XXX is not setCONFIG_SCSI_7000FASST=mCONFIG_SCSI_ACARD=mCONFIG_SCSI_AHA152X=mCONFIG_SCSI_AHA1542=m
# CONFIG_SCSI_AACRAID is not setCONFIG_SCSI_AIC7XXX=yCONFIG_AIC7XXX_CMDS_PER_DEVICE=32CONFIG_AIC7XXX_RESET_DELAY_MS=15000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not setCONFIG_AIC7XXX_DEBUG_MASK=0
# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not setCONFIG_SCSI_AIC7XXX_OLD=mCONFIG_SCSI_AIC79XX=mCONFIG_AIC79XX_CMDS_PER_DEVICE=32CONFIG_AIC79XX_RESET_DELAY_MS=15000
# CONFIG_AIC79XX_ENABLE_RD_STRM is not set
# CONFIG_AIC79XX_DEBUG_ENABLE is not setCONFIG_AIC79XX_DEBUG_MASK=0
# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_DPT_I2O is not setCONFIG_SCSI_IN2000=m
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_SCSI_SATA is not setCONFIG_SCSI_BUSLOGIC=m
# CONFIG_SCSI_OMIT_FLASHPOINT is not setCONFIG_SCSI_DMX3191D=mCONFIG_SCSI_DTC3280=mCONFIG_SCSI_EATA=mCONFIG_SCSI_EATA_TAGGED_QUEUE=y
# CONFIG_SCSI_EATA_LINKED_COMMANDS is not setCONFIG_SCSI_EATA_MAX_TAGS=16CONFIG_SCSI_FUTURE_DOMAIN=mCONFIG_SCSI_GDTH=mCONFIG_SCSI_GENERIC_NCR5380=m
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_GENERIC_NCR53C400 is not setCONFIG_SCSI_IPS=m
# CONFIG_SCSI_INITIO is not setCONFIG_SCSI_INIA100=mCONFIG_SCSI_NCR53C406A=mCONFIG_SCSI_SYM53C8XX_2=mCONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
# CONFIG_SCSI_IPR is not setCONFIG_SCSI_PAS16=mCONFIG_SCSI_PSI240I=mCONFIG_SCSI_QLOGIC_FAS=mCONFIG_SCSI_QLOGIC_FC=m
# CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not setCONFIG_SCSI_QLOGIC_1280=m
# CONFIG_SCSI_QLOGIC_1280_1040 is not setCONFIG_SCSI_QLA2XXX=y
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not setCONFIG_SCSI_SYM53C416=m
# CONFIG_SCSI_DC395x is not setCONFIG_SCSI_DC390T=mCONFIG_SCSI_T128=mCONFIG_SCSI_U14_34F=m
# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not setCONFIG_SCSI_U14_34F_MAX_TAGS=8CONFIG_SCSI_ULTRASTOR=mCONFIG_SCSI_NSP32=mCONFIG_SCSI_DEBUG=m
#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set
#
# Multi-device support (RAID and LVM)
#CONFIG_MD=yCONFIG_BLK_DEV_MD=yCONFIG_MD_LINEAR=mCONFIG_MD_RAID0=mCONFIG_MD_RAID1=m
# CONFIG_MD_RAID10 is not setCONFIG_MD_RAID5=m
# CONFIG_MD_RAID6 is not setCONFIG_MD_MULTIPATH=m
# CONFIG_MD_FAULTY is not setCONFIG_BLK_DEV_DM=m
# CONFIG_DM_CRYPT is not set
# CONFIG_DM_SNAPSHOT is not set
# CONFIG_DM_MIRROR is not set
# CONFIG_DM_ZERO is not set
# CONFIG_DM_MULTIPATH is not set
#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set
#
# I2O device support
#
# CONFIG_I2O is not set
#
# Networking support
#CONFIG_NET=y
#
# Networking options
#CONFIG_PACKET=yCONFIG_PACKET_MMAP=yCONFIG_UNIX=yCONFIG_NET_KEY=mCONFIG_INET=yCONFIG_IP_MULTICAST=yCONFIG_IP_ADVANCED_ROUTER=yCONFIG_IP_MULTIPLE_TABLES=yCONFIG_IP_ROUTE_FWMARK=yCONFIG_IP_ROUTE_MULTIPATH=y
# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not setCONFIG_IP_ROUTE_VERBOSE=y
# CONFIG_IP_PNP is not setCONFIG_NET_IPIP=mCONFIG_NET_IPGRE=mCONFIG_NET_IPGRE_BROADCAST=yCONFIG_IP_MROUTE=yCONFIG_IP_PIMSM_V1=yCONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not setCONFIG_SYN_COOKIES=yCONFIG_INET_AH=mCONFIG_INET_ESP=mCONFIG_INET_IPCOMP=mCONFIG_INET_TUNNEL=mCONFIG_IP_TCPDIAG=y
# CONFIG_IP_TCPDIAG_IPV6 is not set
#
# IP: Virtual Server Configuration
#CONFIG_IP_VS=m
# CONFIG_IP_VS_DEBUG is not setCONFIG_IP_VS_TAB_BITS=16
#
# IPVS transport protocol load balancing support
#
# CONFIG_IP_VS_PROTO_TCP is not set
# CONFIG_IP_VS_PROTO_UDP is not set
# CONFIG_IP_VS_PROTO_ESP is not set
# CONFIG_IP_VS_PROTO_AH is not set
#
# IPVS scheduler
#CONFIG_IP_VS_RR=mCONFIG_IP_VS_WRR=mCONFIG_IP_VS_LC=mCONFIG_IP_VS_WLC=mCONFIG_IP_VS_LBLC=mCONFIG_IP_VS_LBLCR=mCONFIG_IP_VS_DH=mCONFIG_IP_VS_SH=m
# CONFIG_IP_VS_SED is not set
# CONFIG_IP_VS_NQ is not set
#
# IPVS application helper
#
# CONFIG_IPV6 is not setCONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not setCONFIG_BRIDGE_NETFILTER=y
#
# IP: Netfilter Configuration
#CONFIG_IP_NF_CONNTRACK=m
# CONFIG_IP_NF_CT_ACCT is not set
# CONFIG_IP_NF_CONNTRACK_MARK is not set
# CONFIG_IP_NF_CT_PROTO_SCTP is not setCONFIG_IP_NF_FTP=mCONFIG_IP_NF_IRC=mCONFIG_IP_NF_TFTP=mCONFIG_IP_NF_AMANDA=mCONFIG_IP_NF_QUEUE=mCONFIG_IP_NF_IPTABLES=mCONFIG_IP_NF_MATCH_LIMIT=m
# CONFIG_IP_NF_MATCH_IPRANGE is not setCONFIG_IP_NF_MATCH_MAC=mCONFIG_IP_NF_MATCH_PKTTYPE=mCONFIG_IP_NF_MATCH_MARK=mCONFIG_IP_NF_MATCH_MULTIPORT=mCONFIG_IP_NF_MATCH_TOS=mCONFIG_IP_NF_MATCH_RECENT=mCONFIG_IP_NF_MATCH_ECN=mCONFIG_IP_NF_MATCH_DSCP=mCONFIG_IP_NF_MATCH_AH_ESP=mCONFIG_IP_NF_MATCH_LENGTH=mCONFIG_IP_NF_MATCH_TTL=mCONFIG_IP_NF_MATCH_TCPMSS=mCONFIG_IP_NF_MATCH_HELPER=mCONFIG_IP_NF_MATCH_STATE=mCONFIG_IP_NF_MATCH_CONNTRACK=mCONFIG_IP_NF_MATCH_OWNER=m
# CONFIG_IP_NF_MATCH_PHYSDEV is not set
# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
# CONFIG_IP_NF_MATCH_REALM is not set
# CONFIG_IP_NF_MATCH_SCTP is not set
# CONFIG_IP_NF_MATCH_COMMENT is not set
# CONFIG_IP_NF_MATCH_HASHLIMIT is not setCONFIG_IP_NF_FILTER=mCONFIG_IP_NF_TARGET_REJECT=mCONFIG_IP_NF_TARGET_LOG=mCONFIG_IP_NF_TARGET_ULOG=mCONFIG_IP_NF_TARGET_TCPMSS=mCONFIG_IP_NF_NAT=mCONFIG_IP_NF_NAT_NEEDED=yCONFIG_IP_NF_TARGET_MASQUERADE=mCONFIG_IP_NF_TARGET_REDIRECT=m
# CONFIG_IP_NF_TARGET_NETMAP is not set
# CONFIG_IP_NF_TARGET_SAME is not setCONFIG_IP_NF_NAT_SNMP_BASIC=mCONFIG_IP_NF_NAT_IRC=mCONFIG_IP_NF_NAT_FTP=mCONFIG_IP_NF_NAT_TFTP=mCONFIG_IP_NF_NAT_AMANDA=mCONFIG_IP_NF_MANGLE=mCONFIG_IP_NF_TARGET_TOS=mCONFIG_IP_NF_TARGET_ECN=mCONFIG_IP_NF_TARGET_DSCP=mCONFIG_IP_NF_TARGET_MARK=m
# CONFIG_IP_NF_TARGET_CLASSIFY is not set
# CONFIG_IP_NF_RAW is not setCONFIG_IP_NF_ARPTABLES=mCONFIG_IP_NF_ARPFILTER=mCONFIG_IP_NF_ARP_MANGLE=m
#
# Bridge: Netfilter Configuration
#
# CONFIG_BRIDGE_NF_EBTABLES is not setCONFIG_XFRM=yCONFIG_XFRM_USER=m
#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not setCONFIG_ATM=yCONFIG_ATM_CLIP=y
# CONFIG_ATM_CLIP_NO_ICMP is not setCONFIG_ATM_LANE=mCONFIG_ATM_MPOA=mCONFIG_ATM_BR2684=mCONFIG_ATM_BR2684_IPFILTER=yCONFIG_BRIDGE=mCONFIG_VLAN_8021Q=m
# CONFIG_DECNET is not setCONFIG_LLC=m
# CONFIG_LLC2 is not setCONFIG_IPX=m
# CONFIG_IPX_INTERN is not setCONFIG_ATALK=mCONFIG_DEV_APPLETALK=yCONFIG_LTPC=mCONFIG_COPS=mCONFIG_COPS_DAYNA=yCONFIG_COPS_TANGENT=yCONFIG_IPDDP=mCONFIG_IPDDP_ENCAP=yCONFIG_IPDDP_DECAP=y
# CONFIG_X25 is not set
# CONFIG_LAPB is not setCONFIG_NET_DIVERT=y
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
#
# QoS and/or fair queueing
#CONFIG_NET_SCHED=yCONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not setCONFIG_NET_SCH_CBQ=mCONFIG_NET_SCH_HTB=m
# CONFIG_NET_SCH_HFSC is not set
# CONFIG_NET_SCH_ATM is not setCONFIG_NET_SCH_PRIO=mCONFIG_NET_SCH_RED=mCONFIG_NET_SCH_SFQ=mCONFIG_NET_SCH_TEQL=mCONFIG_NET_SCH_TBF=mCONFIG_NET_SCH_GRED=mCONFIG_NET_SCH_DSMARK=m
# CONFIG_NET_SCH_NETEM is not setCONFIG_NET_SCH_INGRESS=mCONFIG_NET_QOS=yCONFIG_NET_ESTIMATOR=yCONFIG_NET_CLS=y
# CONFIG_NET_CLS_BASIC is not setCONFIG_NET_CLS_TCINDEX=mCONFIG_NET_CLS_ROUTE4=mCONFIG_NET_CLS_ROUTE=yCONFIG_NET_CLS_FW=mCONFIG_NET_CLS_U32=m
# CONFIG_CLS_U32_PERF is not set
# CONFIG_NET_CLS_IND is not set
# CONFIG_CLS_U32_MARK is not setCONFIG_NET_CLS_RSVP=mCONFIG_NET_CLS_RSVP6=m
# CONFIG_NET_EMATCH is not set
# CONFIG_NET_CLS_ACT is not setCONFIG_NET_CLS_POLICE=y
#
# Network testing
#
# CONFIG_NET_PKTGEN is not setCONFIG_NETPOLL=y
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not setCONFIG_NET_POLL_CONTROLLER=y
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not setCONFIG_NETDEVICES=yCONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not setCONFIG_TUN=m
# CONFIG_NET_SB1000 is not set
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
#
# Ethernet (10 or 100Mbit)
#CONFIG_NET_ETHERNET=yCONFIG_MII=mCONFIG_HAPPYMEAL=mCONFIG_SUNGEM=mCONFIG_NET_VENDOR_3COM=yCONFIG_EL1=mCONFIG_EL2=mCONFIG_ELPLUS=mCONFIG_EL16=mCONFIG_EL3=mCONFIG_3C515=mCONFIG_VORTEX=mCONFIG_TYPHOON=mCONFIG_LANCE=mCONFIG_NET_VENDOR_SMC=y
CONFIG_WD80x3=mCONFIG_ULTRA=mCONFIG_SMC9194=mCONFIG_NET_VENDOR_RACAL=yCONFIG_NI52=mCONFIG_NI65=m
#
# Tulip family network device support
#CONFIG_NET_TULIP=y
# CONFIG_DE2104X is not setCONFIG_TULIP=m
# CONFIG_TULIP_MWI is not set
# CONFIG_TULIP_MMIO is not set
# CONFIG_TULIP_NAPI is not set
# CONFIG_DE4X5 is not set
# CONFIG_WINBOND_840 is not set
# CONFIG_DM9102 is not setCONFIG_AT1700=mCONFIG_DEPCA=mCONFIG_HP100=mCONFIG_NET_ISA=yCONFIG_E2100=mCONFIG_EWRK3=mCONFIG_EEXPRESS=mCONFIG_EEXPRESS_PRO=mCONFIG_HPLAN_PLUS=mCONFIG_HPLAN=mCONFIG_LP486E=mCONFIG_ETH16I=mCONFIG_NE2000=m
# CONFIG_ZNET is not set
# CONFIG_SEEQ8005 is not setCONFIG_NET_PCI=yCONFIG_PCNET32=mCONFIG_AMD8111_ETH=m
# CONFIG_AMD8111E_NAPI is not setCONFIG_ADAPTEC_STARFIRE=m
# CONFIG_ADAPTEC_STARFIRE_NAPI is not setCONFIG_AC3200=mCONFIG_APRICOT=mCONFIG_B44=m
# CONFIG_FORCEDETH is not set
CONFIG_CS89x0=mCONFIG_DGRS=m
# CONFIG_EEPRO100 is not setCONFIG_E100=mCONFIG_FEALNX=mCONFIG_NATSEMI=mCONFIG_NE2K_PCI=mCONFIG_8139CP=mCONFIG_8139TOO=mCONFIG_8139TOO_PIO=y
# CONFIG_8139TOO_TUNE_TWISTER is not setCONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not setCONFIG_SIS900=mCONFIG_EPIC100=mCONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not setCONFIG_TLAN=mCONFIG_VIA_RHINE=m
# CONFIG_VIA_RHINE_MMIO is not setCONFIG_NET_POCKET=yCONFIG_ATP=mCONFIG_DE600=mCONFIG_DE620=m
#
# Ethernet (1000 Mbit)
#CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not setCONFIG_DL2K=mCONFIG_E1000=mCONFIG_E1000_NAPI=yCONFIG_NS83820=mCONFIG_HAMACHI=mCONFIG_YELLOWFIN=mCONFIG_R8169=m
# CONFIG_R8169_NAPI is not set
# CONFIG_R8169_VLAN is not setCONFIG_SK98LIN=m
# CONFIG_VIA_VELOCITY is not setCONFIG_TIGON3=m
#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set
#
# Token Ring devices
#
# CONFIG_TR is not set
#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
#
# ATM drivers
#
# CONFIG_ATM_TCP is not set
# CONFIG_ATM_LANAI is not set
# CONFIG_ATM_ENI is not set
# CONFIG_ATM_FIRESTREAM is not set
# CONFIG_ATM_ZATM is not set
# CONFIG_ATM_NICSTAR 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_MAYBE is not set
# CONFIG_ATM_HE is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not setCONFIG_PPP=mCONFIG_PPP_MULTILINK=yCONFIG_PPP_FILTER=yCONFIG_PPP_ASYNC=mCONFIG_PPP_SYNC_TTY=mCONFIG_PPP_DEFLATE=m
# CONFIG_PPP_BSDCOMP is not setCONFIG_PPPOE=mCONFIG_PPPOATM=mCONFIG_SLIP=mCONFIG_SLIP_COMPRESSED=yCONFIG_SLIP_SMART=yCONFIG_SLIP_MODE_SLIP6=yCONFIG_NET_FC=yCONFIG_SHAPER=mCONFIG_NETCONSOLE=m
#
# ISDN subsystem
#
# CONFIG_ISDN is not set
#
# Telephony Support
#
# CONFIG_PHONE is not set
#
# Input device support
#CONFIG_INPUT=y
#
# Userland interfaces
#CONFIG_INPUT_MOUSEDEV=yCONFIG_INPUT_MOUSEDEV_PSAUX=yCONFIG_INPUT_MOUSEDEV_SCREEN_X=1024CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not setCONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#CONFIG_INPUT_KEYBOARD=yCONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not setCONFIG_INPUT_MOUSE=yCONFIG_MOUSE_PS2=yCONFIG_MOUSE_SERIAL=m
# CONFIG_MOUSE_INPORT is not set
# CONFIG_MOUSE_LOGIBM is not set
# CONFIG_MOUSE_PC110PAD is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Hardware I/O ports
#CONFIG_SERIO=yCONFIG_SERIO_I8042=yCONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not setCONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_GAMEPORT is not setCONFIG_SOUND_GAMEPORT=y
#
# Character devices
#CONFIG_VT=yCONFIG_VT_CONSOLE=yCONFIG_HW_CONSOLE=yCONFIG_SERIAL_NONSTANDARD=y
# CONFIG_ROCKETPORT is not set
# CONFIG_CYCLADES is not set
# CONFIG_MOXA_SMARTIO is not set
# CONFIG_ISI is not set
# CONFIG_SYNCLINK is not set
# CONFIG_SYNCLINKMP is not set
# CONFIG_N_HDLC is not set
# CONFIG_SPECIALIX is not set
# CONFIG_SX is not set
# CONFIG_STALDRV is not set
#
# Serial drivers
#CONFIG_SERIAL_8250=mCONFIG_SERIAL_8250_NR_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
#
# Non-8250 serial port support
#CONFIG_SERIAL_CORE=m
# CONFIG_SERIAL_JSM is not setCONFIG_UNIX98_PTYS=yCONFIG_LEGACY_PTYS=yCONFIG_LEGACY_PTY_COUNT=256
#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set
#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_HW_RANDOM is not setCONFIG_NVRAM=mCONFIG_RTC=yCONFIG_RTC_HISTOGRAM=yCONFIG_BLOCKER=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set
#
# Ftape, the floppy tape device driver
#
# CONFIG_AGP is not set
# CONFIG_DRM is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_HANGCHECK_TIMER is not set
#
# TPM devices
#
# CONFIG_TCG_TPM is not set
#
# I2C support
#
# CONFIG_I2C is not set
#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set
#
# Misc devices
#
# CONFIG_IBM_ASM is not set
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set
#
# Graphics support
#CONFIG_FB=yCONFIG_FB_CFB_FILLRECT=yCONFIG_FB_CFB_COPYAREA=yCONFIG_FB_CFB_IMAGEBLIT=yCONFIG_FB_SOFT_CURSOR=y
# CONFIG_FB_MACMODES is not setCONFIG_FB_MODE_HELPERS=y
# CONFIG_FB_TILEBLITTING is not setCONFIG_FB_CIRRUS=m
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not setCONFIG_FB_VGA16=mCONFIG_FB_VESA=yCONFIG_VIDEO_SELECT=yCONFIG_FB_HGA=m
# CONFIG_FB_HGA_ACCEL is not setCONFIG_FB_NVIDIA=y
# CONFIG_FB_NVIDIA_I2C is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I810 is not set
# CONFIG_FB_INTEL is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON_OLD is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_VIRTUAL is not set
#
# Console display driver support
#CONFIG_VGA_CONSOLE=y
# CONFIG_MDA_CONSOLE is not setCONFIG_DUMMY_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE is not set
#
# Logo configuration
#
# CONFIG_LOGO is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Sound
#CONFIG_SOUND=m
#
# Advanced Linux Sound Architecture
#CONFIG_SND=mCONFIG_SND_TIMER=mCONFIG_SND_PCM=mCONFIG_SND_RAWMIDI=mCONFIG_SND_SEQUENCER=mCONFIG_SND_SEQ_DUMMY=mCONFIG_SND_OSSEMUL=yCONFIG_SND_MIXER_OSS=mCONFIG_SND_PCM_OSS=mCONFIG_SND_SEQUENCER_OSS=yCONFIG_SND_RTCTIMER=m
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
#
# Generic devices
#
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
#
# ISA devices
#
# CONFIG_SND_AD1816A is not set
# CONFIG_SND_AD1848 is not set
# CONFIG_SND_CS4231 is not set
# CONFIG_SND_CS4232 is not set
# CONFIG_SND_CS4236 is not set
# CONFIG_SND_ES968 is not set
# CONFIG_SND_ES1688 is not set
# CONFIG_SND_ES18XX is not set
# 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_OPTI92X_AD1848 is not set
# CONFIG_SND_OPTI92X_CS4231 is not set
# CONFIG_SND_OPTI93X is not set
# CONFIG_SND_SB8 is not set
# CONFIG_SND_SB16 is not set
# CONFIG_SND_SBAWE is not set
# CONFIG_SND_WAVEFRONT is not set
# CONFIG_SND_ALS100 is not set
# CONFIG_SND_AZT2320 is not set
# CONFIG_SND_CMI8330 is not set
# CONFIG_SND_DT019X is not set
# CONFIG_SND_OPL3SA2 is not set
# CONFIG_SND_SGALAXY is not set
# CONFIG_SND_SSCAPE is not set
#
# PCI devices
#CONFIG_SND_AC97_CODEC=m
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not setCONFIG_SND_CS46XX=mCONFIG_SND_CS46XX_NEW_DSP=y
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_HDA_INTEL is not set
#
# USB devices
#
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_USX2Y is not set
#
# Open Sound System
#CONFIG_SOUND_PRIME=m
# CONFIG_SOUND_BT878 is not set
# CONFIG_SOUND_CMPCI is not set
# CONFIG_SOUND_EMU10K1 is not setCONFIG_SOUND_FUSION=m
# CONFIG_SOUND_CS4281 is not set
# CONFIG_SOUND_ES1370 is not set
# CONFIG_SOUND_ES1371 is not set
# CONFIG_SOUND_ESSSOLO1 is not set
# CONFIG_SOUND_MAESTRO is not set
# CONFIG_SOUND_MAESTRO3 is not set
# CONFIG_SOUND_ICH is not set
# CONFIG_SOUND_SONICVIBES is not set
# CONFIG_SOUND_TRIDENT is not set
# CONFIG_SOUND_MSNDCLAS is not set
# CONFIG_SOUND_MSNDPIN is not set
# CONFIG_SOUND_VIA82CXXX is not set
# CONFIG_SOUND_OSS is not set
# CONFIG_SOUND_ALI5455 is not set
# CONFIG_SOUND_FORTE is not set
# CONFIG_SOUND_RME96XX is not set
# CONFIG_SOUND_AD1980 is not set
#
# USB support
#CONFIG_USB_ARCH_HAS_HCD=yCONFIG_USB_ARCH_HAS_OHCI=yCONFIG_USB=m
# CONFIG_USB_DEBUG is not set
#
# Miscellaneous USB options
#CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set
#
# USB Host Controller Drivers
#CONFIG_USB_EHCI_HCD=m
# CONFIG_USB_EHCI_SPLIT_ISO is not set
# CONFIG_USB_EHCI_ROOT_HUB_TT is not setCONFIG_USB_OHCI_HCD=m
# CONFIG_USB_OHCI_BIG_ENDIAN is not setCONFIG_USB_OHCI_LITTLE_ENDIAN=yCONFIG_USB_UHCI_HCD=m
# CONFIG_USB_SL811_HCD is not set
#
# USB Device Class drivers
#
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_BLUETOOTH_TTY is not set
# CONFIG_USB_MIDI is not set
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information #
# CONFIG_USB_STORAGE is not set
#
# USB Input Devices
#CONFIG_USB_HID=mCONFIG_USB_HIDINPUT=y
# CONFIG_HID_FF is not set
# CONFIG_USB_HIDDEV is not set
#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_MTOUCH is not set
# CONFIG_USB_EGALAX is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
#
# USB Multimedia devices
#
# CONFIG_USB_DABUSB is not set
#
# Video4Linux support is needed for USB Multimedia device support #
#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
# CONFIG_USB_MON is not set
#
# USB port drivers
#
#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGETKIT is not set
# CONFIG_USB_PHIDGETSERVO is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_TEST is not set
#
# USB ATM/DSL drivers
#
# CONFIG_USB_ATM is not set
# CONFIG_USB_SPEEDTOUCH is not set
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# MMC/SD Card support
#
# CONFIG_MMC is not set
#
# InfiniBand support
#
# CONFIG_INFINIBAND is not set
#
# File systems
#CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not setCONFIG_EXT3_FS=yCONFIG_EXT3_FS_XATTR=yCONFIG_EXT3_FS_POSIX_ACL=y
# CONFIG_EXT3_FS_SECURITY is not setCONFIG_JBD=y
# CONFIG_JBD_DEBUG is not setCONFIG_FS_MBCACHE=yCONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not setCONFIG_REISERFS_PROC_INFO=y
# CONFIG_REISERFS_FS_XATTR is not setCONFIG_JFS_FS=m
# CONFIG_JFS_POSIX_ACL is not set
# CONFIG_JFS_SECURITY is not setCONFIG_JFS_DEBUG=y
# CONFIG_JFS_STATISTICS is not setCONFIG_FS_POSIX_ACL=y
#
# XFS support
#
# CONFIG_XFS_FS is not setCONFIG_MINIX_FS=mCONFIG_ROMFS_FS=mCONFIG_QUOTA=y
# CONFIG_QFMT_V1 is not setCONFIG_QFMT_V2=yCONFIG_QUOTACTL=yCONFIG_DNOTIFY=yCONFIG_AUTOFS_FS=mCONFIG_AUTOFS4_FS=m
#
# CD-ROM/DVD Filesystems
#CONFIG_ISO9660_FS=yCONFIG_JOLIET=yCONFIG_ZISOFS=yCONFIG_ZISOFS_FS=yCONFIG_UDF_FS=mCONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#CONFIG_FAT_FS=mCONFIG_MSDOS_FS=mCONFIG_VFAT_FS=mCONFIG_FAT_DEFAULT_CODEPAGE=437CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#CONFIG_PROC_FS=yCONFIG_PROC_KCORE=yCONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVPTS_FS_XATTR is not setCONFIG_TMPFS=y
# CONFIG_TMPFS_XATTR is not set
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not setCONFIG_RAMFS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not setCONFIG_CRAMFS=y
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not setCONFIG_SYSV_FS=mCONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set
#
# Network File Systems
#CONFIG_NFS_FS=mCONFIG_NFS_V3=y
# CONFIG_NFS_V4 is not setCONFIG_NFS_DIRECTIO=yCONFIG_NFSD=mCONFIG_NFSD_V3=y
# CONFIG_NFSD_V4 is not setCONFIG_NFSD_TCP=yCONFIG_LOCKD=mCONFIG_LOCKD_V4=yCONFIG_EXPORTFS=mCONFIG_SUNRPC=m
# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not setCONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
# CONFIG_CIFS is not setCONFIG_NCP_FS=mCONFIG_NCPFS_PACKET_SIGNING=yCONFIG_NCPFS_IOCTL_LOCKING=yCONFIG_NCPFS_STRONG=yCONFIG_NCPFS_NFS_NS=yCONFIG_NCPFS_OS2_NS=yCONFIG_NCPFS_SMALLDOS=yCONFIG_NCPFS_NLS=yCONFIG_NCPFS_EXTRAS=yCONFIG_CODA_FS=m
# CONFIG_CODA_FS_OLD_API is not setCONFIG_AFS_FS=mCONFIG_RXRPC=m
#
# Partition Types
#CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not setCONFIG_OSF_PARTITION=y
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not setCONFIG_MSDOS_PARTITION=yCONFIG_BSD_DISKLABEL=yCONFIG_MINIX_SUBPARTITION=yCONFIG_SOLARIS_X86_PARTITION=yCONFIG_UNIXWARE_DISKLABEL=y
# CONFIG_LDM_PARTITION is not setCONFIG_SGI_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not setCONFIG_SUN_PARTITION=y
# CONFIG_EFI_PARTITION is not set
#
# Native Language Support
#CONFIG_NLS=yCONFIG_NLS_DEFAULT="iso8859-1"CONFIG_NLS_CODEPAGE_437=mCONFIG_NLS_CODEPAGE_737=mCONFIG_NLS_CODEPAGE_775=mCONFIG_NLS_CODEPAGE_850=mCONFIG_NLS_CODEPAGE_852=mCONFIG_NLS_CODEPAGE_855=mCONFIG_NLS_CODEPAGE_857=mCONFIG_NLS_CODEPAGE_860=mCONFIG_NLS_CODEPAGE_861=mCONFIG_NLS_CODEPAGE_862=mCONFIG_NLS_CODEPAGE_863=mCONFIG_NLS_CODEPAGE_864=mCONFIG_NLS_CODEPAGE_865=mCONFIG_NLS_CODEPAGE_866=mCONFIG_NLS_CODEPAGE_869=mCONFIG_NLS_CODEPAGE_936=mCONFIG_NLS_CODEPAGE_950=mCONFIG_NLS_CODEPAGE_932=mCONFIG_NLS_CODEPAGE_949=mCONFIG_NLS_CODEPAGE_874=mCONFIG_NLS_ISO8859_8=mCONFIG_NLS_CODEPAGE_1250=mCONFIG_NLS_CODEPAGE_1251=m
# CONFIG_NLS_ASCII is not setCONFIG_NLS_ISO8859_1=mCONFIG_NLS_ISO8859_2=mCONFIG_NLS_ISO8859_3=mCONFIG_NLS_ISO8859_4=mCONFIG_NLS_ISO8859_5=mCONFIG_NLS_ISO8859_6=mCONFIG_NLS_ISO8859_7=mCONFIG_NLS_ISO8859_9=mCONFIG_NLS_ISO8859_13=mCONFIG_NLS_ISO8859_14=mCONFIG_NLS_ISO8859_15=mCONFIG_NLS_KOI8_R=mCONFIG_NLS_KOI8_U=mCONFIG_NLS_UTF8=m
#
# Profiling support
#CONFIG_PROFILING=yCONFIG_OPROFILE=m
#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not setCONFIG_DEBUG_KERNEL=yCONFIG_MAGIC_SYSRQ=yCONFIG_LOG_BUF_SHIFT=14
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB is not setCONFIG_DEBUG_PREEMPT=yCONFIG_WAKEUP_TIMING=yCONFIG_PREEMPT_TRACE=y
# CONFIG_CRITICAL_PREEMPT_TIMING is not set
# CONFIG_CRITICAL_IRQSOFF_TIMING is not setCONFIG_LATENCY_TIMING=yCONFIG_LATENCY_TRACE=yCONFIG_MCOUNT=yCONFIG_RT_DEADLOCK_DETECT=y
# CONFIG_DEBUG_KOBJECT is not setCONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_FS is not setCONFIG_FRAME_POINTER=yCONFIG_EARLY_PRINTK=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_KPROBES is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_4KSTACKS is not setCONFIG_X86_FIND_SMP_CONFIG=yCONFIG_X86_MPPARSE=y
#
# Security options
#
# CONFIG_KEYS is not setCONFIG_SECURITY=yCONFIG_SECURITY_NETWORK=yCONFIG_SECURITY_CAPABILITIES=y
# CONFIG_SECURITY_ROOTPLUG is not set
# CONFIG_SECURITY_SECLVL is not set
# CONFIG_SECURITY_SELINUX is not set
#
# Cryptographic options
#CONFIG_CRYPTO=yCONFIG_CRYPTO_HMAC=yCONFIG_CRYPTO_NULL=mCONFIG_CRYPTO_MD4=mCONFIG_CRYPTO_MD5=mCONFIG_CRYPTO_SHA1=mCONFIG_CRYPTO_SHA256=mCONFIG_CRYPTO_SHA512=m
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_TGR192 is not setCONFIG_CRYPTO_DES=mCONFIG_CRYPTO_BLOWFISH=m
# CONFIG_CRYPTO_TWOFISH is not setCONFIG_CRYPTO_SERPENT=m
# CONFIG_CRYPTO_AES_586 is not setCONFIG_CRYPTO_CAST5=m
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_ANUBIS is not setCONFIG_CRYPTO_DEFLATE=m
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_TEST is not set
#
# Hardware crypto devices
#
# CONFIG_CRYPTO_DEV_PADLOCK is not set
#
# Library routines
#CONFIG_CRC_CCITT=mCONFIG_CRC32=yCONFIG_LIBCRC32C=mCONFIG_ZLIB_INFLATE=yCONFIG_ZLIB_DEFLATE=mCONFIG_GENERIC_HARDIRQS=yCONFIG_GENERIC_IRQ_PROBE=yCONFIG_X86_SMP=yCONFIG_X86_HT=yCONFIG_X86_BIOS_REBOOT=yCONFIG_X86_TRAMPOLINE=yCONFIG_PC=y
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
Quoted 10 lines · K.R. Foley
Quoted 9 lines · Lee Revell
Quoted 5 lines · Rui Nuno Capela
Quoted 2 lines
Our first victim!! :-)
No kidding!?
Quoted 8 lines
Quoted 3 lines
V0.7.44-02 does not even compile for me. It appears to be full of merge errors.
I must be in the twilight zone over here. V0.7.44-02 runs fine on my UP system, my older SMP system (although I have to compile in my SCSI drivers, but that has nothing to do with this patch) and my faster P4/HT SMP system at the office.
Meh, I'll try again, maybe it's some weird NFS problem.
Lee
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
Quoted 18 lines · Lee Revell
Quoted 16 lines · K.R. Foley
Quoted 13 lines · Lee Revell
Quoted 5 lines · Rui Nuno Capela
Quoted 2 lines
Our first victim!! :-)
No kidding!?
V0.7.44-02 does not even compile for me. It appears to be full of merge errors.
Quoted 7 lines
Quoted 1 line
I must be in the twilight zone over here. V0.7.44-02 runs fine on my UP system, my older SMP system (although I have to compile in my SCSI drivers, but that has nothing to do with this patch) and my faster P4/HT SMP system at the office.
Meh, I'll try again, maybe it's some weird NFS problem.
Lee
Hmm. Maybe. I should probably mention that I am doing an FC3 install via NFS from my older SMP system right now while also building V0.7.44-03.
Signature · 1 line
kr
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
Quoted 10 lines · K.R. Foley
Quoted 5 lines · Lee Revell
Meh, I'll try again, maybe it's some weird NFS problem.
Lee
Hmm. Maybe. I should probably mention that I am doing an FC3 install via NFS from my older SMP system right now while also building V0.7.44-03.
Tried again and it works. Weird...
Lee
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
Quoted 9 lines · Lee Revell
Quoted 7 lines · K.R. Foley
Quoted 4 lines · Lee Revell
Meh, I'll try again, maybe it's some weird NFS problem.
Lee
Quoted 9 lines
Quoted 2 lines
Hmm. Maybe. I should probably mention that I am doing an FC3 install via NFS from my older SMP system right now while also building V0.7.44-03.
Tried again and it works. Weird...
Lee
Very wierd. It worries me when things like that happen. ;-)
Signature · 1 line
kr
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
In reply to Ingo MolnarIngo,
It would seem that in the latest patch RT-V0.7.45-00 we have reverted back to removing the define of jbd_debug which the attached patch (against one of the 2.6.11 versions) fixed.
Signature · 1 line
kr
include/linux/jbd.h renamed from include/linux/jbd.h.orig +1 -0
@@ -65,6 +65,7 @@ extern int journal_enable_debug; } \ } while (0)#else +#define jbd_debug(f, a...) /**/#endif extern void *__jbd_kmalloc (const char *where,size_t size,int flags,int retry);
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
Quoted 7 lines · K.R. Foley
Ingo,
It would seem that in the latest patch RT-V0.7.45-00 we have reverted back to removing the define of
jbd_debugwhich the attached patch (against one of the 2.6.11 versions) fixed.+#define
jbd_debug(f, a...)/**/
oops, indeed. '/**/' happens to be my private marker for 'debug code', which the release scripts automatically strip from the files ...
i've uploaded -45-01 with the fix.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
Quoted 8 lines · Ingo Molnar
Quoted 5 lines · K.R. Foley
Ingo,
It would seem that in the latest patch RT-V0.7.45-00 we have reverted back to removing the define of
jbd_debugwhich the attached patch (against one of the 2.6.11 versions) fixed.
Quoted 7 lines
Quoted 1 line
+#define
jbd_debug(f, a...)/**/oops, indeed. '/**/' happens to be my private marker for 'debug code', which the release scripts automatically strip from the files ...
i've uploaded -45-01 with the fix.
Would there be any harm with changing that to
#define jbd_debug(f, a...) do {} while(0)
The compiler would strip it anyway, and you wouldn't have to worry about your scripts removing the macro.
-- Steve
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
Quoted 6 lines · Steven Rostedt
Would there be any harm with changing that to
#define
jbd_debug(f, a...)do {} while(0)The compiler would strip it anyway, and you wouldn't have to worry about your scripts removing the macro.
yeah, that's what i did in -45-01. Since it's not the first time this has happened i might have to change the marker to /*I*/ or something like that :-)
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
Quoted 2 lines · Ingo Molnar
yeah, that's what i did in -45-01.
Ingo,
This build failure was reported with 45-01 by an AMD64 user. Do you need the .config?
HOSTCC scripts/bin2c
CC arch/x86_64/kernel/asm-offsets.s
CHK include/asm-x86_64/offset.h
UPD include/asm-x86_64/offset.h
CC init/main.o
In file included from include/linux/rwsem.h:38,
from include/linux/kobject.h:24,
from include/linux/module.h:19,
from init/main.c:16:
include/asm/rwsem.h:55: error: redefinition of `struct rw_semaphore'
In file included from include/linux/rwsem.h:38,
from include/linux/kobject.h:24,
from include/linux/module.h:19,
from init/main.c:16:
include/asm/rwsem.h:79:1: warning: "__RWSEM_INITIALIZER" redefined
In file included from include/linux/spinlock.h:16,
from include/linux/capability.h:45,
from include/linux/sched.h:7,
from include/linux/module.h:10,
from init/main.c:16:
include/linux/rt_lock.h:295:1: warning: this is the location of the
previous definition
In file included from include/linux/rwsem.h:38,
from include/linux/kobject.h:24,
from include/linux/module.h:19,
from init/main.c:16:
include/asm/rwsem.h:83:1: warning: "DECLARE_RWSEM" redefined
In file included from include/linux/spinlock.h:16,
from include/linux/capability.h:45,
from include/linux/sched.h:7,
from include/linux/module.h:10,
from init/main.c:16:include/linux/rt_lock.h:298:1: warning: this is the location of the previous definitioninclude/asm/rwsem.h:86: error: parse error before "do" In file included from include/linux/kobject.h:24,
from include/linux/module.h:19,
from init/main.c:16:include/linux/rwsem.h: In function `compat_down_read':include/linux/rwsem.h:56: warning: passing arg 1 of `__down_read' from incompatible pointer typeinclude/linux/rwsem.h: In function `compat_down_read_trylock':include/linux/rwsem.h:67: warning: passing arg 1 of __down_read_trylock' from incompatible pointer type include/linux/rwsem.h: In function compat_down_write':include/linux/rwsem.h:79: warning: passing arg 1 of `__down_write' from incompatible pointer typeinclude/linux/rwsem.h: In function `compat_down_write_trylock':include/linux/rwsem.h:90: warning: passing arg 1 of __down_write_trylock' from incompatible pointer type include/linux/rwsem.h: In function compat_up_read':include/linux/rwsem.h:101: warning: passing arg 1 of `__up_read' from incompatible pointer typeinclude/linux/rwsem.h: In function `compat_up_write':include/linux/rwsem.h:111: warning: passing arg 1 of `__up_write' from incompatible pointer typeinclude/linux/rwsem.h: In function `compat_downgrade_write':include/linux/rwsem.h:121: warning: passing arg 1 of `__downgrade_write' from incompatible pointer type
In file included from include/linux/proc_fs.h:6,
from init/main.c:17:
include/linux/fs.h: In function `lock_super':include/linux/fs.h:828: warning: implicit declaration of function `compat_down'include/linux/fs.h: In function `unlock_super':include/linux/fs.h:833: warning: implicit declaration of function `compat_up'
make[1]: *** [init/main.o] Error 1
make: *** [init] Error 2
Lee
PATCH 1/1 Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-00
In reply to Ingo Molnari have released the -V0.7.46-00 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this is a merge to 2.6.12-rc3, plus the 'ping localhost' fix from [email protected].
there are still some unsolved slowdowns probably related to the recent plist.h changes.
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.12-rc3.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.12-rc3-V0.7.46-00
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-00
2005/4/21, Ingo Molnar <[email protected]>:
Quoted 9 lines
i have released the -V0.7.46-00 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this is a merge to 2.6.12-rc3, plus the 'ping localhost' fix from [email protected].
Quoted 7 lines
there are still some unsolved slowdowns probably related to the recent
plist.hchanges.http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.12-rc3.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.12-rc3-V0.7.46-00
Ingo,
what's your plan for including in mainstream bit of preemptive patch ?
Signature · 1 line
http://paoloc.blogspot.com
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-00
In reply to Ingo MolnarQuoted 11 lines · Ingo Molnar
i have released the -V0.7.46-00 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this is a merge to 2.6.12-rc3, plus the 'ping localhost' fix from [email protected].
there are still some unsolved slowdowns probably related to the recent
plist.hchanges.
You may want to consider rolling it out for a bit , till I have time to fix this ..
Daniel
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-00
In reply to Ingo MolnarQuoted 2 lines · Ingo Molnar
this is a merge to 2.6.12-rc3, plus the 'ping localhost' fix from [email protected].
We had some discussion about this one, there just need to be a softirqd wakeup , the netif_rx_ni() call isn't really needed .
How about removing the softirqd wakeup from interrupt context, and move it into the softirq scheduler. That would solve this situation and all others like it .. Plus reduce worst case interrupt latency ..
Daniel
PATCH 1/1 Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
In reply to Ingo Molnari have released the -V0.7.46-01 Real-Time Preemption patch, which can be downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
this includes fixes from Daniel Walker, which could fix the plist related slowdown bugs:
- fix plist_del_init() argument order bug
- fix plist related priority calculation bug in __up_mutex()
to build a -V0.7.46-01 tree, the following patches have to be applied:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.12-rc3.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.12-rc3-V0.7.46-01
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
Quoted 3 lines
this includes fixes from Daniel Walker, which could fix the plist related slowdown bugs:
there are still some problems remaining: i just ran Esben Nielsen's priority-inheritance validation testsuite, and the plist code gives a worst-case latency of 9.0 msecs.
I've reverted the plist changes for now and have uploaded -46-02 - this gives the expected 1.0 msec worst-case latencies. Diffing -01 against -02 should give you the latest plist snapshot.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
Is this the PriorityInversionTest (pi_test.tgz) or was there another one?
Daniel
Quoted 14 lines · Ingo Molnar
Quoted 3 lines
this includes fixes from Daniel Walker, which could fix the plist related slowdown bugs:
there are still some problems remaining: i just ran Esben Nielsen's priority-inheritance validation testsuite, and the plist code gives a worst-case latency of 9.0 msecs.
I've reverted the plist changes for now and have uploaded -46-02 - this gives the expected 1.0 msec worst-case latencies. Diffing -01 against -02 should give you the latest plist snapshot.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
Quoted 1 line · Daniel Walker
Is this the PriorityInversionTest (pi_test.tgz) or was there another one?
yes, it's pi_test.tgz.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
What command line did you use ?
./test --samples 10000 --hertz 128 --tasks 0
Daniel
Quoted 9 lines · Ingo Molnar
Quoted 1 line · Daniel Walker
Is this the PriorityInversionTest (pi_test.tgz) or was there another one?
yes, it's pi_test.tgz.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
Quoted 3 lines · Daniel Walker
What command line did you use ?
./test --samples 10000 --hertz 128 --tasks 0
i used:
./test --tasks 10 file.hist
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
Quoted 10 lines · Ingo Molnar
Quoted 3 lines · Daniel Walker
What command line did you use ?
./test --samples 10000 --hertz 128 --tasks 0
i used:
./test --tasks 10 file.hist
but first i did:
chrt -f 98 -p pidof 'IRQ 8'
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
In reply to Ingo MolnarQuoted 3 lines · Ingo Molnar
i used:
./test --tasks 10 file.hist
This patch cleanup the delays on increased numbers of tasks. It goes on to of the current plist snapshot.
Daniel
include/linux/plist.h +1 -1
@@ -251,7 +251,7 @@static inline void plist_del_init (struct plist *pl,struct plist *plist) {plist_del (pl, plist); -plist_init (pl,0 ); +plist_init (pl,INT_MAX ); }/* Return the priority a pl node */
include/linux/rt_lock.h +2 -2
@@ -95,12 +95,12 @@#ifdef CONFIG_RT_DEADLOCK_DETECT # define __RT_MUTEX_INITIALIZER (lockname) \ { .wait_lock = RAW_SPIN_LOCK_UNLOCKED, \ - .wait_list = PLIST_INIT((lockname).wait_list, 0), \ + .wait_list = PLIST_INIT((lockname).wait_list, MAX_PRIO), \ .name = #lockname, .file = __FILE__, .line = __LINE__ }#else # define __RT_MUTEX_INITIALIZER (lockname) \ { .wait_lock = RAW_SPIN_LOCK_UNLOCKED, \ - PLIST_INIT((lockname).wait_list, 0) } + PLIST_INIT((lockname).wait_list, MAX_PRIO) }#endif /* * RW-semaphores are an RT mutex plus a reader-depth count.
kernel/rt.c +1 -0
@@ -939,6 +939,7 @@set_task_state (task,TASK_UNINTERRUPTIBLE ); +plist_init (&waiter.list, task->prio);task_blocks_on_lock (&waiter, task, lock, eip);TRACE_BUG_ON (!irqs_disabled ());
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
Quoted 8 lines · Daniel Walker
Quoted 3 lines · Ingo Molnar
i used:
./test --tasks 10 file.histThis patch cleanup the delays on increased numbers of tasks. It goes on to of the current plist snapshot.
ok, these fixes for priority init appear to have solved the pi-test latencies. I've uploaded the -rc4-RT-V0.7.47-00 patch with the plist code re-added again. It's looking good so far on my testboxes.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
In reply to Ingo MolnarQuoted 8 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Ingo Molnar <[email protected]> writes:
this includes fixes from Daniel Walker, which could fix the plist related slowdown bugs:
there are still some problems remaining: i just ran Esben Nielsen's priority-inheritance validation testsuite, and the plist code gives a worst-case latency of 9.0 msecs.
With which machine is this?
I tried to reproduce with V0.7.45-01 in my 2xPIII 0.9 Ghz I cannot get more than 1.9ms when doing 2000 samples repeatedly (60 iterations and counting).
Did you use other parameters to 'test'?
# cnt=0
# while true
Quoted 3 lines
do echo -n "$cnt "
./test --samples 2000 file.hist 2>&1 | grep maximum; cnt=$(($cnt+1)) done
With 2.6.12-rc3-V0.7.46-02 I get:
...
2 maximum cycle time: 0.003ms 3 maximum cycle time: 1.706ms 4 maximum cycle time: 1.538ms 5 maximum cycle time: 1.168ms 6 maximum cycle time: 0.003ms 7 maximum cycle time: 0.008ms 8 maximum cycle time: 1.821ms 9 maximum cycle time: 1.013ms 10 maximum cycle time: 1.043ms 11 maximum cycle time: 1.787ms 12 maximum cycle time: 1.519ms 13 ...
roughly the same as with 0.7.45-01:
0 maximum cycle time: 1.872ms 1 maximum cycle time: 0.008ms 2 maximum cycle time: 1.947ms 3 maximum cycle time: 1.902ms 4 maximum cycle time: 1.925ms 5 maximum cycle time: 0.002ms 6 maximum cycle time: 1.950ms 7 maximum cycle time: 0.008ms 8 maximum cycle time: 0.008ms 9 maximum cycle time: 0.008ms 10 maximum cycle time: 1.943ms 11 maximum cycle time: 1.173ms 12 maximum cycle time: 0.008ms 13 maximum cycle time: 0.008ms
...
Signature · 1 line
Inaky
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
t
Quoted 17 lines · Inaky Perez-Gonzalez
Quoted 8 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Ingo Molnar <[email protected]> writes:
this includes fixes from Daniel Walker, which could fix the plist related slowdown bugs:
there are still some problems remaining: i just ran Esben Nielsen's priority-inheritance validation testsuite, and the plist code gives a worst-case latency of 9.0 msecs.
With which machine is this?
I tried to reproduce with V0.7.45-01 in my 2xPIII 0.9 Ghz I cannot get more than 1.9ms when doing 2000 samples repeatedly (60 iterations and counting).
Did you use other parameters to 'test'?
Quoted 7 lines
# cnt=0
# while trueQuoted 3 lines
do echo -n "$cnt "
./test --samples 2000 file.hist 2>&1 | grep maximum; cnt=$(($cnt+1)) doneWith 2.6.12-rc3-V0.7.46-02 I get:
It's still to high , it should be under a millisecond ..
I'm still testing but the times get better with this patch . I was initializing the lists to 0, instead of MAX_INT . Let me know if it changes anything.
Daniel
include/linux/plist.h +1 -1
@@ -251,7 +251,7 @@static inline void plist_del_init (struct plist *pl,struct plist *plist) {plist_del (pl, plist); -plist_init (pl,0 ); +plist_init (pl,INT_MAX ); }/* Return the priority a pl node */
kernel/rt.c +1 -0
@@ -939,6 +939,7 @@set_task_state (task,TASK_UNINTERRUPTIBLE ); +plist_init (&waiter.list, task->prio);task_blocks_on_lock (&waiter, task, lock, eip);TRACE_BUG_ON (!irqs_disabled ());
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
Quoted 7 lines · Daniel Walker
Quoted 1 line
With 2.6.12-rc3-V0.7.46-02 I get:
It's still to high , it should be under a millisecond ..
I'm still testing but the times get better with this patch . I was initializing the lists to 0, instead of
MAX_INT. Let me know if it changes anything.
could you send me a single patch that adds the plist stuff to the current tree? (that way i'll have your latest and i'll be able to add/remove it quicker)
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
In reply to Inaky Perez-GonzalezOops, I missed that you tested a non-plist kernel .. Maybe there are some lingering problems in current stuff..
Daniel
Quoted 16 lines · Inaky Perez-Gonzalez
With 2.6.12-rc3-V0.7.46-02 I get:
...
2 maximum cycle time: 0.003ms 3 maximum cycle time: 1.706ms 4 maximum cycle time: 1.538ms 5 maximum cycle time: 1.168ms 6 maximum cycle time: 0.003ms 7 maximum cycle time: 0.008ms 8 maximum cycle time: 1.821ms 9 maximum cycle time: 1.013ms 10 maximum cycle time: 1.043ms 11 maximum cycle time: 1.787ms 12 maximum cycle time: 1.519ms 13 ...
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
In reply to Ingo MolnarQuoted 4 lines · Ingo Molnar
i have released the -V0.7.46-01 Real-Time Preemption patch, which can be downloaded from the usual place:
Ingo,
With Mingming's patch to resolve the ext3 allocate-with-reservation latency, it looks like we are finally getting close to the lower limit that can be achieved with PREEMPT_DESKTOP. I've attached the trace of the lowest latency over several days of testing with 2.6.12-rc3-RT-V0.7.46-02 + Mingming's patch. It's only 127 usecs, and IIRC you mentioned previously that this code path can't be made preemptible in !PREEMPT_RT.
Since Mingming's patch will have to live in -mm for a while, can it be added to the RT patchset as well?
http://lkml.org/lkml/2005/4/22/127
Lee
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
Quoted 8 lines · Lee Revell
Quoted 4 lines · Ingo Molnar
i have released the -V0.7.46-01 Real-Time Preemption patch, which can be downloaded from the usual place:
Ingo,
Quoted 7 lines
With Mingming's patch to resolve the ext3 allocate-with-reservation latency, it looks like we are finally getting close to the lower limit that can be achieved with
PREEMPT_DESKTOP. I've attached the trace of the lowest latency over several days of testing with 2.6.12-rc3-RT-V0.7.46-02 + Mingming's patch. It's only 127 usecs, and IIRC you mentioned previously that this code path can't be made preemptible in !PREEMPT_RT.
yeah, signal delivery will have to stay atomic in !PREEMPT_RT kernels.
Quoted 2 lines
Since Mingming's patch will have to live in -mm for a while, can it be added to the RT patchset as well?
i think so - i'll add it to the next patch.
Ingo
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
Quoted 8 lines · Ingo Molnar
Quoted 4 lines · Lee Revell
it looks like we are finally getting close to the lower limit that can be achieved with
PREEMPT_DESKTOP... It's only 127 usecs, and IIRC you mentioned previously that this code path can't be made preemptible in !PREEMPT_RT.yeah, signal delivery will have to stay atomic in !PREEMPT_RT kernels.
OK. I found a few more.
When umounting, shrink_dcache_sb() will produce a 3-4 ms. bump. However it's not clear this can be made preemptible. AFAICT the whole thing needs to be under the dcache_lock. This one is pretty obvious so I'm not attaching a trace.
There's also still one path in the VM related to page freeing that can produce ~500 usec latencies but I don't have a trace handy now.
Quoted 4 lines
Quoted 2 lines
Since Mingming's patch will have to live in -mm for a while, can it be added to the RT patchset as well?
i think so - i'll add it to the next patch.
OK, great.
Lee