Re: [PATCH] tracing/lockdep: turn lock->name into an array

From: Peter Zijlstra
Date: Tue Apr 14 2009 - 03:18:08 EST


On Tue, 2009-04-14 at 08:53 +0200, Ingo Molnar wrote:
> * KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> 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...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/