mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-23 19:05:37 +00:00
kernel: update VMBus fix patch from MSFT
Also rebase patches to 4.4.10 (no code changes) Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This commit is contained in:
parent
32c5dcd97a
commit
57921ac699
@ -1,4 +1,4 @@
|
||||
From 31adb74f5668e7e44615a2854742f8726a818533 Mon Sep 17 00:00:00 2001
|
||||
From 56b578ba91efa05a2b860cbe167748911d7e8b31 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Date: Thu, 17 Dec 2015 16:53:43 +0800
|
||||
Subject: [PATCH 01/40] virtio: make find_vqs() checkpatch.pl-friendly
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 4b274b13e7dfe4ac54072f324738c487a36b78b8 Mon Sep 17 00:00:00 2001
|
||||
From 92c249101049a990d9246d13dd1b6ba1fde358eb Mon Sep 17 00:00:00 2001
|
||||
From: Julia Lawall <julia.lawall@lip6.fr>
|
||||
Date: Sat, 21 Nov 2015 18:39:17 +0100
|
||||
Subject: [PATCH 02/40] VSOCK: constify vmci_transport_notify_ops structures
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 31fb7962193b46e8f7e24ac350e3efc486f0fd90 Mon Sep 17 00:00:00 2001
|
||||
From d984039a518dc75da313fe5697c1c10085f85a86 Mon Sep 17 00:00:00 2001
|
||||
From: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com>
|
||||
Date: Tue, 22 Mar 2016 17:05:52 +0100
|
||||
Subject: [PATCH 03/40] AF_VSOCK: Shrink the area influenced by prepare_to_wait
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 891b9c6111fc77750b261cc03f8ac7a80441701a Mon Sep 17 00:00:00 2001
|
||||
From c91678f538e550f93bd1a692862cdb2e3198d8c2 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Date: Thu, 17 Dec 2015 11:10:21 +0800
|
||||
Subject: [PATCH 04/40] VSOCK: transport-specific vsock_transport functions
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a27fee87d915bfb9edf720f9068c3aed6649aa0c Mon Sep 17 00:00:00 2001
|
||||
From 1e4aa76446e62fc0d54225b52eed755c39bf3041 Mon Sep 17 00:00:00 2001
|
||||
From: Asias He <asias@redhat.com>
|
||||
Date: Thu, 13 Jun 2013 18:27:00 +0800
|
||||
Subject: [PATCH 05/40] VSOCK: Introduce virtio_vsock_common.ko
|
||||
@ -22,7 +22,7 @@ Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
create mode 100644 net/vmw_vsock/virtio_transport_common.c
|
||||
|
||||
diff --git a/MAINTAINERS b/MAINTAINERS
|
||||
index 4c3e1d2..aa88662 100644
|
||||
index ab65bbe..b93ba8b 100644
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -11382,6 +11382,16 @@ S: Maintained
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 19cfdea4fa3fa9136c234ac695f628fce73b40c2 Mon Sep 17 00:00:00 2001
|
||||
From 699fe71d8522b674a38e066c204907a8d3b91b2d Mon Sep 17 00:00:00 2001
|
||||
From: Asias He <asias@redhat.com>
|
||||
Date: Thu, 13 Jun 2013 18:28:48 +0800
|
||||
Subject: [PATCH 06/40] VSOCK: Introduce virtio_transport.ko
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
create mode 100644 net/vmw_vsock/virtio_transport.c
|
||||
|
||||
diff --git a/MAINTAINERS b/MAINTAINERS
|
||||
index aa88662..889d0d7 100644
|
||||
index b93ba8b..82d1123 100644
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -11391,6 +11391,7 @@ S: Maintained
|
||||
|
@ -1,4 +1,4 @@
|
||||
From fd467c3335938b8eca0489008c390ad16a01aee7 Mon Sep 17 00:00:00 2001
|
||||
From 737df2ecc7b83e6e0d66acbc2f8eb9e7b1fdfc11 Mon Sep 17 00:00:00 2001
|
||||
From: Asias He <asias@redhat.com>
|
||||
Date: Thu, 13 Jun 2013 18:29:21 +0800
|
||||
Subject: [PATCH 07/40] VSOCK: Introduce vhost_vsock.ko
|
||||
@ -17,7 +17,7 @@ Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
create mode 100644 drivers/vhost/vsock.h
|
||||
|
||||
diff --git a/MAINTAINERS b/MAINTAINERS
|
||||
index 889d0d7..9a70d2d 100644
|
||||
index 82d1123..12d49f5 100644
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -11392,6 +11392,8 @@ F: include/linux/virtio_vsock.h
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5d2849bde15e969b8cf1eb2f5e818b62ec2181ec Mon Sep 17 00:00:00 2001
|
||||
From c072cd43aac2c8fa0c18f5169ba0f20dd0f2d8a3 Mon Sep 17 00:00:00 2001
|
||||
From: Asias He <asias@redhat.com>
|
||||
Date: Thu, 13 Jun 2013 18:30:19 +0800
|
||||
Subject: [PATCH 08/40] VSOCK: Add Makefile and Kconfig
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 81b78a051aa8c61743abcc266eb9c7511dd19a62 Mon Sep 17 00:00:00 2001
|
||||
From 4987973de34f9db2a750cb1bace20e0abdb25ea0 Mon Sep 17 00:00:00 2001
|
||||
From: Ian Campbell <ian.campbell@docker.com>
|
||||
Date: Mon, 4 Apr 2016 14:50:10 +0100
|
||||
Subject: [PATCH 09/40] VSOCK: Only allow host network namespace to use
|
||||
|
@ -1,4 +1,4 @@
|
||||
From b5a27dd334aa0f8e857e751c81f79b1ed482459c Mon Sep 17 00:00:00 2001
|
||||
From 098d92d569163aa8a058e6db91b9e8f6a4fb5352 Mon Sep 17 00:00:00 2001
|
||||
From: Jake Oshins <jakeo@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:41 -0800
|
||||
Subject: [PATCH 10/40] drivers:hv: Define the channel type for Hyper-V PCI
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 02c6472ed9ae7498a0510d76dd4840349f4c7e92 Mon Sep 17 00:00:00 2001
|
||||
From f5035c8690926b8ae70948892c7e559705c89760 Mon Sep 17 00:00:00 2001
|
||||
From: "K. Y. Srinivasan" <kys@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:43 -0800
|
||||
Subject: [PATCH 11/40] Drivers: hv: vmbus: Use uuid_le type consistently
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d8a7b4073f802509ad00164b1d6967ba9ebb9d7f Mon Sep 17 00:00:00 2001
|
||||
From 256f7a915de76e35dd58b1d4c9397b6062c60d40 Mon Sep 17 00:00:00 2001
|
||||
From: "K. Y. Srinivasan" <kys@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:44 -0800
|
||||
Subject: [PATCH 12/40] Drivers: hv: vmbus: Use uuid_le_cmp() for comparing
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e24d6e93c8ee5110240547663c88b909fbed3575 Mon Sep 17 00:00:00 2001
|
||||
From ced355716f3043f7ac42753e117c0dd6cefd6eb2 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:47 -0800
|
||||
Subject: [PATCH 13/40] Drivers: hv: vmbus: serialize process_chn_event() and
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d744926ed8c8f1b717d7ab04adf0d86aa78b1160 Mon Sep 17 00:00:00 2001
|
||||
From 3c73ef56248ec7b090c6c94df0904923da0959d0 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:48 -0800
|
||||
Subject: [PATCH 14/40] Drivers: hv: vmbus: do sanity check of channel state in
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ae5614842c1b80193552aeabb57f6cc37c5ca848 Mon Sep 17 00:00:00 2001
|
||||
From 69bac0d6604e0c2bd3bbef8b13a17c877040e0ee Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:49 -0800
|
||||
Subject: [PATCH 15/40] Drivers: hv: vmbus: fix rescind-offer handling for
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 28d0ed01c7b183c6af5991351de65046c183f392 Mon Sep 17 00:00:00 2001
|
||||
From d9c917c73bbcd9602202fa8037d0bfc79d29bc4b Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:50 -0800
|
||||
Subject: [PATCH 16/40] Drivers: hv: vmbus: release relid on error in
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 9aa8a05fcf39739b23f8e2f502c3ffa370521cba Mon Sep 17 00:00:00 2001
|
||||
From 6f4f7d2455717a60752058d73bdca1636e09a824 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:51 -0800
|
||||
Subject: [PATCH 17/40] Drivers: hv: vmbus: channge
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 86e233fbb4c41b03096f498b26cdbfbdf9e5723e Mon Sep 17 00:00:00 2001
|
||||
From 2d1c04320920e2250e964b11cd21d374b055ed45 Mon Sep 17 00:00:00 2001
|
||||
From: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
Date: Mon, 14 Dec 2015 19:02:00 -0800
|
||||
Subject: [PATCH 18/40] Drivers: hv: remove code duplication between
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 934477d473ecb1facd9f69cfc4b4591598f3b0ed Mon Sep 17 00:00:00 2001
|
||||
From 6d6ffadf6e2a8a8cfd7afb259df4d928407b40c0 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 21 Dec 2015 12:21:22 -0800
|
||||
Subject: [PATCH 19/40] Drivers: hv: vmbus: fix the building warning with
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e952f2c22a0a2dbf6b56f732ce265aa6c9f461b2 Mon Sep 17 00:00:00 2001
|
||||
From 384ccf1bbf62722d579d3cfec7b209e034a11d60 Mon Sep 17 00:00:00 2001
|
||||
From: "K. Y. Srinivasan" <kys@microsoft.com>
|
||||
Date: Tue, 15 Dec 2015 16:27:27 -0800
|
||||
Subject: [PATCH 20/40] Drivers: hv: vmbus: Treat Fibre Channel devices as
|
||||
|
@ -1,4 +1,4 @@
|
||||
From cd2ba91482cea0e0979336c7e174224c39ab4537 Mon Sep 17 00:00:00 2001
|
||||
From 0e5cc03371ae2817286d5b14a0554e4315503dbe Mon Sep 17 00:00:00 2001
|
||||
From: "K. Y. Srinivasan" <kys@microsoft.com>
|
||||
Date: Fri, 25 Dec 2015 20:00:30 -0800
|
||||
Subject: [PATCH 21/40] Drivers: hv: vmbus: Add vendor and device atttributes
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 38a40857bb22894545830b22fb593241f2fabf4d Mon Sep 17 00:00:00 2001
|
||||
From 7c34ef7f365248b5c34e3dbd07ffa2a549e1d048 Mon Sep 17 00:00:00 2001
|
||||
From: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:34 -0800
|
||||
Subject: [PATCH 22/40] Drivers: hv: vmbus: avoid infinite loop in
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 22945cbc393c06b0b55c553623b595fc1e6d2598 Mon Sep 17 00:00:00 2001
|
||||
From 2d6cab80cbbcc7b94e538a0a1d32a5584c166169 Mon Sep 17 00:00:00 2001
|
||||
From: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:35 -0800
|
||||
Subject: [PATCH 23/40] Drivers: hv: vmbus: avoid scheduling in interrupt
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 73d794b62769667baebc92515da11aa2ef687bf3 Mon Sep 17 00:00:00 2001
|
||||
From 449c8f899575afc7af1aa6e559750074ad17b99d Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:37 -0800
|
||||
Subject: [PATCH 24/40] Drivers: hv: vmbus: add a helper function to set a
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 57b533b03fea1344ff846c76738cd919678778c1 Mon Sep 17 00:00:00 2001
|
||||
From 3e9764b49994095527e0b6e0d5cb0280cf522cf0 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:38 -0800
|
||||
Subject: [PATCH 25/40] Drivers: hv: vmbus: define the new offer type for
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 3f1df935d1b5caad3f00a43eb50714375bc32547 Mon Sep 17 00:00:00 2001
|
||||
From 5acc7c6742ee5651f5ac9e920804976c2859bbf5 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:39 -0800
|
||||
Subject: [PATCH 26/40] Drivers: hv: vmbus: vmbus_sendpacket_ctl: hvsock: avoid
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 75650dcb326987e017209a61107f341447a88de5 Mon Sep 17 00:00:00 2001
|
||||
From 8ffc572cbd086612e786c50411e60d9fe9ea16bf Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:40 -0800
|
||||
Subject: [PATCH 27/40] Drivers: hv: vmbus: define a new VMBus message type for
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f32ca7e520ca07ec5294e852248522c3ac0d145f Mon Sep 17 00:00:00 2001
|
||||
From 9fe203d7a24278ca2d9311edd64276233903b4c9 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:41 -0800
|
||||
Subject: [PATCH 28/40] Drivers: hv: vmbus: add a hvsock flag in struct
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 91bc38269cbba8c6ffc4db837f22267f72cfcd35 Mon Sep 17 00:00:00 2001
|
||||
From 8db632a31ce18f1dcadce4ac934419e20903370d Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:42 -0800
|
||||
Subject: [PATCH 29/40] Drivers: hv: vmbus: add a per-channel rescind callback
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5ffa6fad55eaaa00feecefe483a7eb3aba155ae9 Mon Sep 17 00:00:00 2001
|
||||
From 748b793b0bb200124a4547546384b6083393eb4d Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:43 -0800
|
||||
Subject: [PATCH 30/40] Drivers: hv: vmbus: add an API
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e648c3f4c7a150cec1c794037af051c671358d18 Mon Sep 17 00:00:00 2001
|
||||
From b28445573c0d9eb82556b22a8feef62681e9bfc7 Mon Sep 17 00:00:00 2001
|
||||
From: "K. Y. Srinivasan" <kys@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:45 -0800
|
||||
Subject: [PATCH 31/40] Drivers: hv: vmbus: Give control over how the ring
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 801ca93a137e97e204c04bf648901f73d38fabc9 Mon Sep 17 00:00:00 2001
|
||||
From 7dd0f1293f17f73c424300ce4dbeaea4fc21db1f Mon Sep 17 00:00:00 2001
|
||||
From: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
Date: Fri, 26 Feb 2016 15:13:16 -0800
|
||||
Subject: [PATCH 32/40] Drivers: hv: vmbus: avoid wait_for_completion() on
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 57ebe7b218a4293879c6cfcfc809bd28d1c86d0b Mon Sep 17 00:00:00 2001
|
||||
From 07d088bcb47d39a5edfdce1d1a88491262e55908 Mon Sep 17 00:00:00 2001
|
||||
From: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
Date: Fri, 26 Feb 2016 15:13:18 -0800
|
||||
Subject: [PATCH 33/40] Drivers: hv: vmbus: avoid unneeded compiler
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 309de4588761836db8325d18c96048c1d57976b0 Mon Sep 17 00:00:00 2001
|
||||
From 14657505a252117919d7689d808344f9010d1cca Mon Sep 17 00:00:00 2001
|
||||
From: Tom Herbert <tom@herbertland.com>
|
||||
Date: Mon, 7 Mar 2016 14:11:06 -0800
|
||||
Subject: [PATCH 34/40] kcm: Kernel Connection Multiplexor module
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 1b288c812adaffa34be2dc691e559a2c1ba343fa Mon Sep 17 00:00:00 2001
|
||||
From d8538313990d2d0dffca96608b181f4e0328b9aa Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 21 Mar 2016 02:51:09 -0700
|
||||
Subject: [PATCH 35/40] net: add the AF_KCM entries to family name tables
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 2bc2ef5b66204e811990746ae362acd16519b35d Mon Sep 17 00:00:00 2001
|
||||
From 81dba561b9dce770d4c981fac66b9dbb09be2802 Mon Sep 17 00:00:00 2001
|
||||
From: Courtney Cavin <courtney.cavin@sonymobile.com>
|
||||
Date: Wed, 27 Apr 2016 12:13:03 -0700
|
||||
Subject: [PATCH 36/40] net: Add Qualcomm IPC router
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e40aa678ad8d502eb916a28f5f3c35c162dcf4d2 Mon Sep 17 00:00:00 2001
|
||||
From 0fea0056631e409950b21d0fc4f80ee5c42777cc Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Sun, 15 May 2016 09:53:11 -0700
|
||||
Subject: [PATCH 37/40] hv_sock: introduce Hyper-V Sockets
|
||||
@ -41,7 +41,7 @@ Origin: https://patchwork.ozlabs.org/patch/622404/
|
||||
create mode 100644 net/hv_sock/af_hvsock.c
|
||||
|
||||
diff --git a/MAINTAINERS b/MAINTAINERS
|
||||
index 9a70d2d..1021706 100644
|
||||
index 12d49f5..fa87bdd 100644
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -5123,7 +5123,9 @@ F: drivers/input/serio/hyperv-keyboard.c
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 7034fda17f5619f598de93fecdfd0af6a96b18f4 Mon Sep 17 00:00:00 2001
|
||||
From 5ae29368847275f23f58d9f8e858d011e213ee03 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 21 Mar 2016 02:53:08 -0700
|
||||
Subject: [PATCH 38/40] net: add the AF_HYPERV entries to family name tables
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 0eba2b0c75b7dddedeedd6c827d71d0f23ae00ac Mon Sep 17 00:00:00 2001
|
||||
From 146004c055da70f40db59e25d25844201d21fbf0 Mon Sep 17 00:00:00 2001
|
||||
From: Ian Campbell <ian.campbell@docker.com>
|
||||
Date: Wed, 4 May 2016 14:21:53 +0100
|
||||
Subject: [PATCH 39/40] VSOCK: do not disconnect socket when peer has shutdown
|
||||
|
@ -1,6 +1,6 @@
|
||||
From 87cb6b00e44a0d496c623ea19801e2a9415a9759 Mon Sep 17 00:00:00 2001
|
||||
From b4a79d74e88c82a7b83de21df5281a124b3a921a Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 16 May 2016 22:26:05 +0800
|
||||
Date: Sat, 21 May 2016 16:55:50 +0800
|
||||
Subject: [PATCH 40/40] Drivers: hv: vmbus: fix the race when querying &
|
||||
updating the percpu list
|
||||
|
||||
@ -21,31 +21,26 @@ We can resolve the issue by disabling the tasklet when updating the list.
|
||||
|
||||
Reported-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
|
||||
Signed-off-by: Dexuan Cui <decui@microsoft.com>
|
||||
Origin: https://github.com/dcui/linux/commit/cef5caca69a9104988a0e1c5185f919f7adbf1d2.patch
|
||||
Origin: https://github.com/dcui/linux/commit/fbcca73228b9b90911ab30fdf75f532b2b7c07e5
|
||||
---
|
||||
drivers/hv/channel.c | 3 +++
|
||||
drivers/hv/channel_mgmt.c | 20 +++++++++-----------
|
||||
include/linux/hyperv.h | 3 +++
|
||||
3 files changed, 15 insertions(+), 11 deletions(-)
|
||||
drivers/hv/channel.c | 1 +
|
||||
drivers/hv/channel_mgmt.c | 18 ++++++++++++++++--
|
||||
2 files changed, 17 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
|
||||
index 57a1b65..f66fb3c 100644
|
||||
index 57a1b65..da76a2e 100644
|
||||
--- a/drivers/hv/channel.c
|
||||
+++ b/drivers/hv/channel.c
|
||||
@@ -546,8 +546,11 @@ static int vmbus_close_internal(struct vmbus_channel *channel)
|
||||
put_cpu();
|
||||
smp_call_function_single(channel->target_cpu, reset_channel_cb,
|
||||
channel, true);
|
||||
+ smp_call_function_single(channel->target_cpu,
|
||||
+ percpu_channel_deq, channel, true);
|
||||
} else {
|
||||
reset_channel_cb(channel);
|
||||
+ percpu_channel_deq(channel);
|
||||
put_cpu();
|
||||
}
|
||||
@@ -592,6 +592,7 @@ static int vmbus_close_internal(struct vmbus_channel *channel)
|
||||
|
||||
out:
|
||||
tasklet_enable(tasklet);
|
||||
+ tasklet_schedule(tasklet);
|
||||
|
||||
return ret;
|
||||
}
|
||||
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
|
||||
index c892db5..ac48fe9 100644
|
||||
index c892db5..0a54317 100644
|
||||
--- a/drivers/hv/channel_mgmt.c
|
||||
+++ b/drivers/hv/channel_mgmt.c
|
||||
@@ -21,6 +21,7 @@
|
||||
@ -56,41 +51,41 @@ index c892db5..ac48fe9 100644
|
||||
#include <linux/sched.h>
|
||||
#include <linux/wait.h>
|
||||
#include <linux/mm.h>
|
||||
@@ -277,7 +278,7 @@ static void free_channel(struct vmbus_channel *channel)
|
||||
kfree(channel);
|
||||
}
|
||||
|
||||
-static void percpu_channel_enq(void *arg)
|
||||
+void percpu_channel_enq(void *arg)
|
||||
@@ -307,12 +308,13 @@ void hv_process_channel_removal(struct vmbus_channel *channel, u32 relid)
|
||||
{
|
||||
struct vmbus_channel *channel = arg;
|
||||
int cpu = smp_processor_id();
|
||||
@@ -285,7 +286,7 @@ static void percpu_channel_enq(void *arg)
|
||||
list_add_tail(&channel->percpu_list, &hv_context.percpu_list[cpu]);
|
||||
}
|
||||
unsigned long flags;
|
||||
struct vmbus_channel *primary_channel;
|
||||
-
|
||||
- vmbus_release_relid(relid);
|
||||
+ struct tasklet_struct *tasklet;
|
||||
|
||||
-static void percpu_channel_deq(void *arg)
|
||||
+void percpu_channel_deq(void *arg)
|
||||
{
|
||||
struct vmbus_channel *channel = arg;
|
||||
|
||||
@@ -313,15 +314,6 @@ void hv_process_channel_removal(struct vmbus_channel *channel, u32 relid)
|
||||
BUG_ON(!channel->rescind);
|
||||
BUG_ON(!mutex_is_locked(&vmbus_connection.channel_mutex));
|
||||
|
||||
- if (channel->target_cpu != get_cpu()) {
|
||||
- put_cpu();
|
||||
- smp_call_function_single(channel->target_cpu,
|
||||
- percpu_channel_deq, channel, true);
|
||||
- } else {
|
||||
- percpu_channel_deq(channel);
|
||||
- put_cpu();
|
||||
- }
|
||||
-
|
||||
+ tasklet = hv_context.event_dpc[channel->target_cpu];
|
||||
+ tasklet_disable(tasklet);
|
||||
if (channel->target_cpu != get_cpu()) {
|
||||
put_cpu();
|
||||
smp_call_function_single(channel->target_cpu,
|
||||
@@ -321,6 +323,8 @@ void hv_process_channel_removal(struct vmbus_channel *channel, u32 relid)
|
||||
percpu_channel_deq(channel);
|
||||
put_cpu();
|
||||
}
|
||||
+ tasklet_enable(tasklet);
|
||||
+ tasklet_schedule(tasklet);
|
||||
|
||||
if (channel->primary_channel == NULL) {
|
||||
list_del(&channel->listentry);
|
||||
@@ -342,6 +346,8 @@ void hv_process_channel_removal(struct vmbus_channel *channel, u32 relid)
|
||||
&primary_channel->alloced_cpus_in_node);
|
||||
|
||||
@@ -363,6 +355,7 @@ void vmbus_free_channels(void)
|
||||
free_channel(channel);
|
||||
+
|
||||
+ vmbus_release_relid(relid);
|
||||
}
|
||||
|
||||
void vmbus_free_channels(void)
|
||||
@@ -363,6 +369,7 @@ void vmbus_free_channels(void)
|
||||
*/
|
||||
static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
{
|
||||
@ -98,7 +93,7 @@ index c892db5..ac48fe9 100644
|
||||
struct vmbus_channel *channel;
|
||||
bool fnew = true;
|
||||
unsigned long flags;
|
||||
@@ -409,6 +402,8 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
@@ -409,6 +416,8 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
|
||||
init_vp_index(newchannel, dev_type);
|
||||
|
||||
@ -107,15 +102,16 @@ index c892db5..ac48fe9 100644
|
||||
if (newchannel->target_cpu != get_cpu()) {
|
||||
put_cpu();
|
||||
smp_call_function_single(newchannel->target_cpu,
|
||||
@@ -418,6 +413,7 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
@@ -418,6 +427,8 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
percpu_channel_enq(newchannel);
|
||||
put_cpu();
|
||||
}
|
||||
+ tasklet_enable(tasklet);
|
||||
+ tasklet_schedule(tasklet);
|
||||
|
||||
/*
|
||||
* This state is used to indicate a successful open
|
||||
@@ -469,6 +465,7 @@ err_deq_chan:
|
||||
@@ -469,6 +480,7 @@ err_deq_chan:
|
||||
list_del(&newchannel->listentry);
|
||||
mutex_unlock(&vmbus_connection.channel_mutex);
|
||||
|
||||
@ -123,28 +119,15 @@ index c892db5..ac48fe9 100644
|
||||
if (newchannel->target_cpu != get_cpu()) {
|
||||
put_cpu();
|
||||
smp_call_function_single(newchannel->target_cpu,
|
||||
@@ -477,6 +474,7 @@ err_deq_chan:
|
||||
@@ -477,6 +489,8 @@ err_deq_chan:
|
||||
percpu_channel_deq(newchannel);
|
||||
put_cpu();
|
||||
}
|
||||
+ tasklet_enable(tasklet);
|
||||
+ tasklet_schedule(tasklet);
|
||||
|
||||
err_free_chan:
|
||||
free_channel(newchannel);
|
||||
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
|
||||
index 187d4bd..a69364b 100644
|
||||
--- a/include/linux/hyperv.h
|
||||
+++ b/include/linux/hyperv.h
|
||||
@@ -1339,6 +1339,9 @@ extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *,
|
||||
struct icmsg_negotiate *, u8 *, int,
|
||||
int);
|
||||
|
||||
+void percpu_channel_enq(void *arg);
|
||||
+void percpu_channel_deq(void *arg);
|
||||
+
|
||||
void hv_process_channel_removal(struct vmbus_channel *channel, u32 relid);
|
||||
|
||||
/*
|
||||
--
|
||||
2.8.2
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user