All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vitaly Kuznetsov <vkuznets@redhat.com>
To: Maxim Levitsky <mlevitsk@redhat.com>
Cc: "kvm@vger.kernel.org" <kvm@vger.kernel.org>
Subject: Re: warning in kvm_hv_invalidate_tsc_page due to writes to guest memory from VM ioctl context
Date: Tue, 08 Feb 2022 17:01:38 +0100	[thread overview]
Message-ID: <87bkzh9wkd.fsf@redhat.com> (raw)
In-Reply-To: <060ce89597cfbc85ecd300bdd5c40bb571a16993.camel@redhat.com>

Maxim Levitsky <mlevitsk@redhat.com> writes:

> On Tue, 2022-02-08 at 16:15 +0100, Vitaly Kuznetsov wrote:
>> 
>> "hv-vapic" enables so-called "VP Assist" page and Enlightened VMCS GPA
>> sits there, it is used instead of VMPTRLD (which becomes unsupported)
>> 
>> Take a look at the newly introduced "hv-apicv"/"hv-avic" (the same
>> thing) in QEMU: 
>> 
>> commit e1f9a8e8c90ae54387922e33e5ac4fd759747d01
>> Author: Vitaly Kuznetsov <vkuznets@redhat.com>
>> Date:   Thu Sep 2 11:35:28 2021 +0200
>> 
>>     i386: Implement pseudo 'hv-avic' ('hv-apicv') enlightenment
>> 
>> when enabled, HV_APIC_ACCESS_RECOMMENDED is not set even with "hv-vapic"
>> (but HV_APIC_ACCESS_AVAILABLE remains). 
>> 
>
> Cool, I didn't expect this. I thought that hv-vapic only enables the AutoEOI
> deprecation bit.
>
> This needs to be updated in hyperv.txt in qemu - it currently states that
> hv-evmcs disables posted interrupts (that is APICv) 

EVMCS disables (not only) posted interrupts feature for nested
guests. To be precise, it disables the following:

#define EVMCS1_UNSUPPORTED_PINCTRL (PIN_BASED_POSTED_INTR | \
                                    PIN_BASED_VMX_PREEMPTION_TIMER)
#define EVMCS1_UNSUPPORTED_2NDEXEC                                      \
        (SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY |                         \
         SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES |                      \
         SECONDARY_EXEC_APIC_REGISTER_VIRT |                            \
         SECONDARY_EXEC_ENABLE_PML |                                    \
         SECONDARY_EXEC_ENABLE_VMFUNC |                                 \
         SECONDARY_EXEC_SHADOW_VMCS |                                   \
         SECONDARY_EXEC_TSC_SCALING |                                   \
         SECONDARY_EXEC_PAUSE_LOOP_EXITING)
#define EVMCS1_UNSUPPORTED_VMEXIT_CTRL                                  \
        (VM_EXIT_LOAD_IA32_PERF_GLOBAL_CTRL |                           \
         VM_EXIT_SAVE_VMX_PREEMPTION_TIMER)
#define EVMCS1_UNSUPPORTED_VMENTRY_CTRL (VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL)
#define EVMCS1_UNSUPPORTED_VMFUNC (VMX_VMFUNC_EPTP_SWITCHING)

> and hv-avic only mentions AutoEOI feature.

True, this is hidden in "The enlightenment allows to use Hyper-V SynIC
with hardware APICv/AVIC enabled". Any suggestions on how to improve
this are more than welcome!.

-- 
Vitaly


  reply	other threads:[~2022-02-08 16:01 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-08 14:59 warning in kvm_hv_invalidate_tsc_page due to writes to guest memory from VM ioctl context Maxim Levitsky
2022-02-08 15:15 ` Vitaly Kuznetsov
2022-02-08 15:34   ` Maxim Levitsky
2022-02-08 16:01     ` Vitaly Kuznetsov [this message]
2022-02-08 17:06       ` Sean Christopherson
2022-02-09 12:44         ` Vitaly Kuznetsov
2022-02-09 16:22           ` Sean Christopherson
2022-02-09 17:33             ` Vitaly Kuznetsov
2022-02-10 13:44               ` Vitaly Kuznetsov
2022-02-14 14:22                 ` Vitaly Kuznetsov

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=87bkzh9wkd.fsf@redhat.com \
    --to=vkuznets@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=mlevitsk@redhat.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.