tracing/events: record the size of dynamic arrays
authorLi Zefan <lizf@cn.fujitsu.com>
Thu, 16 Jul 2009 02:54:02 +0000 (10:54 +0800)
committerSteven Rostedt <rostedt@goodmis.org>
Mon, 20 Jul 2009 15:38:44 +0000 (11:38 -0400)
commit7d536cb3fb9993bdcd5a2fbaa6b0670ded4e101c
tree63c4a6ec6de75d9a2db7d677c768a5f2953fa237
parent68fd60a8c8bca6af51805c45f286f0f2572ac977
tracing/events: record the size of dynamic arrays

When a dynamic array is defined, we add __data_loc_foo in
trace_entry to record the offset of the array, but the
size of the array is not recorded, which causes 2 problems:

- the event filter just compares the first 2 chars of the strings.

- parsers can't parse dynamic arrays.

So we encode the size of each dynamic array in the higher 16 bits
of __data_loc_foo, while the offset is in lower 16 bits.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
LKML-Reference: <4A5E964A.9000403@cn.fujitsu.com>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/trace/ftrace.h
kernel/trace/trace_events_filter.c