fix #1537: cherry-pick AMD NPT / IOMMU fix
This commit is contained in:
		
							parent
							
								
									aac9d58a8e
								
							
						
					
					
						commit
						9e94988ca1
					
				@ -1,7 +1,7 @@
 | 
				
			|||||||
From 9d8a1db451ee4bcf6a6b7cb99facc922e67ef968 Mon Sep 17 00:00:00 2001
 | 
					From c49905d2761e1fce33b211dca7b7d9f1f1f2829d Mon Sep 17 00:00:00 2001
 | 
				
			||||||
From: Ben Hutchings <ben@decadent.org.uk>
 | 
					From: Ben Hutchings <ben@decadent.org.uk>
 | 
				
			||||||
Date: Tue, 12 May 2015 19:29:22 +0100
 | 
					Date: Tue, 12 May 2015 19:29:22 +0100
 | 
				
			||||||
Subject: [PATCH 1/7] Make mkcompile_h accept an alternate timestamp string
 | 
					Subject: [PATCH 01/10] Make mkcompile_h accept an alternate timestamp string
 | 
				
			||||||
MIME-Version: 1.0
 | 
					MIME-Version: 1.0
 | 
				
			||||||
Content-Type: text/plain; charset=UTF-8
 | 
					Content-Type: text/plain; charset=UTF-8
 | 
				
			||||||
Content-Transfer-Encoding: 8bit
 | 
					Content-Transfer-Encoding: 8bit
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
From a940827b3da8eeb851fc6a6e620f1867a55900d1 Mon Sep 17 00:00:00 2001
 | 
					From fcf6881a32da892f831d277e13f8a30dfaa280c4 Mon Sep 17 00:00:00 2001
 | 
				
			||||||
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
 | 
					From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
 | 
				
			||||||
Date: Thu, 14 Sep 2017 11:02:18 +0200
 | 
					Date: Thu, 14 Sep 2017 11:02:18 +0200
 | 
				
			||||||
Subject: [PATCH 2/7] bridge: keep MAC of first assigned port
 | 
					Subject: [PATCH 02/10] bridge: keep MAC of first assigned port
 | 
				
			||||||
MIME-Version: 1.0
 | 
					MIME-Version: 1.0
 | 
				
			||||||
Content-Type: text/plain; charset=UTF-8
 | 
					Content-Type: text/plain; charset=UTF-8
 | 
				
			||||||
Content-Transfer-Encoding: 8bit
 | 
					Content-Transfer-Encoding: 8bit
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
From 218bc45e33a23e8d9460389d9894a3acaa5e3bff Mon Sep 17 00:00:00 2001
 | 
					From 3fc2d021182ae384089c4d8e5e0f1528198fdc60 Mon Sep 17 00:00:00 2001
 | 
				
			||||||
From: Mark Weiman <mark.weiman@markzz.com>
 | 
					From: Mark Weiman <mark.weiman@markzz.com>
 | 
				
			||||||
Date: Sat, 29 Jul 2017 09:15:32 -0400
 | 
					Date: Sat, 29 Jul 2017 09:15:32 -0400
 | 
				
			||||||
Subject: [PATCH 3/7] pci: Enable overrides for missing ACS capabilities
 | 
					Subject: [PATCH 03/10] pci: Enable overrides for missing ACS capabilities
 | 
				
			||||||
 (4.12+)
 | 
					 (4.12+)
 | 
				
			||||||
MIME-Version: 1.0
 | 
					MIME-Version: 1.0
 | 
				
			||||||
Content-Type: text/plain; charset=UTF-8
 | 
					Content-Type: text/plain; charset=UTF-8
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
From 271e69f077ebaa56dc8953e679de08a7005d3ea9 Mon Sep 17 00:00:00 2001
 | 
					From 71d47f9926c851d3ab2671a4af360073a5c42092 Mon Sep 17 00:00:00 2001
 | 
				
			||||||
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
 | 
					From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
 | 
				
			||||||
Date: Thu, 14 Sep 2017 11:09:58 +0200
 | 
					Date: Thu, 14 Sep 2017 11:09:58 +0200
 | 
				
			||||||
Subject: [PATCH 4/7] kvm: disable default dynamic halt polling growth
 | 
					Subject: [PATCH 04/10] kvm: disable default dynamic halt polling growth
 | 
				
			||||||
MIME-Version: 1.0
 | 
					MIME-Version: 1.0
 | 
				
			||||||
Content-Type: text/plain; charset=UTF-8
 | 
					Content-Type: text/plain; charset=UTF-8
 | 
				
			||||||
Content-Transfer-Encoding: 8bit
 | 
					Content-Transfer-Encoding: 8bit
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
From c3827fb6d1d80856ca9107758e07ba677bc0d43b Mon Sep 17 00:00:00 2001
 | 
					From e59875620529310ad6d9270baba50178d77d64ca Mon Sep 17 00:00:00 2001
 | 
				
			||||||
