Re: [patch] Real-Time Preemption, -RT-2.6.13-rc4-V0.7.52-01

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Couldn't you just do some math off current->timestamp to see how long
the task has been running? This per arch stuff seems a bit invasive..

Daniel

On Tue, 2005-08-02 at 15:45 -0400, Steven Rostedt wrote:
> On Tue, 2005-08-02 at 12:19 +0200, Ingo Molnar wrote:
> > * Steven Rostedt <[email protected]> wrote:
> > 
> > > In my custom kernel, I have a wchan field of the task that records 
> > > where the task calls something that might schedule. This way I can see 
> > > where things locked up if I don't have a back trace of the task.  This 
> > > field is always zero when it switches to usermode.  Something like 
> > > this can also be used to check how long the process is in kernel mode.  
> > > If a task is in the kernel for more than 10 seconds without sleeping, 
> > > that would definitely be a good indication of something wrong.  I 
> > > probably could write something to check for this if people are 
> > > interested.  I wont waste my time if nobody would want it.
> > 
> > this would be a pretty useful extension of the softlockup checker!
> 
> Here it is (Finally).  I just had to be patient with the kjournal
> lockup.  I had to wait some time before the lockup occurred, but when it
> did, I got my message out:
> --------------------------------------------
> BUG: possible soft lockup detected on CPU#0! 1314840-1313839(1314839)
> curr=kjournald:734 count=11
>  [<c010410f>] dump_stack+0x1f/0x30 (20)
>  [<c01441e0>] softlockup_tick+0x170/0x1a0 (44)
>  [<c0125d32>] update_process_times+0x62/0x140 (28)
>  [<c010861d>] timer_interrupt+0x4d/0x100 (20)
>  [<c014450f>] handle_IRQ_event+0x6f/0x120 (48)
>  [<c014469c>] __do_IRQ+0xdc/0x1a0 (48)
>  [<c0105abe>] do_IRQ+0x4e/0x90 (28)
>  [<c0103b67>] common_interrupt+0x1f/0x24 (112)
>  [<c01edc36>] journal_commit_transaction+0x1206/0x1430 (112)
>  [<c01f06d0>] kjournald+0xd0/0x1e0 (84)
>  [<c01011ed>] kernel_thread_helper+0x5/0x18 (825638940)
> ---------------------------
> | preempt count: 20010003 ]
> | 3-level deep critical section nesting:
> ----------------------------------------
> .. [<c013d49a>] .... add_preempt_count+0x1a/0x20
> .....[<c01085ec>] ..   ( <= timer_interrupt+0x1c/0x100)
> .. [<c013d49a>] .... add_preempt_count+0x1a/0x20
> .....[<c014418d>] ..   ( <= softlockup_tick+0x11d/0x1a0)
> .. [<c013d49a>] .... add_preempt_count+0x1a/0x20
> .....[<c013e727>] ..   ( <= print_traces+0x17/0x50)
> 
> ------------------------------
> | showing all locks held by: |  (kjournald/734 [c13e20b0,  69]):
> ------------------------------
> -----------------------------------------------


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux