Browse Source

build: rebase and refactor kernel patches

Fabian Grünbichler 8 years ago
parent
commit
b9e76370ab

+ 1 - 7
Makefile

@@ -236,13 +236,7 @@ ${KERNEL_SRC}/README: ${KERNEL_SRC_SUBMODULE} | submodules
 	rm -rf ${KERNEL_SRC}
 	cp -a ${KERNEL_SRC_SUBMODULE} ${KERNEL_SRC}
 	cat ${KERNEL_SRC}/debian.master/config/config.common.ubuntu ${KERNEL_SRC}/debian.master/config/${ARCH}/config.common.${ARCH} ${KERNEL_SRC}/debian.master/config/${ARCH}/config.flavour.generic > ${KERNEL_CFG_ORG}
-	cd ${KERNEL_SRC}; patch -p1 < ../uname-version-timestamp.patch
-	cd ${KERNEL_SRC}; patch -p1 <../bridge-patch.diff
-	#cd ${KERNEL_SRC}; patch -p1 <../bridge-forward-ipv6-neighbor-solicitation.patch
-	#cd ${KERNEL_SRC}; patch -p1 <../add-empty-ndo_poll_controller-to-veth.patch
-	cd ${KERNEL_SRC}; patch -p1 <../override_for_missing_acs_capabilities.patch
-	#cd ${KERNEL_SRC}; patch -p1 <../vhost-net-extend-device-allocation-to-vmalloc.patch
-	cd ${KERNEL_SRC}; patch -p1 < ../kvm-dynamic-halt-polling-disable-default.patch
+	cd ${KERNEL_SRC}; for patch in ../patches/kernel/*.patch; do patch --verbose -p1 < $${patch}; done
 	sed -i ${KERNEL_SRC}/Makefile -e 's/^EXTRAVERSION.*$$/EXTRAVERSION=${EXTRAVERSION}/'
 	touch $@
 

+ 0 - 14
bridge-patch.diff

@@ -1,14 +0,0 @@
---- linux-2.6-3.10.0/net/bridge/br_stp_if.c.orig	2013-11-26 22:20:20.000000000 +0100
-+++ linux-2.6-3.10.0/net/bridge/br_stp_if.c	2013-12-17 08:42:10.004428223 +0100
-@@ -228,10 +228,7 @@
- 		return false;
- 
- 	list_for_each_entry(p, &br->port_list, list) {
--		if (addr == br_mac_zero ||
--		    memcmp(p->dev->dev_addr, addr, ETH_ALEN) < 0)
--			addr = p->dev->dev_addr;
--
-+	        addr = p->dev->dev_addr;
- 	}
- 
- 	if (ether_addr_equal(br->bridge_id.addr, addr))

+ 0 - 12
kvm-dynamic-halt-polling-disable-default.patch

@@ -1,12 +0,0 @@
-diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
---- a/virt/kvm/kvm_main.c 2016-05-12 10:39:37.540387127 +0200
-+++ b/virt/kvm/kvm_main.c 2016-05-04 10:43:38.063996221 +0200
-@@ -75,7 +75,7 @@ static unsigned int halt_poll_ns = KVM_H
- EXPORT_SYMBOL_GPL(halt_poll_ns);
- 
- /* Default doubles per-vcpu halt_poll_ns. */
--unsigned int halt_poll_ns_grow = 2;
-+unsigned int halt_poll_ns_grow = 0;
- module_param(halt_poll_ns_grow, uint, S_IRUGO | S_IWUSR);
- EXPORT_SYMBOL_GPL(halt_poll_ns_grow);
- 

+ 15 - 2
uname-version-timestamp.patch → patches/kernel/0001-Make-mkcompile_h-accept-an-alternate-timestamp-strin.patch

@@ -1,7 +1,10 @@
+From 3e7aff6b22287eb04b8b5c4966b886b0ac1e8b06 Mon Sep 17 00:00:00 2001
 From: Ben Hutchings <[email protected]>
