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 17A17A00C2 for ; Tue, 8 Mar 2022 15:15:39 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 129954068B; Tue, 8 Mar 2022 15:15:39 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id 60469406B4 for ; Tue, 8 Mar 2022 15:15:37 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1646748936; 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=vtDN0PxuOsO2aoqlKyjAqtlx54irAENwtiUfgRlac7g=; b=T3PJF1yHibX95Yhm4vpr2iGXvsR1QU7l4M+Uym2yc7wY6WqpyE54rdXWTJJ2l8P/zWZOMV ailn92U7IPSBv+Hhp658FNvm5lWwgUAg5zbCz7cNP6Mbvgsvq/zfSE2VNL7Eh55mEVLJMf KxiI+5ZKUUQIGwhvUWHc0a2EAwobAGU= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-447-A0GGx9MEPJiCg6TWhuwdhA-1; Tue, 08 Mar 2022 09:15:33 -0500 X-MC-Unique: A0GGx9MEPJiCg6TWhuwdhA-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5765A800050; Tue, 8 Mar 2022 14:15:32 +0000 (UTC) Received: from rh.Home (unknown [10.39.195.190]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4D2418659F; Tue, 8 Mar 2022 14:15:31 +0000 (UTC) From: Kevin Traynor To: Raja Zidane Cc: Matan Azrad , dpdk stable Subject: patch 'compress/mlx5: support out-of-space status' has been queued to stable release 21.11.1 Date: Tue, 8 Mar 2022 14:14:21 +0000 Message-Id: <20220308141500.286915-6-ktraynor@redhat.com> In-Reply-To: <20220308141500.286915-1-ktraynor@redhat.com> References: <20220308141500.286915-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ktraynor@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" 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.1 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 03/14/22. 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/7ea897faaefbaaa1a2b9deedbdc075b2519c87a2 Thanks. Kevin --- >From 7ea897faaefbaaa1a2b9deedbdc075b2519c87a2 Mon Sep 17 00:00:00 2001 From: Raja Zidane Date: Sun, 27 Feb 2022 16:00:52 +0200 Subject: [PATCH] compress/mlx5: support out-of-space status [ upstream commit d2781de684dcbd6ba706332a2d93307fd3918c41 ] When trying to dequeue, an OP may fail due to insufficient space for the OP output, the compressdev API defines out-of-space for OP status. The driver can detect out-of-space errors and report them to the user. Check if hw_error_syndrome specifies out-of-space and set the OP status accordingly. Also added an error message for a case of missing B-final flag. Fixes: f8c97babc9f4 ("compress/mlx5: add data-path functions") Signed-off-by: Raja Zidane Acked-by: Matan Azrad --- drivers/common/mlx5/mlx5_prm.h | 5 +++++ drivers/compress/mlx5/mlx5_compress.c | 13 ++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/drivers/common/mlx5/mlx5_prm.h b/drivers/common/mlx5/mlx5_prm.h index b9e39aa717..58aa72df64 100644 --- a/drivers/common/mlx5/mlx5_prm.h +++ b/drivers/common/mlx5/mlx5_prm.h @@ -250,4 +250,7 @@ #define MLX5_DSEG_MAX 63 +/* The 32 bit syndrome offset in struct mlx5_err_cqe. */ +#define MLX5_ERROR_CQE_SYNDROME_OFFSET 52 + /* The completion mode offset in the WQE control segment line 2. */ #define MLX5_COMP_MODE_OFFSET 2 @@ -560,4 +563,6 @@ struct mlx5_rdma_write_wqe { #define MLX5_GGA_COMP_LOG_DYNAMIC_SIZE_MAX 15u #define MLX5_GGA_COMP_LOG_DYNAMIC_SIZE_MIN 0u +#define MLX5_GGA_COMP_OUT_OF_SPACE_SYNDROME_BE 0x29D0084 +#define MLX5_GGA_COMP_MISSING_BFINAL_SYNDROME_BE 0x29D0011 struct mlx5_wqe_metadata_seg { diff --git a/drivers/compress/mlx5/mlx5_compress.c b/drivers/compress/mlx5/mlx5_compress.c index 82b871bd86..a18ec8a6cf 100644 --- a/drivers/compress/mlx5/mlx5_compress.c +++ b/drivers/compress/mlx5/mlx5_compress.c @@ -564,5 +564,16 @@ mlx5_compress_cqe_err_handle(struct mlx5_compress_qp *qp, volatile struct mlx5_gga_compress_opaque *opaq = qp->opaque_mr.addr; - op->status = RTE_COMP_OP_STATUS_ERROR; + volatile uint32_t *synd_word = RTE_PTR_ADD(cqe, MLX5_ERROR_CQE_SYNDROME_OFFSET); + switch (*synd_word) { + case MLX5_GGA_COMP_OUT_OF_SPACE_SYNDROME_BE: + op->status = RTE_COMP_OP_STATUS_OUT_OF_SPACE_TERMINATED; + DRV_LOG(DEBUG, "OUT OF SPACE error, output is bigger than dst buffer."); + break; + case MLX5_GGA_COMP_MISSING_BFINAL_SYNDROME_BE: + DRV_LOG(DEBUG, "The last compressed block missed the B-final flag; maybe the compressed data is not complete or garbaged?"); + /* fallthrough */ + default: + op->status = RTE_COMP_OP_STATUS_ERROR; + } op->consumed = 0; op->produced = 0; -- 2.34.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-03-08 13:55:28.632148633 +0000 +++ 0006-compress-mlx5-support-out-of-space-status.patch 2022-03-08 13:55:28.394314882 +0000 @@ -1 +1 @@ -From d2781de684dcbd6ba706332a2d93307fd3918c41 Mon Sep 17 00:00:00 2001 +From 7ea897faaefbaaa1a2b9deedbdc075b2519c87a2 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit d2781de684dcbd6ba706332a2d93307fd3918c41 ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ -index ce3e47059f..44b18225f6 100644 +index b9e39aa717..58aa72df64 100644 @@ -27 +28 @@ -@@ -263,4 +263,7 @@ +@@ -250,4 +250,7 @@ @@ -35 +36 @@ -@@ -582,4 +585,6 @@ struct mlx5_rdma_write_wqe { +@@ -560,4 +563,6 @@ struct mlx5_rdma_write_wqe { @@ -43 +44 @@ -index 7a482c3fbb..d64a628c74 100644 +index 82b871bd86..a18ec8a6cf 100644 @@ -46 +47 @@ -@@ -563,5 +563,16 @@ mlx5_compress_cqe_err_handle(struct mlx5_compress_qp *qp, +@@ -564,5 +564,16 @@ mlx5_compress_cqe_err_handle(struct mlx5_compress_qp *qp,