03 Nov, 2015

1 commit

  • Make ftrace_event_is_function() return bool to improve readability
    due to this particular function only using either one or zero as its
    return value.

    No functional change.

    Link: http://lkml.kernel.org/r/1443537816-5788-9-git-send-email-bywxiaobai@163.com

    Signed-off-by: Yaowei Bai
    Signed-off-by: Steven Rostedt

    Yaowei Bai
     

14 May, 2015

1 commit


25 Mar, 2015

1 commit

  • TRACE_EVENT_FL_USE_CALL_FILTER flag in ftrace:functon event can be
    removed. This flag was first introduced in commit
    f306cc82a93d ("tracing: Update event filters for multibuffer").

    Now, the only place uses this flag is ftrace:function, but the filter of
    ftrace:function has a different code path with events/syscalls and
    events/tracepoints. It uses ftrace_filter_write() and perf's
    ftrace_profile_set_filter() to set the filter, the functionality of file
    'tracing/events/ftrace/function/filter' is bypassed in function
    init_pred(), in which case, neither call->filter nor file->filter is
    used.

    So we can safely remove TRACE_EVENT_FL_USE_CALL_FILTER flag from
    ftrace:function events.

    Link: http://lkml.kernel.org/r/1425367294-27852-1-git-send-email-hekuang@huawei.com

    Signed-off-by: He Kuang
    Signed-off-by: Steven Rostedt

    He Kuang
     

23 Jan, 2015

1 commit


10 Apr, 2014

1 commit


21 Mar, 2014

1 commit

  • In event format strings, the array size is reported in two locations.
    One in array subscript and then via the "size:" attribute. The values
    reported there have a mismatch.

    For e.g., in sched:sched_switch the prev_comm and next_comm character
    arrays have subscript values as [32] where as the actual field size is
    16.

    name: sched_switch
    ID: 301
    format:
    field:unsigned short common_type; offset:0; size:2; signed:0;
    field:unsigned char common_flags; offset:2; size:1; signed:0;
    field:unsigned char common_preempt_count; offset:3; size:1;signed:0;
    field:int common_pid; offset:4; size:4; signed:1;

    field:char prev_comm[32]; offset:8; size:16; signed:1;
    field:pid_t prev_pid; offset:24; size:4; signed:1;
    field:int prev_prio; offset:28; size:4; signed:1;
    field:long prev_state; offset:32; size:8; signed:1;
    field:char next_comm[32]; offset:40; size:16; signed:1;
    field:pid_t next_pid; offset:56; size:4; signed:1;
    field:int next_prio; offset:60; size:4; signed:1;

    After bisection, the following commit was blamed:
    92edca0 tracing: Use direct field, type and system names

    This commit removes the duplication of strings for field->name and
    field->type assuming that all the strings passed in
    __trace_define_field() are immutable. This is not true for arrays, where
    the type string is created in event_storage variable and field->type for
    all array fields points to event_storage.

    Use __stringify() to create a string constant for the type string.

    Also, get rid of event_storage and event_storage_mutex that are not
    needed anymore.

    also, an added benefit is that this reduces the overhead of events a bit more:

    text data bss dec hex filename
    8424787 2036472 1302528 11763787 b3804b vmlinux
    8420814 2036408 1302528 11759750 b37086 vmlinux.patched

    Link: http://lkml.kernel.org/r/1392349908-29685-1-git-send-email-vnagarnaik@google.com

    Cc: Laurent Chavey
    Cc: stable@vger.kernel.org # 3.10+
    Signed-off-by: Vaibhav Nagarnaik
    Signed-off-by: Steven Rostedt

    Vaibhav Nagarnaik
     

06 Nov, 2013

