From patchwork Fri Oct 15 15:05:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xueming Li X-Patchwork-Id: 101786 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 55D3BA0C45; Fri, 15 Oct 2021 17:06:31 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0FD17411CB; Fri, 15 Oct 2021 17:06:31 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2063.outbound.protection.outlook.com [40.107.223.63]) by mails.dpdk.org (Postfix) with ESMTP id BC952410F1; Fri, 15 Oct 2021 17:06:29 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S0iy7yMExErx2w/qtyg3YgFVAu2V/mGLWkaeL4FmEmXXb43yL8RijQjyvQbrSZAbP1dEAb64Y9HpQcDjOzAsH1Mh46bNLx6wN0X3TMY1nQkZnQ+gd2SumO/7zc68mf2Tsqlqe9m5qmV1nLYy68tmtveBkOSbWTG79xGYtPjbZV+D+mdfJ5yiRO5PjhEnUpnnKM8+Vi2pYY6VZ/m7U/5uyrX8TE0rNRTYwqlLA0LWHBhbJjf/C2FDDnV6QwCj0rSpyIUBxeXhIvSDd6qyHCUhRA3NeMn/KrrsNojU0TMaoDrR09ZuWjovsh52gh6N91j4HoZ5Tmd6oW4nWGNbqQ08QQ== 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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BcHUQBD3TxjErUS1awQzpdP32olv0m4VhEc9KJT6LOU=; b=TTdkZzCdvjjHv25sAY4oLCF6jFdNQ60DRVhYBqn/FP2eDf7onjTfBnvT4FCFit5bysuVQka2vMjbSppaKSplIOG4wGx/+gmSzrWoPV5SQ1virYKpSP8KqPbbVx9cAp3CgyMQ7u9FHCAf3p9uQgD88NhR+rsWcOHbIRz3M9qTZRsWzQ0Oiq6yYdYU7hEhxfvwQFPewGJVC5w7cVlrSdNHhtQSLLMzoowA4CAKR6gCbVaPnADsIfv4vw5gqMDWL+qgaq06q4dMLAxKCEeaibD2uOovWkgxpILChtc3gmssSWLFJuRSH9UwC5sr+3Y1T9YruxbeIj09FNNqecmotxIkpg== 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=quarantine 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=BcHUQBD3TxjErUS1awQzpdP32olv0m4VhEc9KJT6LOU=; b=mrBqrKTtEBD/e89KU+QC0oeXF1ey2GN0SThIPoHblQNpNzygfsoePsjIfOwnp7I2WLsjol7rp8+o5pQTjWLEbJb4SIeEMQgQPmnpwseQ+dA7fTKbVqBww75o5aUH9Ucr2tRtjmxe3Hzv8axY01Cxpy/ewqtgzan/gFdwO2/lmmKE6Bwtr9NL19RWqO710CAIi/d4FTOTBU1dZ2tkWtuvq65nXGiJC9+JHr7OvA3fh+nwK7v0LOvpvUinar7lGrrTRA4xLfcGyl7xMBnxco2oIKoQdkRot7twbvH2Zl7Vog1WpwafFmZlYDl2lSXRy6CcNxSZrAXgW5RMRk/GiLA8Rw== Received: from MW4PR03CA0061.namprd03.prod.outlook.com (2603:10b6:303:b6::6) by MW3PR12MB4426.namprd12.prod.outlook.com (2603:10b6:303:58::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.20; Fri, 15 Oct 2021 15:06:27 +0000 Received: from CO1NAM11FT066.eop-nam11.prod.protection.outlook.com (2603:10b6:303:b6:cafe::f6) by MW4PR03CA0061.outlook.office365.com (2603:10b6:303:b6::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.16 via Frontend Transport; Fri, 15 Oct 2021 15:06: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 CO1NAM11FT066.mail.protection.outlook.com (10.13.175.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4608.15 via Frontend Transport; Fri, 15 Oct 2021 15:06:27 +0000 Received: from nvidia.com (172.20.187.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Fri, 15 Oct 2021 15:06:25 +0000 From: Xueming Li To: CC: , Maxime Coquelin , , Matan Azrad , Viacheslav Ovsiienko Date: Fri, 15 Oct 2021 23:05:44 +0800 Message-ID: <20211015150545.1673312-1-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.6] X-ClientProxiedBy: HQMAIL105.nvidia.com (172.20.187.12) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2bb252ca-0028-4254-3a13-08d98fed5cae X-MS-TrafficTypeDiagnostic: MW3PR12MB4426: 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: n7NQ3D2kciVD4JQnGjWRtTpwM0xjA8l/ugcrZy+Rjy3N+bXaTqEqJB2fWiK/0vlXy6zddCYF6utMGT7UvbbwgJnPC3+YyAws5dy/UKYqCn6lTUaXfJM9bLTme+mz4j51mC6POWJC/ZKZTiuSss4Xw6N37ZQAwQyuxCkaWvKUfNMwRCi+UsGY4qGbAhPB2EMNNjZEsRwdkJ9rB+2juPFU8+A545V2VDLq5Whb0+btgVZHxJYSV3WSlRZsG+3JrNcVoUXPFyhHuUI68aMnqgWAGRETs5Qny5NR18LkEHfMobez5CcNZ6DIpzOaM5V/rwuVo9qdPCgTsnMr9ZUEnLvA2IuSW79PZa+Wi1sIM9GotF8D8fRc/LyvA/ofOqOM3ZKvnlUozsy9G3y9j9qW8KSKpWq7Wc6KRaTJij2rxXnltpXU+D2bMrZZgIFktcvWbY2+LIByGjbB7kwdOTZbRz63TNSEIgk50x4cusJeDDocPt9H64PUKhRSACxwq5MrB4Unph89HDhm9X8A0Yc1NdkV1wwn6l+4mZE/noGm2W+irarwr4zAZQA0g3J/oBYgLjggn7cWJ5AGmg4l/4PQ5zYcqibGAEEDGF0/DrbSXCxUf+bBK6aYEoMTZcPZmvZX3wX3byICToo8yR/6CO1UfA4fNeJ5qiuw2fRJblY2eqtgOqUj3KcXx6yeg37lKpHRxS+L4v8Z1zu1bIcAXP1aZqQFAw== 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)(6916009)(356005)(54906003)(4326008)(6286002)(7696005)(107886003)(8936002)(7636003)(1076003)(316002)(36860700001)(6666004)(47076005)(82310400003)(5660300002)(16526019)(2906002)(186003)(26005)(336012)(86362001)(83380400001)(426003)(36756003)(70586007)(55016002)(8676002)(70206006)(508600001)(2616005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2021 15:06:27.3565 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2bb252ca-0028-4254-3a13-08d98fed5cae 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: CO1NAM11FT066.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4426 Subject: [dpdk-dev] [PATCH v2 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. Fixes: bff735011078 ("vdpa/mlx5: prepare virtio queues") Cc: stable@dpdk.org Signed-off-by: Xueming Li Reviewed-by: Matan Azrad Reviewed-by: Maxime Coquelin --- 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 f530646058f..71470d23d9e 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 Fri Oct 15 15:05:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xueming Li X-Patchwork-Id: 101787 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 9FB34A0C45; Fri, 15 Oct 2021 17:06:38 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5812041263; Fri, 15 Oct 2021 17:06:38 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2042.outbound.protection.outlook.com [40.107.93.42]) by mails.dpdk.org (Postfix) with ESMTP id DE52C410F1; Fri, 15 Oct 2021 17:06:36 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=axpcA3ltcRq/iqr28Ky5+eHFKMcXTa1nkdEC/JpT2E7a080uqmPZcqked1BZH7OjqAE9MshsohvGtxOaa+6hxJ7zerJWe16FQsEG20fkIDBthp7kok2ZwwDA+NEkQRnnHbwYRxG6sC4saMPZK4oLAjJWfvG0Sj5uPwhItE/aP5Tes1VDxyfNZk6RrMlA9pks4oItVjD1vp2IEbuUJHanp1GkXKr7xOHduSa9VqrFbwhqpgSdYksQ2cphzcn93uMeSm24ggFHytDbeLwcxXvXF77C6bd3WeJY9oSeJLILWFkbdwesGU010RTr/h8c8BFydSrjp6iLgJ+EdHSBcbe/2A== 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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jtuVNK93/su1FlVOO4INWkEdkFV+O7XG7epwidi5aTA=; b=BgRYyxrwfdYuu8Xe0dIn7gnh2WCBVEWVOQ3nAZLL7WhmTX1rBwGgmCQsN3Wqcre63BIUVkrlMxw9PdfiCve9zhHtJCZdAX3Z9si027UlboL0aisekiadMUw2GnePhqffmeOqCHajQWJ0GzY4xA8VPnwp/PH9ItJfzAao0WpjcwUCpVLAHDQUqpHSx+Ssab4+0szsjpxI4zHdm2AE1dg4U1laT5ZDY/qXFXabKrHaDszdqICHklrKCLhF/LBBVbm77N/4+cEbbv/YZmw2/ICDh45AgCZx6HH4O01NHQr4co3nsI5uawGfL/kB6SRCRsO7oTe8WahDdfkdAMlvJfuUbA== 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=quarantine 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=jtuVNK93/su1FlVOO4INWkEdkFV+O7XG7epwidi5aTA=; b=YYHJC3wEpujRO2iTaaug21eInSXUTn9kyTSUx/DssET7W6ov6KFUCXDisPEnPVPiWE+zxHjbBFmLU6daLwrSCiSeUcFLbAUEiZOFT1dElUAfLmbZAnKM7L9kilUsvn5MY+W0LuqHZekRhsy9kVwtgVFhxbJrzGIl+gpGGLFtsWPvTDNyC4hL0k4BS+hvL47NIMUjqtiXKA3Pw0MT7actLgXIkDDa9r9b+SnYjvX3iyj9lEn4eSuHveUfmG91cLYxNx1ApdIaOMeH7Q1PwJ+2IMK72sWpZANrRoR7IRkTkqxr0Vcj10y0dsF9m8XDt25+RVFA4yEyC6vfpGhDKdltRg== Received: from MWHPR12CA0056.namprd12.prod.outlook.com (2603:10b6:300:103::18) by BN8PR12MB3569.namprd12.prod.outlook.com (2603:10b6:408:49::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.17; Fri, 15 Oct 2021 15:06:30 +0000 Received: from CO1NAM11FT055.eop-nam11.prod.protection.outlook.com (2603:10b6:300:103:cafe::a0) by MWHPR12CA0056.outlook.office365.com (2603:10b6:300:103::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.14 via Frontend Transport; Fri, 15 Oct 2021 15:06:30 +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 CO1NAM11FT055.mail.protection.outlook.com (10.13.175.129) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4608.15 via Frontend Transport; Fri, 15 Oct 2021 15:06:29 +0000 Received: from nvidia.com (172.20.187.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Fri, 15 Oct 2021 15:06:27 +0000 From: Xueming Li To: CC: , Maxime Coquelin , , Matan Azrad , Viacheslav Ovsiienko Date: Fri, 15 Oct 2021 23:05:45 +0800 Message-ID: <20211015150545.1673312-2-xuemingl@nvidia.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20211015150545.1673312-1-xuemingl@nvidia.com> References: <20210923081758.178745-1-xuemingl@nvidia.com> <20211015150545.1673312-1-xuemingl@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.187.6] X-ClientProxiedBy: HQMAIL105.nvidia.com (172.20.187.12) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6eb4d99f-9866-4c67-b083-08d98fed5dfa X-MS-TrafficTypeDiagnostic: BN8PR12MB3569: 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: 5hKzEBFqvxPDoQfMMQ6+z4T0Y55dAfHU/0AEgreffCvYlHF0HIuVPi+TuV9BTigq8VyAc20GdTS5j3uAqk8wz1E0KqyHqV/UhZJ9BY7e2XPotL/KttH7if5SOw700+nQhlBqODuYThcXpwy1bU4Zuy5+zYnPOPaWxmAH3tDDqNqsuzF8qDISanSaGScMfcnPbinMRTDIa1h1gJtYUyKeCWLDev9tRp6muGSjP7OOG9atJyPriCjZm9boK/a3p47lfmGiS583dVr2GVHJXfOO5zvsLkIcjQG1vxLWk5d6LTDYJZZuowJ+9hqech1645iKYZTE6l/I2NgOidOIfD3XgKYNmMqF2n+WR1OVjAqZ+WmjgavQSPtpyQS2OHjVQsrBHclxEhqpp1wwpszgHZG2uN8LppV5mUsvq7s63LAF3T99+ttwZpVeR7kkbR6n5Q5CR4R8zQQ5mk5oBNncUkcuV8EM2+gejqpMFBXj02fBmn1FCf/KIfpL4mB0UUbeIxqRWRS28R+kMIRWNWA/0PlxHhVY74RpuNI1X5Uw949ztpVdFQw3RIJxB6GSeI+nVJcgH22Ohzccp/sEU1iz/f1h0EbUcA24AegTTIhtq5ZXuDYI0EX9jH/kvfO5P5KuvzpnGL44b3iDrdre2fMbhmwnJJszh+5zrxowA1rx3Pl/5PztcDoD22cQofrYzjbmyJ2V1bsgqKNJ+O+i6bdxjCjhUw== 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)(46966006)(36840700001)(82310400003)(6286002)(55016002)(7696005)(8936002)(1076003)(356005)(83380400001)(7636003)(8676002)(4326008)(54906003)(36756003)(70586007)(186003)(107886003)(16526019)(336012)(70206006)(36860700001)(2906002)(6916009)(26005)(5660300002)(86362001)(426003)(508600001)(2616005)(316002)(6666004)(47076005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2021 15:06:29.4438 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6eb4d99f-9866-4c67-b083-08d98fed5dfa 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: CO1NAM11FT055.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR12MB3569 Subject: [dpdk-dev] [PATCH v2 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. Fixes: 4cae722c1b06 ("vdpa/mlx5: move virtual doorbell alloc to probe") Cc: stable@dpdk.org Signed-off-by: Xueming Li Reviewed-by: Matan Azrad Reviewed-by: Maxime Coquelin --- 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 6d17d7a6f3e..991739e9840 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;