diff options
| author | Li Zefan <[email protected]> | 2009-06-24 09:54:19 +0800 | 
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2009-06-24 11:02:53 +0200 | 
| commit | 694ce0a544fba37a60025a6803ee6265be8a2a22 (patch) | |
| tree | a6debd92de0dcf7b42dc129402ca793c540091ae /scripts/dtc/libfdt/libfdt_internal.h | |
| parent | 85951842a1020669f0a9eb0f0d1853b41341f097 (diff) | |
ftrace: Don't manipulate @pos in t_start()
It's rather confusing that in t_start(), in some cases @pos is
incremented, and in some cases it's decremented and then incremented.
This patch rewrites t_start() in a much more general way.
Thus we fix a bug that if ftrace_filtered == 1, functions have tracer
hooks won't be printed, because the branch is always unreachable:
static void *t_start(...)
{
	...
	if (!p)
		return t_hash_start(m, pos);
	return p;
}
Before:
  # echo 'sys_open' > /mnt/tracing/set_ftrace_filter
  # echo 'sys_write:traceon:4' >> /mnt/tracing/set_ftrace_filter
  sys_open
After:
  # echo 'sys_open' > /mnt/tracing/set_ftrace_filter
  # echo 'sys_write:traceon:4' >> /mnt/tracing/set_ftrace_filter
  sys_open
  sys_write:traceon:count=4
Reviewed-by: Liming Wang <[email protected]>
Signed-off-by: Li Zefan <[email protected]>
Cc: Steven Rostedt <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'scripts/dtc/libfdt/libfdt_internal.h')
0 files changed, 0 insertions, 0 deletions