From patchwork Thu Sep 23 08:17:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xueming Li X-Patchwork-Id: 99462 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 27F3FA0C43; Thu, 23 Sep 2021 10:18:28 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A210E41225; Thu, 23 Sep 2021 10:18:27 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2048.outbound.protection.outlook.com [40.107.93.48]) by mails.dpdk.org (Postfix) with ESMTP id 92930410DD for ; Thu, 23 Sep 2021 10:18:26 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=adr3tancqpEZr79NXfuhiyX5lWPjGUA7/XfffcRNXNXJycz9pkOwNhDni2FKNMLqbVIcdSGFy7ratU1pqHaE5Wrv4heyMz+zEW6U8kgIzRm9kQ5pT3VeMAcVKihjJKW0Ppt4M0V7Ab6CELpFCtTOYiRcKZMlXahlWEfGVmICQ05HF59kZd2XW5ozIbLX2vDckk23sZQk3t53LJKdb9wXmKfZsqoxu9Uxvpx//9zv1TbWlAUZbVDK3elGhalceqTCsOKNFmmMFtcXG5x6/aPiDSBktLEPDGTYHeIB8SsqXXLR1ma3ThSZl7RqH96GTbsbXRZ6ThqurqL5we3BtSajgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=uen5Dtf0Av9YYbWESWcr8OPk0C6XRIAm/4U97WCOAt4=; b=hqOqhMUmDVHo87ESjxdI6vJXOTow4dAx5UGmy2SvspgxkougT7X9KdeI7txSbOjv0dCRu2nAogXtyBVo8y+c05J785jfqTpndQeur23AlkjHyKjA3CGvh9wjn68qM9xqTO2jO1+GxkVv0ispPf5bnAERXLaQYMQwUKv5iVt42+sVZOhSLXZzEm+bM51iOj5xNq17Ao2trftUA9yPfEltyMEYCuWe3iz6zu/B+eSbPRXd5zHhYJEeOy5v0SoWVxA29zdgbwvcmALxCneWayw4exKoUWiXljgyDVgqP/1MqzVHE0ddJ3npp6ZL56CFdnWnFbcHYXBoM4nJxz0e5hSGiA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.32) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uen5Dtf0Av9YYbWESWcr8OPk0C6XRIAm/4U97WCOAt4=; b=ApMNg21CsJ0qQCGPKYOQ6Oqotm9HY4z4WrTl2lr1QcJl1arNC0l5N8aEXo+fXCZhejzRqKNIcZx9d0jCL9gbfPm0xNkzyO7+sicdcl3uDfixACqmHkoNLV4j3KnJllRlx9n7SBkH7Bny9jgIg2bf5ztKaLVIKkJVo9kjnZQU3/C7H+sUmfQQABbJTHEwqoXjMfqLyDxAZso1MC8Mp54iiXRJCO9rlPqu1Hifc/AfQZgSqhdI/GVUtkSy0vHor9CNuRjjnIgK8Zhf+OUyJHZ5A2NHtwJFeKwYoDRkxArDyD9wR7j1/zeOqhTTiACKhxdgjRQ4CkGGwvN43/NYVANmjw== Received: from BN0PR04CA0131.namprd04.prod.outlook.com (2603:10b6:408:ed::16) by MN2PR12MB2944.namprd12.prod.outlook.com (2603:10b6:208:ae::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.13; Thu, 23 Sep 2021 08:18:24 +0000 Received: from BN8NAM11FT030.eop-nam11.prod.protection.outlook.com (2603:10b6:408:ed:cafe::17) by BN0PR04CA0131.outlook.office365.com (2603:10b6:408:ed::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.15 via Frontend Transport; Thu, 23 Sep 2021 08:18:24 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.32) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.32 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.32; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.32) by BN8NAM11FT030.mail.protection.outlook.com (10.13.177.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4544.13 via Frontend Transport; Thu, 23 Sep 2021 08:18:23 +0000 Received: from DRHQMAIL107.nvidia.com (10.27.9.16) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Thu, 23 Sep 2021 01:18:22 -0700 Received: from nvidia.com (172.20.187.5) by DRHQMAIL107.nvidia.com (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Thu, 23 Sep 2021 08:18:21 +0000 From: Xueming Li To: CC: Matan Azrad , Viacheslav Ovsiienko Date: Thu, 23 Sep 2021 16:17:57 +0800 Message-ID: <20210923081758.178745-1-xuemingl@nvidia.com> X-Mailer: git-send-email 2.33.0 MIME-Version: 1.0 X-Originating-IP: [172.20.187.5] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To DRHQMAIL107.nvidia.com (10.27.9.16) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 171c1209-af21-4d07-f691-08d97e6ab668 X-MS-TrafficTypeDiagnostic: MN2PR12MB2944: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:475; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: N4M81tmkdCCMvhu6asAO+eLU6osoMGry+G6VmClazpb2ePoPX2WGm/5duA6RwUk8Foe1aNEA/mLrG5fHZMBpLyg7HeZhuHhD2Ea1r0k+5hoG86tr/drlSSPUKl4LZn3h9LzjI/ynH1Vo98PZsXgPnC3NfgQZM0kboF8ySneiKWRaN9jIcTowUohcJuXcntAqu1kwN8hd+86MimQ21d3ypsalFotDfjlx/0VKPBUWW4dyzIHfAMnW9QkE11n09vJUkT+Gkv7xFflciLl3Rlt5wnGOf9LVEBvvFL4q+KNekU1aDrSc0GwnIVpFoWdV0PRoIhUdIofXGztQmj/4vzNgoBdDwcpfaOL/EBUGQ/Z5MeHtMEK+O2DS8mYhV7bpoqTTMoIFsj+3y7iUznCWy89Pkbs6WuJXMPb7HIRCovkVppuh14/kJaDuWjaf/FuQWpO0fqiloxnKxd7Xxg9KfGiBNqTsBky8zPlU5HbU8Nv93rdDHFk6QBBiHOunE8m1Q9LcJgoyH3L5n28IuDSLQBBke3hkUAzs42CW8Ujpb8qY61v1U+Uasowdz/dzopA+CweldwwpCy42YFd7p49Xt12KOY2llwpJH6DPHONsar2pZxJiHTUBqQ2ckLJeg023bZP0lN+aD+cSRmy5oxWQwht1ldGytoacs+cq8EEnVwsgk8zNx8cYcP+YFAklD1YmyaaVQeOOyLTOkqWttKbyZxriuQ== X-Forefront-Antispam-Report: CIP:216.228.112.32; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid01.nvidia.com; CAT:NONE; SFS:(4636009)(46966006)(36840700001)(6666004)(4326008)(36860700001)(26005)(1076003)(336012)(186003)(82310400003)(70586007)(426003)(47076005)(5660300002)(8676002)(16526019)(7636003)(8936002)(6916009)(36756003)(2906002)(7696005)(508600001)(356005)(54906003)(70206006)(107886003)(316002)(2616005)(6286002)(86362001)(83380400001)(55016002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2021 08:18:23.9882 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 171c1209-af21-4d07-f691-08d97e6ab668 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.32]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT030.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB2944 Subject: [dpdk-dev] [PATCH 1/2] vdpa/mlx5: workaround FW first completion in start X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" After a vDPA application restart, qemu restores VQ with used and available index, new incoming packet triggers virtio driver to handle buffers. Under heavy traffic, no available buffer for firmware to receive new packets, no Rx interrupts generated, driver is stuck on endless interrupt waiting. As a firmware workaround, this patch sends a notification after VQ setup to ask driver handling buffers and filling new buffers. Signed-off-by: Xueming Li Reviewed-by: Matan Azrad --- drivers/vdpa/mlx5/mlx5_vdpa_virtq.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/vdpa/mlx5/mlx5_vdpa_virtq.c b/drivers/vdpa/mlx5/mlx5_vdpa_virtq.c index f530646058..71470d23d9 100644 --- a/drivers/vdpa/mlx5/mlx5_vdpa_virtq.c +++ b/drivers/vdpa/mlx5/mlx5_vdpa_virtq.c @@ -4,6 +4,7 @@ #include #include #include +#include #include #include @@ -367,6 +368,9 @@ mlx5_vdpa_virtq_setup(struct mlx5_vdpa_priv *priv, int index) goto error; } virtq->stopped = false; + /* Initial notification to ask qemu handling completed buffers. */ + if (virtq->eqp.cq.callfd != -1) + eventfd_write(virtq->eqp.cq.callfd, (eventfd_t)1); DRV_LOG(DEBUG, "vid %u virtq %u was created successfully.", priv->vid, index); return 0; From patchwork Thu Sep 23 08:17:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xueming Li X-Patchwork-Id: 99463 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0838EA0C43; Thu, 23 Sep 2021 10:18:34 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 084FC4124F; Thu, 23 Sep 2021 10:18:30 +0200 (CEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2058.outbound.protection.outlook.com [40.107.236.58]) by mails.dpdk.org (Postfix) with ESMTP id D72C44124F for ; Thu, 23 Sep 2021 10:18:28 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G8VYgHCfPlt88gpGZNjlLeXY0KDV+Uxhah5O0dltI4Uv34JLFV4ZNDqKOhfz4Wuq77w1w6INYwlEU0sdVLPIRSgl5//e4caRJszQ8XooQVr1MkGc0q2YBEz2U4q2sRKDPQhoUtMj2UqlppAdSLjZBJwJNXGNjzlYYwhnFwT+9E0/ZuJo2GQFoKH4CRDZjhYugbqSra79bMQ19JubY35kN7VMyu/KiB+aC8vPqwDvLxEW26YElrqadgb/hX+FR4pvivvZmcEv9oZiIZ5g1NZ8kzAgh1Vl2q3wkilOF5PbRZmgJmyiFt2+Ho+WaUUAP025+lNBecpyWi41qWelcuY5yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=JCBcX0kvxLH88XeU3T2fp9103R7RFrRBYnrJPlwUyF8=; b=azl7grcN/7GuK7xt8grG/OR17F5NGe2Zf2Ge9mbMOkbzJzyTv7sJXITZJGUqnUVoSWQauqsMrGBcaELlGJsBzc9454CifBj5CzPTwkQIylbRSw8KNKk42u+O8ukChcrZGLKPL7BvX7+rv5o2ar/roV0fmB3bkW31U0shgffcMA527nxbc8Mqxib5ePMvv2KjZEYO/EUcGba0Kq3Vmb2taOa3401g94Un1yRT04Um/hqdeMEfw4TLfAVOPi8OLrQIq6RbGpsiPYG5To1kIT+2vfGuIQdGXLuozeSDNh1vXdILSDLYuW7wIs/ENAQzE0mgeN8vfQ5+MMVg+GkwJVa/+g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=quarantine sp=none pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JCBcX0kvxLH88XeU3T2fp9103R7RFrRBYnrJPlwUyF8=; b=YMtRFq+tlQMEg0/GmAHWAyuHZd7ucnis2421TkWjeHKL9r0ldt3BV5Z2w2u1HtOuZVSxmpUmauUhrbXpbQP8glIEGwTBkQ5OxFnDaO+MBen6F00UPu3mbNnCCU5HL8gFmDIul9v/VFa6gpYwQyHzcYpO4qPDPXesmJtg2NkZPhdBmVl2ko0Ku/Cz/Sm1VrAdy+i+tyZswJRNLqOcyrEj7N2vtIuYeW/Wdhb5C+PWU1hMegtxnb2y+bu3/Lvi4hgIMAxefqwM965IRys4Ap3wmVXjo1M99EvTKLX6gvdnFtyzh83ijiKjpLb1vMLs5vnbFUTvflw1ONcX+mIDb/GMQw== Received: from DM3PR12CA0053.namprd12.prod.outlook.com (2603:10b6:0:56::21) by MN2PR12MB2862.namprd12.prod.outlook.com (2603:10b6:208:a9::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.15; Thu, 23 Sep 2021 08:18:27 +0000 Received: from DM6NAM11FT023.eop-nam11.prod.protection.outlook.com (2603:10b6:0:56:cafe::da) by DM3PR12CA0053.outlook.office365.com (2603:10b6:0:56::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.13 via Frontend Transport; Thu, 23 Sep 2021 08:18:27 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by DM6NAM11FT023.mail.protection.outlook.com (10.13.173.96) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4544.13 via Frontend Transport; Thu, 23 Sep 2021 08:18:27 +0000 Received: from DRHQMAIL107.nvidia.com (10.27.9.16) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Thu, 23 Sep 2021 08:18:25 +0000 Received: from nvidia.com (172.20.187.5) by DRHQMAIL107.nvidia.com (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Thu, 23 Sep 2021 08:18:23 +0000 From: Xueming Li To: CC: Matan Azrad , Viacheslav Ovsiienko Date: Thu, 23 Sep 2021 16:17:58 +0800 Message-ID: <20210923081758.178745-2-xuemingl@nvidia.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210923081758.178745-1-xuemingl@nvidia.com> References: <20210923081758.178745-1-xuemingl@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.187.5] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To DRHQMAIL107.nvidia.com (10.27.9.16) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2e9d9d69-7fbb-4f17-b6d4-08d97e6ab866 X-MS-TrafficTypeDiagnostic: MN2PR12MB2862: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3513; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mwYYa2AUq/eBUJamoYau3b9mrvwhzda3pHyYuSgTbSxDnJiWhRSh+g8emzZU2iyxcIRrCf+v8lPQVgRQ6lRrvxonjf0DUaEolZoCcjG69ChD7vdus27NLDkSRrMdOXisj6xKsftAjlRTCRAITtmyoIFm9Q4H96u3B3OSjQ6+hn2rEGRuTw5IGiw8ESyGTE+IB9EYkccejQfvYt7CENI7YqzpCiut+Agpqjjt3O/+0HoC0Aj8ZOJ/WK6oqMTaxwJIlIczxZK2uJhcSR7DgCWti7nF4bsPHFTNqzEe+CTv0w9f/PTdFgBqjS7p7clJXWZXjJJtwcgcomFT8Z2n4X1hvYQZ9Tm5O8EkzfXmVVYXP9PzDvkDqc6VgUx+Ye/88YsMLMWOp5xiVtulkF0usYvjvXl9PFvHoPb/l7PYTo587JU9Lk55LwHWnYjaRmT1+ebFl9f93mdA9sHnz3HHl43URymTUl0nmolPTkELt4/bL0vlcesugGOXZRn9GyX3QMDSfPzS3fcCXFN3g/2gEeLRHRkR6E+tJs+UAP49LiX8S24UNyZe6ghJaX8ahJs/u32VU6Zji+9yZAS0Vp08zwDn5mhoc+RP+IlPWk0wNKySV6WsZtl0oUeHvirxCWqSU+iwwxyNcq5OS6AWHSem14IrmI3jWpSRTP9xn+aoCkUoFRmZ3r4MpSKQqXfZ8bLAVHD+L5lLcm0EsD2eRWQDgRkHTg== X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(36840700001)(46966006)(36906005)(6286002)(54906003)(8936002)(70586007)(70206006)(55016002)(4326008)(82310400003)(7636003)(107886003)(5660300002)(316002)(356005)(6666004)(2906002)(8676002)(508600001)(36860700001)(47076005)(6916009)(36756003)(86362001)(1076003)(26005)(16526019)(7696005)(186003)(336012)(2616005)(426003)(83380400001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2021 08:18:27.3858 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2e9d9d69-7fbb-4f17-b6d4-08d97e6ab866 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT023.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB2862 Subject: [dpdk-dev] [PATCH 2/2] vdpa/mlx5: retry VAR allocation during vDPA restart X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" VAR is the device memory space for the virtio queues doorbells, qemu could mmap it to directly to speed up doorbell push. On a busy system, Qemu takes time to release VAR resources during driver shutdown. If vdpa restarted quickly, the VAR allocation failed with error 28 since the VAR is singleton resource per device. This patch adds retry mechanism for VAR allocation. Signed-off-by: Xueming Li Reviewed-by: Matan Azrad --- drivers/vdpa/mlx5/mlx5_vdpa.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/vdpa/mlx5/mlx5_vdpa.c b/drivers/vdpa/mlx5/mlx5_vdpa.c index 6d17d7a6f3..991739e984 100644 --- a/drivers/vdpa/mlx5/mlx5_vdpa.c +++ b/drivers/vdpa/mlx5/mlx5_vdpa.c @@ -693,7 +693,14 @@ mlx5_vdpa_dev_probe(struct rte_device *dev) if (attr.num_lag_ports == 0) priv->num_lag_ports = 1; priv->ctx = ctx; - priv->var = mlx5_glue->dv_alloc_var(ctx, 0); + for (retry = 0; retry < 7; retry++) { + priv->var = mlx5_glue->dv_alloc_var(ctx, 0); + if (priv->var != NULL) + break; + DRV_LOG(WARNING, "Failed to allocate VAR, retry %d.\n", retry); + /* Wait Qemu release VAR during vdpa restart, 0.1 sec based. */ + usleep(100000U << retry); + } if (!priv->var) { DRV_LOG(ERR, "Failed to allocate VAR %u.", errno); goto error;