23 Nov, 2019

1 commit

  • This is a sample module to demonstrate the use of the newly introduced and
    exported APIs to access Ftrace instances from within the kernel.

    Newly introduced APIs used here -

    1. Create/Lookup a trace array with the given name.
    struct trace_array *trace_array_get_by_name(const char *name)

    2. Destroy/Remove a trace array.
    int trace_array_destroy(struct trace_array *tr)

    4. Enable/Disable trace events:
    int trace_array_set_clr_event(struct trace_array *tr, const char *system,
    const char *event, bool enable);

    Exported APIs -
    1. trace_printk equivalent for instances.
    int trace_array_printk(struct trace_array *tr,
    unsigned long ip, const char *fmt, ...);

    2. Helper function.
    void trace_printk_init_buffers(void);

    3. To decrement the reference counter.
    void trace_array_put(struct trace_array *tr)

    Sample output(contents of /sys/kernel/tracing/instances/sample-instance)
    NOTE: Tracing disabled after ~5 sec)

    _-----=> irqs-off
    / _----=> need-resched
    | / _---=> hardirq/softirq
    || / _--=> preempt-depth
    ||| / delay
    TASK-PID CPU# |||| TIMESTAMP FUNCTION
    | | | |||| | |
    sample-instance-1452 [002] .... 49.430948: simple_thread: trace_array_printk: count=0
    sample-instance-1452 [002] .... 49.430951: sample_event: count value=0 at jiffies=4294716608
    sample-instance-1452 [002] .... 50.454847: simple_thread: trace_array_printk: count=1
    sample-instance-1452 [002] .... 50.454849: sample_event: count value=1 at jiffies=4294717632
    sample-instance-1452 [002] .... 51.478748: simple_thread: trace_array_printk: count=2
    sample-instance-1452 [002] .... 51.478750: sample_event: count value=2 at jiffies=4294718656
    sample-instance-1452 [002] .... 52.502652: simple_thread: trace_array_printk: count=3
    sample-instance-1452 [002] .... 52.502655: sample_event: count value=3 at jiffies=4294719680
    sample-instance-1452 [002] .... 53.526533: simple_thread: trace_array_printk: count=4
    sample-instance-1452 [002] .... 53.526535: sample_event: count value=4 at jiffies=4294720704
    sample-instance-1452 [002] .... 54.550438: simple_thread: trace_array_printk: count=5
    sample-instance-1452 [002] .... 55.574336: simple_thread: trace_array_printk: count=6

    Link: http://lkml.kernel.org/r/1574276919-11119-3-git-send-email-divya.indi@oracle.com

    Reviewed-by: Aruna Ramakrishna
    Signed-off-by: Divya Indi
    [ Moved to samples/ftrace ]
    Signed-off-by: Steven Rostedt (VMware)

    Divya Indi
     

16 Nov, 2019

1 commit

  • There is a spelling mistake in a trace_printk message. As well as in
    the selftests that search for this string.

    Link: http://lkml.kernel.org/r/20191115085938.38947-1-colin.king@canonical.com
    Link: http://lkml.kernel.org/r/20191115090356.39572-1-colin.king@canonical.com

    Signed-off-by: Colin Ian King
    Signed-off-by: Steven Rostedt (VMware)

    Colin Ian King
     

15 Nov, 2019

1 commit


13 Nov, 2019

2 commits