1 commit

  • The trace event filters are still tied to event calls rather than
    event files, which means you don't get what you'd expect when using
    filters in the multibuffer case:

    Before:

    # echo 'bytes_alloc > 8192' > /sys/kernel/debug/tracing/events/kmem/kmalloc/filter
    # cat /sys/kernel/debug/tracing/events/kmem/kmalloc/filter
    bytes_alloc > 8192
    # mkdir /sys/kernel/debug/tracing/instances/test1
    # echo 'bytes_alloc > 2048' > /sys/kernel/debug/tracing/instances/test1/events/kmem/kmalloc/filter
    # cat /sys/kernel/debug/tracing/events/kmem/kmalloc/filter
    bytes_alloc > 2048
    # cat /sys/kernel/debug/tracing/instances/test1/events/kmem/kmalloc/filter
    bytes_alloc > 2048

    Setting the filter in tracing/instances/test1/events shouldn't affect
    the same event in tracing/events as it does above.

    After:

    # echo 'bytes_alloc > 8192' > /sys/kernel/debug/tracing/events/kmem/kmalloc/filter
    # cat /sys/kernel/debug/tracing/events/kmem/kmalloc/filter
    bytes_alloc > 8192
    # mkdir /sys/kernel/debug/tracing/instances/test1
    # echo 'bytes_alloc > 2048' > /sys/kernel/debug/tracing/instances/test1/events/kmem/kmalloc/filter
    # cat /sys/kernel/debug/tracing/events/kmem/kmalloc/filter
    bytes_alloc > 8192
    # cat /sys/kernel/debug/tracing/instances/test1/events/kmem/kmalloc/filter
    bytes_alloc > 2048

    We'd like to just move the filter directly from ftrace_event_call to
    ftrace_event_file, but there are a couple cases that don't yet have
    multibuffer support and therefore have to continue using the current
    event_call-based filters. For those cases, a new USE_CALL_FILTER bit
    is added to the event_call flags, whose main purpose is to keep the
    old behavior for those cases until they can be updated with
    multibuffer support; at that point, the USE_CALL_FILTER flag (and the
    new associated call_filter_check_discard() function) can go away.

    The multibuffer support also made filter_current_check_discard()
    redundant, so this change removes that function as well and replaces
    it with filter_check_discard() (or call_filter_check_discard() as
    appropriate).

    Link: http://lkml.kernel.org/r/f16e9ce4270c62f46b2e966119225e1c3cca7e60.1382620672.git.tom.zanussi@linux.intel.com

    Signed-off-by: Tom Zanussi
    Signed-off-by: Steven Rostedt

    Tom Zanussi
     

15 Mar, 2013

2 commits

  • As we've added __init annotation to field-defining functions, we should
    add __refdata annotation to event_call variables, which reference those
    functions.

    Link: http://lkml.kernel.org/r/51343C1F.2050502@huawei.com

    Reported-by: Fengguang Wu
    Signed-off-by: Li Zefan
    Signed-off-by: Steven Rostedt

    Li Zefan
     
  • Those functions are called either during kernel boot or module init.

    Before:

    $ dmesg | grep 'Freeing unused kernel memory'
    Freeing unused kernel memory: 1208k freed
    Freeing unused kernel memory: 1360k freed
    Freeing unused kernel memory: 1960k freed

    After:

    $ dmesg | grep 'Freeing unused kernel memory'
    Freeing unused kernel memory: 1236k freed
    Freeing unused kernel memory: 1388k freed
    Freeing unused kernel memory: 1960k freed

    Link: http://lkml.kernel.org/r/5125877D.5000201@huawei.com

    Signed-off-by: Li Zefan
    Signed-off-by: Steven Rostedt

    Li Zefan
     

11 May, 2012

1 commit

  • With the adding of function tracing event to perf, it caused a
    side effect that produces the following warning when enabling all
    events in ftrace:

    # echo 1 > /sys/kernel/debug/tracing/events/enable

    [console]
    event trace: Could not enable event function

    This is because when enabling all events via the debugfs system
    it ignores events that do not have a ->reg() function assigned.
    This was to skip over the ftrace internal events (as they are
    not TRACE_EVENTs). But as the ftrace function event now has
    a ->reg() function attached to it for use with perf, it is no
    longer ignored.

    Worse yet, this ->reg() function is being called when it should
    not be. It returns an error and causes the above warning to
    be printed.

    By adding a new event_call flag (TRACE_EVENT_FL_IGNORE_ENABLE)
    and have all ftrace internel event structures have it set,
    setting the events/enable will no longe try to incorrectly enable
    the function event and does not warn.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

24 Mar, 2012

1 commit


23 Mar, 2012

1 commit

  • 8 hex characters tell only half the tale for 64 bit CPUs,
    so use the appropriate length.

    Link: http://lkml.kernel.org/r/1332411501-8059-2-git-send-email-wolfgang.mauerer@siemens.com

    Cc: stable@vger.kernel.org
    Signed-off-by: Wolfgang Mauerer
    Signed-off-by: Steven Rostedt

    Wolfgang Mauerer
     

