From patchwork Mon Sep 30 08:32:13 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 174724 Delivered-To: patch@linaro.org Received: by 2002:ac9:19ad:0:0:0:0:0 with SMTP id d45csp6527727oce; Mon, 30 Sep 2019 01:35:09 -0700 (PDT) X-Google-Smtp-Source: APXvYqwRRP4BpzmWkwZANMkQJ53dmUCoIhyE+EMSzX7SYCvzcJCPPEimcjiAj+G1vkfHc4ulqsly X-Received: by 2002:a17:906:c47:: with SMTP id t7mr18137128ejf.133.1569832509723; Mon, 30 Sep 2019 01:35:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1569832509; cv=none; d=google.com; s=arc-20160816; b=euIxifZiL+piiLXtIE/2vggDFmDIatcVpkbbUSWxm99sWp3R/+O7P/78E7FhnQuWgS 4phYAlrv1NB5cZEtIengNyoq6jL7Ah2iTabutpoJwXVJfOYvAYyIDWkIxbcxLL84K4fv KFmP1PnMZxHGjFqR3/qNdcrtxUgq9QS/xpkDH2ubr83ijSpHk+soPOh1D0v9Y7+wjp3l 0PFL4ft3tP/Rpyu/ji/ANe1b7Y8XP6SNuknxXUHAGAavyUYhafDWwV0GrAFBTedf02U2 ipcWWB+fmotp7yBDCRQ7lAt6WMFxI8EWtjMUWOCV3ycu7jN8PvEjgZy59TTbfl2jwuAR K+GA== 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=RSUVeYRZ6K/5aHtBTpnUqiTvGmAPoJYhoI9+TKo8buA=; b=Dpla+UN/jtFexuKLT71XL2yleqlyqlVEy5yj1qUypFe67n/WGwuue1gtvLoB2lKk6e ZvjXX94kCRelsNhizka8kwgPJZYxnP/+EkkFYA7bjRx2A5RVFdfaAd08dUu59rCeTyTS iOGLVq1vj0QsZYyJSpt+px4CW5POusGVVyQ4PMrd11LXUVWVK3dQpza1vu34RBZuZFZ8 vF3BTFJExQICVS/YgxlYjfqAD+jHTW75JR+7hSSyUAm1oAMkNNcu/NvcUuV6Irv/9v1i L4NiHD7CZCKzj3zV8OeJJHmFxDY9X8VOEQSHAJ5Ou0CvRPTfup8pVGxalWAUY9ckD0Bx HvXQ== 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 u12si6621865edi.326.2019.09.30.01.35.09; Mon, 30 Sep 2019 01:35:09 -0700 (PDT) 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 228DE4C90; Mon, 30 Sep 2019 10:34:55 +0200 (CEST) Received: from inva021.nxp.com (inva021.nxp.com [92.121.34.21]) by dpdk.org (Postfix) with ESMTP id 2E81C9E4 for ; Mon, 30 Sep 2019 10:34:42 +0200 (CEST) Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id E876C200466; Mon, 30 Sep 2019 10:34:41 +0200 (CEST) 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 26B71200989; Mon, 30 Sep 2019 10:34:40 +0200 (CEST) Received: from bf-netperf1.ap.freescale.net (bf-netperf1.ap.freescale.net [10.232.133.63]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id 398574030D; Mon, 30 Sep 2019 16:34:37 +0800 (SGT) From: Hemant Agrawal To: dev@dpdk.org Cc: jerinj@marvell.com, Nipun Gupta Date: Mon, 30 Sep 2019 14:02:13 +0530 Message-Id: <20190930083215.8241-5-hemant.agrawal@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190930083215.8241-1-hemant.agrawal@nxp.com> References: <20190927075841.21841-1-hemant.agrawal@nxp.com> <20190930083215.8241-1-hemant.agrawal@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP Subject: [dpdk-dev] [PATCH v4 4/6] event/dpaa2: add retry break in packet enqueue 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: Nipun Gupta The patch adds the break in the TX function, if it is failing to send the packets out. Previously the system was trying infinitely to send packet out. Signed-off-by: Nipun Gupta --- drivers/event/dpaa2/dpaa2_eventdev.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) -- 2.17.1 diff --git a/drivers/event/dpaa2/dpaa2_eventdev.c b/drivers/event/dpaa2/dpaa2_eventdev.c index 9255de16f..834d3cba1 100644 --- a/drivers/event/dpaa2/dpaa2_eventdev.c +++ b/drivers/event/dpaa2/dpaa2_eventdev.c @@ -49,6 +49,7 @@ /* Dynamic logging identified for mempool */ int dpaa2_logtype_event; +#define DPAA2_EV_TX_RETRY_COUNT 10000 static uint16_t dpaa2_eventdev_enqueue_burst(void *port, const struct rte_event ev[], @@ -59,7 +60,7 @@ dpaa2_eventdev_enqueue_burst(void *port, const struct rte_event ev[], struct dpaa2_dpio_dev *dpio_dev; uint32_t queue_id = ev[0].queue_id; struct dpaa2_eventq *evq_info; - uint32_t fqid; + uint32_t fqid, retry_count; struct qbman_swp *swp; struct qbman_fd fd_arr[MAX_TX_RING_SLOTS]; uint32_t loop, frames_to_send; @@ -162,13 +163,25 @@ dpaa2_eventdev_enqueue_burst(void *port, const struct rte_event ev[], } send_partial: loop = 0; + retry_count = 0; while (loop < frames_to_send) { - loop += qbman_swp_enqueue_multiple_desc(swp, + ret = qbman_swp_enqueue_multiple_desc(swp, &eqdesc[loop], &fd_arr[loop], frames_to_send - loop); + if (unlikely(ret < 0)) { + retry_count++; + if (retry_count > DPAA2_EV_TX_RETRY_COUNT) { + num_tx += loop; + nb_events -= loop; + return num_tx + loop; + } + } else { + loop += ret; + retry_count = 0; + } } - num_tx += frames_to_send; - nb_events -= frames_to_send; + num_tx += loop; + nb_events -= loop; } return num_tx;