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 7D872A0C4E for ; Fri, 15 Oct 2021 15:43:56 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 77404411CB; Fri, 15 Oct 2021 15:43:56 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2074.outbound.protection.outlook.com [40.107.94.74]) by mails.dpdk.org (Postfix) with ESMTP id 327F6411CB; Fri, 15 Oct 2021 15:43:55 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NFhY0lq4oZoBZUPdV4vjGNFZJtgxFT9L/KLpL+iP2D6GYfyWgQq2sr1boaGpy0Hb149zrAaenLSUdXHhdwewXFH3Y02w4BrOVP7/q5hBkIpf4mYmdu3YZGtmQ7zgWCyqRLN0j11srXR9kv94k+H8en/49sfGQhx2kRrFknfRPQtQ2DA/+Oub9NfjSGFoK5excZVzXsuiat4aPpE+F0eY3gu3Dv3x1tB2PKwMitBkNglzqyI2S00tnyMZpotSnkjAB4Wug6sMvElIZJ0YVqrDORCrRJZZqi/P+nbXBT8k5AI/vtPgUc6rqJHY98Mip8LFOTwZpsMMbAEMUDhfQwM6bA== 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=j/Yqh4vi6v/TuOYo6SlR12gdfJXIqJzv3gjtb9XkEHE=; b=lGgZT4ogf+XkbGNyj/LfdjTOPS/RF1oRlvDcHH8a+QGuiG1e0Mmym/5OFKEGlz0OkLb+QBiBJtqwwttanvXzxKffj1oFWxtKCXnZPClt5sd3rHiJP6EwsY1bwkJc3rDIQ0IWihql1VbenYtqQo7170MjbodRVh6S/UOPMgtcsbmgTeSxLhFyhVzAIRcT7WIYuacmBiLZMTtQGYpva2JqNy/MDkrAcmSUJRQJKsqzWDhr3PGleJ9S7uL3sEq2qCP9ZtLsdfSGSxMf6bHwSb3o+1lRpGkJavgFJXGA1BzKHbvcR0H+9YcAbE0LMRPu623LkvO2MKt7emSPkFvaD+Yzxw== 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=j/Yqh4vi6v/TuOYo6SlR12gdfJXIqJzv3gjtb9XkEHE=; b=AMPs4wAMeU2Pr9li9T0ICD0SkmYgLGnacXCSGEXayVhBPQ0kf1g99bHki7zrbbzJuaBqsNc3/m115QLFXrLe8V8vpOs4n+9lgq0GFpDFOxFXWU+QFOGreBu1DwxQZ0oQjGPq9s4Orqat683T/B7Pxq6yyBN865yQZxBVcu4PsR2Zsp1nC13DRf+tq5ysWNOYRcx0uBFfrUKg/LyC2MmcGwRs0UrNorhipeluOGxV9p5XXs7SdyyoVfd7N8Da061oeH6RPkoHn3u6MMSyB4ktqPeleUy7vpI6vmtgQf3G3M9qp66cbL+qCO6i56aImxnZ3drIsdoFk0XbFzTL/GuhiA== Received: from DM6PR11CA0072.namprd11.prod.outlook.com (2603:10b6:5:14c::49) by BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.16; Fri, 15 Oct 2021 13:43:53 +0000 Received: from DM6NAM11FT017.eop-nam11.prod.protection.outlook.com (2603:10b6:5:14c:cafe::eb) by DM6PR11CA0072.outlook.office365.com (2603:10b6:5:14c::49) 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 13:43:53 +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 DM6NAM11FT017.mail.protection.outlook.com (10.13.172.145) 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 13:43:53 +0000 Received: from nvidia.com (172.20.187.5) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Fri, 15 Oct 2021 13:43:48 +0000 From: Xueming Li To: Maxime Coquelin , CC: , , Matan Azrad , Viacheslav Ovsiienko Date: Fri, 15 Oct 2021 21:43:19 +0800 Message-ID: <20211015134319.1664761-2-xuemingl@nvidia.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20211015134319.1664761-1-xuemingl@nvidia.com> References: <20210923081758.178745-1-xuemingl@nvidia.com> <20211015134319.1664761-1-xuemingl@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [172.20.187.5] 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: f90eeb29-ab0d-4787-ecac-08d98fe1d3ad X-MS-TrafficTypeDiagnostic: BN9PR12MB5273: 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: gqP/66RdKxqyQKcImOes7Xt/gKxi0sT7qyC6GalYkEvJH4VtsI38yq3rvwbXNJOsZBw3G+Lh1VZ266ir5TKIAaxSdd7VvrFKzCsz/BhgPxlnW0Ez3kd4wal9bDVYhXKkhEPyxVkMuzCvF1tWEcHRbDkCjQGC9N3IAKuT0vzaox3NvjhkYCMkgs8I+OOE91PNmmuGxcdsxjZHfSHLN1qM+aY79cysYqdTS4wmi6FDl+Zg6tHFxS8e8bDjiTEvfYhsGec5YtJ2gmC++2mSw7enETFDYddfraqPeQXSgKKakm6QPjfxJC+9GBaNPWAm1dnRTwGsMHv6SmKGOZeZ6eeMgnn3uV+l+qAczTT1GnKKBcgzHTr3AhGYB6Lyj8yQaJ5j32Zyapk8bOrWxT0Fx3uEh0EK92WVq+/oAR+NG8dIhCMZRF182eg+eMA6lqDQDKQ80LWRBcJQX3ROSQTjnMaGTFQCQHOJGMQKfNHLaHVawKV+wqBRRCJxkiX7MXeyt21vK62ngRZxsY6XniHBkoH8C6nJZfBeIMppr6g4vA1H/mrLMUYYyjfB0vJLFaTsfds7VRw87lXCclW2y26nCrPPorwrzEOE04FDfP8GJM72o+UcLHRw6WfV341Bksz+ThhGo4VrFC6uSmWErPtTcX7UKICnyt+IyAQtD7Q8J20ibB4cs0Dtk0PdKsp6iu3CRkia0sm2Ir+Ki4yPun91vY/hNw== 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)(107886003)(1076003)(82310400003)(55016002)(8936002)(508600001)(36860700001)(6666004)(47076005)(36756003)(6286002)(8676002)(7636003)(83380400001)(356005)(336012)(70586007)(16526019)(26005)(2616005)(186003)(7696005)(70206006)(4326008)(426003)(54906003)(110136005)(2906002)(316002)(5660300002)(86362001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2021 13:43:53.0300 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f90eeb29-ab0d-4787-ecac-08d98fe1d3ad 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: DM6NAM11FT017.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5273 Subject: [dpdk-stable] [PATCH v1 2/2] vdpa/mlx5: retry VAR allocation during vDPA restart 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 Sender: "stable" 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. Cc: stable@dpdk.org 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 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; -- 2.33.0