linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
@ 2004-11-22 16:06 Mark_H_Johnson
  2004-11-22 22:12 ` Ingo Molnar
  2004-11-23  4:43 ` Adam Heath
  0 siblings, 2 replies; 65+ messages in thread
From: Mark_H_Johnson @ 2004-11-22 16:06 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Amit Shah, Karsten Wiese, Bill Huey, Adam Heath, emann,
	Gunther Persoons, K.R. Foley, linux-kernel, Florian Schmidt,
	Fernando Pablo Lopez-Lezcano, Lee Revell, Rui Nuno Capela,
	Shane Shrybman, Esben Nielsen, Thomas Gleixner, Michal Schmidt

>i have released the -V0.7.30-2 Real-Time Preemption patch, which can be
>downloaded from the usual place:
>
>            http://redhat.com/~mingo/realtime-preempt/

Just did a build with -V0.7.30-2 and was about to start testing when
the system locked up (no keyboard response, display frozen, etc.). No
response to Alt-SysRq keys. No messages on the serial console (other than
those showing a normal boot / telinit 5). Kernel was PREEMPT_RT plus a
patch to profile on NMI, not timer (been using this latter one for some
time). Basically same .config as previously provided but can send if
needed. Boot parameters included serial console, profile=2, nmi_watchdog.

Will retry shortly, but the steps leading to the failure were:
 - boot single user
 - telinit 5
 - su'd 3 times
 - created directories to log data / moved some files around
 - set IRQ threads, ksoftirqd/[01], events/[01] to RT fifo 99 priority
 - started two monitoring scripts (looking at latency & profile data)
 - cat /proc/sys/kernel/preempt_wakeup_timing (was 1)
 - echo 0 > /proc/sys/kernel/preempt_wakeup_timing [entered, but display
was frozen at this point and did not see newline nor any further output]

--Mark H Johnson
  <mailto:Mark_H_Johnson@raytheon.com>


^ permalink raw reply	[flat|nested] 65+ messages in thread
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
@ 2004-11-22 19:12 Mark_H_Johnson
  0 siblings, 0 replies; 65+ messages in thread
From: Mark_H_Johnson @ 2004-11-22 19:12 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Amit Shah, Karsten Wiese, Bill Huey, Adam Heath, emann,
	Gunther Persoons, K.R. Foley, linux-kernel, Florian Schmidt,
	Fernando Pablo Lopez-Lezcano, Lee Revell, Rui Nuno Capela,
	Shane Shrybman, Esben Nielsen, Thomas Gleixner, Michal Schmidt

>I have a few ideas to simplify the set up to see if I can get some
>useful data out of the system.

It appears the lockup only occurs after I do
  echo 0 > /proc/sys/kernel/preempt_wakeup_latency

I did manage to get a few messages out of the system before the lockup
this time and here is what was on the serial console.

