mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-19 17:26:28 +00:00
kernel: Update to 4.13.9/4.9.58/4.4.94
Note: There were more conflicts in applying the vmbus patches to 4.13. For now I've just skipped the conflicting patches so the end-result may be that Hyper-V sockets on 4.13 may break (if they were not already broken by the update to 4.13.6). Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This commit is contained in:
parent
12b8d9d6bd
commit
89af138f18
@ -172,11 +172,11 @@ endef
|
||||
# Build Targets
|
||||
# Debug targets only for latest stable and LTS stable
|
||||
#
|
||||
$(eval $(call kernel,4.13.8,4.13.x,$(EXTRA)))
|
||||
$(eval $(call kernel,4.13.8,4.13.x,-dbg))
|
||||
$(eval $(call kernel,4.9.57,4.9.x,$(EXTRA)))
|
||||
$(eval $(call kernel,4.9.57,4.9.x,-dbg))
|
||||
$(eval $(call kernel,4.4.93,4.4.x,$(EXTRA)))
|
||||
$(eval $(call kernel,4.13.9,4.13.x,$(EXTRA)))
|
||||
$(eval $(call kernel,4.13.9,4.13.x,-dbg))
|
||||
$(eval $(call kernel,4.9.58,4.9.x,$(EXTRA)))
|
||||
$(eval $(call kernel,4.9.58,4.9.x,-dbg))
|
||||
$(eval $(call kernel,4.4.94,4.4.x,$(EXTRA)))
|
||||
|
||||
# Target for kernel config
|
||||
kconfig: | sources
|
||||
|
@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm64 4.13.8 Kernel Configuration
|
||||
# Linux/arm64 4.13.9 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM64=y
|
||||
CONFIG_64BIT=y
|
||||
|
@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/x86 4.13.8 Kernel Configuration
|
||||
# Linux/x86 4.13.9 Kernel Configuration
|
||||
#
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_X86_64=y
|
||||
|
@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm64 4.4.93 Kernel Configuration
|
||||
# Linux/arm64 4.4.94 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM64=y
|
||||
CONFIG_64BIT=y
|
||||
|
@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/x86 4.4.93 Kernel Configuration
|
||||
# Linux/x86 4.4.94 Kernel Configuration
|
||||
#
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_X86_64=y
|
||||
|
@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm64 4.9.57 Kernel Configuration
|
||||
# Linux/arm64 4.9.58 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM64=y
|
||||
CONFIG_64BIT=y
|
||||
|
@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/x86 4.9.57 Kernel Configuration
|
||||
# Linux/x86 4.9.58 Kernel Configuration
|
||||
#
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_X86_64=y
|
||||
|
@ -1,7 +1,7 @@
|
||||
From afc3bfbd26e3c4e03786eb8d8ad4d6905d03d7cd Mon Sep 17 00:00:00 2001
|
||||
From 255a4eb6b920f42018f05235f525b8c72624df62 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 16:57:12 -0600
|
||||
Subject: [PATCH 01/14] vmbus: vmbus_open(): reset onchannel_callback on error
|
||||
Subject: [PATCH 01/12] vmbus: vmbus_open(): reset onchannel_callback on error
|
||||
|
||||
No real issue is observed without the patch, but let's add this
|
||||
just in case.
|
||||
@ -17,10 +17,10 @@ Origin: git@github.com:dcui/linux.git
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
|
||||
index e57cc40cb768..6e172cdf42f7 100644
|
||||
index be3fccab07fe..4775616ec87f 100644
|
||||
--- a/drivers/hv/channel.c
|
||||
+++ b/drivers/hv/channel.c
|
||||
@@ -220,6 +220,8 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
|
||||
@@ -225,6 +225,8 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
|
||||
get_order(send_ringbuffer_size + recv_ringbuffer_size));
|
||||
error_set_chnstate:
|
||||
newchannel->state = CHANNEL_OPEN_STATE;
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 6c4ae292478d47ceeb1fc134753e5c5eba52cf9a Mon Sep 17 00:00:00 2001
|
||||
From 9d372844cc64ec8921879c81beab83eeb4f8a05f Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 16:57:20 -0600
|
||||
Subject: [PATCH 02/14] vmbus: remove "goto error_clean_msglist" in
|
||||
Subject: [PATCH 02/12] vmbus: remove "goto error_clean_msglist" in
|
||||
vmbus_open()
|
||||
|
||||
This is just a cleanup patch to simplify the code a little.
|
||||
@ -18,10 +18,10 @@ Origin: git@github.com:dcui/linux.git
|
||||
1 file changed, 7 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
|
||||
index 6e172cdf42f7..42498ecd0f02 100644
|
||||
index 4775616ec87f..033100a1cd59 100644
|
||||
--- a/drivers/hv/channel.c
|
||||
+++ b/drivers/hv/channel.c
|
||||
@@ -180,17 +180,18 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
|
||||
@@ -185,17 +185,18 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
|
||||
ret = vmbus_post_msg(open_msg,
|
||||
sizeof(struct vmbus_channel_open_channel), true);
|
||||
|
||||
@ -46,7 +46,7 @@ index 6e172cdf42f7..42498ecd0f02 100644
|
||||
if (newchannel->rescind) {
|
||||
err = -ENODEV;
|
||||
goto error_free_gpadl;
|
||||
@@ -205,11 +206,6 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
|
||||
@@ -210,11 +211,6 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
|
||||
kfree(open_info);
|
||||
return 0;
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 09654d1ebca935056e36d651d10effed156651e3 Mon Sep 17 00:00:00 2001
|
||||
From 2d199886c8f5b1aaaf0beef6e4f14a871f98d834 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 16:57:26 -0600
|
||||
Subject: [PATCH 04/14] hv_sock: implements Hyper-V transport for Virtual
|
||||
Subject: [PATCH 03/12] hv_sock: implements Hyper-V transport for Virtual
|
||||
Sockets (AF_VSOCK)
|
||||
|
||||
Hyper-V Sockets (hv_sock) supplies a byte-stream based communication
|
@ -1,189 +0,0 @@
|
||||
From d4de80e68b0268ed4630cb60ec186c980f63b052 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 16:57:23 -0600
|
||||
Subject: [PATCH 03/14] vmbus: dynamically enqueue/dequeue a channel on
|
||||
vmbus_open/close
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
A just-closed channel may have a pending interrupt, and later when a new
|
||||
channel with the same channel ID is not being fully initialized, the
|
||||
pending interrupt of the previous channel with the same channel ID can run
|
||||
the channel callback on the new channel data structure, causing a crash
|
||||
of NULL pointer dereferencing.
|
||||
|
||||
Normally it’s pretty hard to reproduce the race condition, but it can
|
||||
indeed happen with specially-designed hv_sock stress test cases.
|
||||
|
||||
Signed-off-by: Dexuan Cui <decui@microsoft.com>
|
||||
Reported-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
|
||||
Tested-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
|
||||
Cc: K. Y. Srinivasan <kys@microsoft.com>
|
||||
Cc: Haiyang Zhang <haiyangz@microsoft.com>
|
||||
Cc: Stephen Hemminger <sthemmin@microsoft.com>
|
||||
Origin: git@github.com:dcui/linux.git
|
||||
(cherry picked from commit fdd8e16c855a6c7238c654d7217dcf51c5533307)
|
||||
---
|
||||
drivers/hv/channel.c | 12 +++++++++---
|
||||
drivers/hv/channel_mgmt.c | 50 +++++++++++++++++++++--------------------------
|
||||
include/linux/hyperv.h | 3 +++
|
||||
3 files changed, 34 insertions(+), 31 deletions(-)
|
||||
|
||||
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
|
||||
index 42498ecd0f02..d4243b5c39b7 100644
|
||||
--- a/drivers/hv/channel.c
|
||||
+++ b/drivers/hv/channel.c
|
||||
@@ -177,6 +177,8 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
|
||||
&vmbus_connection.chn_msg_list);
|
||||
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
|
||||
|
||||
+ hv_percpu_channel_enq(newchannel);
|
||||
+
|
||||
ret = vmbus_post_msg(open_msg,
|
||||
sizeof(struct vmbus_channel_open_channel), true);
|
||||
|
||||
@@ -189,23 +191,25 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
|
||||
|
||||
if (ret != 0) {
|
||||
err = ret;
|
||||
- goto error_free_gpadl;
|
||||
+ goto error_deq_channel;
|
||||
}
|
||||
|
||||
if (newchannel->rescind) {
|
||||
err = -ENODEV;
|
||||
- goto error_free_gpadl;
|
||||
+ goto error_deq_channel;
|
||||
}
|
||||
|
||||
if (open_info->response.open_result.status) {
|
||||
err = -EAGAIN;
|
||||
- goto error_free_gpadl;
|
||||
+ goto error_deq_channel;
|
||||
}
|
||||
|
||||
newchannel->state = CHANNEL_OPENED_STATE;
|
||||
kfree(open_info);
|
||||
return 0;
|
||||
|
||||
+error_deq_channel:
|
||||
+ hv_percpu_channel_deq(newchannel);
|
||||
error_free_gpadl:
|
||||
vmbus_teardown_gpadl(newchannel, newchannel->ringbuffer_gpadlhandle);
|
||||
kfree(open_info);
|
||||
@@ -551,6 +555,8 @@ static int vmbus_close_internal(struct vmbus_channel *channel)
|
||||
goto out;
|
||||
}
|
||||
|
||||
+ hv_percpu_channel_deq(channel);
|
||||
+
|
||||
channel->state = CHANNEL_OPEN_STATE;
|
||||
channel->sc_creation_callback = NULL;
|
||||
/* Stop callback and cancel the timer asap */
|
||||
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
|
||||
index 037361158074..415c69aeb32c 100644
|
||||
--- a/drivers/hv/channel_mgmt.c
|
||||
+++ b/drivers/hv/channel_mgmt.c
|
||||
@@ -362,6 +362,17 @@ static void percpu_channel_enq(void *arg)
|
||||
list_add_tail_rcu(&channel->percpu_list, &hv_cpu->chan_list);
|
||||
}
|
||||
|
||||
+void hv_percpu_channel_enq(struct vmbus_channel *channel)
|
||||
+{
|
||||
+ if (channel->target_cpu != get_cpu())
|
||||
+ smp_call_function_single(channel->target_cpu,
|
||||
+ percpu_channel_enq, channel, true);
|
||||
+ else
|
||||
+ percpu_channel_enq(channel);
|
||||
+
|
||||
+ put_cpu();
|
||||
+}
|
||||
+
|
||||
static void percpu_channel_deq(void *arg)
|
||||
{
|
||||
struct vmbus_channel *channel = arg;
|
||||
@@ -369,6 +380,17 @@ static void percpu_channel_deq(void *arg)
|
||||
list_del_rcu(&channel->percpu_list);
|
||||
}
|
||||
|
||||
+void hv_percpu_channel_deq(struct vmbus_channel *channel)
|
||||
+{
|
||||
+ if (channel->target_cpu != get_cpu())
|
||||
+ smp_call_function_single(channel->target_cpu,
|
||||
+ percpu_channel_deq, channel, true);
|
||||
+ else
|
||||
+ percpu_channel_deq(channel);
|
||||
+
|
||||
+ put_cpu();
|
||||
+}
|
||||
+
|
||||
|
||||
static void vmbus_release_relid(u32 relid)
|
||||
{
|
||||
@@ -389,15 +411,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();
|
||||
- }
|
||||
-
|
||||
if (channel->primary_channel == NULL) {
|
||||
list_del(&channel->listentry);
|
||||
|
||||
@@ -490,16 +503,6 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
|
||||
init_vp_index(newchannel, dev_type);
|
||||
|
||||
- if (newchannel->target_cpu != get_cpu()) {
|
||||
- put_cpu();
|
||||
- smp_call_function_single(newchannel->target_cpu,
|
||||
- percpu_channel_enq,
|
||||
- newchannel, true);
|
||||
- } else {
|
||||
- percpu_channel_enq(newchannel);
|
||||
- put_cpu();
|
||||
- }
|
||||
-
|
||||
/*
|
||||
* This state is used to indicate a successful open
|
||||
* so that when we do close the channel normally, we
|
||||
@@ -549,15 +552,6 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
list_del(&newchannel->listentry);
|
||||
mutex_unlock(&vmbus_connection.channel_mutex);
|
||||
|
||||
- if (newchannel->target_cpu != get_cpu()) {
|
||||
- put_cpu();
|
||||
- smp_call_function_single(newchannel->target_cpu,
|
||||
- percpu_channel_deq, newchannel, true);
|
||||
- } else {
|
||||
- percpu_channel_deq(newchannel);
|
||||
- put_cpu();
|
||||
- }
|
||||
-
|
||||
vmbus_release_relid(newchannel->offermsg.child_relid);
|
||||
|
||||
err_free_chan:
|
||||
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
|
||||
index b7d7bbec74e0..f5d3e8c01401 100644
|
||||
--- a/include/linux/hyperv.h
|
||||
+++ b/include/linux/hyperv.h
|
||||
@@ -1453,6 +1453,9 @@ extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp, u8 *buf,
|
||||
const int *srv_version, int srv_vercnt,
|
||||
int *nego_fw_version, int *nego_srv_version);
|
||||
|
||||
+void hv_percpu_channel_enq(struct vmbus_channel *channel);
|
||||
+void hv_percpu_channel_deq(struct vmbus_channel *channel);
|
||||
+
|
||||
void hv_process_channel_removal(struct vmbus_channel *channel, u32 relid);
|
||||
|
||||
void vmbus_setevent(struct vmbus_channel *channel);
|
||||
--
|
||||
2.11.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 4616a0d0564ffdc6899cc7f643bf8cde5af6662e Mon Sep 17 00:00:00 2001
|
||||
From fe24104d463f6c66ba20d6637bcd8e64ea3d91f4 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 16:57:29 -0600
|
||||
Subject: [PATCH 05/14] VMCI: only try to load on VMware hypervisor
|
||||
Subject: [PATCH 04/12] VMCI: only try to load on VMware hypervisor
|
||||
|
||||
Without the patch, vmw_vsock_vmci_transport.ko and vmw_vmci.ko can
|
||||
automatically load when an application creates an AF_VSOCK socket.
|
@ -1,7 +1,7 @@
|
||||
From 0df1846aa21a2b76746308be33b45f552c13505a Mon Sep 17 00:00:00 2001
|
||||
From 3846240ba100e7178bfffe1d7a20382167764a2a Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 16:57:35 -0600
|
||||
Subject: [PATCH 06/14] hv_sock: add the support of auto-loading
|
||||
Subject: [PATCH 05/12] hv_sock: add the support of auto-loading
|
||||
|
||||
After we disable VMWare virtual sockets driver's auto-loading on Hyper-V,
|
||||
we can enable hv_sock's auto-loading now.
|
@ -1,7 +1,7 @@
|
||||
From e90c31a913ab07ff70401c8bf5dab93ed901b400 Mon Sep 17 00:00:00 2001
|
||||
From 0e575b9966945fb1132bd13c7a3c69330c14166e Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 18:52:02 -0600
|
||||
Subject: [PATCH 07/14] tools: hv_sock: 2 simple test cases.
|
||||
Subject: [PATCH 06/12] tools: hv_sock: 2 simple test cases.
|
||||
|
||||
Please read this document first:
|
||||
https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/make-integration-service
|
@ -1,7 +1,7 @@
|
||||
From cff523818d1356536f2dea650508dfdd1e19df11 Mon Sep 17 00:00:00 2001
|
||||
From b5b86d3b2b25b051b4cef6d2a3be970726111da1 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Tue, 16 May 2017 22:14:03 +0800
|
||||
Subject: [PATCH 08/14] hvsock: fix a race in hvs_stream_dequeue()
|
||||
Subject: [PATCH 07/12] hvsock: fix a race in hvs_stream_dequeue()
|
||||
|
||||
If hv_pkt_iter_next() returns a non-NULL pointer, we must update
|
||||
the recv_data_len/data_off info, otherwise the received data will
|
@ -1,7 +1,7 @@
|
||||
From 49dd71766ef1675b56ec02ff42e222308edd8a52 Mon Sep 17 00:00:00 2001
|
||||
From 2cf5773ab1091bc4e575ba1e8d861ae89bdf1f9e Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 19 May 2017 21:49:59 +0800
|
||||
Subject: [PATCH 09/14] hvsock: fix vsock_dequeue/enqueue_accept race
|
||||
Subject: [PATCH 08/12] hvsock: fix vsock_dequeue/enqueue_accept race
|
||||
|
||||
Signed-off-by: Dexuan Cui <decui@microsoft.com>
|
||||
Origin: git@github.com:dcui/linux.git
|
@ -1,7 +1,7 @@
|
||||
From 3c6e2fa8d4013801a2721048b106aedc077e47cd Mon Sep 17 00:00:00 2001
|
||||
From d449661db47a2dc22437d30bbf5e9354344a0dd3 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 21 Jun 2017 22:30:42 +0800
|
||||
Subject: [PATCH 10/14] hv-sock: a temporary workaround for the
|
||||
Subject: [PATCH 09/12] hv-sock: a temporary workaround for the
|
||||
pending_send_size issue
|
||||
|
||||
While I'm trying to find out the root cause, I believe this can work
|
@ -1,7 +1,7 @@
|
||||
From a277fb91ada318ee1577dfbcbc1f6c2e9c0d9804 Mon Sep 17 00:00:00 2001
|
||||
From a0be18ac0d4976c54d4c4359a4d0289cf88bbf4c Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 7 Jul 2017 09:15:29 +0800
|
||||
Subject: [PATCH 12/14] hv-sock: avoid double FINs if shutdown() is called
|
||||
Subject: [PATCH 10/12] hv-sock: avoid double FINs if shutdown() is called
|
||||
|
||||
The host expects a single FIN.
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 7fc252ce8715b7edfb0847922f55ff3011506603 Mon Sep 17 00:00:00 2001
|
||||
From 22b335999bba926ec0c168a4b8ebd9ab388853e4 Mon Sep 17 00:00:00 2001
|
||||
From: Randy Dodgen <dodgen@google.com>
|
||||
Date: Thu, 24 Aug 2017 15:26:01 -0400
|
||||
Subject: [PATCH 13/14] ext4: fix fault handling when mounted with -o dax,ro
|
||||
Subject: [PATCH 11/12] ext4: fix fault handling when mounted with -o dax,ro
|
||||
|
||||
If an ext4 filesystem is mounted with both the DAX and read-only
|
||||
options, executables on that filesystem will fail to start (claiming
|
@ -1,41 +0,0 @@
|
||||
From 1a6148d3c58ce10520748262be0da5aaf283a3f8 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 28 Jun 2017 23:50:38 +0800
|
||||
Subject: [PATCH 11/14] vmbus: fix the missed signaling in hv_signal_on_read()
|
||||
|
||||
There is an off-by-one bug here, which can cause host-to-guest write to stall.
|
||||
|
||||
When cur_write_sz == pending_sz, we shouldn't signal the host because it's
|
||||
meaningless: the ring mustn't be 100% full.
|
||||
|
||||
But when cached_write_sz == pending_sz, we must signal the host.
|
||||
|
||||
Signed-off-by: John Starks <John.Starks@microsoft.com>
|
||||
Signed-off-by: Dexuan Cui <decui@microsoft.com>
|
||||
Origin: git@github.com:dcui/linux.git
|
||||
(cherry picked from commit 02d07a9dcdb042f33248fd3aeb1e5c2eca6d3d49)
|
||||
---
|
||||
include/linux/hyperv.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
|
||||
index f5d3e8c01401..cc28cd20256f 100644
|
||||
--- a/include/linux/hyperv.h
|
||||
+++ b/include/linux/hyperv.h
|
||||
@@ -1517,11 +1517,11 @@ static inline void hv_signal_on_read(struct vmbus_channel *channel)
|
||||
|
||||
cur_write_sz = hv_get_bytes_to_write(rbi);
|
||||
|
||||
- if (cur_write_sz < pending_sz)
|
||||
+ if (cur_write_sz <= pending_sz)
|
||||
return;
|
||||
|
||||
cached_write_sz = hv_get_cached_bytes_to_write(rbi);
|
||||
- if (cached_write_sz < pending_sz)
|
||||
+ if (cached_write_sz <= pending_sz)
|
||||
vmbus_setevent(channel);
|
||||
}
|
||||
|
||||
--
|
||||
2.11.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 349c3d4c65afc5ddec83ab0746d7b9419396b5e1 Mon Sep 17 00:00:00 2001
|
||||
From a6fc1687fbd218542285c2d77a49ff88a3cb100c Mon Sep 17 00:00:00 2001
|
||||
From: Cheng-mean Liu <soccerl@microsoft.com>
|
||||
Date: Tue, 11 Jul 2017 16:58:26 -0700
|
||||
Subject: [PATCH 14/14] NVDIMM: reducded ND_MIN_NAMESPACE_SIZE from 4MB to 4KB
|
||||
Subject: [PATCH 12/12] NVDIMM: reducded ND_MIN_NAMESPACE_SIZE from 4MB to 4KB
|
||||
(page size)
|
||||
|
||||
Signed-off-by: Cheng-mean Liu <soccerl@microsoft.com>
|
@ -1,4 +1,4 @@
|
||||
From eeffae14656e233080aa6d7e91bedac5697573d7 Mon Sep 17 00:00:00 2001
|
||||
From 07cc90bf689d8d1446f19af31f419e96b6aae8d1 Mon Sep 17 00:00:00 2001
|
||||
From: Arnaldo Carvalho de Melo <acme@redhat.com>
|
||||
Date: Thu, 2 Mar 2017 12:55:49 -0300
|
||||
Subject: [PATCH 01/13] tools build: Add test for sched_getcpu()
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 3be4800d1233f8a6da45b0b26e18b4aab5868681 Mon Sep 17 00:00:00 2001
|
||||
From c1bc306f2a98bc201c155b7e1e93574ab9bb42f2 Mon Sep 17 00:00:00 2001
|
||||
From: Arnaldo Carvalho de Melo <acme@redhat.com>
|
||||
Date: Thu, 13 Oct 2016 17:12:35 -0300
|
||||
Subject: [PATCH 02/13] perf jit: Avoid returning garbage for a ret variable
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e8317241d859e11393a719b80e1023ae182d8d42 Mon Sep 17 00:00:00 2001
|
||||
From c6eb46c35ff75022c19211cd1236cb0be75456cb Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Sat, 23 Jul 2016 01:35:51 +0000
|
||||
Subject: [PATCH 03/13] hv_sock: introduce Hyper-V Sockets
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 2ce56ee19a4571830531480284ae7edf5175ebf4 Mon Sep 17 00:00:00 2001
|
||||
From 9ba10da496908d0c21d07639e07dba839935522f Mon Sep 17 00:00:00 2001
|
||||
From: Rolf Neugebauer <rolf.neugebauer@gmail.com>
|
||||
Date: Mon, 23 May 2016 18:55:45 +0100
|
||||
Subject: [PATCH 04/13] vmbus: Don't spam the logs with unknown GUIDs
|
||||
|
@ -1,4 +1,4 @@
|
||||
From db7efa09d278e83d2cab5cbaa44a8193372ef82a Mon Sep 17 00:00:00 2001
|
||||
From bcbd97d95f015dde8d730206bc6cfcc58d1457c9 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Ng <alexng@messages.microsoft.com>
|
||||
Date: Sun, 6 Nov 2016 13:14:07 -0800
|
||||
Subject: [PATCH 05/13] Drivers: hv: utils: Fix the mapping between host
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c9acbfcd8dbba557f5a40fc14f43517bf2490171 Mon Sep 17 00:00:00 2001
|
||||
From 513561517efb57638fa9819aa24f715639be6595 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Ng <alexng@messages.microsoft.com>
|
||||
Date: Sun, 6 Nov 2016 13:14:10 -0800
|
||||
Subject: [PATCH 06/13] Drivers: hv: vss: Improve log messages.
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 0f643631c5c166818d9fc63ea082d785027a9ec3 Mon Sep 17 00:00:00 2001
|
||||
From 62ab4bab28c89b21dce9bba98cf1f493aedffa5c Mon Sep 17 00:00:00 2001
|
||||
From: Alex Ng <alexng@messages.microsoft.com>
|
||||
Date: Sun, 6 Nov 2016 13:14:11 -0800
|
||||
Subject: [PATCH 07/13] Drivers: hv: vss: Operation timeouts should match host
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 8f5a883d54a08445a37f250e8d596f1721980719 Mon Sep 17 00:00:00 2001
|
||||
From 162dd9275b4ce7ffe7e7e0d3dcdb9662a189309c Mon Sep 17 00:00:00 2001
|
||||
From: Alex Ng <alexng@messages.microsoft.com>
|
||||
Date: Sat, 28 Jan 2017 12:37:17 -0700
|
||||
Subject: [PATCH 08/13] Drivers: hv: vmbus: Use all supported IC versions to
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 34d1a3e3cb0e79f1c87e0baeac05daa7c55578e3 Mon Sep 17 00:00:00 2001
|
||||
From b7524ea7d09a2b2ff38adc898e1c34a12ca07e6f Mon Sep 17 00:00:00 2001
|
||||
From: Alex Ng <alexng@messages.microsoft.com>
|
||||
Date: Sat, 28 Jan 2017 12:37:18 -0700
|
||||
Subject: [PATCH 09/13] Drivers: hv: Log the negotiated IC versions.
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 0fd91b71d003c0073084085502e6a437944190fa Mon Sep 17 00:00:00 2001
|
||||
From 1e50301f804c4d61db165693a184a919939e6153 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Sun, 26 Mar 2017 16:42:20 +0800
|
||||
Subject: [PATCH 10/13] vmbus: fix missed ring events on boot
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5052d94e452f9ec0da965d3c7ddbc699714ac3a1 Mon Sep 17 00:00:00 2001
|
||||
From 89c7fc409cc898f025963d0056b6ddf9a23a6c68 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 29 Mar 2017 18:37:10 +0800
|
||||
Subject: [PATCH 11/13] vmbus: remove "goto error_clean_msglist" in
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 45e38a960999b7fac67366a5166fac4247312dd5 Mon Sep 17 00:00:00 2001
|
||||
From 2981fbdae254370cd9ccc4a344568300e0c59c7a Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 24 Mar 2017 20:53:18 +0800
|
||||
Subject: [PATCH 12/13] vmbus: dynamically enqueue/dequeue the channel on
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c0555b07d6fe1414bfcfa6251ce99288b8760ba1 Mon Sep 17 00:00:00 2001
|
||||
From e4956e317bf21890abd2ffe2b9d66b6a177712f0 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Thu, 6 Jul 2017 21:37:11 +0000
|
||||
Subject: [PATCH 13/13] vmbus: fix the missed signaling in hv_signal_on_read()
|
||||
|
Loading…
Reference in New Issue
Block a user