public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Lee Revell <rlrevell@joe-job.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: linux-kernel <linux-kernel@vger.kernel.org>
Subject: 2.6.14-rt22 (and mainline) excessive latency
Date: Mon, 19 Dec 2005 19:40:44 -0500	[thread overview]
Message-ID: <1135039244.28649.41.camel@mindpipe> (raw)

I captured this 3+ ms latency trace when killing a process with a few
thousand threads.  Can a cond_resched be added to this code path?

preemption latency trace v1.1.5 on 2.6.14-rt22
--------------------------------------------------------------------
 latency: 3321 us, #2830/2830, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0)
    -----------------
    | task: softirq-timer/0-3 (uid:0 nice:0 policy:1 rt_prio:1)
    -----------------

                 _------=> CPU#
                / _-----=> irqs-off
               | / _----=> need-resched
               || / _---=> hardirq/softirq
               ||| / _--=> preempt-depth
               |||| /
               |||||     delay
   cmd     pid ||||| time  |   caller
      \   /    |||||   \   |   /
    bash-17992 0D.h2    1us : __trace_start_sched_wakeup (try_to_wake_up)
    bash-17992 0D.h2    1us : __trace_start_sched_wakeup <<...>-3> (62 0)
    bash-17992 0D.h.    2us : wake_up_process (wakeup_softirqd)
    bash-17992 0D.h.    3us : rcu_check_callbacks (update_process_times)
    bash-17992 0D.h.    3us : idle_cpu (rcu_check_callbacks)
    bash-17992 0D.h.    4us : __tasklet_schedule (rcu_check_callbacks)
    bash-17992 0D.h.    5us : wakeup_softirqd (__tasklet_schedule)
    bash-17992 0D.h.    6us : wake_up_process (wakeup_softirqd)
    bash-17992 0D.h.    6us : try_to_wake_up (wake_up_process)
    bash-17992 0D.h1    7us : activate_task (try_to_wake_up)
    bash-17992 0D.h1    8us : sched_clock (activate_task)
    bash-17992 0D.h1    9us : recalc_task_prio (activate_task)
    bash-17992 0D.h1   10us : __recalc_task_prio (recalc_task_prio)
    bash-17992 0D.h1   10us : __recalc_task_prio <<...>-7> (62 62)
    bash-17992 0D.h1   11us : activate_task <<...>-7> (62 d)
    bash-17992 0D.h1   12us : enqueue_task (activate_task)
    bash-17992 0D.h1   12us : __trace_start_sched_wakeup (try_to_wake_up)
    bash-17992 0D.h.   14us : wake_up_process (wakeup_softirqd)
    bash-17992 0D.h.   14us : scheduler_tick (update_process_times)
    bash-17992 0D.h.   15us : sched_clock (scheduler_tick)
    bash-17992 0D.h1   16us : task_timeslice (scheduler_tick)
    bash-17992 0D.h.   17us : run_posix_cpu_timers (update_process_times)
    bash-17992 0D.h1   19us : note_interrupt (__do_IRQ)
    bash-17992 0D.h1   19us : end_8259A_irq (__do_IRQ)
    bash-17992 0D.h1   20us+: enable_8259A_irq (end_8259A_irq)
    bash-17992 0Dnh1   22us : irq_exit (do_IRQ)
    bash-17992 0Dn.1   23us < (608)
    bash-17992 0.n.1   24us : eligible_child (do_wait)
    bash-17992 0.n.1   25us : eligible_child (do_wait)
    bash-17992 0.n.1   26us : eligible_child (do_wait)
    bash-17992 0.n.1   28us : eligible_child (do_wait)
    bash-17992 0.n.1   29us : eligible_child (do_wait)

    [ 3000+ of these deleted ]

    bash-17992 0.n.1 3296us : eligible_child (do_wait)
    bash-17992 0.n.1 3297us : eligible_child (do_wait)
    bash-17992 0.n.1 3298us : eligible_child (do_wait)
    bash-17992 0.n.1 3299us : eligible_child (do_wait)
    bash-17992 0.n.1 3300us : eligible_child (do_wait)
    bash-17992 0.n.1 3301us : eligible_child (do_wait)
    bash-17992 0.n.1 3303us : eligible_child (do_wait)
    bash-17992 0.n.1 3304us : next_thread (do_wait)
    bash-17992 0.n.. 3305us : preempt_schedule (do_wait)
    bash-17992 0Dn.. 3306us : __schedule (preempt_schedule)
    bash-17992 0Dn.. 3307us : profile_hit (__schedule)
    bash-17992 0Dn.1 3308us+: sched_clock (__schedule)
   <...>-3     0D..2 3314us+: __switch_to (__schedule)
   <...>-3     0D..2 3316us : __schedule <bash-17992> (73 62)
   <...>-3     0...1 3317us : trace_stop_sched_switched (__schedule)
   <...>-3     0D..2 3318us : trace_stop_sched_switched <<...>-3> (62 0)
   <...>-3     0D..2 3320us : trace_stop_sched_switched (__schedule)





             reply	other threads:[~2005-12-20  0:38 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-20  0:40 Lee Revell [this message]
2005-12-20  4:24 ` 2.6.14-rt22 (and mainline) excessive latency Ingo Molnar
2005-12-21  1:47   ` Paul E. McKenney
2005-12-21  3:32     ` Lee Revell
2005-12-21 13:36       ` Paul E. McKenney
2005-12-21 19:54         ` Lee Revell
2005-12-23  4:07           ` Paul E. McKenney
2005-12-23  4:22             ` Lee Revell

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=1135039244.28649.41.camel@mindpipe \
    --to=rlrevell@joe-job.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    /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