lkml.org 
[lkml]   [2009]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] tracing/lockdep: turn lock->name into an array

* Peter Zijlstra <peterz@infradead.org> wrote:

> On Tue, 2009-04-14 at 08:53 +0200, Ingo Molnar wrote:
> > * KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> wrote:
> >
> > > Hi
> > >
> > > > Impact: allow filtering by lock name / fix module tracing
> > > >
> > > > Currently, the "lock acquired" event is traced using a TRACE_EVENT.
> > > > But we can't use the char * type for the name without risking to
> > > > dereference a freed pointer. A lock name can come from a module
> > > > towards lockdep and it is risky to only store its address because we
> > > > defer its name printing.
> > >
> > > When released lockdep string table? I guess it only happend at
> > > module unloading. if so, we should consider to make delayed string
> > > table freeing at module unloading.
> > >
> > > My point is, module unloading is rare event. thus meking pointer
> > > safe mechanism widely avoid string copy.
> > >
> > > IOW, if not, ringbuffer is filled tons string. it kill the merit
> > > of binary buffer and current design.
> >
> > We could zap all pending trace entries on module unload (it is a
> > rare operation). That would indeed make a whole category of
> > symbol-alike string pointers safe to be passed by value.
>
> Except that might make debugging a module unload bug rather
> hard...

yes. Never needed to do that personally though. Plus more specific
tracers like function tracer without event-tracing embellishments
could still be used in such situations too, without flushing.

Ingo


\
 
 \ /
  Last update: 2009-04-14 12:29    [from the cache]
©2003-2011 Jasper Spaans