linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-10
@ 2005-03-25 14:59 Ingo Molnar
  2005-03-25 22:33 ` Lee Revell
                   ` (2 more replies)
  0 siblings, 3 replies; 87+ messages in thread
From: Ingo Molnar @ 2005-03-25 14:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: Paul E. McKenney


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

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-10
  2005-03-25 14:59 [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-10 Ingo Molnar
@ 2005-03-25 22:33 ` Lee Revell
  2005-03-25 22:39   ` Ingo Molnar
  2005-03-29 22:31 ` Lee Revell
  2005-03-31  8:55 ` [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-25 Ingo Molnar
  2 siblings, 1 reply; 87+ messages in thread
From: Lee Revell @ 2005-03-25 22:33 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Paul E. McKenney

On Fri, 2005-03-25 at 15:59 +0100, Ingo Molnar wrote:
> 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/

I get zillions of "return type defaults to int" warnings trying to
compile this with PREEMPT_DESKTOP.

Lee


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-10
  2005-03-25 22:33 ` Lee Revell
@ 2005-03-25 22:39   ` Ingo Molnar
  2005-03-26  5:14     ` Lee Revell
  0 siblings, 1 reply; 87+ messages in thread
From: Ingo Molnar @ 2005-03-25 22:39 UTC (permalink / raw)
  To: Lee Revell; +Cc: linux-kernel, Paul E. McKenney


* Lee Revell <rlrevell@joe-job.com> wrote:

> On Fri, 2005-03-25 at 15:59 +0100, Ingo Molnar wrote:
> > 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/
> 
> 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

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-10
  2005-03-25 22:39   ` Ingo Molnar
@ 2005-03-26  5:14     ` Lee Revell
  2005-03-27  8:58       ` Ingo Molnar
  0 siblings, 1 reply; 87+ messages in thread
From: Lee Revell @ 2005-03-26  5:14 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Paul E. McKenney

On Fri, 2005-03-25 at 23:39 +0100, Ingo Molnar wrote:
> * Lee Revell <rlrevell@joe-job.com> wrote:
> 
> > On Fri, 2005-03-25 at 15:59 +0100, Ingo Molnar wrote:
> > > 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/
> > 
> > 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


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-10
  2005-03-26  5:14     ` Lee Revell
@ 2005-03-27  8:58       ` Ingo Molnar
  2005-03-30  5:16         ` Lee Revell
  0 siblings, 1 reply; 87+ messages in thread
From: Ingo Molnar @ 2005-03-27  8:58 UTC (permalink / raw)
  To: Lee Revell; +Cc: linux-kernel, Paul E. McKenney


* Lee Revell <rlrevell@joe-job.com> wrote:

> 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

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-10
  2005-03-25 14:59 [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-10 Ingo Molnar
  2005-03-25 22:33 ` Lee Revell
@ 2005-03-29 22:31 ` Lee Revell
  2005-03-30  8:03   ` Ingo Molnar
  2005-03-31  8:55 ` [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-25 Ingo Molnar
  2 siblings, 1 reply; 87+ messages in thread
From: Lee Revell @ 2005-03-29 22:31 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Paul E. McKenney

On Fri, 2005-03-25 at 15:59 +0100, Ingo Molnar wrote:
> 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/
> 

Ingo,

-15 has a typo that prevents building with my config.

Lee

--- include/linux/mm.h~	2005-03-29 17:28:57.000000000 -0500
+++ include/linux/mm.h	2005-03-29 17:30:05.000000000 -0500
@@ -845,7 +845,7 @@
 #else
  static inline int check_no_locks_freed(const void *from, const void *to)
  {
-	return 0
+	return 0;
  }
 #endif
 



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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-10
  2005-03-27  8:58       ` Ingo Molnar
@ 2005-03-30  5:16         ` Lee Revell
  2005-03-30  6:54           ` Ingo Molnar
  0 siblings, 1 reply; 87+ messages in thread
From: Lee Revell @ 2005-03-30  5:16 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Paul E. McKenney

On Sun, 2005-03-27 at 10:58 +0200, Ingo Molnar wrote:
> * Lee Revell <rlrevell@joe-job.com> wrote:
> 
> > 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


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-10
  2005-03-30  5:16         ` Lee Revell
@ 2005-03-30  6:54           ` Ingo Molnar
  0 siblings, 0 replies; 87+ messages in thread
From: Ingo Molnar @ 2005-03-30  6:54 UTC (permalink / raw)
  To: Lee Revell; +Cc: linux-kernel, Paul E. McKenney


* Lee Revell <rlrevell@joe-job.com> wrote:

> > 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.

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

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-10
  2005-03-29 22:31 ` Lee Revell
@ 2005-03-30  8:03   ` Ingo Molnar
  0 siblings, 0 replies; 87+ messages in thread
From: Ingo Molnar @ 2005-03-30  8:03 UTC (permalink / raw)
  To: Lee Revell; +Cc: linux-kernel, Paul E. McKenney


* Lee Revell <rlrevell@joe-job.com> wrote:

> On Fri, 2005-03-25 at 15:59 +0100, Ingo Molnar wrote:
> > 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/
> > 
> 
> Ingo,
> 
> -15 has a typo that prevents building with my config.
> 
> Lee
> 
> --- include/linux/mm.h~	2005-03-29 17:28:57.000000000 -0500
> +++ include/linux/mm.h	2005-03-29 17:30:05.000000000 -0500
> @@ -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

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

* [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-25
  2005-03-25 14:59 [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-10 Ingo Molnar
  2005-03-25 22:33 ` Lee Revell
  2005-03-29 22:31 ` Lee Revell
@ 2005-03-31  8:55 ` Ingo Molnar
  2005-04-01 10:47   ` [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00 Ingo Molnar
  2 siblings, 1 reply; 87+ messages in thread
From: Ingo Molnar @ 2005-03-31  8:55 UTC (permalink / raw)
  To: linux-kernel; +Cc: Lee Revell, Rui Nuno Capela


i 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

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

* [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-03-31  8:55 ` [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-25 Ingo Molnar
@ 2005-04-01 10:47   ` Ingo Molnar
  2005-04-01 12:13     ` Rui Nuno Capela
                       ` (2 more replies)
  0 siblings, 3 replies; 87+ messages in thread
From: Ingo Molnar @ 2005-04-01 10:47 UTC (permalink / raw)
  To: linux-kernel; +Cc: Lee Revell, Rui Nuno Capela, Steven Rostedt


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

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-01 10:47   ` [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00 Ingo Molnar
@ 2005-04-01 12:13     ` Rui Nuno Capela
  2005-04-01 12:52       ` Ingo Molnar
  2005-04-01 17:31     ` Gene Heskett
  2005-04-05  7:19     ` [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00 Ingo Molnar
  2 siblings, 1 reply; 87+ messages in thread
From: Rui Nuno Capela @ 2005-04-01 12:13 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, Steven Rostedt

>
> 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.o
kernel/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.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-01 12:13     ` Rui Nuno Capela
@ 2005-04-01 12:52       ` Ingo Molnar
  2005-04-01 14:42         ` Rui Nuno Capela
  0 siblings, 1 reply; 87+ messages in thread
From: Ingo Molnar @ 2005-04-01 12:52 UTC (permalink / raw)
  To: Rui Nuno Capela; +Cc: linux-kernel, Lee Revell, Steven Rostedt


* Rui Nuno Capela <rncbc@rncbc.org> wrote:

> > 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_read causes a section type conflict
> make[1]: *** [kernel/rt.o] Error 1

thx - i've uploaded -43-01 which should fix this.

	Ingo

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-01 12:52       ` Ingo Molnar
@ 2005-04-01 14:42         ` Rui Nuno Capela
  2005-04-01 15:06           ` Ingo Molnar
  0 siblings, 1 reply; 87+ messages in thread
From: Rui Nuno Capela @ 2005-04-01 14:42 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, Steven Rostedt

>
> 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.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-01 14:42         ` Rui Nuno Capela
@ 2005-04-01 15:06           ` Ingo Molnar
  2005-04-01 15:52             ` Rui Nuno Capela
  0 siblings, 1 reply; 87+ messages in thread
From: Ingo Molnar @ 2005-04-01 15:06 UTC (permalink / raw)
  To: Rui Nuno Capela; +Cc: linux-kernel, Lee Revell, Steven Rostedt


* Rui Nuno Capela <rncbc@rncbc.org> wrote:

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

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-01 15:06           ` Ingo Molnar
@ 2005-04-01 15:52             ` Rui Nuno Capela
  2005-04-01 16:28               ` Ingo Molnar
  0 siblings, 1 reply; 87+ messages in thread
From: Rui Nuno Capela @ 2005-04-01 15:52 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, Steven Rostedt

> * Rui Nuno Capela wrote:
>
>> > 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?
>

Nope. Same error output as last report.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-01 15:52             ` Rui Nuno Capela
@ 2005-04-01 16:28               ` Ingo Molnar
  2005-04-01 21:26                 ` Rui Nuno Capela
  0 siblings, 1 reply; 87+ messages in thread
From: Ingo Molnar @ 2005-04-01 16:28 UTC (permalink / raw)
  To: Rui Nuno Capela; +Cc: linux-kernel, Lee Revell, Steven Rostedt


* Rui Nuno Capela <rncbc@rncbc.org> wrote:

> >> needs unknown symbol __compat_down_failed_interruptible
> 
> Nope. Same error output as last report.

does -43-04 work for you?

	Ingo

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-01 10:47   ` [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00 Ingo Molnar
  2005-04-01 12:13     ` Rui Nuno Capela
@ 2005-04-01 17:31     ` Gene Heskett
  2005-04-01 18:27       ` K.R. Foley
  2005-04-05  7:19     ` [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00 Ingo Molnar
  2 siblings, 1 reply; 87+ messages in thread
From: Gene Heskett @ 2005-04-01 17:31 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Lee Revell, Rui Nuno Capela, Steven Rostedt

On Friday 01 April 2005 05:47, Ingo Molnar wrote:
>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

I use the .gz, more reliable unpacks

> http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.12-rc1.bz
>2

Again I use the .gz

> http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.12-r
>c1-V0.7.43-00
>
> Ingo

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?

-- 
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.

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-01 17:31     ` Gene Heskett
@ 2005-04-01 18:27       ` K.R. Foley
  2005-04-01 18:29         ` Ingo Molnar
  2005-04-01 19:19         ` Gene Heskett
  0 siblings, 2 replies; 87+ messages in thread
From: K.R. Foley @ 2005-04-01 18:27 UTC (permalink / raw)
  To: Gene Heskett
  Cc: linux-kernel, Ingo Molnar, Lee Revell, Rui Nuno Capela, Steven Rostedt

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

Gene Heskett wrote:
<snip>
> 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?
> 

Adding the attached patch on top of the above should resolve the 
failures, at least in the patching. Still working on building it.

-- 
    kr

[-- Attachment #2: rwsem-spinlock.patch --]
[-- Type: text/x-patch, Size: 3860 bytes --]

--- linux-2.6.12/lib/rwsem-spinlock.c.orig	2005-04-01 12:00:21.000000000 -0600
+++ linux-2.6.12/lib/rwsem-spinlock.c	2005-04-01 12:19:06.000000000 -0600
@@ -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 r
 	rwsemtrace(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);

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-01 18:27       ` K.R. Foley
@ 2005-04-01 18:29         ` Ingo Molnar
  2005-04-01 19:21           ` Gene Heskett
  2005-04-01 19:19         ` Gene Heskett
  1 sibling, 1 reply; 87+ messages in thread
From: Ingo Molnar @ 2005-04-01 18:29 UTC (permalink / raw)
  To: K.R. Foley
  Cc: Gene Heskett, linux-kernel, Lee Revell, Rui Nuno Capela, Steven Rostedt


* K.R. Foley <kr@cybsft.com> wrote:

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

> Adding 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

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-01 18:27       ` K.R. Foley
  2005-04-01 18:29         ` Ingo Molnar
@ 2005-04-01 19:19         ` Gene Heskett
  2005-04-01 19:22           ` K.R. Foley
  1 sibling, 1 reply; 87+ messages in thread
From: Gene Heskett @ 2005-04-01 19:19 UTC (permalink / raw)
  To: linux-kernel
  Cc: K.R. Foley, Ingo Molnar, Lee Revell, Rui Nuno Capela, Steven Rostedt

On Friday 01 April 2005 13:27, K.R. Foley wrote:
>Gene Heskett wrote:
><snip>
>
>> 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?
>
>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.

-- 
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.

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-01 18:29         ` Ingo Molnar
@ 2005-04-01 19:21           ` Gene Heskett
  0 siblings, 0 replies; 87+ messages in thread
From: Gene Heskett @ 2005-04-01 19:21 UTC (permalink / raw)
  To: linux-kernel
  Cc: Ingo Molnar, K.R. Foley, Lee Revell, Rui Nuno Capela, Steven Rostedt

On Friday 01 April 2005 13:29, Ingo Molnar wrote:
>* K.R. Foley <kr@cybsft.com> wrote:
>> >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
>>
>> Adding 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 :-)

-- 
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.

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-01 19:19         ` Gene Heskett
@ 2005-04-01 19:22           ` K.R. Foley
  2005-04-01 23:34             ` Gene Heskett
  0 siblings, 1 reply; 87+ messages in thread
From: K.R. Foley @ 2005-04-01 19:22 UTC (permalink / raw)
  To: Gene Heskett
  Cc: linux-kernel, Ingo Molnar, Lee Revell, Rui Nuno Capela, Steven Rostedt

Gene Heskett wrote:
> On Friday 01 April 2005 13:27, K.R. Foley wrote:
> 
>>Gene Heskett wrote:
>><snip>
>>
>>>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?
>>
>>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.

> 
> I'll give it a go later today, right now I've got dirt to move in the 
> yard.
> 


-- 
    kr

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-01 16:28               ` Ingo Molnar
@ 2005-04-01 21:26                 ` Rui Nuno Capela
  0 siblings, 0 replies; 87+ messages in thread
From: Rui Nuno Capela @ 2005-04-01 21:26 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, Steven Rostedt

>
>> >> needs unknown symbol __compat_down_failed_interruptible
>>
>> Nope. 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.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-01 19:22           ` K.R. Foley
@ 2005-04-01 23:34             ` Gene Heskett
  2005-04-02  1:45               ` Lee Revell
  2005-04-02  5:12               ` Ingo Molnar
  0 siblings, 2 replies; 87+ messages in thread
From: Gene Heskett @ 2005-04-01 23:34 UTC (permalink / raw)
  To: linux-kernel
  Cc: K.R. Foley, Ingo Molnar, Lee Revell, Rui Nuno Capela, Steven Rostedt

On Friday 01 April 2005 14:22, K.R. Foley wrote:
>Gene Heskett wrote:
>> On Friday 01 April 2005 13:27, K.R. Foley wrote:
>>>Gene Heskett wrote:
>>><snip>
>>>
>>>>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?
>>>
>>>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.
>
>> 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.
                                                                                                                 
-- 
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.

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-01 23:34             ` Gene Heskett
@ 2005-04-02  1:45               ` Lee Revell
  2005-04-02  2:30                 ` Gene Heskett
  2005-04-02  5:12               ` Ingo Molnar
  1 sibling, 1 reply; 87+ messages in thread
From: Lee Revell @ 2005-04-02  1:45 UTC (permalink / raw)
  To: Gene Heskett
  Cc: linux-kernel, K.R. Foley, Ingo Molnar, Rui Nuno Capela, Steven Rostedt

On Fri, 2005-04-01 at 18:34 -0500, Gene Heskett wrote:
> 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


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-02  1:45               ` Lee Revell
@ 2005-04-02  2:30                 ` Gene Heskett
  0 siblings, 0 replies; 87+ messages in thread
From: Gene Heskett @ 2005-04-02  2:30 UTC (permalink / raw)
  To: linux-kernel
  Cc: Lee Revell, K.R. Foley, Ingo Molnar, Rui Nuno Capela, Steven Rostedt

On Friday 01 April 2005 20:45, Lee Revell wrote:
>On Fri, 2005-04-01 at 18:34 -0500, Gene Heskett wrote:
>> 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

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.

-- 
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.

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-01 23:34             ` Gene Heskett
  2005-04-02  1:45               ` Lee Revell
@ 2005-04-02  5:12               ` Ingo Molnar
  2005-04-02 19:37                 ` Steven Rostedt
  1 sibling, 1 reply; 87+ messages in thread
From: Ingo Molnar @ 2005-04-02  5:12 UTC (permalink / raw)
  To: Gene Heskett
  Cc: linux-kernel, K.R. Foley, Lee Revell, Rui Nuno Capela, Steven Rostedt


* Gene Heskett <gene.heskett@verizon.net> wrote:

> 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

--- linux/drivers/ieee1394/raw1394-private.h.orig
+++ linux/drivers/ieee1394/raw1394-private.h
@@ -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;
 

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-02  5:12               ` Ingo Molnar
@ 2005-04-02 19:37                 ` Steven Rostedt
  2005-04-02 20:06                   ` Steven Rostedt
  2005-04-02 20:10                   ` Lee Revell
  0 siblings, 2 replies; 87+ messages in thread
From: Steven Rostedt @ 2005-04-02 19:37 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Gene Heskett, LKML, K.R. Foley, Lee Revell, Rui Nuno Capela

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

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




[-- Attachment #2: test3_rt.c --]
[-- Type: text/x-csrc, Size: 7263 bytes --]

#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 5
pid_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);
}

[-- Attachment #3: list.h --]
[-- Type: text/x-chdr, Size: 2871 bytes --]

#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 */

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-02 19:37                 ` Steven Rostedt
@ 2005-04-02 20:06                   ` Steven Rostedt
  2005-04-02 20:17                     ` Lee Revell
  2005-04-02 20:35                     ` Ingo Molnar
  2005-04-02 20:10                   ` Lee Revell
  1 sibling, 2 replies; 87+ messages in thread
From: Steven Rostedt @ 2005-04-02 20:06 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Gene Heskett, LKML, K.R. Foley, Lee Revell, Rui Nuno Capela

On Sat, 2005-04-02 at 14:37 -0500, Steven Rostedt wrote:

> 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




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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-02 19:37                 ` Steven Rostedt
  2005-04-02 20:06                   ` Steven Rostedt
@ 2005-04-02 20:10                   ` Lee Revell
  1 sibling, 0 replies; 87+ messages in thread
From: Lee Revell @ 2005-04-02 20:10 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Ingo Molnar, Gene Heskett, LKML, K.R. Foley, Rui Nuno Capela

On Sat, 2005-04-02 at 14:37 -0500, Steven Rostedt wrote:
> 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


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-02 20:06                   ` Steven Rostedt
@ 2005-04-02 20:17                     ` Lee Revell
  2005-04-02 20:34                       ` Ingo Molnar
  2005-04-02 20:35                     ` Ingo Molnar
  1 sibling, 1 reply; 87+ messages in thread
From: Lee Revell @ 2005-04-02 20:17 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Ingo Molnar, Gene Heskett, LKML, K.R. Foley, Rui Nuno Capela

On Sat, 2005-04-02 at 15:06 -0500, Steven Rostedt wrote:
> On Sat, 2005-04-02 at 14:37 -0500, Steven Rostedt wrote:
> 
> > 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


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-02 20:17                     ` Lee Revell
@ 2005-04-02 20:34                       ` Ingo Molnar
  2005-04-02 22:38                         ` Gene Heskett
  0 siblings, 1 reply; 87+ messages in thread
From: Ingo Molnar @ 2005-04-02 20:34 UTC (permalink / raw)
  To: Lee Revell
  Cc: Steven Rostedt, Gene Heskett, LKML, K.R. Foley, Rui Nuno Capela


* Lee Revell <rlrevell@joe-job.com> wrote:

> 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

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-02 20:06                   ` Steven Rostedt
  2005-04-02 20:17                     ` Lee Revell
@ 2005-04-02 20:35                     ` Ingo Molnar
  2005-04-02 20:44                       ` Steven Rostedt
  2005-04-02 23:45                       ` Lee Revell
  1 sibling, 2 replies; 87+ messages in thread
From: Ingo Molnar @ 2005-04-02 20:35 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Gene Heskett, LKML, K.R. Foley, Lee Revell, Rui Nuno Capela


* Steven Rostedt <rostedt@goodmis.org> wrote:

> On Sat, 2005-04-02 at 14:37 -0500, Steven Rostedt wrote:
> 
> > 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.

ok, so it's not the recent NFS changes.

	Ingo

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-02 20:35                     ` Ingo Molnar
@ 2005-04-02 20:44                       ` Steven Rostedt
  2005-04-02 22:09                         ` Steven Rostedt
  2005-04-02 23:45                       ` Lee Revell
  1 sibling, 1 reply; 87+ messages in thread
From: Steven Rostedt @ 2005-04-02 20:44 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Gene Heskett, LKML, K.R. Foley, Lee Revell, Rui Nuno Capela

On Sat, 2005-04-02 at 22:35 +0200, Ingo Molnar wrote:
> * Steven Rostedt <rostedt@goodmis.org> wrote:
> 
> > On Sat, 2005-04-02 at 14:37 -0500, Steven Rostedt wrote:
> > 
> > > 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.
> 
> 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



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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-02 20:44                       ` Steven Rostedt
@ 2005-04-02 22:09                         ` Steven Rostedt
  2005-04-03  0:06                           ` Steven Rostedt
  0 siblings, 1 reply; 87+ messages in thread
From: Steven Rostedt @ 2005-04-02 22:09 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Gene Heskett, LKML, K.R. Foley, Lee Revell, Rui Nuno Capela

On Sat, 2005-04-02 at 15:44 -0500, Steven Rostedt wrote:
> On Sat, 2005-04-02 at 22:35 +0200, Ingo Molnar wrote:

> > > 
> > > 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.
> > 
> 
> 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


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-02 20:34                       ` Ingo Molnar
@ 2005-04-02 22:38                         ` Gene Heskett
  0 siblings, 0 replies; 87+ messages in thread
From: Gene Heskett @ 2005-04-02 22:38 UTC (permalink / raw)
  To: linux-kernel
  Cc: Ingo Molnar, Lee Revell, Steven Rostedt, K.R. Foley, Rui Nuno Capela

On Saturday 02 April 2005 15:34, Ingo Molnar wrote:
>* Lee Revell <rlrevell@joe-job.com> wrote:
>> 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
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.

-- 
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.

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-02 20:35                     ` Ingo Molnar
  2005-04-02 20:44                       ` Steven Rostedt
@ 2005-04-02 23:45                       ` Lee Revell
  1 sibling, 0 replies; 87+ messages in thread
From: Lee Revell @ 2005-04-02 23:45 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Steven Rostedt, Gene Heskett, LKML, K.R. Foley, Rui Nuno Capela

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

On Sat, 2005-04-02 at 22:35 +0200, Ingo Molnar wrote:
> > 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

[-- Attachment #2: latency_trace.bz2 --]
[-- Type: application/x-bzip, Size: 2387 bytes --]

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-02 22:09                         ` Steven Rostedt
@ 2005-04-03  0:06                           ` Steven Rostedt
  2005-04-04 20:00                             ` Ingo Molnar
  0 siblings, 1 reply; 87+ messages in thread
From: Steven Rostedt @ 2005-04-03  0:06 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Gene Heskett, LKML, K.R. Foley, Lee Revell, Rui Nuno Capela

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

On Sat, 2005-04-02 at 17:09 -0500, Steven Rostedt wrote:
> On Sat, 2005-04-02 at 15:44 -0500, Steven Rostedt wrote:
> > 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)
> 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.

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


[-- Attachment #2: lockup.cap.gz --]
[-- Type: application/x-gzip, Size: 59189 bytes --]

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-03  0:06                           ` Steven Rostedt
@ 2005-04-04 20:00                             ` Ingo Molnar
  2005-04-04 20:40                               ` Steven Rostedt
  0 siblings, 1 reply; 87+ messages in thread
From: Ingo Molnar @ 2005-04-04 20:00 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Gene Heskett, LKML, K.R. Foley, Lee Revell, Rui Nuno Capela


* Steven Rostedt <rostedt@goodmis.org> wrote:

> 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


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-04 20:00                             ` Ingo Molnar
@ 2005-04-04 20:40                               ` Steven Rostedt
  2005-04-04 20:47                                 ` Ingo Molnar
  0 siblings, 1 reply; 87+ messages in thread
From: Steven Rostedt @ 2005-04-04 20:40 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Gene Heskett, LKML, K.R. Foley, Lee Revell, Rui Nuno Capela

On Mon, 2005-04-04 at 22:00 +0200, Ingo Molnar wrote:
> * Steven Rostedt <rostedt@goodmis.org> wrote:
> 
> > 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.
> 

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



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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-04 20:40                               ` Steven Rostedt
@ 2005-04-04 20:47                                 ` Ingo Molnar
  2005-04-04 21:14                                   ` Steven Rostedt
  0 siblings, 1 reply; 87+ messages in thread
From: Ingo Molnar @ 2005-04-04 20:47 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Gene Heskett, LKML, K.R. Foley, Lee Revell, Rui Nuno Capela


* Steven Rostedt <rostedt@goodmis.org> wrote:

> > 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.
> 
> 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.

ok, makes sense.

> 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

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-04 20:47                                 ` Ingo Molnar
@ 2005-04-04 21:14                                   ` Steven Rostedt
  2005-04-04 22:51                                     ` Zwane Mwaikambo
  2005-04-04 23:06                                     ` Esben Nielsen
  0 siblings, 2 replies; 87+ messages in thread
From: Steven Rostedt @ 2005-04-04 21:14 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Gene Heskett, LKML, K.R. Foley, Lee Revell, Rui Nuno Capela

On Mon, 2005-04-04 at 22:47 +0200, Ingo Molnar wrote:

> > 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.

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



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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-04 21:14                                   ` Steven Rostedt
@ 2005-04-04 22:51                                     ` Zwane Mwaikambo
  2005-04-04 22:59                                       ` Steven Rostedt
  2005-04-04 23:09                                       ` Esben Nielsen
  2005-04-04 23:06                                     ` Esben Nielsen
  1 sibling, 2 replies; 87+ messages in thread
From: Zwane Mwaikambo @ 2005-04-04 22:51 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Ingo Molnar, Gene Heskett, LKML, K.R. Foley, Lee Revell, Rui Nuno Capela

On Mon, 4 Apr 2005, Steven Rostedt wrote:

> On Mon, 2005-04-04 at 22:47 +0200, Ingo Molnar wrote:
> 
> > > 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.
> 
> 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.


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-04 22:51                                     ` Zwane Mwaikambo
@ 2005-04-04 22:59                                       ` Steven Rostedt
  2005-04-04 23:09                                       ` Esben Nielsen
  1 sibling, 0 replies; 87+ messages in thread
From: Steven Rostedt @ 2005-04-04 22:59 UTC (permalink / raw)
  To: Zwane Mwaikambo
  Cc: Ingo Molnar, Gene Heskett, LKML, K.R. Foley, Lee Revell, Rui Nuno Capela

On Mon, 2005-04-04 at 16:51 -0600, Zwane Mwaikambo wrote:

> 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.
> 

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



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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-04 21:14                                   ` Steven Rostedt
  2005-04-04 22:51                                     ` Zwane Mwaikambo
@ 2005-04-04 23:06                                     ` Esben Nielsen
  2005-04-05  5:34                                       ` Ingo Molnar
  1 sibling, 1 reply; 87+ messages in thread
From: Esben Nielsen @ 2005-04-04 23:06 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Ingo Molnar, Gene Heskett, LKML, K.R. Foley, Lee Revell, Rui Nuno Capela

On Mon, 4 Apr 2005, Steven Rostedt wrote:

> On Mon, 2005-04-04 at 22:47 +0200, Ingo Molnar wrote:
> 
> > > 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.
> 
> 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

> 
> -- Steve
> 



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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-04 22:51                                     ` Zwane Mwaikambo
  2005-04-04 22:59                                       ` Steven Rostedt
@ 2005-04-04 23:09                                       ` Esben Nielsen
  2005-04-05  7:57                                         ` Zwane Mwaikambo
  1 sibling, 1 reply; 87+ messages in thread
From: Esben Nielsen @ 2005-04-04 23:09 UTC (permalink / raw)
  To: Zwane Mwaikambo
  Cc: Steven Rostedt, Ingo Molnar, Gene Heskett, LKML, K.R. Foley,
	Lee Revell, Rui Nuno Capela

On Mon, 4 Apr 2005, Zwane Mwaikambo wrote:

> On Mon, 4 Apr 2005, Steven Rostedt wrote:
> 
> > On Mon, 2005-04-04 at 22:47 +0200, Ingo Molnar wrote:
> > 
> > > > 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.
> > 
> > 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.
> 

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



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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-04 23:06                                     ` Esben Nielsen
@ 2005-04-05  5:34                                       ` Ingo Molnar
  2005-04-05  9:25                                         ` Esben Nielsen
  0 siblings, 1 reply; 87+ messages in thread
From: Ingo Molnar @ 2005-04-05  5:34 UTC (permalink / raw)
  To: Esben Nielsen
  Cc: Steven Rostedt, Gene Heskett, LKML, K.R. Foley, Lee Revell,
	Rui Nuno Capela


* Esben Nielsen <simlo@phys.au.dk> wrote:

> > 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.

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

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

* [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
  2005-04-01 10:47   ` [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00 Ingo Molnar
  2005-04-01 12:13     ` Rui Nuno Capela
  2005-04-01 17:31     ` Gene Heskett
@ 2005-04-05  7:19     ` Ingo Molnar
  2005-04-05 19:06       ` Rui Nuno Capela
                         ` (2 more replies)
  2 siblings, 3 replies; 87+ messages in thread
From: Ingo Molnar @ 2005-04-05  7:19 UTC (permalink / raw)
  To: linux-kernel; +Cc: Lee Revell, Rui Nuno Capela, Steven Rostedt


i 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

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-04 23:09                                       ` Esben Nielsen
@ 2005-04-05  7:57                                         ` Zwane Mwaikambo
  2005-04-05 15:18                                           ` Mike Galbraith
  0 siblings, 1 reply; 87+ messages in thread
From: Zwane Mwaikambo @ 2005-04-05  7:57 UTC (permalink / raw)
  To: Esben Nielsen
  Cc: Steven Rostedt, Ingo Molnar, Gene Heskett, LKML, K.R. Foley,
	Lee Revell, Rui Nuno Capela

On Tue, 5 Apr 2005, Esben Nielsen wrote:

> > 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.
> > 
> 
> 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.

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-05  5:34                                       ` Ingo Molnar
@ 2005-04-05  9:25                                         ` Esben Nielsen
  0 siblings, 0 replies; 87+ messages in thread
From: Esben Nielsen @ 2005-04-05  9:25 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Steven Rostedt, Gene Heskett, LKML, K.R. Foley, Lee Revell,
	Rui Nuno Capela

On Tue, 5 Apr 2005, Ingo Molnar wrote:

> 
> * Esben Nielsen <simlo@phys.au.dk> wrote:
> 
> > > 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.
> 
> 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

> 	Ingo




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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00
  2005-04-05  7:57                                         ` Zwane Mwaikambo
@ 2005-04-05 15:18                                           ` Mike Galbraith
  0 siblings, 0 replies; 87+ messages in thread
From: Mike Galbraith @ 2005-04-05 15:18 UTC (permalink / raw)
  To: Zwane Mwaikambo, Esben Nielsen
  Cc: Steven Rostedt, Ingo Molnar, Gene Heskett, LKML, K.R. Foley,
	Lee Revell, Rui Nuno Capela

At 01:57 AM 4/5/2005 -0600, Zwane Mwaikambo wrote:
>On Tue, 5 Apr 2005, Esben Nielsen wrote:
>
> > > 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.
> > >
> >
> > 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 


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
  2005-04-05  7:19     ` [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00 Ingo Molnar
@ 2005-04-05 19:06       ` Rui Nuno Capela
  2005-04-05 19:36         ` Steven Rostedt
  2005-04-10 17:23       ` K.R. Foley
  2005-04-21  7:35       ` [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-00 Ingo Molnar
  2 siblings, 1 reply; 87+ messages in thread
From: Rui Nuno Capela @ 2005-04-05 19:06 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, Steven Rostedt

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

>
> i 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/
>

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.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org

[-- Attachment #2: dmesg-2.6.12-rc2-RT-V0.7.44-01.0smp-0.txt --]
[-- Type: text/plain, Size: 19705 bytes --]

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:DMA
Probing 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: dm-devel@redhat.com
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 64
ehci_hcd 0000:00:1d.7: EHCI Host Controller
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
ehci_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.7
ehci_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 64
uhci_hcd 0000:00:1d.0: UHCI Host Controller
ReiserFS: hda8: found reiserfs format "3.6" with standard journal
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
uhci_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 64
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
uhci_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 64
uhci_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 4
uhci_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 <bcollins@debian.org>
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 wacom
drivers/usb/input/wacom.c: v1.40:USB Wacom Graphire and Wacom Intuos tablet driver

[-- Attachment #3: config-2.6.12-rc2-RT-V0.7.44-01.0smp.gz --]
[-- Type: application/x-gzip, Size: 8060 bytes --]

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
  2005-04-05 19:06       ` Rui Nuno Capela
@ 2005-04-05 19:36         ` Steven Rostedt
  2005-04-08 15:22           ` Rui Nuno Capela
  0 siblings, 1 reply; 87+ messages in thread
From: Steven Rostedt @ 2005-04-05 19:36 UTC (permalink / raw)
  To: Rui Nuno Capela; +Cc: Ingo Molnar, LKML, Lee Revell

Our first victim!! :-) 

On Tue, 2005-04-05 at 20:06 +0100, Rui Nuno Capela wrote:
> >
> 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.


> 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



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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
  2005-04-05 19:36         ` Steven Rostedt
@ 2005-04-08 15:22           ` Rui Nuno Capela
  2005-04-08 17:15             ` Lee Revell
  0 siblings, 1 reply; 87+ messages in thread
From: Rui Nuno Capela @ 2005-04-08 15:22 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: Ingo Molnar, LKML, Lee Revell

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

> Our first victim!! :-)
>

No kidding!?


> On Tue, 2005-04-05 at 20:06 +0100, Rui Nuno Capela wrote:
>> >
>> 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.
>
>
>> 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.
>

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.
-- 
rncbc aka Rui Nuno Capela
rncbc@rncbc.org

[-- Attachment #2: config-2.6.12-rc2-RT-V0.7.44-02.0smp.gz --]
[-- Type: application/x-gzip, Size: 8354 bytes --]

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
  2005-04-08 15:22           ` Rui Nuno Capela
@ 2005-04-08 17:15             ` Lee Revell
  2005-04-08 20:15               ` K.R. Foley
  0 siblings, 1 reply; 87+ messages in thread
From: Lee Revell @ 2005-04-08 17:15 UTC (permalink / raw)
  To: Rui Nuno Capela; +Cc: Steven Rostedt, Ingo Molnar, LKML

On Fri, 2005-04-08 at 16:22 +0100, Rui Nuno Capela wrote:
> > 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/conf
scripts/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:

--- arch/i386/kernel/mcount-wrapper.S~	2005-04-07 19:02:33.000000000 -0400
+++ arch/i386/kernel/mcount-wrapper.S	2005-04-07 19:52:24.000000000 -0400
@@ -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.o
kernel/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




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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
  2005-04-08 17:15             ` Lee Revell
@ 2005-04-08 20:15               ` K.R. Foley
  2005-04-08 20:17                 ` Lee Revell
  0 siblings, 1 reply; 87+ messages in thread
From: K.R. Foley @ 2005-04-08 20:15 UTC (permalink / raw)
  To: Lee Revell; +Cc: Rui Nuno Capela, Steven Rostedt, Ingo Molnar, LKML

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

Lee Revell wrote:
> On Fri, 2005-04-08 at 16:22 +0100, Rui Nuno Capela wrote:
> 
>>>Our first victim!! :-)
>>>
>>
>>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.

-- 
    kr

[-- Attachment #2: config.daffy --]
[-- Type: text/plain, Size: 35647 bytes --]

#
# 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=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32

#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_EMBEDDED=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0

#
# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODULE_UNLOAD is not set
CONFIG_OBSOLETE_MODPARM=y
CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_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 set
CONFIG_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 set
CONFIG_X86_GENERIC=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_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 set
CONFIG_PREEMPT_RT=y
CONFIG_PREEMPT=y
CONFIG_PREEMPT_SOFTIRQS=y
CONFIG_PREEMPT_HARDIRQS=y
CONFIG_PREEMPT_RCU=y
CONFIG_PREEMPT_BKL=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_ASM_SEMAPHORES=y
# CONFIG_X86_UP_APIC is not set
CONFIG_X86_TSC=y
CONFIG_X86_MCE=y
# CONFIG_X86_MCE_NONFATAL is not set
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
CONFIG_MICROCODE=m
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m

#
# Firmware Drivers
#
CONFIG_EDD=m
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_HIGHMEM=y
# CONFIG_HIGHPTE is not set
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
# CONFIG_EFI is not set
CONFIG_HAVE_DEC_LOCK=y
CONFIG_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=y
CONFIG_ACPI_BOOT=y
CONFIG_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 set
CONFIG_ACPI_BUS=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_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 set
CONFIG_APM_CPU_IDLE=y
# CONFIG_APM_DISPLAY_BLANK is not set
CONFIG_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 set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
# CONFIG_PCIEPORTBUS is not set
# CONFIG_PCI_LEGACY_PROC is not set
CONFIG_PCI_NAMES=y
# CONFIG_PCI_DEBUG is not set
CONFIG_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=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_MISC=m

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=m
# CONFIG_DEBUG_DRIVER is not set

#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set

#
# Parallel port support
#
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_GSC is not set
CONFIG_PARPORT_1284=y

#
# Plug and Play support
#
CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set

#
# Protocols
#
CONFIG_ISAPNP=y
# CONFIG_PNPBIOS is not set
CONFIG_PNPACPI=y

#
# Block devices
#
CONFIG_BLK_DEV_FD=m
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
CONFIG_BLK_CPQ_DA=m
CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_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 set
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_LBD is not set
# CONFIG_CDROM_PKTCDVD is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_ATA_OVER_ETH is not set

#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_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=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_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=y
CONFIG_BLK_DEV_CMD640=y
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
# CONFIG_BLK_DEV_IDEPNP is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
CONFIG_BLK_DEV_RZ1000=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_AEC62XX=y
CONFIG_BLK_DEV_ALI15X3=y
# CONFIG_WDC_ALI15X3 is not set
CONFIG_BLK_DEV_AMD74XX=y
# CONFIG_BLK_DEV_ATIIXP is not set
CONFIG_BLK_DEV_CMD64X=y
CONFIG_BLK_DEV_TRIFLEX=y
CONFIG_BLK_DEV_CY82C693=y
# CONFIG_BLK_DEV_CS5520 is not set
CONFIG_BLK_DEV_CS5530=y
CONFIG_BLK_DEV_HPT34X=y
# CONFIG_HPT34X_AUTODMA is not set
CONFIG_BLK_DEV_HPT366=y
# CONFIG_BLK_DEV_SC1200 is not set
CONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_NS87415 is not set
CONFIG_BLK_DEV_PDC202XX_OLD=y
# CONFIG_PDC202XX_BURST is not set
CONFIG_BLK_DEV_PDC202XX_NEW=y
# CONFIG_PDC202XX_FORCE is not set
CONFIG_BLK_DEV_SVWKS=y
CONFIG_BLK_DEV_SIIMAGE=y
CONFIG_BLK_DEV_SIS5513=y
CONFIG_BLK_DEV_SLC90E66=y
# CONFIG_BLK_DEV_TRM290 is not set
CONFIG_BLK_DEV_VIA82CXXX=y
# CONFIG_IDE_ARM is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
CONFIG_SCSI=m
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y
CONFIG_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 set
CONFIG_SCSI_7000FASST=m
CONFIG_SCSI_ACARD=m
CONFIG_SCSI_AHA152X=m
CONFIG_SCSI_AHA1542=m
CONFIG_SCSI_AACRAID=m
CONFIG_SCSI_AIC7XXX=m
CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
CONFIG_SCSI_AIC7XXX_OLD=m
CONFIG_SCSI_AIC79XX=m
CONFIG_AIC79XX_CMDS_PER_DEVICE=32
CONFIG_AIC79XX_RESET_DELAY_MS=15000
# CONFIG_AIC79XX_ENABLE_RD_STRM is not set
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
CONFIG_AIC79XX_DEBUG_MASK=0
# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_DPT_I2O is not set
CONFIG_SCSI_IN2000=m
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
CONFIG_SCSI_SATA=y
# CONFIG_SCSI_SATA_AHCI is not set
CONFIG_SCSI_SATA_SVW=m
CONFIG_SCSI_ATA_PIIX=m
# CONFIG_SCSI_SATA_NV is not set
CONFIG_SCSI_SATA_PROMISE=m
# CONFIG_SCSI_SATA_QSTOR is not set
# CONFIG_SCSI_SATA_SX4 is not set
CONFIG_SCSI_SATA_SIL=m
# CONFIG_SCSI_SATA_SIS is not set
# CONFIG_SCSI_SATA_ULI is not set
CONFIG_SCSI_SATA_VIA=m
# CONFIG_SCSI_SATA_VITESSE is not set
CONFIG_SCSI_BUSLOGIC=m
# CONFIG_SCSI_OMIT_FLASHPOINT is not set
CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_DTC3280=m
CONFIG_SCSI_EATA=m
CONFIG_SCSI_EATA_TAGGED_QUEUE=y
# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
CONFIG_SCSI_EATA_MAX_TAGS=16
CONFIG_SCSI_FUTURE_DOMAIN=m
CONFIG_SCSI_GDTH=m
CONFIG_SCSI_GENERIC_NCR5380=m
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_GENERIC_NCR53C400 is not set
CONFIG_SCSI_IPS=m
# CONFIG_SCSI_INITIO is not set
CONFIG_SCSI_INIA100=m
CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not set
CONFIG_SCSI_NCR53C406A=m
CONFIG_SCSI_SYM53C8XX_2=m
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
# CONFIG_SCSI_IPR is not set
CONFIG_SCSI_PAS16=m
CONFIG_SCSI_PSI240I=m
CONFIG_SCSI_QLOGIC_FAS=m
CONFIG_SCSI_QLOGIC_FC=m
# CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set
CONFIG_SCSI_QLOGIC_1280=m
# CONFIG_SCSI_QLOGIC_1280_1040 is not set
CONFIG_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 set
CONFIG_SCSI_SYM53C416=m
# CONFIG_SCSI_DC395x is not set
CONFIG_SCSI_DC390T=m
CONFIG_SCSI_T128=m
CONFIG_SCSI_U14_34F=m
# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
CONFIG_SCSI_U14_34F_MAX_TAGS=8
CONFIG_SCSI_ULTRASTOR=m
CONFIG_SCSI_NSP32=m
CONFIG_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=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
# CONFIG_MD_RAID10 is not set
CONFIG_MD_RAID5=m
# CONFIG_MD_RAID6 is not set
CONFIG_MD_MULTIPATH=m
# CONFIG_MD_FAULTY is not set
CONFIG_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 set
CONFIG_I2O_BLOCK=m
CONFIG_I2O_SCSI=m
CONFIG_I2O_PROC=m

#
# Networking support
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_NET_KEY=m
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_FWMARK=y
CONFIG_IP_ROUTE_MULTIPATH=y
# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
CONFIG_IP_ROUTE_VERBOSE=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_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 set
CONFIG_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=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
# CONFIG_IP_VS_SED is not set
# CONFIG_IP_VS_NQ is not set

#
# IPVS application helper
#
CONFIG_IPV6=m
# CONFIG_IPV6_PRIVACY is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_TUNNEL=m
# CONFIG_IPV6_TUNNEL is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_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 set
CONFIG_IP_NF_FTP=m
CONFIG_IP_NF_IRC=m
CONFIG_IP_NF_TFTP=m
CONFIG_IP_NF_AMANDA=m
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
# CONFIG_IP_NF_MATCH_IPRANGE is not set
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
CONFIG_IP_NF_MATCH_LENGTH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_TCPMSS=m
CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_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 set
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
# CONFIG_IP_NF_TARGET_NETMAP is not set
# CONFIG_IP_NF_TARGET_SAME is not set
CONFIG_IP_NF_NAT_SNMP_BASIC=m
CONFIG_IP_NF_NAT_IRC=m
CONFIG_IP_NF_NAT_FTP=m
CONFIG_IP_NF_NAT_TFTP=m
CONFIG_IP_NF_NAT_AMANDA=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
CONFIG_IP_NF_TARGET_MARK=m
# CONFIG_IP_NF_TARGET_CLASSIFY is not set
# CONFIG_IP_NF_RAW is not set
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m

#
# IPv6: Netfilter Configuration (EXPERIMENTAL)
#
# CONFIG_IP6_NF_QUEUE is not set
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_LIMIT=m
CONFIG_IP6_NF_MATCH_MAC=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_MULTIPORT=m
CONFIG_IP6_NF_MATCH_OWNER=m
CONFIG_IP6_NF_MATCH_MARK=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_AHESP=m
CONFIG_IP6_NF_MATCH_LENGTH=m
CONFIG_IP6_NF_MATCH_EUI64=m
# CONFIG_IP6_NF_MATCH_PHYSDEV is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_LOG=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_TARGET_MARK=m
# CONFIG_IP6_NF_RAW is not set

#
# Bridge: Netfilter Configuration
#
# CONFIG_BRIDGE_NF_EBTABLES is not set
CONFIG_XFRM=y
CONFIG_XFRM_USER=m

#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
CONFIG_ATM=y
CONFIG_ATM_CLIP=y
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=m
CONFIG_ATM_MPOA=m
CONFIG_ATM_BR2684=m
CONFIG_ATM_BR2684_IPFILTER=y
CONFIG_BRIDGE=m
CONFIG_VLAN_8021Q=m
# CONFIG_DECNET is not set
CONFIG_LLC=y
# CONFIG_LLC2 is not set
CONFIG_IPX=m
# CONFIG_IPX_INTERN is not set
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=y
CONFIG_LTPC=m
CONFIG_COPS=m
CONFIG_COPS_DAYNA=y
CONFIG_COPS_TANGENT=y
CONFIG_IPDDP=m
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP_DECAP=y
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
CONFIG_NET_DIVERT=y
# CONFIG_ECONET is not set
CONFIG_WAN_ROUTER=m

#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not set
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
# CONFIG_NET_SCH_HFSC is not set
# CONFIG_NET_SCH_ATM is not set
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
# CONFIG_NET_SCH_NETEM is not set
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
# CONFIG_NET_CLS_BASIC is not set
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
# CONFIG_CLS_U32_PERF is not set
# CONFIG_NET_CLS_IND is not set
# CONFIG_CLS_U32_MARK is not set
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
# CONFIG_NET_EMATCH is not set
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_CLS_POLICE=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
CONFIG_TUN=m
# CONFIG_NET_SB1000 is not set

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
CONFIG_NET_VENDOR_3COM=y
CONFIG_EL1=m
CONFIG_EL2=m
CONFIG_ELPLUS=m
CONFIG_EL16=m
CONFIG_EL3=m
CONFIG_3C515=m
CONFIG_VORTEX=m
CONFIG_TYPHOON=m
CONFIG_LANCE=m
CONFIG_NET_VENDOR_SMC=y
CONFIG_WD80x3=m
CONFIG_ULTRA=m
CONFIG_SMC9194=m
CONFIG_NET_VENDOR_RACAL=y
CONFIG_NI5010=m
CONFIG_NI52=m
CONFIG_NI65=m

#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
CONFIG_AT1700=m
CONFIG_DEPCA=m
CONFIG_HP100=m
CONFIG_NET_ISA=y
CONFIG_E2100=m
CONFIG_EWRK3=m
CONFIG_EEXPRESS=m
CONFIG_EEXPRESS_PRO=m
CONFIG_HPLAN_PLUS=m
CONFIG_HPLAN=m
CONFIG_LP486E=m
CONFIG_ETH16I=m
CONFIG_NE2000=m
# CONFIG_ZNET is not set
# CONFIG_SEEQ8005 is not set
CONFIG_NET_PCI=y
CONFIG_PCNET32=m
CONFIG_AMD8111_ETH=m
# CONFIG_AMD8111E_NAPI is not set
CONFIG_ADAPTEC_STARFIRE=m
# CONFIG_ADAPTEC_STARFIRE_NAPI is not set
CONFIG_AC3200=m
CONFIG_APRICOT=m
CONFIG_B44=m
# CONFIG_FORCEDETH is not set
CONFIG_CS89x0=m
CONFIG_DGRS=m
CONFIG_EEPRO100=m
CONFIG_E100=m
CONFIG_FEALNX=m
CONFIG_NATSEMI=m
CONFIG_NE2K_PCI=m
CONFIG_8139CP=m
CONFIG_8139TOO=m
CONFIG_8139TOO_PIO=y
# CONFIG_8139TOO_TUNE_TWISTER is not set
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_SIS900=m
CONFIG_EPIC100=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_TLAN=m
CONFIG_VIA_RHINE=m
# CONFIG_VIA_RHINE_MMIO is not set
CONFIG_NET_POCKET=y
CONFIG_ATP=m
CONFIG_DE600=m
CONFIG_DE620=m

#
# Ethernet (1000 Mbit)
#
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
CONFIG_DL2K=m
CONFIG_E1000=m
CONFIG_E1000_NAPI=y
CONFIG_NS83820=m
CONFIG_HAMACHI=m
CONFIG_YELLOWFIN=m
CONFIG_R8169=m
# CONFIG_R8169_NAPI is not set
# CONFIG_R8169_VLAN is not set
CONFIG_SK98LIN=m
# CONFIG_VIA_VELOCITY is not set
CONFIG_TIGON3=m

#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set

#
# Token Ring devices
#
CONFIG_TR=y
CONFIG_IBMTR=m
CONFIG_IBMOL=m
CONFIG_IBMLS=m
CONFIG_3C359=m
CONFIG_TMS380TR=m
CONFIG_TMSPCI=m
# CONFIG_SKISA is not set
# CONFIG_PROTEON is not set
CONFIG_ABYSS=m
CONFIG_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 set
CONFIG_PLIP=m
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
# CONFIG_PPP_BSDCOMP is not set
CONFIG_PPPOE=m
CONFIG_PPPOATM=m
CONFIG_SLIP=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
CONFIG_NET_FC=y
CONFIG_SHAPER=m
CONFIG_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=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
# CONFIG_INPUT_TSDEV is not set
CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_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 set
CONFIG_INPUT_MOUSE=y
CONFIG_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=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_SERIAL_NONSTANDARD=y
CONFIG_COMPUTONE=m
CONFIG_ROCKETPORT=m
CONFIG_CYCLADES=m
# CONFIG_CYZ_INTR is not set
CONFIG_DIGIEPCA=m
CONFIG_ESPSERIAL=m
CONFIG_MOXA_INTELLIO=m
CONFIG_MOXA_SMARTIO=m
CONFIG_ISI=m
CONFIG_SYNCLINK=m
# CONFIG_SYNCLINKMP is not set
CONFIG_N_HDLC=m
CONFIG_RISCOM8=m
CONFIG_SPECIALIX=m
CONFIG_SPECIALIX_RTSCTS=y
CONFIG_SX=m
# CONFIG_RIO is not set
CONFIG_STALDRV=y
CONFIG_STALLION=m
CONFIG_ISTALLION=m

#
# Serial drivers
#
CONFIG_SERIAL_8250=m
# CONFIG_SERIAL_8250_ACPI is not set
CONFIG_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 set
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_PRINTER=m
CONFIG_LP_CONSOLE=y
CONFIG_PPDEV=m
CONFIG_TIPAR=m

#
# IPMI
#
CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not set
CONFIG_IPMI_DEVICE_INTERFACE=m
# CONFIG_IPMI_SI is not set
CONFIG_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=m
CONFIG_ACQUIRE_WDT=m
CONFIG_ADVANTECH_WDT=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
CONFIG_SC520_WDT=m
CONFIG_EUROTECH_WDT=m
CONFIG_IB700_WDT=m
CONFIG_WAFER_WDT=m
# CONFIG_I8XX_TCO is not set
CONFIG_SC1200_WDT=m
# CONFIG_60XX_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_W83627HF_WDT is not set
CONFIG_W83877F_WDT=m
CONFIG_MACHZ_WDT=m

#
# ISA-based Watchdog Cards
#
CONFIG_PCWATCHDOG=m
# CONFIG_MIXCOMWD is not set
CONFIG_WDT=m
# CONFIG_WDT_501 is not set

#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
CONFIG_WDTPCI=m
# CONFIG_WDT_501_PCI is not set
# CONFIG_HW_RANDOM is not set
CONFIG_NVRAM=m
CONFIG_RTC=y
CONFIG_RTC_HISTOGRAM=y
CONFIG_BLOCKER=y
CONFIG_DTLK=m
CONFIG_R3964=m
# CONFIG_APPLICOM is not set
CONFIG_SONYPI=m

#
# Ftape, the floppy tape device driver
#
CONFIG_FTAPE=m
CONFIG_ZFTAPE=m
CONFIG_ZFT_DFLT_BLK_SZ=10240

#
# The compressor will be built as a module only!
#
CONFIG_ZFT_COMPRESSOR=m
CONFIG_FT_NR_BUFFERS=3
# CONFIG_FT_PROC_FS is not set
CONFIG_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 set
CONFIG_FT_FDC_THR=8
CONFIG_FT_FDC_MAX_RATE=2000
CONFIG_FT_ALPHA_CLOCK=0
CONFIG_AGP=m
CONFIG_AGP_ALI=m
CONFIG_AGP_ATI=m
CONFIG_AGP_AMD=m
# CONFIG_AGP_AMD64 is not set
CONFIG_AGP_INTEL=m
CONFIG_AGP_NVIDIA=m
CONFIG_AGP_SIS=m
CONFIG_AGP_SWORKS=m
CONFIG_AGP_VIA=m
# CONFIG_AGP_EFFICEON is not set
# CONFIG_DRM is not set
CONFIG_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=m
CONFIG_I2C_CHARDEV=m

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

#
# I2C Hardware Bus support
#
CONFIG_I2C_ALI1535=m
# CONFIG_I2C_ALI1563 is not set
CONFIG_I2C_ALI15X3=m
CONFIG_I2C_AMD756=m
# CONFIG_I2C_AMD756_S4882 is not set
# CONFIG_I2C_AMD8111 is not set
CONFIG_I2C_ELEKTOR=m
CONFIG_I2C_I801=m
CONFIG_I2C_I810=m
CONFIG_I2C_PIIX4=m
CONFIG_I2C_ISA=m
# CONFIG_I2C_NFORCE2 is not set
CONFIG_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 set
CONFIG_I2C_SIS5595=m
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_STUB is not set
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m
CONFIG_I2C_VOODOO3=m
# CONFIG_I2C_PCA_ISA is not set

#
# Hardware Sensors Chip support
#
CONFIG_I2C_SENSOR=m
CONFIG_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 set
CONFIG_SENSORS_DS1621=m
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_FSCPOS is not set
CONFIG_SENSORS_GL518SM=m
# CONFIG_SENSORS_GL520SM is not set
CONFIG_SENSORS_IT87=m
# CONFIG_SENSORS_LM63 is not set
CONFIG_SENSORS_LM75=m
# CONFIG_SENSORS_LM77 is not set
CONFIG_SENSORS_LM78=m
CONFIG_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 set
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_W83781D=m
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83627HF is not set

#
# Other I2C Chip support
#
# CONFIG_SENSORS_DS1337 is not set
CONFIG_SENSORS_EEPROM=m
CONFIG_SENSORS_PCF8574=m
CONFIG_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=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SOFT_CURSOR=y
# CONFIG_FB_MACMODES is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
CONFIG_FB_CIRRUS=m
CONFIG_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 set
CONFIG_FB_VGA16=m
CONFIG_FB_VESA=y
CONFIG_VIDEO_SELECT=y
CONFIG_FB_HGA=m
# CONFIG_FB_HGA_ACCEL is not set
# CONFIG_FB_NVIDIA is not set
CONFIG_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 set
CONFIG_FB_MATROX=m
CONFIG_FB_MATROX_MILLENIUM=y
CONFIG_FB_MATROX_MYSTIQUE=y
# CONFIG_FB_MATROX_G is not set
CONFIG_FB_MATROX_I2C=m
CONFIG_FB_MATROX_MULTIHEAD=y
# CONFIG_FB_RADEON_OLD is not set
CONFIG_FB_RADEON=m
CONFIG_FB_RADEON_I2C=y
# CONFIG_FB_RADEON_DEBUG is not set
CONFIG_FB_ATY128=m
CONFIG_FB_ATY=m
CONFIG_FB_ATY_CT=y
# CONFIG_FB_ATY_GENERIC_LCD is not set
# CONFIG_FB_ATY_XL_INIT is not set
CONFIG_FB_ATY_GX=y
# CONFIG_FB_SAVAGE is not set
CONFIG_FB_SIS=m
CONFIG_FB_SIS_300=y
CONFIG_FB_SIS_315=y
CONFIG_FB_NEOMAGIC=m
# CONFIG_FB_KYRO is not set
CONFIG_FB_3DFX=m
# CONFIG_FB_3DFX_ACCEL is not set
CONFIG_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=y
CONFIG_MDA_CONSOLE=m
CONFIG_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=y
CONFIG_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 set
CONFIG_EXT3_FS=m
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
# CONFIG_EXT3_FS_SECURITY is not set
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
# CONFIG_REISERFS_FS_XATTR is not set
CONFIG_JFS_FS=m
# CONFIG_JFS_POSIX_ACL is not set
# CONFIG_JFS_SECURITY is not set
CONFIG_JFS_DEBUG=y
# CONFIG_JFS_STATISTICS is not set
CONFIG_FS_POSIX_ACL=y

#
# XFS support
#
# CONFIG_XFS_FS is not set
CONFIG_MINIX_FS=m
CONFIG_ROMFS_FS=m
CONFIG_QUOTA=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_DNOTIFY=y
CONFIG_AUTOFS_FS=m
CONFIG_AUTOFS4_FS=m

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

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

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y
# CONFIG_TMPFS_XATTR is not set
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_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 set
CONFIG_CRAMFS=y
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
CONFIG_SYSV_FS=m
CONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set

#
# Network File Systems
#
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
# CONFIG_NFS_V4 is not set
CONFIG_NFS_DIRECTIO=y
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V4 is not set
CONFIG_NFSD_TCP=y
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
CONFIG_SUNRPC=m
# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not set
CONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
# CONFIG_CIFS is not set
CONFIG_NCP_FS=m
CONFIG_NCPFS_PACKET_SIGNING=y
CONFIG_NCPFS_IOCTL_LOCKING=y
CONFIG_NCPFS_STRONG=y
CONFIG_NCPFS_NFS_NS=y
CONFIG_NCPFS_OS2_NS=y
CONFIG_NCPFS_SMALLDOS=y
CONFIG_NCPFS_NLS=y
CONFIG_NCPFS_EXTRAS=y
CONFIG_CODA_FS=m
# CONFIG_CODA_FS_OLD_API is not set
CONFIG_AFS_FS=m
CONFIG_RXRPC=m

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
CONFIG_OSF_PARTITION=y
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
# CONFIG_LDM_PARTITION is not set
CONFIG_SGI_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not set
CONFIG_SUN_PARTITION=y
# CONFIG_EFI_PARTITION is not set

#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
CONFIG_NLS_CODEPAGE_860=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
CONFIG_NLS_CODEPAGE_865=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
# CONFIG_NLS_ASCII is not set
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_UTF8=m

#
# Profiling support
#
CONFIG_PROFILING=y
CONFIG_OPROFILE=m

#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB is not set
CONFIG_DEBUG_PREEMPT=y
CONFIG_WAKEUP_TIMING=y
CONFIG_PREEMPT_TRACE=y
# CONFIG_CRITICAL_PREEMPT_TIMING is not set
# CONFIG_CRITICAL_IRQSOFF_TIMING is not set
CONFIG_LATENCY_TIMING=y
CONFIG_LATENCY_TRACE=y
CONFIG_MCOUNT=y
CONFIG_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 set
CONFIG_FRAME_POINTER=y
CONFIG_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 set
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_CAPABILITIES=y
# CONFIG_SECURITY_SECLVL is not set
# CONFIG_SECURITY_SELINUX is not set

#
# Cryptographic options
#
CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_TGR192 is not set
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_BLOWFISH=m
# CONFIG_CRYPTO_TWOFISH is not set
CONFIG_CRYPTO_SERPENT=m
# CONFIG_CRYPTO_AES_586 is not set
CONFIG_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 set
CONFIG_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=m
CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_X86_BIOS_REBOOT=y

[-- Attachment #3: config.porky --]
[-- Type: text/plain, Size: 35003 bytes --]

#
# 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=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32

#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_CPUSETS=y
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_OBSOLETE_MODPARM=y
CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_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 set
CONFIG_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 set
CONFIG_X86_GENERIC=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
# CONFIG_HPET_TIMER is not set
CONFIG_SMP=y
CONFIG_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 set
CONFIG_PREEMPT_RT=y
CONFIG_PREEMPT=y
CONFIG_PREEMPT_SOFTIRQS=y
CONFIG_PREEMPT_HARDIRQS=y
CONFIG_PREEMPT_RCU=y
CONFIG_PREEMPT_BKL=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_ASM_SEMAPHORES=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_TSC=y
CONFIG_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 set
CONFIG_MICROCODE=m
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m

#
# Firmware Drivers
#
CONFIG_EDD=m
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
CONFIG_IRQBALANCE=y
CONFIG_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 set
CONFIG_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 set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
# CONFIG_PCIEPORTBUS is not set
# CONFIG_PCI_MSI is not set
# CONFIG_PCI_LEGACY_PROC is not set
CONFIG_PCI_NAMES=y
# CONFIG_PCI_DEBUG is not set
CONFIG_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=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_MISC=m

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_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 set
CONFIG_BLK_CPQ_DA=m
CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_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 set
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_LBD is not set
# CONFIG_CDROM_PKTCDVD is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_ATA_OVER_ETH is not set

#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_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=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_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=y
CONFIG_BLK_DEV_CMD640=y
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
# CONFIG_BLK_DEV_IDEPNP is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
CONFIG_BLK_DEV_RZ1000=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_AEC62XX=y
CONFIG_BLK_DEV_ALI15X3=y
# CONFIG_WDC_ALI15X3 is not set
CONFIG_BLK_DEV_AMD74XX=y
# CONFIG_BLK_DEV_ATIIXP is not set
CONFIG_BLK_DEV_CMD64X=y
CONFIG_BLK_DEV_TRIFLEX=y
CONFIG_BLK_DEV_CY82C693=y
# CONFIG_BLK_DEV_CS5520 is not set
CONFIG_BLK_DEV_CS5530=y
CONFIG_BLK_DEV_HPT34X=y
# CONFIG_HPT34X_AUTODMA is not set
CONFIG_BLK_DEV_HPT366=y
# CONFIG_BLK_DEV_SC1200 is not set
CONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_NS87415 is not set
CONFIG_BLK_DEV_PDC202XX_OLD=y
# CONFIG_PDC202XX_BURST is not set
CONFIG_BLK_DEV_PDC202XX_NEW=y
# CONFIG_PDC202XX_FORCE is not set
CONFIG_BLK_DEV_SVWKS=y
CONFIG_BLK_DEV_SIIMAGE=y
CONFIG_BLK_DEV_SIS5513=y
CONFIG_BLK_DEV_SLC90E66=y
# CONFIG_BLK_DEV_TRM290 is not set
CONFIG_BLK_DEV_VIA82CXXX=y
# CONFIG_IDE_ARM is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y
CONFIG_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 set
CONFIG_SCSI_7000FASST=m
CONFIG_SCSI_ACARD=m
CONFIG_SCSI_AHA152X=m
CONFIG_SCSI_AHA1542=m
# CONFIG_SCSI_AACRAID is not set
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
CONFIG_SCSI_AIC7XXX_OLD=m
CONFIG_SCSI_AIC79XX=m
CONFIG_AIC79XX_CMDS_PER_DEVICE=32
CONFIG_AIC79XX_RESET_DELAY_MS=15000
# CONFIG_AIC79XX_ENABLE_RD_STRM is not set
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
CONFIG_AIC79XX_DEBUG_MASK=0
# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_DPT_I2O is not set
CONFIG_SCSI_IN2000=m
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_SCSI_SATA is not set
CONFIG_SCSI_BUSLOGIC=m
# CONFIG_SCSI_OMIT_FLASHPOINT is not set
CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_DTC3280=m
CONFIG_SCSI_EATA=m
CONFIG_SCSI_EATA_TAGGED_QUEUE=y
# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
CONFIG_SCSI_EATA_MAX_TAGS=16
CONFIG_SCSI_FUTURE_DOMAIN=m
CONFIG_SCSI_GDTH=m
CONFIG_SCSI_GENERIC_NCR5380=m
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_GENERIC_NCR53C400 is not set
CONFIG_SCSI_IPS=m
# CONFIG_SCSI_INITIO is not set
CONFIG_SCSI_INIA100=m
CONFIG_SCSI_NCR53C406A=m
CONFIG_SCSI_SYM53C8XX_2=m
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
# CONFIG_SCSI_IPR is not set
CONFIG_SCSI_PAS16=m
CONFIG_SCSI_PSI240I=m
CONFIG_SCSI_QLOGIC_FAS=m
CONFIG_SCSI_QLOGIC_FC=m
# CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set
CONFIG_SCSI_QLOGIC_1280=m
# CONFIG_SCSI_QLOGIC_1280_1040 is not set
CONFIG_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 set
CONFIG_SCSI_SYM53C416=m
# CONFIG_SCSI_DC395x is not set
CONFIG_SCSI_DC390T=m
CONFIG_SCSI_T128=m
CONFIG_SCSI_U14_34F=m
# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
CONFIG_SCSI_U14_34F_MAX_TAGS=8
CONFIG_SCSI_ULTRASTOR=m
CONFIG_SCSI_NSP32=m
CONFIG_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=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
# CONFIG_MD_RAID10 is not set
CONFIG_MD_RAID5=m
# CONFIG_MD_RAID6 is not set
CONFIG_MD_MULTIPATH=m
# CONFIG_MD_FAULTY is not set
CONFIG_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=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_NET_KEY=m
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_FWMARK=y
CONFIG_IP_ROUTE_MULTIPATH=y
# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
CONFIG_IP_ROUTE_VERBOSE=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_TUNNEL=m
CONFIG_IP_TCPDIAG=y
# CONFIG_IP_TCPDIAG_IPV6 is not set

#
# IP: Virtual Server Configuration
#
CONFIG_IP_VS=m
# CONFIG_IP_VS_DEBUG is not set
CONFIG_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=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
# CONFIG_IP_VS_SED is not set
# CONFIG_IP_VS_NQ is not set

#
# IPVS application helper
#
# CONFIG_IPV6 is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_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 set
CONFIG_IP_NF_FTP=m
CONFIG_IP_NF_IRC=m
CONFIG_IP_NF_TFTP=m
CONFIG_IP_NF_AMANDA=m
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
# CONFIG_IP_NF_MATCH_IPRANGE is not set
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
CONFIG_IP_NF_MATCH_LENGTH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_TCPMSS=m
CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_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 set
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
# CONFIG_IP_NF_TARGET_NETMAP is not set
# CONFIG_IP_NF_TARGET_SAME is not set
CONFIG_IP_NF_NAT_SNMP_BASIC=m
CONFIG_IP_NF_NAT_IRC=m
CONFIG_IP_NF_NAT_FTP=m
CONFIG_IP_NF_NAT_TFTP=m
CONFIG_IP_NF_NAT_AMANDA=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
CONFIG_IP_NF_TARGET_MARK=m
# CONFIG_IP_NF_TARGET_CLASSIFY is not set
# CONFIG_IP_NF_RAW is not set
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m

#
# Bridge: Netfilter Configuration
#
# CONFIG_BRIDGE_NF_EBTABLES is not set
CONFIG_XFRM=y
CONFIG_XFRM_USER=m

#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
CONFIG_ATM=y
CONFIG_ATM_CLIP=y
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=m
CONFIG_ATM_MPOA=m
CONFIG_ATM_BR2684=m
CONFIG_ATM_BR2684_IPFILTER=y
CONFIG_BRIDGE=m
CONFIG_VLAN_8021Q=m
# CONFIG_DECNET is not set
CONFIG_LLC=m
# CONFIG_LLC2 is not set
CONFIG_IPX=m
# CONFIG_IPX_INTERN is not set
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=y
CONFIG_LTPC=m
CONFIG_COPS=m
CONFIG_COPS_DAYNA=y
CONFIG_COPS_TANGENT=y
CONFIG_IPDDP=m
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP_DECAP=y
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
CONFIG_NET_DIVERT=y
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set

#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not set
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
# CONFIG_NET_SCH_HFSC is not set
# CONFIG_NET_SCH_ATM is not set
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
# CONFIG_NET_SCH_NETEM is not set
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
# CONFIG_NET_CLS_BASIC is not set
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
# CONFIG_CLS_U32_PERF is not set
# CONFIG_NET_CLS_IND is not set
# CONFIG_CLS_U32_MARK is not set
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
# CONFIG_NET_EMATCH is not set
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_CLS_POLICE=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
CONFIG_TUN=m
# CONFIG_NET_SB1000 is not set

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
CONFIG_NET_VENDOR_3COM=y
CONFIG_EL1=m
CONFIG_EL2=m
CONFIG_ELPLUS=m
CONFIG_EL16=m
CONFIG_EL3=m
CONFIG_3C515=m
CONFIG_VORTEX=m
CONFIG_TYPHOON=m
CONFIG_LANCE=m
CONFIG_NET_VENDOR_SMC=y
CONFIG_WD80x3=m
CONFIG_ULTRA=m
CONFIG_SMC9194=m
CONFIG_NET_VENDOR_RACAL=y
CONFIG_NI52=m
CONFIG_NI65=m

#
# Tulip family network device support
#
CONFIG_NET_TULIP=y
# CONFIG_DE2104X is not set
CONFIG_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 set
CONFIG_AT1700=m
CONFIG_DEPCA=m
CONFIG_HP100=m
CONFIG_NET_ISA=y
CONFIG_E2100=m
CONFIG_EWRK3=m
CONFIG_EEXPRESS=m
CONFIG_EEXPRESS_PRO=m
CONFIG_HPLAN_PLUS=m
CONFIG_HPLAN=m
CONFIG_LP486E=m
CONFIG_ETH16I=m
CONFIG_NE2000=m
# CONFIG_ZNET is not set
# CONFIG_SEEQ8005 is not set
CONFIG_NET_PCI=y
CONFIG_PCNET32=m
CONFIG_AMD8111_ETH=m
# CONFIG_AMD8111E_NAPI is not set
CONFIG_ADAPTEC_STARFIRE=m
# CONFIG_ADAPTEC_STARFIRE_NAPI is not set
CONFIG_AC3200=m
CONFIG_APRICOT=m
CONFIG_B44=m
# CONFIG_FORCEDETH is not set
CONFIG_CS89x0=m
CONFIG_DGRS=m
# CONFIG_EEPRO100 is not set
CONFIG_E100=m
CONFIG_FEALNX=m
CONFIG_NATSEMI=m
CONFIG_NE2K_PCI=m
CONFIG_8139CP=m
CONFIG_8139TOO=m
CONFIG_8139TOO_PIO=y
# CONFIG_8139TOO_TUNE_TWISTER is not set
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_SIS900=m
CONFIG_EPIC100=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_TLAN=m
CONFIG_VIA_RHINE=m
# CONFIG_VIA_RHINE_MMIO is not set
CONFIG_NET_POCKET=y
CONFIG_ATP=m
CONFIG_DE600=m
CONFIG_DE620=m

#
# Ethernet (1000 Mbit)
#
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
CONFIG_DL2K=m
CONFIG_E1000=m
CONFIG_E1000_NAPI=y
CONFIG_NS83820=m
CONFIG_HAMACHI=m
CONFIG_YELLOWFIN=m
CONFIG_R8169=m
# CONFIG_R8169_NAPI is not set
# CONFIG_R8169_VLAN is not set
CONFIG_SK98LIN=m
# CONFIG_VIA_VELOCITY is not set
CONFIG_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 set
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
# CONFIG_PPP_BSDCOMP is not set
CONFIG_PPPOE=m
CONFIG_PPPOATM=m
CONFIG_SLIP=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
CONFIG_NET_FC=y
CONFIG_SHAPER=m
CONFIG_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=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_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 set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_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=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_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=m
CONFIG_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 set
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256

#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_HW_RANDOM is not set
CONFIG_NVRAM=m
CONFIG_RTC=y
CONFIG_RTC_HISTOGRAM=y
CONFIG_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=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SOFT_CURSOR=y
# CONFIG_FB_MACMODES is not set
CONFIG_FB_MODE_HELPERS=y
# CONFIG_FB_TILEBLITTING is not set
CONFIG_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 set
CONFIG_FB_VGA16=m
CONFIG_FB_VESA=y
CONFIG_VIDEO_SELECT=y
CONFIG_FB_HGA=m
# CONFIG_FB_HGA_ACCEL is not set
CONFIG_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 set
CONFIG_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=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_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 set
CONFIG_SND_CS46XX=m
CONFIG_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 set
CONFIG_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=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_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 set
CONFIG_USB_OHCI_HCD=m
# CONFIG_USB_OHCI_BIG_ENDIAN is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_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=m
CONFIG_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 set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
# CONFIG_EXT3_FS_SECURITY is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
# CONFIG_REISERFS_FS_XATTR is not set
CONFIG_JFS_FS=m
# CONFIG_JFS_POSIX_ACL is not set
# CONFIG_JFS_SECURITY is not set
CONFIG_JFS_DEBUG=y
# CONFIG_JFS_STATISTICS is not set
CONFIG_FS_POSIX_ACL=y

#
# XFS support
#
# CONFIG_XFS_FS is not set
CONFIG_MINIX_FS=m
CONFIG_ROMFS_FS=m
CONFIG_QUOTA=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_DNOTIFY=y
CONFIG_AUTOFS_FS=m
CONFIG_AUTOFS4_FS=m

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

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

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y
# CONFIG_TMPFS_XATTR is not set
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_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 set
CONFIG_CRAMFS=y
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
CONFIG_SYSV_FS=m
CONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set

#
# Network File Systems
#
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
# CONFIG_NFS_V4 is not set
CONFIG_NFS_DIRECTIO=y
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V4 is not set
CONFIG_NFSD_TCP=y
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
CONFIG_SUNRPC=m
# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not set
CONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
# CONFIG_CIFS is not set
CONFIG_NCP_FS=m
CONFIG_NCPFS_PACKET_SIGNING=y
CONFIG_NCPFS_IOCTL_LOCKING=y
CONFIG_NCPFS_STRONG=y
CONFIG_NCPFS_NFS_NS=y
CONFIG_NCPFS_OS2_NS=y
CONFIG_NCPFS_SMALLDOS=y
CONFIG_NCPFS_NLS=y
CONFIG_NCPFS_EXTRAS=y
CONFIG_CODA_FS=m
# CONFIG_CODA_FS_OLD_API is not set
CONFIG_AFS_FS=m
CONFIG_RXRPC=m

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
CONFIG_OSF_PARTITION=y
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
# CONFIG_LDM_PARTITION is not set
CONFIG_SGI_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not set
CONFIG_SUN_PARTITION=y
# CONFIG_EFI_PARTITION is not set

#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
CONFIG_NLS_CODEPAGE_860=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
CONFIG_NLS_CODEPAGE_865=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
# CONFIG_NLS_ASCII is not set
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_UTF8=m

#
# Profiling support
#
CONFIG_PROFILING=y
CONFIG_OPROFILE=m

#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB is not set
CONFIG_DEBUG_PREEMPT=y
CONFIG_WAKEUP_TIMING=y
CONFIG_PREEMPT_TRACE=y
# CONFIG_CRITICAL_PREEMPT_TIMING is not set
# CONFIG_CRITICAL_IRQSOFF_TIMING is not set
CONFIG_LATENCY_TIMING=y
CONFIG_LATENCY_TRACE=y
CONFIG_MCOUNT=y
CONFIG_RT_DEADLOCK_DETECT=y
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_FS is not set
CONFIG_FRAME_POINTER=y
CONFIG_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
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y

#
# Security options
#
# CONFIG_KEYS is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
CONFIG_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=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_TGR192 is not set
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_BLOWFISH=m
# CONFIG_CRYPTO_TWOFISH is not set
CONFIG_CRYPTO_SERPENT=m
# CONFIG_CRYPTO_AES_586 is not set
CONFIG_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 set
CONFIG_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=m
CONFIG_CRC32=y
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_X86_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_PC=y

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
  2005-04-08 20:15               ` K.R. Foley
@ 2005-04-08 20:17                 ` Lee Revell
  2005-04-08 20:26                   ` K.R. Foley
  0 siblings, 1 reply; 87+ messages in thread
From: Lee Revell @ 2005-04-08 20:17 UTC (permalink / raw)
  To: K.R. Foley; +Cc: Rui Nuno Capela, Steven Rostedt, Ingo Molnar, LKML

On Fri, 2005-04-08 at 15:15 -0500, K.R. Foley wrote:
> Lee Revell wrote:
> > On Fri, 2005-04-08 at 16:22 +0100, Rui Nuno Capela wrote:
> > 
> >>>Our first victim!! :-)
> >>>
> >>
> >>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.

Meh, I'll try again, maybe it's some weird NFS problem.

Lee


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
  2005-04-08 20:17                 ` Lee Revell
@ 2005-04-08 20:26                   ` K.R. Foley
  2005-04-08 21:00                     ` Lee Revell
  0 siblings, 1 reply; 87+ messages in thread
From: K.R. Foley @ 2005-04-08 20:26 UTC (permalink / raw)
  To: Lee Revell; +Cc: Rui Nuno Capela, Steven Rostedt, Ingo Molnar, LKML

Lee Revell wrote:
> On Fri, 2005-04-08 at 15:15 -0500, K.R. Foley wrote:
> 
>>Lee Revell wrote:
>>
>>>On Fri, 2005-04-08 at 16:22 +0100, Rui Nuno Capela wrote:
>>>
>>>
>>>>>Our first victim!! :-)
>>>>>
>>>>
>>>>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.
> 
> 
> 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.

-- 
    kr

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
  2005-04-08 20:26                   ` K.R. Foley
@ 2005-04-08 21:00                     ` Lee Revell
  2005-04-08 21:36                       ` K.R. Foley
  0 siblings, 1 reply; 87+ messages in thread
From: Lee Revell @ 2005-04-08 21:00 UTC (permalink / raw)
  To: K.R. Foley; +Cc: Rui Nuno Capela, Steven Rostedt, Ingo Molnar, LKML

On Fri, 2005-04-08 at 15:26 -0500, K.R. Foley wrote:
> Lee Revell wrote:
> > 
> > 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


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
  2005-04-08 21:00                     ` Lee Revell
@ 2005-04-08 21:36                       ` K.R. Foley
  0 siblings, 0 replies; 87+ messages in thread
From: K.R. Foley @ 2005-04-08 21:36 UTC (permalink / raw)
  To: Lee Revell; +Cc: Rui Nuno Capela, Steven Rostedt, Ingo Molnar, LKML

Lee Revell wrote:
> On Fri, 2005-04-08 at 15:26 -0500, K.R. Foley wrote:
> 
>>Lee Revell wrote:
>>
>>>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
> 
> 
Very wierd. It worries me when things like that happen. ;-)

-- 
    kr

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
  2005-04-05  7:19     ` [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00 Ingo Molnar
  2005-04-05 19:06       ` Rui Nuno Capela
@ 2005-04-10 17:23       ` K.R. Foley
  2005-04-10 17:27         ` Ingo Molnar
  2005-04-21  7:35       ` [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-00 Ingo Molnar
  2 siblings, 1 reply; 87+ messages in thread
From: K.R. Foley @ 2005-04-10 17:23 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Steven Rostedt

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

Ingo,

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.

-- 
    kr

[-- Attachment #2: jbdfix.patch --]
[-- Type: text/plain, Size: 366 bytes --]

--- linux-2.6.11/include/linux/jbd.h.orig	2005-03-16 09:18:51.000000000 -0600
+++ linux-2.6.11/include/linux/jbd.h	2005-03-16 09:19:24.000000000 -0600
@@ -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);

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
  2005-04-10 17:23       ` K.R. Foley
@ 2005-04-10 17:27         ` Ingo Molnar
  2005-04-10 17:39           ` Steven Rostedt
  0 siblings, 1 reply; 87+ messages in thread
From: Ingo Molnar @ 2005-04-10 17:27 UTC (permalink / raw)
  To: K.R. Foley; +Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Steven Rostedt


* K.R. Foley <kr@cybsft.com> wrote:

> Ingo,
> 
> 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.

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

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
  2005-04-10 17:27         ` Ingo Molnar
@ 2005-04-10 17:39           ` Steven Rostedt
  2005-04-10 17:47             ` Ingo Molnar
  0 siblings, 1 reply; 87+ messages in thread
From: Steven Rostedt @ 2005-04-10 17:39 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: K.R. Foley, linux-kernel, Lee Revell, Rui Nuno Capela

On Sun, 2005-04-10 at 19:27 +0200, Ingo Molnar wrote:
> * K.R. Foley <kr@cybsft.com> wrote:
> 
> > Ingo,
> > 
> > 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.
> 
> > +#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



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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
  2005-04-10 17:39           ` Steven Rostedt
@ 2005-04-10 17:47             ` Ingo Molnar
  2005-04-12 18:17               ` Lee Revell
  0 siblings, 1 reply; 87+ messages in thread
From: Ingo Molnar @ 2005-04-10 17:47 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: K.R. Foley, linux-kernel, Lee Revell, Rui Nuno Capela


* Steven Rostedt <rostedt@goodmis.org> wrote:

> 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

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00
  2005-04-10 17:47             ` Ingo Molnar
@ 2005-04-12 18:17               ` Lee Revell
  0 siblings, 0 replies; 87+ messages in thread
From: Lee Revell @ 2005-04-12 18:17 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Mark Constable, Steven Rostedt, K.R. Foley, linux-kernel,
	Rui Nuno Capela

On Sun, 2005-04-10 at 19:47 +0200, Ingo Molnar wrote:
> 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 definition
include/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 type
include/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 type
include/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 type
include/linux/rwsem.h: In function `compat_up_write':
include/linux/rwsem.h:111: warning: passing arg 1 of `__up_write' from
incompatible pointer type
include/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


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

* [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-00
  2005-04-05  7:19     ` [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00 Ingo Molnar
  2005-04-05 19:06       ` Rui Nuno Capela
  2005-04-10 17:23       ` K.R. Foley
@ 2005-04-21  7:35       ` Ingo Molnar
  2005-04-21  8:45         ` Paolo Ciarrocchi
                           ` (3 more replies)
  2 siblings, 4 replies; 87+ messages in thread
From: Ingo Molnar @ 2005-04-21  7:35 UTC (permalink / raw)
  To: linux-kernel; +Cc: Daniel Walker


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 
yang.yi@bmrtech.com.

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

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-00
  2005-04-21  7:35       ` [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-00 Ingo Molnar
@ 2005-04-21  8:45         ` Paolo Ciarrocchi
  2005-04-21 16:16         ` Daniel Walker
                           ` (2 subsequent siblings)
  3 siblings, 0 replies; 87+ messages in thread
From: Paolo Ciarrocchi @ 2005-04-21  8:45 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Daniel Walker

2005/4/21, Ingo Molnar <mingo@elte.hu>:
> 
> 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
> yang.yi@bmrtech.com.
> 
> 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,
what's your plan for including in mainstream bit of preemptive patch ?

-- 
http://paoloc.blogspot.com

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-00
  2005-04-21  7:35       ` [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-00 Ingo Molnar
  2005-04-21  8:45         ` Paolo Ciarrocchi
@ 2005-04-21 16:16         ` Daniel Walker
  2005-04-21 19:54         ` Daniel Walker
  2005-04-22  6:27         ` [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 Ingo Molnar
  3 siblings, 0 replies; 87+ messages in thread
From: Daniel Walker @ 2005-04-21 16:16 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel

On Thu, 21 Apr 2005, Ingo Molnar wrote:

> 
> 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 
> yang.yi@bmrtech.com.
> 
> there are still some unsolved slowdowns probably related to the recent 
> plist.h changes.

You may want to consider rolling it out for a bit , till I have time to 
fix this ..


Daniel


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-00
  2005-04-21  7:35       ` [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-00 Ingo Molnar
  2005-04-21  8:45         ` Paolo Ciarrocchi
  2005-04-21 16:16         ` Daniel Walker
@ 2005-04-21 19:54         ` Daniel Walker
  2005-04-22  6:27         ` [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 Ingo Molnar
  3 siblings, 0 replies; 87+ messages in thread
From: Daniel Walker @ 2005-04-21 19:54 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel

On Thu, 2005-04-21 at 00:35, Ingo Molnar wrote:

> this is a merge to 2.6.12-rc3, plus the 'ping localhost' fix from 
> yang.yi@bmrtech.com.


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


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

* [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
  2005-04-21  7:35       ` [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-00 Ingo Molnar
                           ` (2 preceding siblings ...)
  2005-04-21 19:54         ` Daniel Walker
@ 2005-04-22  6:27         ` Ingo Molnar
  2005-04-22  7:34           ` Ingo Molnar
  2005-04-30 23:28           ` Lee Revell
  3 siblings, 2 replies; 87+ messages in thread
From: Ingo Molnar @ 2005-04-22  6:27 UTC (permalink / raw)
  To: linux-kernel; +Cc: Daniel Walker


i 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

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
  2005-04-22  6:27         ` [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 Ingo Molnar
@ 2005-04-22  7:34           ` Ingo Molnar
  2005-04-22 15:48             ` Daniel Walker
  2005-04-22 21:06             ` Inaky Perez-Gonzalez
  2005-04-30 23:28           ` Lee Revell
  1 sibling, 2 replies; 87+ messages in thread
From: Ingo Molnar @ 2005-04-22  7:34 UTC (permalink / raw)
  To: linux-kernel; +Cc: Daniel Walker


> 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

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
  2005-04-22  7:34           ` Ingo Molnar
@ 2005-04-22 15:48             ` Daniel Walker
  2005-04-22 15:49               ` Ingo Molnar
  2005-04-22 21:06             ` Inaky Perez-Gonzalez
  1 sibling, 1 reply; 87+ messages in thread
From: Daniel Walker @ 2005-04-22 15:48 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel



Is this the PriorityInversionTest (pi_test.tgz) or was there another one?


Daniel


On Fri, 22 Apr 2005, Ingo Molnar wrote:

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


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
  2005-04-22 15:48             ` Daniel Walker
@ 2005-04-22 15:49               ` Ingo Molnar
  2005-04-22 15:53                 ` Daniel Walker
  0 siblings, 1 reply; 87+ messages in thread
From: Ingo Molnar @ 2005-04-22 15:49 UTC (permalink / raw)
  To: Daniel Walker; +Cc: linux-kernel


* Daniel Walker <dwalker@mvista.com> wrote:

> Is this the PriorityInversionTest (pi_test.tgz) or was there another one?

yes, it's pi_test.tgz.

	Ingo

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
  2005-04-22 15:49               ` Ingo Molnar
@ 2005-04-22 15:53                 ` Daniel Walker
  2005-04-22 15:55                   ` Ingo Molnar
  0 siblings, 1 reply; 87+ messages in thread
From: Daniel Walker @ 2005-04-22 15:53 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel



What command line did you use ?

./test --samples 10000 --hertz 128 --tasks 0


Daniel

On Fri, 22 Apr 2005, Ingo Molnar wrote:

> 
> * Daniel Walker <dwalker@mvista.com> wrote:
> 
> > Is this the PriorityInversionTest (pi_test.tgz) or was there another one?
> 
> yes, it's pi_test.tgz.
> 
> 	Ingo
> 


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
  2005-04-22 15:53                 ` Daniel Walker
@ 2005-04-22 15:55                   ` Ingo Molnar
  2005-04-22 15:56                     ` Ingo Molnar
  2005-04-26 17:49                     ` Daniel Walker
  0 siblings, 2 replies; 87+ messages in thread
From: Ingo Molnar @ 2005-04-22 15:55 UTC (permalink / raw)
  To: Daniel Walker; +Cc: linux-kernel


* Daniel Walker <dwalker@mvista.com> wrote:

> What command line did you use ?
> 
> ./test --samples 10000 --hertz 128 --tasks 0

i used:

  ./test --tasks 10 file.hist

	Ingo

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
  2005-04-22 15:55                   ` Ingo Molnar
@ 2005-04-22 15:56                     ` Ingo Molnar
  2005-04-26 17:49                     ` Daniel Walker
  1 sibling, 0 replies; 87+ messages in thread
From: Ingo Molnar @ 2005-04-22 15:56 UTC (permalink / raw)
  To: Daniel Walker; +Cc: linux-kernel


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

> 
> * Daniel Walker <dwalker@mvista.com> wrote:
> 
> > 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

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
  2005-04-22  7:34           ` Ingo Molnar
  2005-04-22 15:48             ` Daniel Walker
@ 2005-04-22 21:06             ` Inaky Perez-Gonzalez
  2005-04-22 21:15               ` Daniel Walker
  2005-04-22 21:17               ` Daniel Walker
  1 sibling, 2 replies; 87+ messages in thread
From: Inaky Perez-Gonzalez @ 2005-04-22 21:06 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Daniel Walker

>>>>> Ingo Molnar <mingo@elte.hu> 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
> 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
...


-- 

Inaky


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
  2005-04-22 21:06             ` Inaky Perez-Gonzalez
@ 2005-04-22 21:15               ` Daniel Walker
  2005-05-04  8:24                 ` Ingo Molnar
  2005-04-22 21:17               ` Daniel Walker
  1 sibling, 1 reply; 87+ messages in thread
From: Daniel Walker @ 2005-04-22 21:15 UTC (permalink / raw)
  To: Inaky Perez-Gonzalez; +Cc: Ingo Molnar, linux-kernel

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

t
On Fri, 22 Apr 2005, Inaky Perez-Gonzalez wrote:

> >>>>> Ingo Molnar <mingo@elte.hu> 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
> > 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:

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


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

Index: linux-2.6.11/include/linux/plist.h
===================================================================
--- linux-2.6.11.orig/include/linux/plist.h	2005-04-22 19:36:54.000000000 +0000
+++ linux-2.6.11/include/linux/plist.h	2005-04-22 19:38:29.000000000 +0000
@@ -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 */
Index: linux-2.6.11/kernel/rt.c
===================================================================
--- linux-2.6.11.orig/kernel/rt.c	2005-04-22 15:05:33.000000000 +0000
+++ linux-2.6.11/kernel/rt.c	2005-04-22 19:36:29.000000000 +0000
@@ -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());

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
  2005-04-22 21:06             ` Inaky Perez-Gonzalez
  2005-04-22 21:15               ` Daniel Walker
@ 2005-04-22 21:17               ` Daniel Walker
  1 sibling, 0 replies; 87+ messages in thread
From: Daniel Walker @ 2005-04-22 21:17 UTC (permalink / raw)
  To: Inaky Perez-Gonzalez; +Cc: Ingo Molnar, linux-kernel


Oops, I missed that you tested a non-plist kernel .. Maybe there are some 
lingering problems in current stuff..

Daniel


On Fri, 22 Apr 2005, Inaky Perez-Gonzalez wrote:


> 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 ...
> 



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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
  2005-04-22 15:55                   ` Ingo Molnar
  2005-04-22 15:56                     ` Ingo Molnar
@ 2005-04-26 17:49                     ` Daniel Walker
  2005-05-09  7:23                       ` Ingo Molnar
  1 sibling, 1 reply; 87+ messages in thread
From: Daniel Walker @ 2005-04-26 17:49 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel

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

On Fri, 2005-04-22 at 08:55, Ingo Molnar wrote:

> 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

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

Index: linux-2.6.11/include/linux/plist.h
===================================================================
--- linux-2.6.11.orig/include/linux/plist.h	2005-04-22 19:36:54.000000000 +0000
+++ linux-2.6.11/include/linux/plist.h	2005-04-22 19:38:29.000000000 +0000
@@ -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 */
Index: linux-2.6.11/include/linux/rt_lock.h
===================================================================
--- linux-2.6.11.orig/include/linux/rt_lock.h	2005-04-21 17:49:26.000000000 +0000
+++ linux-2.6.11/include/linux/rt_lock.h	2005-04-22 22:35:37.000000000 +0000
@@ -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.
Index: linux-2.6.11/kernel/rt.c
===================================================================
--- linux-2.6.11.orig/kernel/rt.c	2005-04-22 15:05:33.000000000 +0000
+++ linux-2.6.11/kernel/rt.c	2005-04-22 22:34:22.000000000 +0000
@@ -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());

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
  2005-04-22  6:27         ` [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 Ingo Molnar
  2005-04-22  7:34           ` Ingo Molnar
@ 2005-04-30 23:28           ` Lee Revell
  2005-05-04  8:22             ` Ingo Molnar
  1 sibling, 1 reply; 87+ messages in thread
From: Lee Revell @ 2005-04-30 23:28 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Daniel Walker

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

On Fri, 2005-04-22 at 08:27 +0200, Ingo Molnar wrote:
> i 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/

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

[-- Attachment #2: signal-delivery-trace.bz2 --]
[-- Type: application/x-bzip, Size: 1957 bytes --]

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
  2005-04-30 23:28           ` Lee Revell
@ 2005-05-04  8:22             ` Ingo Molnar
  2005-05-04 15:05               ` Lee Revell
  0 siblings, 1 reply; 87+ messages in thread
From: Ingo Molnar @ 2005-05-04  8:22 UTC (permalink / raw)
  To: Lee Revell; +Cc: linux-kernel, Daniel Walker


* Lee Revell <rlrevell@joe-job.com> wrote:

> On Fri, 2005-04-22 at 08:27 +0200, Ingo Molnar wrote:
> > i 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/
> 
> 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.

yeah, signal delivery will have to stay atomic in !PREEMPT_RT kernels.

> 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


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
  2005-04-22 21:15               ` Daniel Walker
@ 2005-05-04  8:24                 ` Ingo Molnar
  0 siblings, 0 replies; 87+ messages in thread
From: Ingo Molnar @ 2005-05-04  8:24 UTC (permalink / raw)
  To: Daniel Walker; +Cc: Inaky Perez-Gonzalez, linux-kernel


* Daniel Walker <dwalker@mvista.com> wrote:

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

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
  2005-05-04  8:22             ` Ingo Molnar
@ 2005-05-04 15:05               ` Lee Revell
  0 siblings, 0 replies; 87+ messages in thread
From: Lee Revell @ 2005-05-04 15:05 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Daniel Walker

On Wed, 2005-05-04 at 10:22 +0200, Ingo Molnar wrote:
> * Lee Revell <rlrevell@joe-job.com> wrote:
> > 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.

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


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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
  2005-04-26 17:49                     ` Daniel Walker
@ 2005-05-09  7:23                       ` Ingo Molnar
  0 siblings, 0 replies; 87+ messages in thread
From: Ingo Molnar @ 2005-05-09  7:23 UTC (permalink / raw)
  To: Daniel Walker; +Cc: linux-kernel


* Daniel Walker <dwalker@mvista.com> wrote:

> On Fri, 2005-04-22 at 08:55, Ingo Molnar wrote:
> 
> > 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.

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

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

* Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01
@ 2005-05-08  3:30 Norval Watson
  0 siblings, 0 replies; 87+ messages in thread
From: Norval Watson @ 2005-05-08  3:30 UTC (permalink / raw)
  To: linux-kernel

I have tried to build 2.6.12-rc3 kernel with Ingo's
realtime-preempt-2.6.12-rc3-V0.7.46-02 on amd64

When I enabled option 4, Complete Realtime, make bzImage failed as
described in Lee Revell's Apr 12 lkml post:
http://lkml.org/lkml/2005/4/12/523

"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' 
etc etc......"

When I started again with option 3, Low Latency Desktop, the build got a
bit further before hanging: (Full ouput:
http://www.longforest.com/index.php?option=com_content&task=view&id=133&Itemid=2 )

"
  CC      arch/x86_64/kernel/head64.o
  CC      arch/x86_64/kernel/init_task.o
arch/x86_64/kernel/init_task.c:17: warning: implicit declaration of
function `__RWSEM_INITIALIZER'
arch/x86_64/kernel/init_task.c:17: warning: missing braces around
initializer

...etc etc etc...

 constant
arch/x86_64/kernel/init_task.c:17: error: (near initialization for
`init_mm.default_kioctx')
make[1]: *** [arch/x86_64/kernel/init_task.o] Error 1
make: *** [arch/x86_64/kernel] Error 2"

Please CC any advice (or abuse!),
I can supply further info if required
Cheers,
Norv


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

end of thread, other threads:[~2005-05-09  7:24 UTC | newest]

Thread overview: 87+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-03-25 14:59 [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-10 Ingo Molnar
2005-03-25 22:33 ` Lee Revell
2005-03-25 22:39   ` Ingo Molnar
2005-03-26  5:14     ` Lee Revell
2005-03-27  8:58       ` Ingo Molnar
2005-03-30  5:16         ` Lee Revell
2005-03-30  6:54           ` Ingo Molnar
2005-03-29 22:31 ` Lee Revell
2005-03-30  8:03   ` Ingo Molnar
2005-03-31  8:55 ` [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.41-25 Ingo Molnar
2005-04-01 10:47   ` [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00 Ingo Molnar
2005-04-01 12:13     ` Rui Nuno Capela
2005-04-01 12:52       ` Ingo Molnar
2005-04-01 14:42         ` Rui Nuno Capela
2005-04-01 15:06           ` Ingo Molnar
2005-04-01 15:52             ` Rui Nuno Capela
2005-04-01 16:28               ` Ingo Molnar
2005-04-01 21:26                 ` Rui Nuno Capela
2005-04-01 17:31     ` Gene Heskett
2005-04-01 18:27       ` K.R. Foley
2005-04-01 18:29         ` Ingo Molnar
2005-04-01 19:21           ` Gene Heskett
2005-04-01 19:19         ` Gene Heskett
2005-04-01 19:22           ` K.R. Foley
2005-04-01 23:34             ` Gene Heskett
2005-04-02  1:45               ` Lee Revell
2005-04-02  2:30                 ` Gene Heskett
2005-04-02  5:12               ` Ingo Molnar
2005-04-02 19:37                 ` Steven Rostedt
2005-04-02 20:06                   ` Steven Rostedt
2005-04-02 20:17                     ` Lee Revell
2005-04-02 20:34                       ` Ingo Molnar
2005-04-02 22:38                         ` Gene Heskett
2005-04-02 20:35                     ` Ingo Molnar
2005-04-02 20:44                       ` Steven Rostedt
2005-04-02 22:09                         ` Steven Rostedt
2005-04-03  0:06                           ` Steven Rostedt
2005-04-04 20:00                             ` Ingo Molnar
2005-04-04 20:40                               ` Steven Rostedt
2005-04-04 20:47                                 ` Ingo Molnar
2005-04-04 21:14                                   ` Steven Rostedt
2005-04-04 22:51                                     ` Zwane Mwaikambo
2005-04-04 22:59                                       ` Steven Rostedt
2005-04-04 23:09                                       ` Esben Nielsen
2005-04-05  7:57                                         ` Zwane Mwaikambo
2005-04-05 15:18                                           ` Mike Galbraith
2005-04-04 23:06                                     ` Esben Nielsen
2005-04-05  5:34                                       ` Ingo Molnar
2005-04-05  9:25                                         ` Esben Nielsen
2005-04-02 23:45                       ` Lee Revell
2005-04-02 20:10                   ` Lee Revell
2005-04-05  7:19     ` [patch] Real-Time Preemption, -RT-2.6.12-rc2-V0.7.44-00 Ingo Molnar
2005-04-05 19:06       ` Rui Nuno Capela
2005-04-05 19:36         ` Steven Rostedt
2005-04-08 15:22           ` Rui Nuno Capela
2005-04-08 17:15             ` Lee Revell
2005-04-08 20:15               ` K.R. Foley
2005-04-08 20:17                 ` Lee Revell
2005-04-08 20:26                   ` K.R. Foley
2005-04-08 21:00                     ` Lee Revell
2005-04-08 21:36                       ` K.R. Foley
2005-04-10 17:23       ` K.R. Foley
2005-04-10 17:27         ` Ingo Molnar
2005-04-10 17:39           ` Steven Rostedt
2005-04-10 17:47             ` Ingo Molnar
2005-04-12 18:17               ` Lee Revell
2005-04-21  7:35       ` [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-00 Ingo Molnar
2005-04-21  8:45         ` Paolo Ciarrocchi
2005-04-21 16:16         ` Daniel Walker
2005-04-21 19:54         ` Daniel Walker
2005-04-22  6:27         ` [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 Ingo Molnar
2005-04-22  7:34           ` Ingo Molnar
2005-04-22 15:48             ` Daniel Walker
2005-04-22 15:49               ` Ingo Molnar
2005-04-22 15:53                 ` Daniel Walker
2005-04-22 15:55                   ` Ingo Molnar
2005-04-22 15:56                     ` Ingo Molnar
2005-04-26 17:49                     ` Daniel Walker
2005-05-09  7:23                       ` Ingo Molnar
2005-04-22 21:06             ` Inaky Perez-Gonzalez
2005-04-22 21:15               ` Daniel Walker
2005-05-04  8:24                 ` Ingo Molnar
2005-04-22 21:17               ` Daniel Walker
2005-04-30 23:28           ` Lee Revell
2005-05-04  8:22             ` Ingo Molnar
2005-05-04 15:05               ` Lee Revell
2005-05-08  3:30 Norval Watson

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