Re: [PATCH] tracing/lockdep: turn lock->name into an array
- From: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
- Date: Tue, 14 Apr 2009 15:35:51 +0900 (JST)
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.
That's why this patch uses a fixed array size and copy the name.
Also it lets us filter the lock name because the event filtering
doesn't handle the char pointers. Such support is not needed yet since
the events don't use it for now because it is rarely easy to keep track
of a string while we defer its output.
Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
--
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/
- Follow-Ups:
- Re: [PATCH] tracing/lockdep: turn lock->name into an array
- From: Ingo Molnar
- Re: [PATCH] tracing/lockdep: turn lock->name into an array
- References:
- [PATCH] tracing/lockdep: turn lock->name into an array
- From: Frederic Weisbecker
- [PATCH] tracing/lockdep: turn lock->name into an array
- Prev by Date: Re: [RFC][PATCH v3 2/6] mm, directio: fix fork vs direct-io race (read(2) side IOW gup(write) side)
- Next by Date: Re: [RFC][PATCH] proc: export more page flags in /proc/kpageflags
- Previous by thread: Re: [PATCH] tracing/lockdep: turn lock->name into an array
- Next by thread: Re: [PATCH] tracing/lockdep: turn lock->name into an array
- Index(es):
Relevant Pages
|