mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Gene Heskett <gene.heskett@verizon.net>
To: linux-kernel@vger.kernel.org
Subject: Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.32-2
Date: Tue, 7 Dec 2004 20:05:37 -0500	[thread overview]
Message-ID: <200412072005.37486.gene.heskett@verizon.net> (raw)
In-Reply-To: <20041207214715.GB12879@elte.hu>

On Tuesday 07 December 2004 16:47, Ingo Molnar wrote:
>
>could enable WAKEUP_TIMING and LATENCY_TRACING, boot into the new
> kernel and do:
>
> echo 0 > /proc/sys/kernel/preempt_max_latency
>
>then you'll get the worst-case trace in /proc/latency_trace. Does it
>show any millisecs-range latencies?

Here is a cat of that:
[root@coyote linux-2.6.10-rc2-mm3-V0.7.32-9]# cat /proc/latency_trace
preemption latency trace v1.1.3 on 2.6.10-rc2-mm3-V0.7.32-9
--------------------------------------------------------------------
 latency: 5 us, #22/22 | (M:rt VP:0, KP:1, SP:1 HP:1 #P:1)
    -----------------
    | task: X-3215 (uid:0 nice:-1 policy:0 rt_prio:0)
    -----------------

                 _------=> CPU#
                / _-----=> irqs-off
               | / _----=> hardirq
               || / _---=> softirq
               ||| / _--=> preempt-depth
               |||| /
               |||||     delay
   cmd     pid ||||| time  |   caller
      \   /    |||||   \   |   /
   kmail-3488  0-h.2    0µs : __trace_start_sched_wakeup
(try_to_wake_up)
   kmail-3488  0-h.1    0µs : preempt_schedule (try_to_wake_up)
   kmail-3488  0        0µs : __wake_up_common <X-3215> (72 74):
   kmail-3488  0-h.1    0µs : try_to_wake_up (__wake_up_common)
   kmail-3488  0-h..    0µs : preempt_schedule (try_to_wake_up)
   kmail-3488  0-h..    0µs : preempt_schedule_irq (try_to_wake_up)
   kmail-3488  0-h..    1µs : __schedule (preempt_schedule_irq)
   kmail-3488  0-h..    1µs : profile_hit (__schedule)
   kmail-3488  0-h.1    1µs : sched_clock (__schedule)
   kmail-3488  0-h.2    1µs : dequeue_task (__schedule)
   kmail-3488  0-h.2    1µs : recalc_task_prio (__schedule)
   kmail-3488  0-h.2    1µs : effective_prio (recalc_task_prio)
   kmail-3488  0-h.2    2µs : enqueue_task (__schedule)
       X-3215  0-..2    3µs : __switch_to (__schedule)
       X-3215  0        4µs : schedule <kmail-3488> (74 72):
       X-3215  0-..2    4µs : finish_task_switch (__schedule)
       X-3215  0-..1    4µs : trace_stop_sched_switched
(finish_task_switch)
       X-3215  0        5µs : finish_task_switch <X-3215> (72 0):
       X-3215  0-..1    6µs : trace_stop_sched_switched
(finish_task_switch)


vim:ft=help
------------------
 tvtime had been run long enough to expand the log about 10 megs
before I stopped it and did that 'cat' above.

>also, do this:
>
>  chrt -f 90 -p `pidof 'IRQ 8'`
>  chrt -f 91 -p `pidof 'IRQ 0'`

