From: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
To: Maxim Levitsky <mlevitsk@redhat.com>,
linux-kernel@vger.kernel.org, kvm@vger.kernel.org
Cc: pbonzini@redhat.com, seanjc@google.com, joro@8bytes.org,
jon.grimm@amd.com, wei.huang2@amd.com, terry.bowman@amd.com
Subject: Re: [RFCv2 PATCH 08/12] KVM: SVM: Adding support for configuring x2APIC MSRs interception
Date: Tue, 5 Apr 2022 08:45:07 +0700 [thread overview]
Message-ID: <7f47ea7f-73ee-9010-df8c-9c6c1fefc98d@amd.com> (raw)
In-Reply-To: <426b70a407b774627187e64b011a64bfb7214b36.camel@redhat.com>
Hi Maxim,
On 3/24/22 10:19 PM, Maxim Levitsky wrote:
> I did some homework on this, and it looks mostly correct.
>
> However I do wonder if we need that separation of svm_direct_access_msrs and
> direct_access_x2apic_msrs. I understand the peformance wise, the
> direct_access_msrs will get longer otherwise (but we don't have to allow
> all x2apic msr range, but only known x2apic registers which aren't that many).
>
> One of the things that I see that*is* broken (at least in theory) is nesting.
>
> init_msrpm_offsets goes over direct_access_msrs and puts the offsets of corresponding
> bits in the hardware msr bitmap into the 'msrpm_offsets'
>
> Then on nested VM entry the nested_svm_vmrun_msrpm uses this list to merge the nested
> and host MSR bitmaps.
> Without x2apic msrs, this means that if L1 chooses to allow L2 to access its x2apic msrs
> it won't work. It is not something that L1 would do often but still allowed to overall.
>
> Honestly we need to write track the nested MSR bitmap to avoid updating it on each VM entry,
> then with this hot path eliminated, I don't think there are other places which update
> the msr interception often, and thus we could just put the x2apic msrs into the
> direct_access_msrs.
>
> Best regards,
> Maxim Levitsky
Good point. I will fix this.
Suravee
next prev parent reply other threads:[~2022-04-05 2:39 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-08 16:39 [RFCv2 PATCH 00/12] Introducing AMD x2APIC Virtualization (x2AVIC) support Suravee Suthikulpanit
2022-03-08 16:39 ` [RFCv2 PATCH 01/12] x86/cpufeatures: Introduce x2AVIC CPUID bit Suravee Suthikulpanit
2022-03-08 16:39 ` [RFCv2 PATCH 02/12] KVM: x86: lapic: Rename [GET/SET]_APIC_DEST_FIELD to [GET/SET]_XAPIC_DEST_FIELD Suravee Suthikulpanit
2022-03-24 10:30 ` Maxim Levitsky
2022-03-08 16:39 ` [RFCv2 PATCH 03/12] KVM: SVM: Detect X2APIC virtualization (x2AVIC) support Suravee Suthikulpanit
2022-03-24 10:53 ` Maxim Levitsky
2022-03-08 16:39 ` [RFCv2 PATCH 04/12] KVM: SVM: Update max number of vCPUs supported for x2AVIC mode Suravee Suthikulpanit
2022-03-24 11:13 ` Maxim Levitsky
2022-03-08 16:39 ` [RFCv2 PATCH 05/12] KVM: SVM: Update avic_kick_target_vcpus to support 32-bit APIC ID Suravee Suthikulpanit
2022-03-24 11:36 ` Maxim Levitsky
2022-03-08 16:39 ` [RFCv2 PATCH 06/12] KVM: SVM: Do not update logical APIC ID table when in x2APIC mode Suravee Suthikulpanit
2022-03-24 11:37 ` Maxim Levitsky
2022-03-08 16:39 ` [RFCv2 PATCH 07/12] KVM: SVM: Introduce helper function kvm_get_apic_id Suravee Suthikulpanit
2022-03-24 14:14 ` Maxim Levitsky
2022-04-05 3:58 ` Suravee Suthikulpanit
2022-04-05 9:36 ` Suravee Suthikulpanit
2022-03-08 16:39 ` [RFCv2 PATCH 08/12] KVM: SVM: Adding support for configuring x2APIC MSRs interception Suravee Suthikulpanit
2022-03-24 15:19 ` Maxim Levitsky
2022-04-05 1:45 ` Suravee Suthikulpanit [this message]
2022-03-08 16:39 ` [RFCv2 PATCH 09/12] KVM: SVM: Refresh AVIC settings when changing APIC mode Suravee Suthikulpanit
2022-03-24 15:35 ` Maxim Levitsky
2022-03-31 4:04 ` Suravee Suthikulpanit
2022-03-08 16:39 ` [RFCv2 PATCH 10/12] KVM: SVM: Introduce helper functions to (de)activate AVIC and x2AVIC Suravee Suthikulpanit
2022-03-24 15:40 ` Maxim Levitsky
2022-03-08 16:39 ` [RFCv2 PATCH 11/12] KVM: SVM: Do not throw warning when calling avic_vcpu_load on a running vcpu Suravee Suthikulpanit
2022-03-24 15:42 ` Maxim Levitsky
2022-03-08 16:39 ` [RFCv2 PATCH 12/12] KVM: SVM: Do not inhibit APICv when x2APIC is present Suravee Suthikulpanit
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=7f47ea7f-73ee-9010-df8c-9c6c1fefc98d@amd.com \
--to=suravee.suthikulpanit@amd.com \
--cc=jon.grimm@amd.com \
--cc=joro@8bytes.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mlevitsk@redhat.com \
--cc=pbonzini@redhat.com \
--cc=seanjc@google.com \
--cc=terry.bowman@amd.com \
--cc=wei.huang2@amd.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
all inboxes | Powered by JetHome®