From: Waiman Long <longman@redhat.com>
 | 
					From: Waiman Long <longman@redhat.com>
 | 
				
			||||||
Date: Thu, 17 Aug 2017 15:33:09 -0400
 | 
					Date: Thu, 17 Aug 2017 15:33:09 -0400
 | 
				
			||||||
Subject: [PATCH 5/7] cgroup: Add mount flag to enable cpuset to use v2
 | 
					Subject: [PATCH 05/10] cgroup: Add mount flag to enable cpuset to use v2
 | 
				
			||||||
 behavior in v1 cgroup
 | 
					 behavior in v1 cgroup
 | 
				
			||||||
MIME-Version: 1.0
 | 
					MIME-Version: 1.0
 | 
				
			||||||
Content-Type: text/plain; charset=UTF-8
 | 
					Content-Type: text/plain; charset=UTF-8
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
From 464d0b2e2601e16236e25bfc3113ce717f7a5d02 Mon Sep 17 00:00:00 2001
 | 
					From 7bc70a1a94ea2c9fe9db6b33bd1fac100290b94f Mon Sep 17 00:00:00 2001
 | 
				
			||||||
From: Waiman Long <longman@redhat.com>
 | 
					From: Waiman Long <longman@redhat.com>
 | 
				
			||||||
Date: Thu, 17 Aug 2017 15:33:10 -0400
 | 
					Date: Thu, 17 Aug 2017 15:33:10 -0400
 | 
				
			||||||
Subject: [PATCH 6/7] cpuset: Allow v2 behavior in v1 cgroup
 | 
					Subject: [PATCH 06/10] cpuset: Allow v2 behavior in v1 cgroup
 | 
				
			||||||
MIME-Version: 1.0
 | 
					MIME-Version: 1.0
 | 
				
			||||||
Content-Type: text/plain; charset=UTF-8
 | 
					Content-Type: text/plain; charset=UTF-8
 | 
				
			||||||
Content-Transfer-Encoding: 8bit
 | 
					Content-Transfer-Encoding: 8bit
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
From c7e2dabc8654e9bf08849bd33d3aa0ba9a13f2b2 Mon Sep 17 00:00:00 2001
 | 
					From 4255a36150de32fd3a21f4030210f87a5f58caf1 Mon Sep 17 00:00:00 2001
 | 
				
			||||||
From: =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= <rkrcmar@redhat.com>
 | 
					From: =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= <rkrcmar@redhat.com>
 | 
				
			||||||
Date: Thu, 30 Nov 2017 19:05:45 +0100
 | 
					Date: Thu, 30 Nov 2017 19:05:45 +0100
 | 
				
			||||||
Subject: [PATCH 07/13] KVM: x86: fix APIC page invalidation
 | 
					Subject: [PATCH 07/10] KVM: x86: fix APIC page invalidation
 | 
				
			||||||
MIME-Version: 1.0
 | 
					MIME-Version: 1.0
 | 
				
			||||||
Content-Type: text/plain; charset=UTF-8
 | 
					Content-Type: text/plain; charset=UTF-8
 | 
				
			||||||
Content-Transfer-Encoding: 8bit
 | 
					Content-Transfer-Encoding: 8bit
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
From 15bea51dda49a0403a9a84fb26f3376636d2a3c2 Mon Sep 17 00:00:00 2001
 | 
					From f490c15a1bd99597f97fcff35c5f528de38d5b1e Mon Sep 17 00:00:00 2001
 | 
				
			||||||
From: Wei Xu <wexu@redhat.com>
 | 
					From: Wei Xu <wexu@redhat.com>
 | 
				
			||||||
Date: Fri, 1 Dec 2017 05:10:36 -0500
 | 
					Date: Fri, 1 Dec 2017 05:10:36 -0500
 | 
				
			||||||
Subject: [PATCH 08/13] vhost: fix skb leak in handle_rx()
 | 
					Subject: [PATCH 08/10] vhost: fix skb leak in handle_rx()
 | 
				
			||||||
MIME-Version: 1.0
 | 
					MIME-Version: 1.0
 | 
				
			||||||
Content-Type: text/plain; charset=UTF-8
 | 
					Content-Type: text/plain; charset=UTF-8
 | 
				
			||||||
Content-Transfer-Encoding: 8bit
 | 
					Content-Transfer-Encoding: 8bit
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
From ccc0b8662620d562798183b77bcd30125d2d14f3 Mon Sep 17 00:00:00 2001
 | 
					From afa7a3bd434708e76f9cc82ab84194fb85e86570 Mon Sep 17 00:00:00 2001
 | 
				
			||||||
From: Wei Xu <wexu@redhat.com>
 | 
					From: Wei Xu <wexu@redhat.com>
 | 
				
			||||||
