lkml.org 
[lkml]   [2009]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:perf/core] tracing: Convert some workqueue events to DEFINE_EVENT
    Commit-ID:  382ece710bf88b08440b598731361e5a47582b62
    Gitweb: http://git.kernel.org/tip/382ece710bf88b08440b598731361e5a47582b62
    Author: Li Zefan <lizf@cn.fujitsu.com>
    AuthorDate: Thu, 26 Nov 2009 15:05:03 +0800
    Committer: Ingo Molnar <mingo@elte.hu>
    CommitDate: Thu, 26 Nov 2009 09:14:03 +0100

    tracing: Convert some workqueue events to DEFINE_EVENT

    Use DECLARE_EVENT_CLASS to remove duplicate code:

    text data bss dec hex filename
    13171 800 72 14043 36db kernel/workqueue.o.old
    12243 800 68 13111 3337 kernel/workqueue.o

    Two events are converted:

    workqueue: workqueue_insertion, workqueue_execution

    No change in functionality.

    Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    LKML-Reference: <4B0E289F.5010104@cn.fujitsu.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    ---
    include/trace/events/workqueue.h | 22 +++++++---------------
    1 files changed, 7 insertions(+), 15 deletions(-)

    diff --git a/include/trace/events/workqueue.h b/include/trace/events/workqueue.h
    index e4612db..d6c9744 100644
    --- a/include/trace/events/workqueue.h
    +++ b/include/trace/events/workqueue.h
    @@ -8,7 +8,7 @@
    #include <linux/sched.h>
    #include <linux/tracepoint.h>

    -TRACE_EVENT(workqueue_insertion,
    +DECLARE_EVENT_CLASS(workqueue,

    TP_PROTO(struct task_struct *wq_thread, struct work_struct *work),

    @@ -30,26 +30,18 @@ TRACE_EVENT(workqueue_insertion,
    __entry->thread_pid, __entry->func)
    );

    -TRACE_EVENT(workqueue_execution,
    +DEFINE_EVENT(workqueue, workqueue_insertion,

    TP_PROTO(struct task_struct *wq_thread, struct work_struct *work),

    - TP_ARGS(wq_thread, work),
    + TP_ARGS(wq_thread, work)
    +);

    - TP_STRUCT__entry(
    - __array(char, thread_comm, TASK_COMM_LEN)
    - __field(pid_t, thread_pid)
    - __field(work_func_t, func)
    - ),
    +DEFINE_EVENT(workqueue, workqueue_execution,

    - TP_fast_assign(
    - memcpy(__entry->thread_comm, wq_thread->comm, TASK_COMM_LEN);
    - __entry->thread_pid = wq_thread->pid;
    - __entry->func = work->func;
    - ),
    + TP_PROTO(struct task_struct *wq_thread, struct work_struct *work),

    - TP_printk("thread=%s:%d func=%pf", __entry->thread_comm,
    - __entry->thread_pid, __entry->func)
    + TP_ARGS(wq_thread, work)
    );

    /* Trace the creation of one workqueue thread on a cpu */

    \
     
     \ /
      Last update: 2009-11-26 09:47    [W:4.733 / U:0.492 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site