22 Feb, 2012

3 commits

  • Adding FILTER_TRACE_FN event field type for function tracepoint
    event, so it can be properly recognized within filtering code.

    Currently all fields of ftrace subsystem events share the common
    field type FILTER_OTHER. Since the function trace fields need
    special care within the filtering code we need to recognize it
    properly, hence adding the FILTER_TRACE_FN event type.

    Adding filter parameter to the FTRACE_ENTRY macro, to specify the
    filter field type for the event.

    Link: http://lkml.kernel.org/r/1329317514-8131-7-git-send-email-jolsa@redhat.com

    Signed-off-by: Jiri Olsa
    Signed-off-by: Steven Rostedt

    Jiri Olsa
     
  • Adding perf registration support for the ftrace function event,
    so it is now possible to register it via perf interface.

    The perf_event struct statically contains ftrace_ops as a handle
    for function tracer. The function tracer is registered/unregistered
    in open/close actions.

    To be efficient, we enable/disable ftrace_ops each time the traced
    process is scheduled in/out (via TRACE_REG_PERF_(ADD|DELL) handlers).
    This way tracing is enabled only when the process is running.
    Intentionally using this way instead of the event's hw state
    PERF_HES_STOPPED, which would not disable the ftrace_ops.

    It is now possible to use function trace within perf commands
    like:

    perf record -e ftrace:function ls
    perf stat -e ftrace:function ls

    Allowed only for root.

    Link: http://lkml.kernel.org/r/1329317514-8131-6-git-send-email-jolsa@redhat.com

    Acked-by: Frederic Weisbecker
    Signed-off-by: Jiri Olsa
    Signed-off-by: Steven Rostedt

    Jiri Olsa
     
  • Adding FTRACE_ENTRY_REG macro so particular ftrace entries
    could specify registration function and thus become accesible
    via perf.

    This will be used in upcomming patch for function trace.

    Link: http://lkml.kernel.org/r/1329317514-8131-5-git-send-email-jolsa@redhat.com

    Acked-by: Frederic Weisbecker
    Signed-off-by: Jiri Olsa
    Signed-off-by: Steven Rostedt

    Jiri Olsa
     

03 Feb, 2011

1 commit

  • Currently the trace_event structures are placed in the _ftrace_events
    section, and at link time, the linker makes one large array of all
    the trace_event structures. On boot up, this array is read (much like
    the initcall sections) and the events are processed.

    The problem is that there is no guarantee that gcc will place complex
    structures nicely together in an array format. Two structures in the
    same file may be placed awkwardly, because gcc has no clue that they
    are suppose to be in an array.

    A hack was used previous to force the alignment to 4, to pack the
    structures together. But this caused alignment issues with other
    architectures (sparc).

    Instead of packing the structures into an array, the structures' addresses
    are now put into the _ftrace_event section. As pointers are always the
    natural alignment, gcc should always pack them tightly together
    (otherwise initcall, extable, etc would also fail).

    By having the pointers to the structures in the section, we can still
    iterate the trace_events without causing unnecessary alignment problems
    with other architectures, or depending on the current behaviour of
    gcc that will likely change in the future just to tick us kernel developers
    off a little more.

    The _ftrace_event section is also moved into the .init.data section
    as it is now only needed at boot up.

    Suggested-by: David Miller
    Cc: Mathieu Desnoyers
    Acked-by: David S. Miller
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

19 Nov, 2010

1 commit

  • Currently we have in something like the sched_switch event:

    field:char prev_comm[TASK_COMM_LEN]; offset:12; size:16; signed:1;

    When a userspace tool such as perf tries to parse this, the
    TASK_COMM_LEN is meaningless. This is done because the TRACE_EVENT() macro
    simply uses a #len to show the string of the length. When the length is
    an enum, we get a string that means nothing for tools.

    By adding a static buffer and a mutex to protect it, we can store the
    string into that buffer with snprintf and show the actual number.
    Now we get:

    field:char prev_comm[16]; offset:12; size:16; signed:1;

    Something much more useful.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

29 Jun, 2010

1 commit


15 May, 2010

