Re: system gets stuck in a lock during boot

From: Justin P. Mattock
Date: Mon Aug 24 2009 - 04:40:19 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,
enable);

- 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,
id);
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
tracepoints.

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?

Agree.

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 ;-)

After looking at ps auxZ
I see xterm as root instead of my user name.
This gives me enough evidence to throw
this system away and start over.

sorry for the waste of time.

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 http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/