-Subject: Make mkcompile_h accept an alternate timestamp string
 Date: Tue, 12 May 2015 19:29:22 +0100
-Forwarded: not-needed
+Subject: [PATCH 1/4] Make mkcompile_h accept an alternate timestamp string
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
 
 We want to include the Debian version in the utsname::version string
 instead of a full timestamp string.  However, we still need to provide
@@ -11,6 +14,13 @@ kernel image reproducible.
 Make mkcompile_h use $KBUILD_BUILD_VERSION_TIMESTAMP in preference to
 $KBUILD_BUILD_TIMESTAMP.
 
+Signed-off-by: Fabian Grünbichler <[email protected]>
+---
+ scripts/mkcompile_h | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/scripts/mkcompile_h b/scripts/mkcompile_h
+index fd8fdb91581d..1e35ac9fc810 100755
 --- a/scripts/mkcompile_h
 +++ b/scripts/mkcompile_h
 @@ -37,10 +37,14 @@ else
@@ -31,3 +41,6 @@ $KBUILD_BUILD_TIMESTAMP.
  fi
  if test -z "$KBUILD_BUILD_USER"; then
  	LINUX_COMPILE_BY=$(whoami | sed 's/\\/\\\\/')
+-- 
+2.11.0
+

+ 38 - 0
patches/kernel/0002-bridge-keep-MAC-of-first-assigned-port.patch

@@ -0,0 +1,38 @@
+From 400ed0a6a0992f685b547e12f0fd5d35176e1275 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <[email protected]>
+Date: Thu, 14 Sep 2017 11:02:18 +0200
+Subject: [PATCH 2/4] bridge: keep MAC of first assigned port
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+original commit message:
+
+Default bridge changes MAC dynamically using smallest MAC of all
+connected ports (for no real reason). To avoid problems with ARP
+we simply use the MAC of the first connected port.
+
+Signed-off-by: Fabian Grünbichler <[email protected]>
+---
+ net/bridge/br_stp_if.c | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
+index 89110319ef0f..5e73fff65f47 100644
+--- a/net/bridge/br_stp_if.c
++++ b/net/bridge/br_stp_if.c
+@@ -259,10 +259,7 @@ bool br_stp_recalculate_bridge_id(struct net_bridge *br)
+ 		return false;
+ 
+ 	list_for_each_entry(p, &br->port_list, list) {
+-		if (addr == br_mac_zero ||
+-		    memcmp(p->dev->dev_addr, addr, ETH_ALEN) < 0)
+-			addr = p->dev->dev_addr;
+-
++		addr = p->dev->dev_addr;
+ 	}
+ 
+ 	if (ether_addr_equal(br->bridge_id.addr, addr))
+-- 
+2.11.0
+

+ 14 - 9
override_for_missing_acs_capabilities.patch → patches/kernel/0003-pci-Enable-overrides-for-missing-ACS-capabilities-4..patch

@@ -1,13 +1,16 @@
-From 14fa9884ba1082e0280e8d477e22df917326fca5 Mon Sep 17 00:00:00 2001
+From e39d70502f7a981f821243160501303b7ee26d52 Mon Sep 17 00:00:00 2001
 From: Mark Weiman <[email protected]>
 Date: Sat, 29 Jul 2017 09:15:32 -0400
-Subject: [PATCH] pci: Enable overrides for missing ACS capabilities (4.12+)
+Subject: [PATCH 3/4] pci: Enable overrides for missing ACS capabilities
+ (4.12+)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
 
 This an updated version of Alex Williamson's patch from:
 https://lkml.org/lkml/2013/5/30/513
 
 Original commit message follows:
----
 PCIe ACS (Access Control Services) is the PCIe 2.0+ feature that
 allows us to control whether transactions are allowed to be redirected
 in various subnodes of a PCIe topology.  For instance, if two