3 commits

  • Now that the trace_event structure is embedded in the ftrace_event_call
    structure, there is no need for the ftrace_event_call id field.
    The id field is the same as the trace_event type field.

    Removing the id and re-arranging the structure brings down the tracepoint
    footprint by another 5K.

    text data bss dec hex filename
    4913961 1088356 861512 6863829 68bbd5 vmlinux.orig
    4895024 1023812 861512 6780348 6775bc vmlinux.print
    4894944 1018052 861512 6774508 675eec vmlinux.id

    Acked-by: Mathieu Desnoyers
    Acked-by: Masami Hiramatsu
    Acked-by: Frederic Weisbecker
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • The raw_init function pointer in the event is used to initialize
    various kinds of events. The type of initialization needed is usually
    classed to the kind of event it is.

    Two events with the same class will always have the same initialization
    function, so it makes sense to move this to the class structure.

    Perhaps even making a special system structure would work since
    the initialization is the same for all events within a system.
    But since there's no system structure (yet), this will just move it
    to the class.

    text data bss dec hex filename
    4913961 1088356 861512 6863829 68bbd5 vmlinux.orig
    4900375 1053380 861512 6815267 67fe23 vmlinux.fields
    4900382 1048964 861512 6810858 67ecea vmlinux.init

    The text grew very slightly, but this is a constant growth that happened
    with the changing of the C files that call the init code.
    The bigger savings is the data which will be saved the more events share
    a class.

    Acked-by: Mathieu Desnoyers
    Acked-by: Masami Hiramatsu
    Acked-by: Frederic Weisbecker
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • Move the defined fields from the event to the class structure.
    Since the fields of the event are defined by the class they belong
    to, it makes sense to have the class hold the information instead
    of the individual events. The events of the same class would just
    hold duplicate information.

    After this change the size of the kernel dropped another 3K:

    text data bss dec hex filename
    4913961 1088356 861512 6863829 68bbd5 vmlinux.orig
    4900252 1057412 861512 6819176 680d68 vmlinux.regs
    4900375 1053380 861512 6815267 67fe23 vmlinux.fields

    Although the text increased, this was mainly due to the C files
    having to adapt to the change. This is a constant increase, where
    new tracepoints will not increase the Text. But the big drop is
    in the data size (as well as needed allocations to hold the fields).
    This will give even more savings as more tracepoints are created.

    Note, if just TRACE_EVENT()s are used and not DECLARE_EVENT_CLASS()
    with several DEFINE_EVENT()s, then the savings will be lost. But
    we are pushing developers to consolidate events with DEFINE_EVENT()
    so this should not be an issue.

    The kprobes define a unique class to every new event, but are dynamic
    so it should not be a issue.

    The syscalls however have a single class but the fields for the individual
    events are different. The syscalls use a metadata to define the
    fields. I moved the fields list from the event to the metadata and
    added a "get_fields()" function to the class. This function is used
    to find the fields. For normal events and kprobes, get_fields() just
    returns a pointer to the fields list_head in the class. For syscall
    events, it returns the fields list_head in the metadata for the event.

    v2: Fixed the syscall fields. The syscall metadata needs a list
    of fields for both enter and exit.

    Acked-by: Frederic Weisbecker
    Acked-by: Mathieu Desnoyers
    Acked-by: Masami Hiramatsu
    Cc: Tom Zanussi
    Cc: Peter Zijlstra
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

14 May, 2010

1 commit

  • This patch creates a ftrace_event_class struct that event structs point to.
    This class struct will be made to hold information to modify the
    events. Currently the class struct only holds the events system name.

    This patch slightly increases the size, but this change lays the ground work
    of other changes to make the footprint of tracepoints smaller.

    With 82 standard tracepoints, and 618 system call tracepoints
    (two tracepoints per syscall: enter and exit):

    text data bss dec hex filename
    4913961 1088356 861512 6863829 68bbd5 vmlinux.orig
    4914025 1088868 861512 6864405 68be15 vmlinux.class

    This patch also cleans up some stale comments in ftrace.h.

    v2: Fixed missing semi-colon in macro.

    Acked-by: Frederic Weisbecker
    Acked-by: Mathieu Desnoyers
    Acked-by: Masami Hiramatsu
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

07 Jan, 2010