Now, this has been done, and another 30 second run of tvtime, which
generated about another 5 to 10 megs of this:
Dec  7 19:55:56 coyote kernel: wow!  That was a 21 millisec bump
Dec  7 19:55:56 coyote kernel: `IRQ 8'[838] is being piggy.
need_resched=0, cpu=0
Dec  7 19:55:56 coyote kernel: Read missed before next interrupt

and exited with this histogram output:
Dec  7 19:55:56 coyote kernel: rtc latency histogram of {tvtime/3869,
5538 samples}:
Dec  7 19:55:56 coyote kernel: 9 83
Dec  7 19:55:56 coyote kernel: 10 1793
Dec  7 19:55:56 coyote kernel: 11 1704
Dec  7 19:55:56 coyote kernel: 12 562
Dec  7 19:55:56 coyote kernel: 13 188
Dec  7 19:55:56 coyote kernel: 14 109
Dec  7 19:55:56 coyote kernel: 15 88
Dec  7 19:55:56 coyote kernel: 16 63
Dec  7 19:55:56 coyote kernel: 17 73
Dec  7 19:55:56 coyote kernel: 18 112
Dec  7 19:55:56 coyote kernel: 19 153
Dec  7 19:55:56 coyote kernel: 20 80
Dec  7 19:55:56 coyote kernel: 21 43
Dec  7 19:55:56 coyote kernel: 22 28
Dec  7 19:55:56 coyote kernel: 23 9
Dec  7 19:55:56 coyote kernel: 24 6
Dec  7 19:55:56 coyote kernel: 25 9
Dec  7 19:55:56 coyote kernel: 26 1
Dec  7 19:55:56 coyote kernel: 30 1
Dec  7 19:55:56 coyote kernel: 35 1
Dec  7 19:55:56 coyote kernel: 9999 432


>to make sure IRQ8 doesnt get preempted by other stuff. How often do
> you get the rtc histogram in the syslog? Does tvtime use /dev/rtc
> for normal operations perhaps?

I believe it does.  And with the above chrt options in effect,
tvtimes output to the logfile is essentially unchanged.

> If yes then you might want to disable RTC_HISTOGRAM.

And thats a recompile option?  Back in a few.

But couldn't find it.  And oddly, there were two reboots here as I'd
forgotten to update my grub.conf, and on the first one to 32-6, it
hung at the end of the mounting reports on screen, and took a lengthy
nap while doing something to the disks it wasn't reporting on-screen
but there was an extended period of intermittent disk activity, and
it eventually booted sometime after the blanker had kicked in.  I
took advantage of it to take a shower :)  I'd had that happen twice
before and panic'd, even hitting the reset button once and doing a
cold powerdown once, this before I noticed there was some disk
activity going on, so I figured what the hell and walked away to go
see what the missus was watching on the telly.  And when I came back
half an hour later I was looking at a login prompt once I'd moved the 
mouse.

Anyway it had time to collect some more stats, so heres that cat
again.

preemption latency trace v1.1.3 on 2.6.10-rc2-mm3-V0.7.32-9
--------------------------------------------------------------------
 latency: 5 us, #22/22 | (M:rt VP:0, KP:1, SP:1 HP:1 #P:1)
    -----------------
    | task: X-3215 (uid:0 nice:-1 policy:0 rt_prio:0)
    -----------------

                 _------=> CPU#
                / _-----=> irqs-off
               | / _----=> hardirq
               || / _---=> softirq
               ||| / _--=> preempt-depth
               |||| /
               |||||     delay
   cmd     pid ||||| time  |   caller
      \   /    |||||   \   |   /
   kmail-3488  0-h.2    0µs : __trace_start_sched_wakeup
(try_to_wake_up)
   kmail-3488  0-h.1    0µs : preempt_schedule (try_to_wake_up)
   kmail-3488  0        0µs : __wake_up_common <X-3215> (72 74):
   kmail-3488  0-h.1    0µs : try_to_wake_up (__wake_up_common)
   kmail-3488  0-h..    0µs : preempt_schedule (try_to_wake_up)
   kmail-3488  0-h..    0µs : preempt_schedule_irq (try_to_wake_up)
   kmail-3488  0-h..    1µs : __schedule (preempt_schedule_irq)
   kmail-3488  0-h..    1µs : profile_hit (__schedule)
   kmail-3488  0-h.1    1µs : sched_clock (__schedule)
   kmail-3488  0-h.2    1µs : dequeue_task (__schedule)
   kmail-3488  0-h.2    1µs : recalc_task_prio (__schedule)
   kmail-3488  0-h.2    1µs : effective_prio (recalc_task_prio)
   kmail-3488  0-h.2    2µs : enqueue_task (__schedule)
       X-3215  0-..2    3µs : __switch_to (__schedule)
       X-3215  0        4µs : schedule <kmail-3488> (74 72):
       X-3215  0-..2    4µs : finish_task_switch (__schedule)
       X-3215  0-..1    4µs : trace_stop_sched_switched
(finish_task_switch)
       X-3215  0        5µs : finish_task_switch <X-3215> (72 0):
       X-3215  0-..1    6µs : trace_stop_sched_switched
(finish_task_switch)


vim:ft=help
--------------------------
What is all this telling you/us?                    
                
-- 
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.30% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attorneys please note, additions to this message
by Gene Heskett are:
Copyright 2004 by Maurice Eugene Heskett, all rights reserved.



  reply	other threads:[~2004-12-08  1:06 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <OFD07DEEA4.7C243C76-ON86256F5F.007976EC@raytheon.com>
     [not found] ` <20041204175636.GA3115@elte.hu>
2004-12-07 14:37   ` Eran Mann
2004-12-07 15:37     ` Ingo Molnar
2004-12-07 17:51       ` Eran Mann
2004-12-07 18:40       ` Gene Heskett
2004-12-07 21:47         ` Ingo Molnar
2004-12-08  1:05           ` Gene Heskett [this message]
2004-12-08 19:48             ` john cooper
2004-12-08 20:38               ` Gene Heskett

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200412072005.37486.gene.heskett@verizon.net \
    --to=gene.heskett@verizon.net \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®