@@ -44,16 +47,18 @@ Note to hardware vendors, we have facilities to permanently quirk
 specific devices which enforce isolation but not provide an ACS
 capability.  Please contact me to have your devices added and save
 your customers the hassle of this boot option.
+
+Signed-off-by: Fabian Grünbichler <[email protected]>
 ---
  Documentation/admin-guide/kernel-parameters.txt |   9 +++
  drivers/pci/quirks.c                            | 102 ++++++++++++++++++++++++
  2 files changed, 111 insertions(+)
 
 diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
-index 7737ab5d04b2..e7353191fa5c 100644
+index f8ce2089146c..d4ace16bd59a 100644
 --- a/Documentation/admin-guide/kernel-parameters.txt
 +++ b/Documentation/admin-guide/kernel-parameters.txt
-@@ -2866,6 +2866,15 @@
+@@ -2918,6 +2918,15 @@
  		nomsi		[MSI] If the PCI_MSI kernel config parameter is
  				enabled, this kernel boot option can be used to
  				disable the use of MSI interrupts system-wide.
@@ -70,10 +75,10 @@ index 7737ab5d04b2..e7353191fa5c 100644
  				Safety option to keep boot IRQs enabled. This
  				should never be necessary.
 diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
-index 085fb787aa9e..73a2b4cb61a0 100644
+index b7832fd4dbf4..f128ca4aea2b 100644
 --- a/drivers/pci/quirks.c
 +++ b/drivers/pci/quirks.c
-@@ -3654,6 +3654,107 @@ static int __init pci_apply_final_quirks(void)
+@@ -3687,6 +3687,107 @@ static int __init pci_apply_final_quirks(void)
  
  fs_initcall_sync(pci_apply_final_quirks);
  
@@ -181,7 +186,7 @@ index 085fb787aa9e..73a2b4cb61a0 100644
  /*
   * Following are device-specific reset methods which can be used to
   * reset a single function if other methods (e.g. FLR, PM D0->D3) are
-@@ -4368,6 +4469,7 @@ static const struct pci_dev_acs_enabled {
+@@ -4490,6 +4591,7 @@ static const struct pci_dev_acs_enabled {
  	{ 0x10df, 0x720, pci_quirk_mf_endpoint_acs }, /* Emulex Skyhawk-R */
  	/* Cavium ThunderX */
  	{ PCI_VENDOR_ID_CAVIUM, PCI_ANY_ID, pci_quirk_cavium_acs },
@@ -190,5 +195,5 @@ index 085fb787aa9e..73a2b4cb61a0 100644
  };
  
 -- 
-2.13.3
+2.11.0
 

+ 29 - 0
patches/kernel/0004-kvm-disable-default-dynamic-halt-polling-growth.patch

@@ -0,0 +1,29 @@
+From c60cb6add5a95c3e7bfb7b0d92c01ce66bfec8d6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <[email protected]>
+Date: Thu, 14 Sep 2017 11:09:58 +0200
+Subject: [PATCH 4/4] kvm: disable default dynamic halt polling growth
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Fabian Grünbichler <[email protected]>
+---
+ virt/kvm/kvm_main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
+index 4d81f6ded88e..bfa9c4d34102 100644
+--- a/virt/kvm/kvm_main.c
++++ b/virt/kvm/kvm_main.c
+@@ -77,7 +77,7 @@ module_param(halt_poll_ns, uint, 0644);
+ EXPORT_SYMBOL_GPL(halt_poll_ns);
+ 
+ /* Default doubles per-vcpu halt_poll_ns. */
+-unsigned int halt_poll_ns_grow = 2;
++unsigned int halt_poll_ns_grow = 0;
+ module_param(halt_poll_ns_grow, uint, 0644);
+ EXPORT_SYMBOL_GPL(halt_poll_ns_grow);
+ 
+-- 
+2.11.0
+