Re: system gets stuck in a lock during boot

From: Justin P. Mattock
Date: Mon Aug 24 2009 - 03:54:00 EST

Peter Zijlstra wrote:
On Mon, 2009-08-24 at 14:13 +0800, Li Zefan wrote:
Peter Zijlstra wrote:
On Mon, 2009-08-24 at 10:41 +0800, Li Zefan wrote:

@@ -940,7 +940,7 @@ event_create_dir(struct ftrace_event_call *call, struct dentr
entry = trace_create_file("enable", 0644, call->dir, call,

- if (call->id)
+ if (call->id&& call->profile_enable)
We do an extra check on ->profile_enable, shouldn't cause bug..

entry = trace_create_file("id", 0444, call->dir, call,
Any way, I don't think this commit does the right thing:

- If CONFIG_EVENT_PROFILE=y, we'll create events/<dir>/<event>/id,
except events/ftrace/<event>/id.

- if CONFIG_EVENT_PROFILE=n, there's no 'id' file at all!

I think it's better to skip ftrace/ dir in perf tool code, instead of
skipping creating id files in ftrace code.
No, it does do the right thing. Your patch breaks things because not all
tracepoints are created through TRACE_EVENT() and will thus not have
their profile_enable/disable hooks set.

By giving them an ID file, there is no way to distinguish good from bad

But removing the id file from events/ftrace/ might break some ftrace
binary parsers?

And this commit makes 'id' file disapeared with CONFIG_EVENT_PROFILE=n.

I introduced the id file for EVENT_PROFILE, tough luck if someone else
relies on it.

Expempting ftrace is no solid solution, suppose someone else does a
TRACE_EVENT_FORMAT() tracepoint, how would you know you could use it as
a profile event source?


The id files really must stay conditional.

I don't think it's a good idea to connect it with perfcounter
this way. Wouldn't adding a 'profilable' file more intuitive?

its called: id ;-)

Alright, I'm going to go back to the beginning
and start my build from scratch(make sure things are legit).

Justin P. Mattock

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at