3 commits

  • The previous patches added the use of print_fmt string and changes
    the trace_define_field() function to also create the fields and
    format output for the event format files.

    text data bss dec hex filename
    5857201 1355780 9336808 16549789 fc879d vmlinux
    5884589 1351684 9337896 16574169 fce6d9 vmlinux-orig

    The above shows the size of the vmlinux after this patch set
    compared to the vmlinux-orig which is before the patch set.

    This saves us 27k on text, 1k on bss and adds just 4k of data.

    The total savings of 24k in size.

    Signed-off-by: Lai Jiangshan
    LKML-Reference:
    Acked-by: Masami Hiramatsu
    Signed-off-by: Steven Rostedt

    Lai Jiangshan
     
  • This is part of a patch set that removes the show_format method
    in the ftrace event macros.

    The print_fmt field is added to hold the string that shows
    the print_fmt in the event format files. This patch only adds
    the field but it is currently not used. Later patches will use
    this field to enable us to remove the show_format field
    and function.

    Signed-off-by: Lai Jiangshan
    LKML-Reference:
    Signed-off-by: Steven Rostedt

    Lai Jiangshan
     
  • This is part of a patch set that removes the show_format method
    in the ftrace event macros.

    This patch set requires that all fields are added to the
    ftrace_event_call->fields. This patch changes __dynamic_array()
    to call trace_define_field() to include fields that use __dynamic_array().

    Signed-off-by: Lai Jiangshan
    LKML-Reference:
    Signed-off-by: Steven Rostedt

    Lai Jiangshan
     

30 Dec, 2009

1 commit


14 Dec, 2009

1 commit

  • Call trace_define_common_fields() in event_create_dir() only.
    This avoids trace events to handle it from their define_fields
    callbacks and shrinks the kernel code size:

    text data bss dec hex filename
    5346802 1961864 7103260 14411926 dbe896 vmlinux.o.old
    5345151 1961864 7103260 14410275 dbe223 vmlinux.o

    Signed-off-by: Li Zefan
    Acked-by: Steven Rostedt
    Cc: Ingo Molnar
    Cc: Jason Baron
    Cc: Masami Hiramatsu
    LKML-Reference:
    Signed-off-by: Frederic Weisbecker

    Li Zefan
     

06 Dec, 2009

1 commit

  • …git/tip/linux-2.6-tip

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (470 commits)
    x86: Fix comments of register/stack access functions
    perf tools: Replace %m with %a in sscanf
    hw-breakpoints: Keep track of user disabled breakpoints
    tracing/syscalls: Make syscall events print callbacks static
    tracing: Add DEFINE_EVENT(), DEFINE_SINGLE_EVENT() support to docbook
    perf: Don't free perf_mmap_data until work has been done
    perf_event: Fix compile error
    perf tools: Fix _GNU_SOURCE macro related strndup() build error
    trace_syscalls: Remove unused syscall_name_to_nr()
    trace_syscalls: Simplify syscall profile
    trace_syscalls: Remove duplicate init_enter_##sname()
    trace_syscalls: Add syscall_nr field to struct syscall_metadata
    trace_syscalls: Remove enter_id exit_id
    trace_syscalls: Set event_enter_##sname->data to its metadata
    trace_syscalls: Remove unused event_syscall_enter and event_syscall_exit
    perf_event: Initialize data.period in perf_swevent_hrtimer()
    perf probe: Simplify event naming
    perf probe: Add --list option for listing current probe events
    perf probe: Add argv_split() from lib/argv_split.c
    perf probe: Move probe event utility functions to probe-event.c
    ...

    Linus Torvalds
     

02 Nov, 2009

1 commit

  • ____ftrace_check_##name() is used for compile-time check on
    F_printk() only, so it should be marked as __unused instead
    of __used.

    Signed-off-by: Li Zefan
    Cc: Steven Rostedt
    Cc: Frederic Weisbecker
    Cc: Linus Torvalds
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Li Zefan
     

23 Oct, 2009

1 commit


06 Oct, 2009

1 commit

  • The sign info used for filters in the kernel is also useful to
    applications that process the trace stream. Add it to the format
    files and make it available to userspace.

    Signed-off-by: Tom Zanussi
    Acked-by: Frederic Weisbecker
    Cc: rostedt@goodmis.org
    Cc: lizf@cn.fujitsu.com
    Cc: hch@infradead.org
    Cc: Peter Zijlstra
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Arnaldo Carvalho de Melo
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Tom Zanussi
     

24 Sep, 2009

1 commit


14 Sep, 2009

2 commits


13 Sep, 2009

