On Tue, 9 Feb 2021 19:01:04 +0200 Tzvetomir Stoyanov <tz.stoyanov@xxxxxxxxx> wrote: > > Ok, is there a WiP already, or someone working on it? I'm asking > > because maybe I can help. > > None is working on that yet, any help is highly appreciated :) I just > created an issue in Bugzilla for that: > https://bugzilla.kernel.org/show_bug.cgi?id=211657 I had the below patch locally for some time now. It's a somewhat a hack, but should work. But this should be done properly. The hack below works if you include only two files, the host first followed by the guest: trace-cmd report -i trace-host.dat -i trace-guest.dat Also, the following patch should be applied as well: https://patchwork.kernel.org/project/linux-trace-devel/patch/20210210164543.5ecd9dbd@xxxxxxxxxxxxxxxxxx/ -- Steve Index: trace-cmd.git/tracecmd/trace-read.c =================================================================== --- trace-cmd.git.orig/tracecmd/trace-read.c +++ trace-cmd.git/tracecmd/trace-read.c @@ -339,6 +339,9 @@ static void add_input(const char *file) last_input_file = item; } +static struct tracecmd_input *host; +static struct tracecmd_input *guest; + static void add_handle(struct tracecmd_input *handle, const char *file) { struct handle_list *item; @@ -358,6 +361,12 @@ static void add_handle(struct tracecmd_i max_file_size = strlen(item->file); } list_add_tail(&item->list, &handle_list); + if (handle_list.next != &item->list) { + item = container_of(handle_list.next, + struct handle_list, list); + host = item->handle; + guest = handle; + } } static void free_inputs(void) @@ -1283,6 +1292,8 @@ static void read_data_info(struct list_h } } + tracecmd_pair_peer(guest, host); + if (otype != OUTPUT_NORMAL) return;