Re: [RFC PATCH 1/5] tracing/hwlat: Add a cpus file specific for hwlat_detector

From: Steven Rostedt
Date: Thu Apr 15 2021 - 09:49:33 EST


On Thu, 15 Apr 2021 15:09:50 +0200
Daniel Bristot de Oliveira <bristot@xxxxxxxxxx> wrote:

> But for the osnoise tracer the cpus file is really useful. For instance, on a
> system with the CPU 7 isolated:
>
> ----- %< -----
> # echo 7 > osnoise/cpus
> # echo target_cpu == 7 > events/sched/sched_wakeup/filter
> # echo stacktrace if target_cpu == 7 > events/sched/sched_wakeup/trigger
> # echo 1 > events/sched/sched_wakeup/enable
> # echo osnoise:thread_noise > set_event
> # echo osnoise > current_tracer
> # cat trace
> [find...]
> kworker/0:1-7 [000] d..5 1820.717780: <stack trace>
> => trace_event_raw_event_sched_wakeup_template
> => __traceiter_sched_wakeup
> => ttwu_do_wakeup
> => try_to_wake_up
> => __queue_work
> => queue_delayed_work_on
> => vmstat_shepherd
> => process_one_work
> => worker_thread
> => kthread
> => ret_from_fork
> kworker/7:1-410 [007] d..3 1820.717790: thread_noise: kworker/7:1:410 start 1820.717786519 duration 3626 ns
> osnoise/7-1000 [007] .... 1821.582340: 1000000 90 99.99100 15 1 0 12 6 1
> ----- >% -----
>
> It was possible to easily find that the '1' thread noise was a kworker,
> dispatched from CPU 0, and that it was dispatched by "vmstat_shepherd".
>
> Also, the osnoise dir is not added to a new instance... so, it only
> costs "one" file...

Every file counts. ;-)

What you did not articulate well, is that you want the other trace points
to be traced on all CPUs (maybe) when the osnoise threads are on a few (or
vice versa).

OK, for osnoise, I can see how it is useful. But as you said above, for
hwlat tracer, it's not as useful.

-- Steve