Hello Steven, On 1/23/24 01:23, Steven Rostedt wrote:
On Mon, 22 Jan 2024 17:43:34 +0100 Pierre Gondois <pierre.gondois@xxxxxxx> wrote:trace-cmd can record events in multiple instances: $ trace-cmd record -e sched_wakeup -B test_instance -e sched_switch When trying to split a trace.dat file recorded with the above command, only the events located in the main buffer seems to be split. The events recorded in the test_instance buffer seem to be discarded: $ trace-cmd split -i trace.dat -o trace_2.dat 284443 284444 $ trace-cmd report trace_2.dat cpus=8 <...>-525991 [004] 284443.173879: sched_wakeup: [...] <...>-525991 [004] 284443.173879: sched_wakeup: [...] <...>-525990 [007] 284443.173885: sched_wakeup: [...] <...>-525990 [007] 284443.173885: sched_wakeup: [...] (no sign of sched_switch events) Keep all instances/buffers of a trace when it is split. Also add a 'get_handle()' function. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=218357 Signed-off-by: Pierre Gondois <pierre.gondois@xxxxxxx> ---I had two trace.dat files I was checking on. One that just had the top level instance being traced, and the other that only had an instance. Until now, my instance trace.dat file did not have any output when doing a split. Now it does. BUT! I tried the command you had shown in a previous patch: ./tracecmd/trace-cmd split -i trace.dat -o /tmp/trace2.dat -r -m 100 3122478 3122479 and it it kept going! That is, this change broke the fix of the previous change.
Yes indeed, The problem should be fixed in the v3. Thanks for the tests, Regards, Pierre
-- Steve