[I didn't do "dmesg -n 1" like I usually do...]

  --Mark
--------

[starts with a couple of the wakeup latency messages, then the
messages from changing the tracing type]
(X/2869/CPU#1): new 76 us maximum-latency wakeup.
(ksoftirqd/1/7/CPU#1): new 110 us maximum-latency wakeup.
(X/2869/CPU#0): new 825 us maximum-latency critical section.
 => started at timestamp 4156290879: <try_to_wake_up+0x379/0x3e0>
 =>   ended at timestamp 4156291705: <__up_mutex+0x469/0x4d0>
 [<c0104e83>] dump_stack+0x23/0x30 (20)
 [<c013d107>] check_critical_timing+0x1d7/0x390 (88)
 [<c013d58d>] trace_irqs_on+0x7d/0x90 (24)
 [<c013ad19>] __up_mutex+0x469/0x4d0 (60)
 [<c013b4c6>] up_mutex+0xb6/0x110 (40)
 [<c016e234>] fget+0x54/0x70 (28)
 [<c0182c37>] do_select+0x207/0x2b0 (120)
 [<c0182fee>] sys_select+0x2be/0x580 (92)
 [<c0103f8d>] sysenter_past_esp+0x52/0x71 (-8124)
---------------------------
| preempt count: 00000001 ]
| 1-level deep critical section nesting:
----------------------------------------
.. [<c013e32d>] .... print_traces+0x1d/0x60
.....[<c0104e83>] ..   ( <= dump_stack+0x23/0x30)

 =>   dump-end timestamp 4156528745

(IRQ 0/2/CPU#0): new 51 us maximum-latency critical section.
 => started at timestamp 4208681904: <__up_mutex+0x9c/0x4d0>
 =>   ended at timestamp 4208681955: <schedule+0x4c/0x140>
 [<c0104e83>] dump_stack+0x23/0x30 (20)
 [<c013d107>] check_critical_timing+0x1d7/0x390 (88)
 [<c013d58d>] trace_irqs_on+0x7d/0x90 (24)
 [<c032ad7c>] schedule+0x4c/0x140 (36)
 [<c032c386>] __down_mutex+0x2a6/0x310 (84)
 [<c013bccb>] __spin_lock+0x4b/0x60 (24)
 [<c013bcfd>] _spin_lock+0x1d/0x30 (16)
 [<c0109260>] timer_interrupt+0x20/0x110 (32)
 [<c0147b63>] handle_IRQ_event+0x53/0xa0 (40)
 [<c01483d5>] do_hardirq+0xa5/0x100 (40)
 [<c0148571>] do_irqd+0x141/0x210 (48)
 [<c0138b6b>] kthread+0xbb/0xc0 (48)
 [<c0102019>] kernel_thread_helper+0x5/0xc (536952852)
---------------------------
| preempt count: 00000001 ]
| 1-level deep critical section nesting:
----------------------------------------
.. [<c013e32d>] .... print_traces+0x1d/0x60
.....[<c0104e83>] ..   ( <= dump_stack+0x23/0x30)

 =>   dump-end timestamp 4208969387

(get_ltrace.sh/6305/CPU#1): new 64 us maximum-latency critical section.
 => started at timestamp 4209005150: <do_exit+0x32c/0x5e0>
 =>   ended at timestamp 4209005214: <try_to_wake_up+0x23d/0x3e0>
 [<c0104e83>] dump_stack+0x23/0x30 (20)
 [<c013d107>] check_critical_timing+0x1d7/0x390 (88)
 [<c013d320>] touch_critical_timing+0x60/0x90 (24)
 [<c0118c5d>] try_to_wake_up+0x23d/0x3e0 (72)
 [<c0118e2b>] wake_up_process+0x2b/0x40 (28)
 [<c01201c7>] __mmdrop_delayed+0x67/0xa0 (20)
 [<c01192f7>] finish_task_switch+0x97/0xc0 (24)
 [<c032a857>] __sched_text_start+0x457/0x930 (112)
 [<c032ad70>] schedule+0x40/0x140 (36)
 [<c01257c6>] do_wait+0x1d6/0x540 (140)
 [<c0125c01>] sys_wait4+0x41/0x50 (28)
 [<c0125c3a>] sys_waitpid+0x2a/0x30 (24)
 [<c0103f8d>] sysenter_past_esp+0x52/0x71 (-8124)
---------------------------
| preempt count: 00000004 ]
| 4-level deep critical section nesting:
----------------------------------------
.. [<c032a44f>] .... __sched_text_start+0x4f/0x930
.....[<c032ad70>] ..   ( <= schedule+0x40/0x140)
.. [<c012017f>] .... __mmdrop_delayed+0x1f/0xa0
.....[<c01192f7>] ..   ( <= finish_task_switch+0x97/0xc0)
.. [<c032ca3f>] .... _raw_spin_lock+0x1f/0x70
.....[<c0117f62>] ..   ( <= task_rq_lock+0x42/0x80)
.. [<c013e32d>] .... print_traces+0x1d/0x60
.....[<c0104e83>] ..   ( <= dump_stack+0x23/0x30)

 =>   dump-end timestamp 4209394021

(get_ltrace.sh/6305/CPU#1): new 77 us maximum-latency critical section.
 => started at timestamp 4209417650: <__sched_text_start+0x4f/0x930>
 =>   ended at timestamp 4209417728: <preempt_schedule+0x6e/0x80>
 [<c0104e83>] dump_stack+0x23/0x30 (20)
 [<c013d107>] check_critical_timing+0x1d7/0x390 (88)
 [<c013d58d>] trace_irqs_on+0x7d/0x90 (24)
 [<c032aede>] preempt_schedule+0x6e/0x80 (20)
 [<c01190fb>] wake_up_new_task+0x16b/0x240 (44)
 [<c011fce9>] do_fork+0x129/0x1d0 (132)
 [<c01029be>] sys_clone+0x3e/0x50 (32)
 [<c0103f8d>] sysenter_past_esp+0x52/0x71 (-8124)
---------------------------
| preempt count: 00000001 ]
| 1-level deep critical section nesting:
----------------------------------------
.. [<c013e32d>] .... print_traces+0x1d/0x60
.....[<c0104e83>] ..   ( <= dump_stack+0x23/0x30)

 =>   dump-end timestamp 4209652960


^ permalink raw reply	[flat|nested] 65+ messages in thread
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
@ 2004-11-22 19:00 Mark_H_Johnson
  0 siblings, 0 replies; 65+ messages in thread
From: Mark_H_Johnson @ 2004-11-22 19:00 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Amit Shah, Karsten Wiese, Bill Huey, Adam Heath, emann,
	Gunther Persoons, K.R. Foley, linux-kernel, Florian Schmidt,
	Fernando Pablo Lopez-Lezcano, Lee Revell, Rui Nuno Capela,
	Shane Shrybman, Esben Nielsen, Thomas Gleixner, Michal Schmidt

> [2] variety of long > 1 msec wakeup latencies (see below)
> [3] primary long latencies with ksoftirqd/[01] and IRQ 10 tasks
Never mind on the long latencies.

I forgot to set udma2 on the disk drive. Setting that  changed
the wakeup latencies back to the sub 100 usec range.

Will be trying the (non wakeup) traces next.

--Mark H Johnson
  <mailto:Mark_H_Johnson@raytheon.com>


^ permalink raw reply	[flat|nested] 65+ messages in thread
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
@ 2004-11-22 17:12 Mark_H_Johnson
  0 siblings, 0 replies; 65+ messages in thread
From: Mark_H_Johnson @ 2004-11-22 17:12 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Lee Revell, Rui Nuno Capela, Mark_H_Johnson,
	K.R. Foley, Bill Huey, Adam Heath, Florian Schmidt,
	Thomas Gleixner, Michal Schmidt, Fernando Pablo Lopez-Lezcano,
	Karsten Wiese, Gunther Persoons, emann, Shane Shrybman,
	Amit Shah, Esben Nielsen

>i have released the -V0.7.30-2 Real-Time Preemption patch, which can be
>downloaded from the usual place:
>
>     http://redhat.com/~mingo/realtime-preempt/
>
After simplifying the test, I have some data on wakeup times that don't
look too good. The set up was...
 - booted / telinit 5
 - did NOT change any IRQ nor system task priorities
 - ran data collection script
 - ran a simple script that exercised the disk (write, copy, read)
Nothing was at RT priority except system tasks & data collection script
[script was RT fifo priority 1].

Symptoms seen include:
 [1] still see occasional truncated latency_trace output (see below)
 [2] variety of long > 1 msec wakeup latencies (see below)
 [3] primary long latencies with ksoftirqd/[01] and IRQ 10 tasks
I have over 30 traces in about 5-10 minutes of testing. Let me know if
you want all of them.

  --Mark

Truncated example:

preemption latency trace v1.0.7 on 2.6.10-rc2-mm2-V0.7.30-2
-------------------------------------------------------
 latency: 2097 us, entries: 1 (1)   |   [VP:0 KP:1 SP:1 HP:1 #CPUS:2]
    -----------------
    | task: ksoftirqd/0/4, uid:0 nice:-10 policy:0 rt_prio:0
    -----------------
 => started at: try_to_wake_up+0x379/0x3e0 <c0118d99>
 => ended at:   finish_task_switch+0x4f/0xc0 <c01192af>
=======>
    4 88000001 0.000ms (+0.000ms): trace_stop_sched_switched
(finish_task_switch)

Long trace example [> 2 msec]

preemption latency trace v1.0.7 on 2.6.10-rc2-mm2-V0.7.30-2
-------------------------------------------------------
 latency: 1537 us, entries: 36 (36)   |   [VP:0 KP:1 SP:1 HP:1 #CPUS:2]
    -----------------
    | task: ksoftirqd/0/4, uid:0 nice:-10 policy:0 rt_prio:0
    -----------------
 => started at: try_to_wake_up+0x379/0x3e0 <c0118d99>
 => ended at:   finish_task_switch+0x4f/0xc0 <c01192af>
=======>
    0 88000004 0.000ms (+0.000ms): __trace_start_sched_wakeup
(try_to_wake_up)
    0 88000004 0.000ms (+0.000ms): _raw_spin_unlock (try_to_wake_up)
    0 88000003 0.000ms (+0.000ms): preempt_schedule (try_to_wake_up)
    0 88000003 0.000ms (+0.000ms): (4) ((0))
    0 88000003 0.001ms (+0.000ms): (105) ((140))
    0 88000003 0.001ms (+0.000ms): try_to_wake_up (wake_up_process)
    0 88000003 0.001ms (+0.000ms): (0) ((1))
    0 88000003 0.001ms (+0.000ms): _raw_spin_unlock (try_to_wake_up)
    0 88000002 0.002ms (+0.000ms): preempt_schedule (try_to_wake_up)
    0 88000002 0.002ms (+0.275ms): wake_up_process (do_softirq)
    0 88010001 0.277ms (+0.207ms): do_nmi (default_idle)
    0 88010001 0.484ms (+0.001ms): do_nmi (__mcount)
    0 88010001 0.486ms (+0.077ms): do_nmi (<00200046>)
    0 88010001 0.563ms (+0.275ms): preempt_schedule (nmi_watchdog_tick)
    0 08000000 0.838ms (+0.000ms): preempt_schedule (cpu_idle)
    0 98000000 0.839ms (+0.000ms): __sched_text_start (preempt_schedule)
    0 98000001 0.839ms (+0.000ms): sched_clock (__sched_text_start)
    0 98000001 0.839ms (+0.000ms): _raw_spin_lock_irq (__sched_text_start)
    0 98000001 0.840ms (+0.000ms): _raw_spin_lock_irqsave
(__sched_text_start)
    0 88000002 0.840ms (+0.000ms): dequeue_task (__sched_text_start)
    0 88000002 0.840ms (+0.000ms): recalc_task_prio (__sched_text_start)
    0 88000002 0.841ms (+0.000ms): effective_prio (recalc_task_prio)
    0 88000002 0.841ms (+0.000ms): enqueue_task (__sched_text_start)
    0 80000002 0.841ms (+0.001ms): trace_array (__sched_text_start)
    0 80000002 0.843ms (+0.000ms): (4) ((105))
    0 80000002 0.843ms (+0.000ms): (0) ((110))
    0 80000002 0.844ms (+0.002ms): trace_array (__sched_text_start)
    4 80000002 0.847ms (+0.000ms): __switch_to (__sched_text_start)
    4 80000002 0.847ms (+0.000ms): (0) ((4))
    4 80000002 0.847ms (+0.000ms): (140) ((105))
    4 80000002 0.847ms (+0.000ms): finish_task_switch (__sched_text_start)
    4 80000002 0.848ms (+0.000ms): _raw_spin_unlock (finish_task_switch)
    4 80000001 0.848ms (+0.000ms): trace_stop_sched_switched
(finish_task_switch)
    4 80000001 0.848ms (+0.000ms): (4) ((105))
    4 80000001 0.848ms (+1.318ms): _raw_spin_lock_irqsave
(trace_stop_sched_switched)
    4 80000001 2.167ms (+0.000ms): trace_stop_sched_switched
(finish_task_switch)

Another long one...

preemption latency trace v1.0.7 on 2.6.10-rc2-mm2-V0.7.30-2
-------------------------------------------------------
 latency: 1956 us, entries: 36 (36)   |   [VP:0 KP:1 SP:1 HP:1 #CPUS:2]
    -----------------
    | task: ksoftirqd/0/4, uid:0 nice:-10 policy:0 rt_prio:0
    -----------------
 => started at: try_to_wake_up+0x379/0x3e0 <c0118d99>
 => ended at:   finish_task_switch+0x4f/0xc0 <c01192af>
=======>
   28 88000003 0.000ms (+0.000ms): __trace_start_sched_wakeup
(try_to_wake_up)
   28 88000003 0.000ms (+0.000ms): _raw_spin_unlock (try_to_wake_up)
   28 88000002 0.000ms (+0.001ms): preempt_schedule (try_to_wake_up)
   28 88000002 0.001ms (+0.000ms): (4) ((28))
   28 88000002 0.002ms (+0.000ms): (105) ((110))
   28 88000002 0.002ms (+0.000ms): try_to_wake_up (wake_up_process)
   28 88000002 0.002ms (+0.000ms): (0) ((1))
   28 88000002 0.002ms (+0.000ms): _raw_spin_unlock (try_to_wake_up)
   28 88000001 0.003ms (+0.000ms): preempt_schedule (try_to_wake_up)
   28 88000001 0.003ms (+0.000ms): wake_up_process (do_softirq)
   28 88000000 0.003ms (+0.000ms): preempt_schedule_irq (need_resched)
   28 98000000 0.004ms (+0.000ms): __sched_text_start
(preempt_schedule_irq)
   28 98000001 0.004ms (+0.000ms): sched_clock (__sched_text_start)
   28 98000001 0.004ms (+0.000ms): _raw_spin_lock_irq (__sched_text_start)
   28 98000001 0.005ms (+0.000ms): _raw_spin_lock_irqsave
(__sched_text_start)
   28 88000002 0.005ms (+0.000ms): dequeue_task (__sched_text_start)
   28 88000002 0.006ms (+0.000ms): recalc_task_prio (__sched_text_start)
   28 88000002 0.006ms (+0.000ms): effective_prio (recalc_task_prio)
   28 88000002 0.006ms (+0.000ms): enqueue_task (__sched_text_start)
   28 80000002 0.006ms (+0.001ms): trace_array (__sched_text_start)
   28 80000002 0.008ms (+0.000ms): (4) ((105))
   28 80000002 0.009ms (+0.000ms): (0) ((110))
   28 80000002 0.009ms (+0.000ms): (28) ((110))
   28 80000002 0.009ms (+0.000ms): (0) ((115))
   28 80000002 0.009ms (+0.000ms): (4344) ((118))
   28 80000002 0.010ms (+0.000ms): (0) ((120))
   28 80000002 0.010ms (+0.052ms): trace_array (__sched_text_start)
    4 80000002 0.063ms (+1.256ms): __switch_to (__sched_text_start)
    4 80000002 1.319ms (+0.000ms): (28) ((4))
    4 80000002 1.319ms (+0.000ms): (110) ((105))
    4 80000002 1.319ms (+0.000ms): finish_task_switch (__sched_text_start)
    4 80000002 1.319ms (+0.139ms): _raw_spin_unlock (finish_task_switch)
    4 80000001 1.459ms (+0.000ms): trace_stop_sched_switched
(finish_task_switch)
    4 80000001 1.460ms (+0.000ms): (4) ((105))
    4 80000001 1.460ms (+0.420ms): _raw_spin_lock_irqsave
(trace_stop_sched_switched)
    4 88000001 1.880ms (+0.000ms): trace_stop_sched_switched
(finish_task_switch)

A third long one, note inconsistent header / total time.

preemption latency trace v1.0.7 on 2.6.10-rc2-mm2-V0.7.30-2
-------------------------------------------------------
 latency: 1000 us, entries: 32 (32)   |   [VP:0 KP:1 SP:1 HP:1 #CPUS:2]
    -----------------
    | task: ksoftirqd/0/4, uid:0 nice:-10 policy:0 rt_prio:0
    -----------------
 => started at: try_to_wake_up+0x379/0x3e0 <c0118d99>
 => ended at:   finish_task_switch+0x4f/0xc0 <c01192af>
=======>
    0 88000004 0.000ms (+0.000ms): __trace_start_sched_wakeup
(try_to_wake_up)
    0 88000004 0.000ms (+0.000ms): _raw_spin_unlock (try_to_wake_up)
    0 88000003 0.000ms (+0.000ms): preempt_schedule (try_to_wake_up)
    0 88000003 0.000ms (+0.000ms): (4) ((0))
    0 88000003 0.001ms (+0.000ms): (105) ((140))
    0 88000003 0.001ms (+0.000ms): try_to_wake_up (wake_up_process)
    0 88000003 0.001ms (+0.000ms): (0) ((1))
    0 88000003 0.001ms (+0.000ms): _raw_spin_unlock (try_to_wake_up)
    0 88000002 0.002ms (+0.000ms): preempt_schedule (try_to_wake_up)
    0 88000002 0.002ms (+0.000ms): wake_up_process (do_softirq)
    0 08000000 0.003ms (+0.000ms): preempt_schedule (cpu_idle)
    0 98000000 0.003ms (+0.000ms): __sched_text_start (preempt_schedule)
    0 98000001 0.004ms (+0.000ms): sched_clock (__sched_text_start)
    0 98000001 0.004ms (+0.000ms): _raw_spin_lock_irq (__sched_text_start)
    0 98000001 0.004ms (+0.000ms): _raw_spin_lock_irqsave
(__sched_text_start)
    0 88000002 0.005ms (+0.000ms): dequeue_task (__sched_text_start)
    0 88000002 0.005ms (+0.000ms): recalc_task_prio (__sched_text_start)
    0 88000002 0.005ms (+0.000ms): effective_prio (recalc_task_prio)
    0 88000002 0.006ms (+0.000ms): enqueue_task (__sched_text_start)
    0 80000002 0.006ms (+0.001ms): trace_array (__sched_text_start)
    0 80000002 0.008ms (+0.000ms): (4) ((105))
    0 80000002 0.008ms (+0.000ms): (0) ((110))
    0 80000002 0.009ms (+0.002ms): trace_array (__sched_text_start)
    4 80000002 0.011ms (+0.000ms): __switch_to (__sched_text_start)
    4 80000002 0.012ms (+0.000ms): (0) ((4))
    4 80000002 0.012ms (+0.000ms): (140) ((105))
    4 80000002 0.012ms (+0.000ms): finish_task_switch (__sched_text_start)
    4 80000002 0.012ms (+0.000ms): _raw_spin_unlock (finish_task_switch)
    4 80000001 0.013ms (+0.000ms): trace_stop_sched_switched
(finish_task_switch)
    4 80000001 0.013ms (+0.000ms): (4) ((105))
    4 80000001 0.013ms (+1.307ms): _raw_spin_lock_irqsave
(trace_stop_sched_switched)
    4 80000001 1.321ms (+0.000ms): trace_stop_sched_switched
(finish_task_switch)


^ permalink raw reply	[flat|nested] 65+ messages in thread
* Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
@ 2004-11-22 16:44 Mark_H_Johnson
  0 siblings, 0 replies; 65+ messages in thread
From: Mark_H_Johnson @ 2004-11-22 16:44 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Amit Shah, Karsten Wiese, Bill Huey, Adam Heath, emann,
	Gunther Persoons, K.R. Foley, linux-kernel, Florian Schmidt,
	Fernando Pablo Lopez-Lezcano, Lee Revell, Rui Nuno Capela,
	Shane Shrybman, Esben Nielsen, Thomas Gleixner, Michal Schmidt

>Just did a build with -V0.7.30-2 and was about to start testing when
>the system locked up (no keyboard response, display frozen, etc.). ...

Same symptom with a slightly different set of steps leading to the
problem.
 - boot / telinit 5 OK
 - su'd to get privileges
 - cat /proc/sys/kernel/preempt_wakeup_latency (showed 0)
 - echo 1 > /proc/sys/kernel/preempt_wakeup_latency
 - set RT priorities as before
 - started scripts to record data
 - system-config-soundcard (newline shown)
At this point, the system is locked up again with no response to any
inputs.

One thing I did notice from the previous test, I had two output files
from preempt_trace showing a couple minor (just over 50 usec each)
wakeup traces.

I have a few ideas to simplify the set up to see if I can get some
useful data out of the system.

--Mark H Johnson
  <mailto:Mark_H_Johnson@raytheon.com>


^ permalink raw reply	[flat|nested] 65+ messages in thread
* [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.21
@ 2004-11-08 16:57 Ingo Molnar
  2004-11-09 16:05 ` [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.23 Ingo Molnar
  0 siblings, 1 reply; 65+ messages in thread
From: Ingo Molnar @ 2004-11-08 16:57 UTC (permalink / raw)
  To: linux-kernel
  Cc: Lee Revell, Rui Nuno Capela, Mark_H_Johnson, K.R. Foley,
	Bill Huey, Adam Heath, Florian Schmidt, Thomas Gleixner,
	Michal Schmidt, Fernando Pablo Lopez-Lezcano, Karsten Wiese,
	Gunther Persoons, emann, Shane Shrybman


i have released the -V0.7.21 Real-Time Preemption patch, which can be
downloaded from the usual place:

   http://redhat.com/~mingo/realtime-preempt/

this release includes fixes and debugging-improvements.

Changes since -V0.7.20:

 - reverted the modlist_lock change - it caused more problems than it 
   solved.

 - implemented irqs-off critical section timing/tracing, inspired by the 
   positive results Thomas Gleixner got with a different kind of cli/sti
   tracer. To activate it, enable CONFIG_CRITICAL_TIMING and 
   CONFIG_CRITICAL_IRQSOFF_TIMING and cli/sti latencies will be reported
   'integrated' into the preempt on/off latencies.

 - sped up tracing in a number of ways. Performance of the tracer slowly
   eroded in the past week or two, it needed alignment and size fixes ,
   inlining/branch-prediction updates and i got rid of unnecessary code.
   The max latency is now traced in cycles - this got rid of an
   expensive 64-bit division in the fastpath. (the /proc/sys tunables
   are still in usecs so userspace should not notice anything.) It's
   still not cheap but roughly 5 times faster than -V0.7.20's tracer, on
   a fast desktop box.

 - renamed CONFIG_PREEMPT_REALTIME to CONFIG_PREEMPT_RT - it's shorter.

 - renamed CONFIG_PREEMPT_TIMING to CONFIG_CRITICAL_TIMING and 
   introduced CONFIG_CRITICAL_IRQSOFF_TIMING to enable cli/sti timing.

to create a -V0.7.21 tree from scratch, the patching order is:

   http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2
   http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.10-rc1.bz2
   http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.10-rc1/2.6.10-rc1-mm3/2.6.10-rc1-mm3.bz2
   http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.10-rc1-mm3-V0.7.21

	Ingo

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

end of thread, other threads:[~2004-12-01 21:41 UTC | newest]

Thread overview: 65+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-11-22 16:06 [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2 Mark_H_Johnson
2004-11-22 22:12 ` Ingo Molnar
2004-11-22 21:21   ` K.R. Foley
2004-11-23 11:46   ` Ingo Molnar
2004-11-23  4:43 ` Adam Heath
2004-11-23 11:52   ` Ingo Molnar
2004-11-23 18:07     ` Adam Heath
2004-11-23 19:17       ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0, and 30-9 Adam Heath
2004-11-23 21:22         ` Steven Rostedt
2004-11-23 21:47           ` Lee Revell
2004-11-23 22:22             ` Steven Rostedt
2004-11-24  3:27             ` Ingo Molnar
2004-11-24  4:06       ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2 Ingo Molnar
2004-11-24  9:00         ` Adam Heath
2004-11-25  3:22           ` Adam Heath
2004-11-25 17:02             ` Ingo Molnar
2004-11-25 17:13             ` Adam Heath
  -- strict thread matches above, loose matches on Subject: below --
2004-11-22 19:12 Mark_H_Johnson
2004-11-22 19:00 Mark_H_Johnson
2004-11-22 17:12 Mark_H_Johnson
2004-11-22 16:44 Mark_H_Johnson
2004-11-08 16:57 [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.21 Ingo Molnar
2004-11-09 16:05 ` [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.23 Ingo Molnar
2004-11-11 14:44   ` [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-0 Ingo Molnar
2004-11-11 21:51     ` [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.25-1 Ingo Molnar
2004-11-16 12:54       ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-0 Ingo Molnar
2004-11-16 13:09         ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-1 Ingo Molnar
2004-11-16 13:40           ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-3 Ingo Molnar
2004-11-17 12:42             ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-0 Ingo Molnar
2004-11-18 12:35               ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.28-1 Ingo Molnar
2004-11-18 16:46                 ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.29-0 Ingo Molnar
2004-11-22  0:54                   ` [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2 Ingo Molnar
2004-11-22  1:07                     ` Florian Schmidt
2004-11-22  9:46                       ` Ingo Molnar
2004-11-22 10:36                         ` Rui Nuno Capela
2004-11-22 13:24                           ` Ingo Molnar
2004-11-22 12:56                             ` Rui Nuno Capela
2004-11-22 15:00                               ` Ingo Molnar
2004-11-22 15:10                                 ` Ingo Molnar
2004-11-22 15:20                                   ` Ingo Molnar
2004-11-22 13:27                             ` Florian Schmidt
2004-11-22 14:18                               ` Rui Nuno Capela
2004-11-22 15:41                                 ` Ingo Molnar
2004-11-22 15:45                                 ` Ingo Molnar
2004-11-22 16:53                                   ` Rui Nuno Capela
2004-11-23 13:55                                     ` Ingo Molnar
2004-11-23 13:56                                       ` Ingo Molnar
2004-11-23 13:58                                       ` Ingo Molnar
2004-11-23 14:11                                         ` Ingo Molnar
2004-11-23 14:32                                           ` Ingo Molnar
2004-11-23 14:41                                             ` Ingo Molnar
2004-11-23 14:00                                       ` Rui Nuno Capela
2004-11-23 15:41                                         ` Ingo Molnar
2004-11-23 16:53                                           ` Rui Nuno Capela
2004-11-23 18:00                                             ` Ingo Molnar
2004-11-23 14:46                                     ` Ingo Molnar
2004-11-23 13:57                                       ` Florian Schmidt
2004-11-23 15:05                                         ` Ingo Molnar
2004-11-23 15:21                                         ` Ingo Molnar
2004-11-23 14:41                                           ` Florian Schmidt
2004-12-01 13:57                                             ` Paul Davis
2004-12-01 14:37                                               ` Ingo Molnar
2004-12-01 14:56                                                 ` Paul Davis
2004-12-01 15:53                                                   ` Ingo Molnar
2004-12-01 16:05                                                     ` Paul Davis
2004-12-01 16:16                                                     ` Esben Nielsen
2004-12-01 21:24                                                       ` Ingo Molnar
2004-12-01 21:40                                                         ` Chris Friesen
2004-12-01 16:08                                                   ` Esben Nielsen
2004-11-23 14:53                                       ` Ingo Molnar
2004-11-22  8:44                     ` Eran Mann
2004-11-22 10:01                       ` Ingo Molnar
2004-11-22 13:34                         ` Eran Mann
2004-11-22 14:42                           ` Ingo Molnar
2004-11-23  8:24                             ` Eran Mann

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