From: "Radim Krčmář" <rkrcmar@redhat.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: kvm <kvm@vger.kernel.org>
Subject: Re: KVM: How does is PAT emulation supposed to work?
Date: Fri, 17 Apr 2015 18:43:14 +0200 [thread overview]
Message-ID: <20150417164310.GA3419@potion.brq.redhat.com> (raw)
In-Reply-To: <552B5128.4010909@siemens.com>
2015-04-13 07:16+0200, Jan Kiszka:
> Hi all,
>
> while digging into the PAT topic for Jailhouse, I also wondered how KVM
> deals with it. And I'm still not getting it complete - or there is a bug:
>
> KVM intercepts all guest writes to the PAT MSR and instead keeps the
> guest value in vcpu->arch.pat. But, besides returning that value back on
> read accesses, arch.pat has no other purpose.
>
> On Intel, we only seem to have proper emulation - through hardware -
> when VMX supports PAT switching (see vmx_set_msr). On AMD, the situation
> is even worse as the g_pat save field is not updated at all on PAT
> writes. That seems to be a low hanging fruit to bring svm on the same
> support level as vmx.
>
> Or am I missing something?
I don't think so, it looks buggy ... we could switch PAT manually, if it
isn't accelerated by hardware.
> PS: If someone has a good idea for a simple test case on machines
> without IOMMU (like my current boxes), thus without a chance to use
> device pass-through to stress guest PAT settings, I would be all ears.
Not a good one: KVM sets VMX_EPT_IPAT_BIT for RAM unless
kvm_arch_has_noncoherent_dma(). You can comment the line in
vmx_get_mt_mask(), or call kvm_arch_register_noncoherent_dma(),
for guest PAT to work on normal memory.
next prev parent reply other threads:[~2015-04-17 16:43 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-13 5:16 KVM: How does is PAT emulation supposed to work? Jan Kiszka
2015-04-13 6:58 ` [RFC][PATCH] KVM: SVM: Sync g_pat with guest-written PAT value Jan Kiszka
2015-04-17 16:59 ` Radim Krčmář
2015-04-20 16:14 ` Radim Krčmář
2015-04-20 17:16 ` Radim Krčmář
2015-04-20 17:21 ` Jan Kiszka
2015-04-20 17:33 ` Radim Krčmář
2015-04-20 17:37 ` Jan Kiszka
2015-04-20 17:45 ` Jan Kiszka
2015-04-20 18:33 ` Radim Krčmář
2015-04-20 18:41 ` Jan Kiszka
2015-04-21 12:10 ` Radim Krčmář
2015-04-21 12:11 ` Paolo Bonzini
2015-04-20 17:22 ` Radim Krčmář
2015-04-20 17:25 ` [PATCH v2] " Jan Kiszka
2015-04-20 17:35 ` Radim Krčmář
2015-04-21 11:09 ` Paolo Bonzini
2015-04-21 11:25 ` Jan Kiszka
2015-04-21 11:32 ` Paolo Bonzini
2015-04-21 11:56 ` Jan Kiszka
2015-04-21 12:12 ` Paolo Bonzini
2015-04-21 12:21 ` Radim Krčmář
2015-05-24 15:28 ` Jan Kiszka
2016-02-09 19:25 ` Jan Kiszka
2015-04-17 16:43 ` Radim Krčmář [this message]
2015-04-17 17:12 ` KVM: How does is PAT emulation supposed to work? Jan Kiszka
2015-04-17 20:28 ` Radim Krčmář
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=20150417164310.GA3419@potion.brq.redhat.com \
--to=rkrcmar@redhat.com \
--cc=jan.kiszka@siemens.com \
--cc=kvm@vger.kernel.org \
/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.