From: bugzilla-daemon@bugzilla.kernel.org
To: kvm@vger.kernel.org
Subject: [Bug 107561] 4.2 breaks PCI passthrough in QEMU/KVM
Date: Sat, 21 Nov 2015 10:03:23 +0000 [thread overview]
Message-ID: <bug-107561-28872-5wlIBac3Ts@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-107561-28872@https.bugzilla.kernel.org/>
https://bugzilla.kernel.org/show_bug.cgi?id=107561
schefister@gmail.com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |schefister@gmail.com
--- Comment #4 from schefister@gmail.com ---
I narrowed it down earlier to "simplify kvm_mtrr_get_guest_memory_type".
Actually this was the commit to break it, but it is only a small part of the
feauture set implementing vMTRR. To my knowledge 4.1.x versions didn't have
this code set at all. It was introduced in 4.2.
What kvm_mtrr_get_guest_memory_type() does is basically decides what cache type
to use (Uncachable, Write-Back, or Write-Through) based on the function
mtrr_for_each_mem_type(). This kvm_mtrr_get_guest_memory_type function is only
called by vmx_get_mt_mask. This is all related to how the hardware is set up
regarding IOMMU, MMIO, VT-d and EPT andress translation.
For experimenting purposes I simply modified kvm_mtrr_get_guest_memory_type to
always return MTRR_TYPE_WRBACK and that fixed the issue. Guest boots correctly.
Although I know, that hardcoding Write-back mode is not a viable long-term
solution. It seems as the new function (in 4.2 and onward) does not return the
proper cache type in case of pci passthrough configurations.
I would also like to point out, that
https://bugzilla.kernel.org/show_bug.cgi?id=107921 may be related. The other
bug mentions very similar hardware to mine, and issues started the same time
(upgrading to 4.2.x) with a pci passthrough configuration.
--
You are receiving this mail because:
You are watching the assignee of the bug.
next prev parent reply other threads:[~2015-11-21 10:03 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-09 12:18 [Bug 107561] New: 4.2 breaks PCI passthrough in QEMU/KVM bugzilla-daemon
2015-11-12 22:20 ` [Bug 107561] " bugzilla-daemon
2015-11-13 0:43 ` bugzilla-daemon
2015-11-16 2:12 ` bugzilla-daemon
2015-11-21 10:03 ` bugzilla-daemon [this message]
2015-11-22 23:45 ` bugzilla-daemon
2015-11-22 23:49 ` bugzilla-daemon
2015-11-22 23:51 ` bugzilla-daemon
2015-11-23 18:40 ` bugzilla-daemon
2015-12-10 21:22 ` bugzilla-daemon
2015-12-10 21:24 ` bugzilla-daemon
2015-12-10 21:51 ` bugzilla-daemon
2015-12-10 22:23 ` bugzilla-daemon
2015-12-11 22:01 ` bugzilla-daemon
2015-12-12 5:52 ` bugzilla-daemon
2015-12-14 15:56 ` bugzilla-daemon
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=bug-107561-28872-5wlIBac3Ts@https.bugzilla.kernel.org/ \
--to=bugzilla-daemon@bugzilla.kernel.org \
--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.