** Changed in: linux (Ubuntu)
Importance: Undecided => Medium
** Tags added: kernel-da-key kernel-hyper-v
** Changed in: linux (Ubuntu)
Status: Incomplete => Triaged
** Also affects: linux (Ubuntu Yakkety)
Importance: Medium
Status: Triaged
** Also affects: linux (Ubuntu Xenial)
Importance: Undecided
Status: New
** Also affects: linux (Ubuntu Trusty)
Importance: Undecided
Status: New
** Changed in: linux (Ubuntu Xenial)
Status: New => Triaged
** Changed in: linux (Ubuntu Trusty)
Status: New => Triaged
** Changed in: linux (Ubuntu Xenial)
Importance: Undecided => Medium
** Changed in: linux (Ubuntu Trusty)
Importance: Undecided => Medium
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1632786
Title:
[Hyper-V] do not lose pending heartbeat vmbus packets
Status in linux package in Ubuntu:
Triaged
Status in linux source package in Trusty:
Triaged
Status in linux source package in Xenial:
Triaged
Status in linux source package in Yakkety:
Triaged
Bug description:
Hyper-V hosts can continue sending heartbeat packets to guests
independent of whether earlier packets have responses, which led to a
potential issue of these packets being dropped when responses took too
long to process. Lost heartbeats will lead to the host diagnosing that
the guest is dead and should be shut down and restarted.
The following patch was submitted upstream but has not yet been
accepted. I will add the upstream commit ID once the patch goes into
linux-next:
From: Long Li <[email protected]>
The host keeps sending heartbeat packets independent of the
guest responding to them. Even though we respond to the heartbeat messages at
interrupt level, we can have situations where there maybe multiple heartbeat
messages pending that have not been responded to. For instance this occurs
when the
VM is paused and the host continues to send the heartbeat messages.
Address this issue by draining and responding to all
the heartbeat messages that maybe pending.
Signed-off-by: Long Li <[email protected]>
Signed-off-by: K. Y. Srinivasan <[email protected]>
CC: Stable <[email protected]>
---
V2: Submit the patch to stable as well - Joshua R. Poulson
<[email protected]>
drivers/hv/hv_util.c | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/hv/hv_util.c b/drivers/hv/hv_util.c
index 4aa3cb6..bcd0630 100644
--- a/drivers/hv/hv_util.c
+++ b/drivers/hv/hv_util.c
@@ -314,10 +314,14 @@ static void heartbeat_onchannelcallback(void *context)
u8 *hbeat_txf_buf = util_heartbeat.recv_buffer;
struct icmsg_negotiate *negop = NULL;
- vmbus_recvpacket(channel, hbeat_txf_buf,
- PAGE_SIZE, &recvlen, &requestid);
+ while (1) {
+
+ vmbus_recvpacket(channel, hbeat_txf_buf,
+ PAGE_SIZE, &recvlen, &requestid);
+
+ if (!recvlen)
+ break;
- if (recvlen > 0) {
icmsghdrp = (struct icmsg_hdr *)&hbeat_txf_buf[
sizeof(struct vmbuspipe_hdr)];
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1632786/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp