From: "Justin P. Mattock" <justinmattock@gmail.com>
To: Li Zefan <lizf@cn.fujitsu.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Steven Rostedt <rostedt@goodmis.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Ingo Molnar <mingo@elte.hu>
Subject: Re: system gets stuck in a lock during boot
Date: Sun, 23 Aug 2009 23:49:09 -0700 [thread overview]
Message-ID: <4A9237E5.9050601@gmail.com> (raw)
In-Reply-To: <4A922F82.9080000@cn.fujitsu.com>
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.
>
>
>> 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?
>
>
>> Aside from that, you only add #ifdef fuzz back which with his config is
>> moot, and shouldn't result in anything but a slightly bigger structure
>> to begin with.
>>
>>
>
> Yeah, actually I still fail to see where the bug is, maybe
> the commit that Justin bisected down is not the real culprit..
>
>
>
FWIW, here is the git bisect log:
git bisect start
# bad: [6c30c53fd5ae6a99a23ad78e90c428d2c8ffb07f] Merge branch
'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2
git bisect bad 6c30c53fd5ae6a99a23ad78e90c428d2c8ffb07f
# good: [b600ffaebcc4791add19e04306f0478a963abe71] Merge branch
'irq-fixes-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
git bisect good b600ffaebcc4791add19e04306f0478a963abe71
# good: [ae83060026537885fd23737af161fee8afd04f4b] Merge
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
git bisect good ae83060026537885fd23737af161fee8afd04f4b
# bad: [b637dc0dba6a243da2c74f5d02b42ba5eeb9425e] Merge branch
'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
git bisect bad b637dc0dba6a243da2c74f5d02b42ba5eeb9425e
# bad: [cf7fdd57f978d40ceb9a0f58a25f5cf9c84d6f33] USB: fix oops on
disconnect in cdc-acm
git bisect bad cf7fdd57f978d40ceb9a0f58a25f5cf9c84d6f33
# good: [131f7340b4f93f9a4a8e5a65abbd352b34d0ee08] Merge branch
'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
git bisect good 131f7340b4f93f9a4a8e5a65abbd352b34d0ee08
# good: [c0c60c4b9ab45bb02b20796401dd6a90770fd0ee] ARM: 5639/1: arm:
clkdev.c should include <linux/clk.h>
git bisect good c0c60c4b9ab45bb02b20796401dd6a90770fd0ee
# bad: [da758ddede96dd850945d3417ff75209a666ba0d] Merge branch
'perfcounters-fixes-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
git bisect bad da758ddede96dd850945d3417ff75209a666ba0d
# good: [389623fef0e8b088f293c437d3b7094fe82349fd] Merge
git://git.infradead.org/mtd-2.6
git bisect good 389623fef0e8b088f293c437d3b7094fe82349fd
# bad: [af6af30c0fcd77e621638e53ef8b176bca8bd3b4] ftrace: Fix
perf-tracepoint OOPS
git bisect bad af6af30c0fcd77e621638e53ef8b176bca8bd3b4
# good: [2cdbc46d7b2cb0acb68c3ecad93b000552121fa6] perf: Auto-detect libbfd
git bisect good 2cdbc46d7b2cb0acb68c3ecad93b000552121fa6
# good: [386c0b702b1ea81c0f54f5c9832a3d4a52270f14] perf report: Add
missing command line options to man page
git bisect good 386c0b702b1ea81c0f54f5c9832a3d4a52270f14
all I know is with 2.6.31-rc5 booted fine, as soon I loaded 2.6.31-rc6
I hit this stuckage(I can write it manually down if you need it,
seems ohci1394_dma gets a panic).
Justin P. Mattock
next prev parent reply other threads:[~2009-08-24 6:48 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-13 15:42 system gets stuck in a lock during boot Justin P. Mattock
2009-08-18 10:49 ` Frederic Weisbecker
2009-08-18 16:09 ` Steven Rostedt
2009-08-18 16:24 ` Justin Mattock
2009-08-18 19:57 ` Steven Rostedt
2009-08-18 20:06 ` Justin P. Mattock
2009-08-18 23:29 ` Steven Rostedt
2009-08-18 23:55 ` Justin P. Mattock
2009-08-19 0:23 ` Justin P. Mattock
2009-08-19 0:31 ` Steven Rostedt
2009-08-19 1:18 ` Justin P. Mattock
2009-08-19 1:10 ` Li Zefan
2009-08-20 5:51 ` Justin P. Mattock
2009-08-22 7:48 ` Justin P. Mattock
2009-08-24 2:41 ` Li Zefan
2009-08-24 3:07 ` Justin P. Mattock
2009-08-24 5:58 ` Peter Zijlstra
2009-08-24 6:13 ` Li Zefan
2009-08-24 6:49 ` Justin P. Mattock [this message]
2009-08-24 6:55 ` Peter Zijlstra
2009-08-24 7:54 ` Justin P. Mattock
2009-08-24 8:40 ` Justin P. Mattock
2009-08-24 19:19 ` Justin Mattock
2009-08-25 5:50 ` Peter Zijlstra
2009-08-25 6:04 ` Li Zefan
2009-08-25 6:21 ` Peter Zijlstra
2009-08-25 8:59 ` Ingo Molnar
2009-08-26 0:22 ` Justin P. Mattock
2009-08-26 7:33 ` Ingo Molnar
2009-08-26 14:42 ` Justin P. Mattock
2009-09-07 21:49 ` Justin Mattock
2009-10-02 21:12 ` Jason Baron
2009-10-04 17:41 ` Ingo Molnar
2009-10-05 0:10 ` Justin Mattock
2009-10-06 1:00 ` Justin P. Mattock
2009-10-06 1:18 ` Steven Rostedt
2009-10-06 2:01 ` Justin P. Mattock
2009-10-06 14:31 ` Jason Baron
2009-10-06 15:12 ` Justin P. Mattock
2009-10-06 1:24 ` Steven Rostedt
2009-10-06 20:32 ` Jason Baron
2009-10-06 22:30 ` Justin P. Mattock
2009-10-07 2:02 ` Steven Rostedt
2009-10-07 2:42 ` Justin P. Mattock
2009-10-07 13:00 ` Steven Rostedt
2009-10-07 14:53 ` Justin P. Mattock
2009-10-07 15:11 ` Steven Rostedt
2009-10-07 15:52 ` Justin P. Mattock
2009-10-07 16:06 ` Steven Rostedt
2009-10-07 17:47 ` Justin P. Mattock
2009-10-07 18:45 ` Justin P. Mattock
2009-10-07 18:55 ` Steven Rostedt
2009-10-07 19:08 ` Justin P. Mattock
2009-10-12 10:17 ` Ingo Molnar
2009-10-12 18:16 ` Justin P. Mattock
2009-10-07 14:30 ` Jason Baron
2009-10-07 14:40 ` Mathieu Desnoyers
2009-10-07 14:55 ` Steven Rostedt
2009-10-07 15:05 ` Mathieu Desnoyers
2009-10-07 15:14 ` Steven Rostedt
2009-08-24 19:42 ` Steven Rostedt
2009-08-24 23:34 ` Justin Mattock
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A9237E5.9050601@gmail.com \
--to=justinmattock@gmail.com \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lizf@cn.fujitsu.com \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.