Date: Fri, 1 Dec 2017 05:10:37 -0500
 | 
					Date: Fri, 1 Dec 2017 05:10:37 -0500
 | 
				
			||||||
Subject: [PATCH 09/13] tun: free skb in early errors
 | 
					Subject: [PATCH 09/10] tun: free skb in early errors
 | 
				
			||||||
MIME-Version: 1.0
 | 
					MIME-Version: 1.0
 | 
				
			||||||
Content-Type: text/plain; charset=UTF-8
 | 
					Content-Type: text/plain; charset=UTF-8
 | 
				
			||||||
Content-Transfer-Encoding: 8bit
 | 
					Content-Transfer-Encoding: 8bit
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										56
									
								
								patches/kernel/0010-KVM-SVM-obey-guest-PAT.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								patches/kernel/0010-KVM-SVM-obey-guest-PAT.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,56 @@
 | 
				
			|||||||
 | 
					From 08d71587b34c95d5461a6bdd946dc1dd46888bf3 Mon Sep 17 00:00:00 2001
 | 
				
			||||||
 | 
					From: Paolo Bonzini <pbonzini@redhat.com>
 | 
				
			||||||
 | 
					Date: Thu, 26 Oct 2017 09:13:27 +0200
 | 
				
			||||||
 | 
					Subject: [PATCH 10/10] KVM: SVM: obey guest PAT
 | 
				
			||||||
 | 
					MIME-Version: 1.0
 | 
				
			||||||
 | 
					Content-Type: text/plain; charset=UTF-8
 | 
				
			||||||
 | 
					Content-Transfer-Encoding: 8bit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					For many years some users of assigned devices have reported worse
 | 
				
			||||||
 | 
					performance on AMD processors with NPT than on AMD without NPT,
 | 
				
			||||||
 | 
					Intel or bare metal.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The reason turned out to be that SVM is discarding the guest PAT
 | 
				
			||||||
 | 
					setting and uses the default (PA0=PA4=WB, PA1=PA5=WT, PA2=PA6=UC-,
 | 
				
			||||||
 | 
					PA3=UC).  The guest might be using a different setting, and
 | 
				
			||||||
 | 
					especially might want write combining but isn't getting it
 | 
				
			||||||
 | 
					(instead getting slow UC or UC- accesses).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Thanks a lot to geoff@hostfission.com for noticing the relation
 | 
				
			||||||
 | 
					to the g_pat setting.  The patch has been tested also by a bunch
 | 
				
			||||||
 | 
					of people on VFIO users forums.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Fixes: 709ddebf81cb40e3c36c6109a7892e8b93a09464
 | 
				
			||||||
 | 
					Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=196409
 | 
				
			||||||
 | 
					Cc: stable@vger.kernel.org
 | 
				
			||||||
 | 
					Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
 | 
				
			||||||
 | 
					Reviewed-by: David Hildenbrand <david@redhat.com>
 | 
				
			||||||
 | 
					Tested-by: Nick Sarnie <commendsarnex@gmail.com>
 | 
				
			||||||
 | 
					Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
 | 
				
			||||||
 | 
					(cherry picked from commit 15038e14724799b8c205beb5f20f9e54896013c3)
 | 
				
			||||||
 | 
					Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					 arch/x86/kvm/svm.c | 7 +++++++
 | 
				
			||||||
 | 
					 1 file changed, 7 insertions(+)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
 | 
				
			||||||
 | 
					index af256b786a70..af09baa3d736 100644
 | 
				
			||||||
 | 
					--- a/arch/x86/kvm/svm.c
 | 
				
			||||||
 | 
					+++ b/arch/x86/kvm/svm.c
 | 
				
			||||||
 | 
					@@ -3626,6 +3626,13 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr)
 | 
				
			||||||
 | 
					 	u32 ecx = msr->index;
 | 
				
			||||||
 | 
					 	u64 data = msr->data;
 | 
				
			||||||
 | 
					 	switch (ecx) {
 | 
				
			||||||
 | 
					+	case MSR_IA32_CR_PAT:
 | 
				
			||||||
 | 
					+		if (!kvm_mtrr_valid(vcpu, MSR_IA32_CR_PAT, data))
 | 
				
			||||||
 | 
					+			return 1;
 | 
				
			||||||
 | 
					+		vcpu->arch.pat = data;
 | 
				
			||||||
 | 
					+		svm->vmcb->save.g_pat = data;
 | 
				
			||||||
 | 
					+		mark_dirty(svm->vmcb, VMCB_NPT);
 | 
				
			||||||
 | 
					+		break;
 | 
				
			||||||
 | 
					 	case MSR_IA32_TSC:
 | 
				
			||||||
 | 
					 		kvm_write_tsc(vcpu, msr);
 | 
				
			||||||
 | 
					 		break;
 | 
				
			||||||
 | 
					-- 
 | 
				
			||||||
 | 
					2.14.2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user