From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 277FD45804 for ; Fri, 23 Aug 2024 18:21:00 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 217D8402BE; Fri, 23 Aug 2024 18:21:00 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id E804D40295 for ; Fri, 23 Aug 2024 18:20:58 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1724430058; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/cYYYDz2Z++ysfQShOnDEUPETTmXVYo5/ov6NmwJf4A=; b=O/JR0iHrCCDlH5AGh48y5TimiXavYDS3dl+YTwV2exfiDg2s6GylEGrq2uPvr6U5MLAp1l 4CiuNM30zDzU5BLWs0coiTF1r8WJXdEQxblAI2q65WL8xAsUe3AgbyXwuiLABgwz9T3Rwv VS14QmQAq4WYkzpFKI/W42Hc1MjOjvM= Received: from mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-400-doB2iBQYN4iWQDhBKQfXSg-1; Fri, 23 Aug 2024 12:20:55 -0400 X-MC-Unique: doB2iBQYN4iWQDhBKQfXSg-1 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 82CA61955D53; Fri, 23 Aug 2024 16:20:54 +0000 (UTC) Received: from rh.redhat.com (unknown [10.39.193.224]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 1A6531956053; Fri, 23 Aug 2024 16:20:52 +0000 (UTC) From: Kevin Traynor To: Haoqian He Cc: Maxime Coquelin , dpdk stable Subject: patch 'vhost: cleanup resubmit info before inflight setup' has been queued to stable release 21.11.8 Date: Fri, 23 Aug 2024 17:17:43 +0100 Message-ID: <20240823161929.1004778-35-ktraynor@redhat.com> In-Reply-To: <20240823161929.1004778-1-ktraynor@redhat.com> References: <20240823161929.1004778-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 21.11.8 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 08/28/24. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/1a7bda79d140d77a097558cf29d63eda14c66f7f Thanks. Kevin --- >From 1a7bda79d140d77a097558cf29d63eda14c66f7f Mon Sep 17 00:00:00 2001 From: Haoqian He Date: Fri, 26 Apr 2024 07:09:46 -0400 Subject: [PATCH] vhost: cleanup resubmit info before inflight setup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit e4a01eea66326c58593906e189b376605a0ec606 ] This patch fixes a potential VM hang bug when the VM reboots after vhost live recovery due to missing cleanup virtqueue resubmit info. Specifically, if inflight IO that should be resubmitted during the latest vhost reconnection has not been submitted yet while VM rebooting, so GET_VRING_BASE would not wait for the inflight IO, at this time the resubmit info has been. When the VM restarts, SET_VRING_KICK will resubmit the inflight IO (If resubmit info is not null, function set_vring_kick will return without updating resubmit info). It’s an error, any stale inflight IO should not be resubmitted after the VM restart. The solution is to clean up virtqueue resubmit info when function set_inflight_fd before function set_vring_kick. Fixes: ad0a4ae491fe ("vhost: checkout resubmit inflight information") Signed-off-by: Haoqian He Reviewed-by: Maxime Coquelin --- .mailmap | 1 + lib/vhost/vhost_user.c | 1 + 2 files changed, 2 insertions(+) diff --git a/.mailmap b/.mailmap index 41d1bdb972..7aaed03aab 100644 --- a/.mailmap +++ b/.mailmap @@ -472,4 +472,5 @@ Hanumanth Pothula Hao Chen Hao Wu +Haoqian He Hari Kumar Vemula Harini Ramakrishnan diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c index af0062dd1f..ca0618f627 100644 --- a/lib/vhost/vhost_user.c +++ b/lib/vhost/vhost_user.c @@ -1787,4 +1787,5 @@ vhost_user_set_inflight_fd(struct virtio_net **pdev, VhostUserMsg *msg, continue; + cleanup_vq_inflight(dev, vq); if (vq_is_packed(dev)) { vq->inflight_packed = addr; -- 2.46.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2024-08-23 17:18:10.997338861 +0100 +++ 0035-vhost-cleanup-resubmit-info-before-inflight-setup.patch 2024-08-23 17:18:09.674429945 +0100 @@ -1 +1 @@ -From e4a01eea66326c58593906e189b376605a0ec606 Mon Sep 17 00:00:00 2001 +From 1a7bda79d140d77a097558cf29d63eda14c66f7f Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit e4a01eea66326c58593906e189b376605a0ec606 ] + @@ -27 +28,0 @@ -Cc: stable@dpdk.org @@ -37 +38 @@ -index ed63605a15..ff20619bfb 100644 +index 41d1bdb972..7aaed03aab 100644 @@ -40 +41 @@ -@@ -496,4 +496,5 @@ Hanumanth Pothula +@@ -472,4 +472,5 @@ Hanumanth Pothula @@ -47 +48 @@ -index 414192500e..7c54afc5fb 100644 +index af0062dd1f..ca0618f627 100644 @@ -50 +51 @@ -@@ -1872,4 +1872,5 @@ vhost_user_set_inflight_fd(struct virtio_net **pdev, +@@ -1787,4 +1787,5 @@ vhost_user_set_inflight_fd(struct virtio_net **pdev, VhostUserMsg *msg,