lkml.org 
[lkml]   [2009]   [Apr]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/2] tracing/events/lockdep: move tracepoints within recursive protection

On Thu, 16 Apr 2009, Peter Zijlstra wrote:

> On Thu, 2009-04-16 at 12:15 -0400, Steven Rostedt wrote:
> > plain text document attachment
> > (0002-tracing-events-lockdep-move-tracepoints-within-recu.patch)
> > From: Steven Rostedt <srostedt@redhat.com>
> >
> > With the current location of the tracepoints in lockdep, the system
> > can hard lockup in minutes when the tracepoints are enabled.
> >
> > Moving the tracepoints outside inside the lockdep protection solves
> > the issue.
>
> NAK
>
> the idea is to eventually move lockdep on top of the tracepoints. The
> tracer should grow to be more robust and handle recursion itself.
>
> Its likely a case of the tracer using a spinlock or mutex in the
> tracepoint code. When I did the tracepoints I converted one such to a
> raw_spinlock_t in the trace_print code.

Note, that the ring buffer and events are made to be recursive. That is,
it allows one event to trace within another event. If the tracepoint is
triggered by something within the trace point handler, then we are
screwed. That needs to be fixed.

I have not seen what is triggering back into locking. The ring buffer and
what I can see by the event code, does not grab any locks besides raw
ones.

-- Steve



\
 
 \ /
  Last update: 2009-04-16 19:07    [W:0.090 / U:0.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site