From patchwork Tue Nov 5 14:23:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nipun Gupta X-Patchwork-Id: 178529 Delivered-To: patch@linaro.org Received: by 2002:a92:38d5:0:0:0:0:0 with SMTP id g82csp847674ilf; Tue, 5 Nov 2019 06:41:22 -0800 (PST) X-Google-Smtp-Source: APXvYqwnaqEG6urD3qFRZYVk09/rWE9OVnS83s6T5R496Ovjy/NTA4EpgwpN83lA9ZwpNyxKxDHK X-Received: by 2002:a17:906:1f57:: with SMTP id d23mr29097766ejk.233.1572964882556; Tue, 05 Nov 2019 06:41:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1572964882; cv=none; d=google.com; s=arc-20160816; b=l39X73g5Z7C92B8TzeHmLw6Zk5Br80IL+anfDZRaiYjSKnLM2M796XJG73e57G6cFh aK/COOAs6AmX/uYwOHTgDr21oPeRfpP6qQDZw60iho6jXS3i7A9x1L6FVt1AfpisztUg bVn2kB0j3bWWZs9MHlXJCDUX/efrk9HsaohPpdSixd7mfehmIS09+HKs6wpFwph1Jxoq iKsMhRhhQGs7hmp7CCV2euCHgeJFcK35w6rrm1Z7grS2hkoccr7Yyh2Ml1+VC/CZ7JRk cZ9mrTm+5/OrwrqvLqLO7+lPpB5h/3y3f2K8dLcDg5v2InI2F+ATrAgCurffeUpS4u1c G8oA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:references:in-reply-to :message-id:date:cc:to:from; bh=ZOUs9TdB8bEiWBF7IqGxpoWz2sDx5NNhCItS0jiboJ4=; b=a0Iq0yg/ix40RMWpEDWNmvgf/D/LEeEViznB6hRl/kFmvyyHWajlT9vYZ+Tz2hfy/E ZlbaUyQ6at08O+Z+2zrnq1Ltsw7eeHuN9deZoFfEKg2KY7qcyZIrs4/hrmPPgaOWGFeu EQJnmW1O2/elpf9Qbgxira0J1YQupR5SIhcujP3F/pJQG6mFhrkJu/gA6Rv9zkSBlq7X lV9RLfk5uTnOoo8lEjiIN8gioPleO8eL+HNqcPWNSS8zMH8J3Lh+mjx05frhUhmT0eHY QrERwcUfZ7GVWgK2GpEIdkc8pYfzKyZr/NNkMz0/miyLLbWPbivLH0Oa4wxLZPm7PbE5 gSZg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of dev-bounces@dpdk.org designates 92.243.14.124 as permitted sender) smtp.mailfrom=dev-bounces@dpdk.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from dpdk.org (dpdk.org. [92.243.14.124]) by mx.google.com with ESMTP id b49si8752144eda.312.2019.11.05.06.41.22; Tue, 05 Nov 2019 06:41:22 -0800 (PST) Received-SPF: pass (google.com: domain of dev-bounces@dpdk.org designates 92.243.14.124 as permitted sender) client-ip=92.243.14.124; Authentication-Results: mx.google.com; spf=pass (google.com: domain of dev-bounces@dpdk.org designates 92.243.14.124 as permitted sender) smtp.mailfrom=dev-bounces@dpdk.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1EF3F1BF80; Tue, 5 Nov 2019 15:40:01 +0100 (CET) Received: from inva021.nxp.com (inva021.nxp.com [92.121.34.21]) by dpdk.org (Postfix) with ESMTP id 044D41BF45; Tue, 5 Nov 2019 15:39:54 +0100 (CET) Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id DB3E5200508; Tue, 5 Nov 2019 15:39:53 +0100 (CET) Received: from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com [165.114.16.14]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 27B8920052C; Tue, 5 Nov 2019 15:39:50 +0100 (CET) Received: from GDB1.ap.freescale.net (gdb1.ap.freescale.net [10.232.132.179]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id 4B471402A9; Tue, 5 Nov 2019 22:39:43 +0800 (SGT) From: Nipun Gupta To: dev@dpdk.org Cc: thomas@monjalon.net, ferruh.yigit@intel.com, hemant.agrawal@nxp.com, sachin.saxena@nxp.com, stable@dpdk.org, Radu Bulie , Nipun Gupta Date: Tue, 5 Nov 2019 19:53:19 +0530 Message-Id: <20191105142321.7478-8-nipun.gupta@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191105142321.7478-1-nipun.gupta@nxp.com> References: <20191011054657.21931-1-nipun.gupta@nxp.com> <20191105142321.7478-1-nipun.gupta@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP Subject: [dpdk-dev] [PATCH 7/9 v4] mempool/dpaa2: report error on endless loop in mbuf release X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" From: Radu Bulie When BMAN is not able to accept more buffers, it could be that there are no FBPR's (internal mem provided to bman) left. Report error in such condition. Fixes: 5dc43d22b5ad ("mempool/dpaa2: add hardware offloaded mempool") Cc: stable@dpdk.org Signed-off-by: Radu Bulie Signed-off-by: Nipun Gupta --- drivers/mempool/dpaa2/dpaa2_hw_mempool.c | 27 +++++++++++++++++------- 1 file changed, 19 insertions(+), 8 deletions(-) -- 2.17.1 diff --git a/drivers/mempool/dpaa2/dpaa2_hw_mempool.c b/drivers/mempool/dpaa2/dpaa2_hw_mempool.c index f26c30b00..cc4f837b6 100644 --- a/drivers/mempool/dpaa2/dpaa2_hw_mempool.c +++ b/drivers/mempool/dpaa2/dpaa2_hw_mempool.c @@ -192,7 +192,7 @@ rte_dpaa2_mbuf_release(struct rte_mempool *pool __rte_unused, struct qbman_release_desc releasedesc; struct qbman_swp *swp; int ret; - int i, n; + int i, n, retry_count; uint64_t bufs[DPAA2_MBUF_MAX_ACQ_REL]; if (unlikely(!DPAA2_PER_LCORE_DPIO)) { @@ -225,9 +225,15 @@ rte_dpaa2_mbuf_release(struct rte_mempool *pool __rte_unused, } /* feed them to bman */ - do { - ret = qbman_swp_release(swp, &releasedesc, bufs, n); - } while (ret == -EBUSY); + retry_count = 0; + while ((ret = qbman_swp_release(swp, &releasedesc, bufs, n)) == + -EBUSY) { + retry_count++; + if (retry_count > DPAA2_MAX_TX_RETRY_COUNT) { + DPAA2_MEMPOOL_ERR("bman release retry exceeded, low fbpr?"); + return; + } + } aligned: /* if there are more buffers to free */ @@ -243,10 +249,15 @@ rte_dpaa2_mbuf_release(struct rte_mempool *pool __rte_unused, #endif } - do { - ret = qbman_swp_release(swp, &releasedesc, bufs, - DPAA2_MBUF_MAX_ACQ_REL); - } while (ret == -EBUSY); + retry_count = 0; + while ((ret = qbman_swp_release(swp, &releasedesc, bufs, + DPAA2_MBUF_MAX_ACQ_REL)) == -EBUSY) { + retry_count++; + if (retry_count > DPAA2_MAX_TX_RETRY_COUNT) { + DPAA2_MEMPOOL_ERR("bman release retry exceeded, low fbpr?"); + return; + } + } n += DPAA2_MBUF_MAX_ACQ_REL; } }