All of lore.kernel.org
 help / color / mirror / Atom feed
From: Krish Sadhukhan <krish.sadhukhan@oracle.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>
Cc: kvm@vger.kernel.org, jmattson@google.com, vkuznets@redhat.com,
	wanpengli@tencent.com, joro@8bytes.org
Subject: Re: [PATCH] KVM: nVMX: nSVM: Show guest mode in kvm_{entry,exit} tracepoints
Date: Mon, 2 Aug 2021 15:21:08 -0700	[thread overview]
Message-ID: <c0f5ae5d-da93-8877-ce00-ee87b0b3650c@oracle.com> (raw)
In-Reply-To: <68082174-4137-db39-362c-975931688453@redhat.com>


On 8/2/21 9:39 AM, Paolo Bonzini wrote:
> On 02/08/21 18:34, Sean Christopherson wrote:
>> On Mon, Aug 02, 2021, Paolo Bonzini wrote:
>>> On 21/06/21 22:43, Krish Sadhukhan wrote:
>>>> With this patch KVM entry and exit tracepoints will
>>>> show "guest_mode = 0" if it is a guest and "guest_mode = 1" if it is a
>>>> nested guest.
>>>
>>> What about adding a "(nested)" suffix for L2, and nothing for L1?
>>
>> That'd work too, though it would be nice to get vmcx12 printed as 
>> well so that
>> it would be possible to determine which L2 is running without having 
>> to cross-
>> reference other tracepoints.
>
> Yes, it would be nice but it would also clutter the output a bit.
> It's like what we have already in kvm_inj_exception:
>
>         TP_printk("%s (0x%x)",
>                   __print_symbolic(__entry->exception, 
> kvm_trace_sym_exc),
>                   /* FIXME: don't print error_code if not present */
>                   __entry->has_error ? __entry->error_code : 0)
>
> It could be done with a trace-cmd plugin, but that creates other 
> issues since
> it essentially forces the tracepoints to have a stable API.
>
> Paolo


Also, the vmcs/vmcb address is vCPU-specific, so if L2 runs on 10 vCPUs, 
traces will show 10 different addresses for the same L2 and it's not 
convenient on a cloud host where hundreds of L1s and L2s run. IMHO, the 
cleanest solution is if the hardware vendors can provide a UUID space in 
the VMCS/VMCB itself. Today, we can print the UUID of L1 (by getting it 
from QEMU), but there's no way we can find out the one of L2.

OK, for now, I will add "nested" for L2 and nothing for L1.


  reply	other threads:[~2021-08-02 22:22 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-21 20:43 [PATCH] KVM: nVMX: nSVM: Show guest mode in kvm_{entry,exit} tracepoints Krish Sadhukhan
2021-06-21 20:43 ` Krish Sadhukhan
2021-07-30 19:37   ` Sean Christopherson
2021-08-02 14:18   ` Paolo Bonzini
2021-08-02 16:34     ` Sean Christopherson
2021-08-02 16:39       ` Paolo Bonzini
2021-08-02 22:21         ` Krish Sadhukhan [this message]
2021-08-02 23:20           ` Jim Mattson
2021-08-03  0:03             ` Sean Christopherson

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=c0f5ae5d-da93-8877-ce00-ee87b0b3650c@oracle.com \
    --to=krish.sadhukhan@oracle.com \
    --cc=jmattson@google.com \
    --cc=joro@8bytes.org \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=seanjc@google.com \
    --cc=vkuznets@redhat.com \
    --cc=wanpengli@tencent.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.