From: Steven Rostedt <rostedt@goodmis.org>
To: Dario Faggioli <dfaggioli@suse.com>
Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>,
Joel Fernandes <joelaf@google.com>,
"Yordan Karadzhov (VMware)" <y.karadz@gmail.com>,
Linux Trace Devel <linux-trace-devel@vger.kernel.org>
Subject: Re: Instructions for clock sync for tracing host/guest
Date: Mon, 26 Apr 2021 10:51:11 -0400 [thread overview]
Message-ID: <20210426105111.288280bb@gandalf.local.home> (raw)
In-Reply-To: <af1e4b468e606be535227ae7fe8a1a17d4c019fb.camel@suse.com>
On Mon, 26 Apr 2021 16:11:46 +0200
Dario Faggioli <dfaggioli@suse.com> wrote:
> I can't double check as I don't have a crossvm environment handy, but I
> guess it looks the same, and the PID is the one of whatever task in
> crossvm issues the KVM_CREATE_VM ioctl (and the fd returned by such
> call).
>
> In QEMU, such process then creates one thread for each vCPU... Again, I
I'm sure all implementations will do the same. Anything else would not make
sense.
> don't really know for sure, but I guess it would be similar in crossvm?
>
> If yes, AFAICT, kvm_entry events can tell us the PIDs of such threads.
> So the challenge here is getting from the PID of a thread to the PID of
> the process that created it.
As I stated in the other thread, we can find the thread that is running the
vCPU by following the wake ups. A vsock connection will trigger a series of
events that will eventually wake up a task that does a kvm_entry. Then you
know the thread.
Here's another run:
vsock-client-160552 [001] 403952.847983: sched_wakeup: vhost-128994:129046 [120] success=1 CPU:003
vhost-128994-129046 [003] 403952.848030: sched_wakeup: CPU 0/KVM:129042 [120] success=1 CPU:006
CPU 0/KVM-129042 [006] 403952.848085: kvm_entry: vcpu 0
We see that our process (PID 160552) wakes up 129046 which then wakes up
129042, which does a kvm_entry for vcpu 0. Since process 160552 is
communicating with the guest, we know that this series of events will wake
up the guest we want to map the thread and the vCPU of the guest with.
As it was thread 129042 that called kvm_entry, it's the thread that is
mapped to vcpu 0 of the guest we are tracing.
-- Steve
next prev parent reply other threads:[~2021-04-26 14:51 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAJWu+opJEtyXyhYnKL1iNzhfSCYRZN4PD50igckVvQV8416HEQ@mail.gmail.com>
[not found] ` <CAPpZLN5pTxjnrQ=x0Kq7sGko+GSVv5gPTjSgETvO9kX1hgNCpQ@mail.gmail.com>
[not found] ` <20210418080435.3c3e2d24@oasis.local.home>
[not found] ` <CAJWu+oqG9T5v_2q+crsrsPe9GMcG0OSW7kcZ5ea=r1L07WKZJA@mail.gmail.com>
[not found] ` <CAPpZLN7MDoFYaJZG1+_4gUpYwt2RfAMfB=BDvGYch2eOfS342Q@mail.gmail.com>
[not found] ` <CAJWu+oosbOV=cigwfkNBLSpaMt3RExWLap3u+4G7pkYqQy_EXw@mail.gmail.com>
[not found] ` <CAPpZLN7=e+TL5WY7RKAo9Hm6AJGDygneqUWwoNnZexx+=KrxsQ@mail.gmail.com>
[not found] ` <CAJWu+op2bU+-z6W_+XB0v2g__oGXj8Be2WWDg36E9uaCjNp+HA@mail.gmail.com>
[not found] ` <CAJWu+orm+tm3C=MSF=p9eC1qgfE_pXzA2B0CiXgVXFemVRiVtA@mail.gmail.com>
[not found] ` <CAJWu+opzT20OprG-8L_Lvv2DaJzF-ROaKnEWX8wjrbagPpwVzA@mail.gmail.com>
[not found] ` <CAJWu+oqJk+BE2q=CjtAZJko-kJCS0Kyqwor_FVM3fu-X-rRRkg@mail.gmail.com>
[not found] ` <20210422153845.3e6e9304@gandalf.local.home>
[not found] ` <CAJWu+ooTVfprhd49__0H_61Fz_rSQA53n-VM6e1eEr8cTZ5aYQ@mail.gmail.com>
[not found] ` <20210422154830.52f3e4f5@gandalf.local.home>
[not found] ` <CAJWu+oqYWv5OHTLrC+oa7Y+LOe7AHumhtyVP8TC2LkK2=_JjPA@mail.gmail.com>
[not found] ` <20210422160313.2eee1f77@gandalf.local.home>
[not found] ` <CAJWu+ooZ9UptDBdii7dj=ui7dhiseOqZJE1CqMhP-Zy98QueXA@mail.gmail.com>
[not found] ` <CAJWu+opsWVBDA8R-wVhhn2G_6h1LsMwzRDE=gMruZpFG+AH5zQ@mail.gmail.com>
[not found] ` <CAJWu+oo8W9TVexZhhOs4P-DW1bH5DSjAzuV8QZMxvt9XHbRnJg@mail.gmail.com>
2021-04-23 8:16 ` Instructions for clock sync for tracing host/guest Tzvetomir Stoyanov
2021-04-25 18:29 ` Steven Rostedt
2021-04-26 10:39 ` Tzvetomir Stoyanov
2021-04-26 12:56 ` Steven Rostedt
2021-04-26 13:24 ` Dario Faggioli
2021-04-26 13:51 ` Tzvetomir Stoyanov
[not found] ` <CAJWu+orjdLAdcUJKWj6f8gUtXUzBcvJEPeKjtVZ7P+EpiptF0w@mail.gmail.com>
2021-04-23 11:33 ` Steven Rostedt
2021-04-23 15:49 ` Joel Fernandes
2021-04-26 10:58 ` Tzvetomir Stoyanov
2021-04-26 12:44 ` Steven Rostedt
2021-04-26 12:59 ` Tzvetomir Stoyanov
2021-04-26 14:11 ` Dario Faggioli
2021-04-26 14:51 ` Steven Rostedt [this message]
2021-04-26 15:02 ` Tzvetomir Stoyanov
2021-04-26 15:31 ` Steven Rostedt
2021-04-26 15:37 ` Steven Rostedt
2021-04-26 15:44 ` Dario Faggioli
2021-04-26 15:38 ` Dario Faggioli
2021-04-26 15:50 ` Steven Rostedt
2021-04-26 16:10 ` Dario Faggioli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210426105111.288280bb@gandalf.local.home \
--to=rostedt@goodmis.org \
--cc=dfaggioli@suse.com \
--cc=joelaf@google.com \
--cc=linux-trace-devel@vger.kernel.org \
--cc=tz.stoyanov@gmail.com \
--cc=y.karadz@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).