1 commit

  • This patch changes the way the format files in

    debugfs/tracing/events/ftrace/*/format

    are created. It uses the new trace_entries.h file to automate the
    creation of the format files to ensure that they are always in sync
    with the actual structures. This is the same methodology used to
    create the format files for the TRACE_EVENT macro.

    This also updates the filter creation that was built on the creation
    of the format files.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

11 Sep, 2009

1 commit

  • Conflicts:
    kernel/trace/trace_export.c
    kernel/trace/trace_kprobe.c

    Merge reason: This topic branch lacks an important
    build fix in tracing/core:

    0dd7b74787eaf7858c6c573353a83c3e2766e674:
    tracing: Fix double CPP substitution in TRACE_EVENT_FN

    that prevents from multiple tracepoint headers inclusion crashes.

    Signed-off-by: Frederic Weisbecker

    Frederic Weisbecker
     

31 Aug, 2009

1 commit

  • init_preds() allocates about 5392 bytes of memory (on x86_32) for
    a TRACE_EVENT. With my config, at system boot total memory occupied
    is:

    5392 * (642 + 15) == 3459KB

    642 == cat available_events | wc -l
    15 == number of dirs in events/ftrace

    That's quite a lot, so we'd better defer memory allocation util
    it's needed, that's when filter is used.

    Signed-off-by: Li Zefan
    Cc: Steven Rostedt
    Cc: Frederic Weisbecker
    Cc: Tom Zanussi
    Cc: Masami Hiramatsu
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Li Zefan
     

27 Aug, 2009

2 commits

  • Use TRACE_FIELD_ZERO(type, item) instead of TRACE_FIELD_ZERO_CHAR(item).
    This also includes a typo fix of TRACE_ZERO_CHAR() macro.

    Signed-off-by: Masami Hiramatsu
    Cc: Ananth N Mavinakayanahalli
    Cc: Avi Kivity
    Cc: Andi Kleen
    Cc: Christoph Hellwig
    Cc: Frank Ch. Eigler
    Cc: H. Peter Anvin
    Cc: Ingo Molnar
    Cc: Jason Baron
    Cc: Jim Keniston
    Cc: K.Prasad
    Cc: Lai Jiangshan
    Cc: Li Zefan
    Cc: Przemysław Pawełczyk
    Cc: Roland McGrath
    Cc: Sam Ravnborg
    Cc: Srikar Dronamraju
    Cc: Steven Rostedt
    Cc: Tom Zanussi
    Cc: Vegard Nossum
    LKML-Reference:
    Signed-off-by: Frederic Weisbecker

    Masami Hiramatsu
     
  • Add dynamic ftrace_event_call support to ftrace. Trace engines can add
    new ftrace_event_call to ftrace on the fly. Each operator function of
    the call takes an ftrace_event_call data structure as an argument,
    because these functions may be shared among several ftrace_event_calls.

    Changes from v13:
    - Define remove_subsystem_dir() always (revirt a2ca5e03), because
    trace_remove_event_call() uses it.
    - Modify syscall tracer because of ftrace_event_call change.

    [fweisbec@gmail.com: Fixed conflict against latest tracing/core]

    Signed-off-by: Masami Hiramatsu
    Cc: Ananth N Mavinakayanahalli
    Cc: Avi Kivity
    Cc: Andi Kleen
    Cc: Christoph Hellwig
    Cc: Frank Ch. Eigler
    Cc: H. Peter Anvin
    Cc: Ingo Molnar
    Cc: Jason Baron
    Cc: Jim Keniston
    Cc: K.Prasad
    Cc: Lai Jiangshan
    Cc: Li Zefan
    Cc: Przemysław Pawełczyk
    Cc: Roland McGrath
    Cc: Sam Ravnborg
    Cc: Srikar Dronamraju
    Cc: Steven Rostedt
    Cc: Tom Zanussi
    Cc: Vegard Nossum
    LKML-Reference:
    Signed-off-by: Frederic Weisbecker

    Masami Hiramatsu
     

26 Aug, 2009

1 commit

  • Add __field_ext(), so a field can be assigned to a specific
    filter_type, which matches a corresponding filter function.

    For example, a later patch will allow this:
    __field_ext(const char *, str, FILTER_PTR_STR);

    Signed-off-by: Li Zefan
    LKML-Reference:

    [
    Fixed a -1 to FILTER_OTHER
    Forward ported to latest kernel.
    ]

    Signed-off-by: Steven Rostedt

    Li Zefan