From patchwork Fri Sep 27 07:58:39 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 174597 Delivered-To: patch@linaro.org Received: by 2002:a92:7e96:0:0:0:0:0 with SMTP id q22csp3156937ill; Fri, 27 Sep 2019 01:01:33 -0700 (PDT) X-Google-Smtp-Source: APXvYqzcNh5oVKQoXwfkXL9hAmCpzlT4NeqO2g998QU7OncpqqGr7ktIgGq7szl4u/1iGkLtyTeo X-Received: by 2002:a50:c351:: with SMTP id q17mr3027207edb.123.1569571292932; Fri, 27 Sep 2019 01:01:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1569571292; cv=none; d=google.com; s=arc-20160816; b=aIoy+Cz6kE9nSRAsDbudfu1UVUtF2Vw0XctPuqx65Ntw3QFc/1aV9ikWejt+yZBjkx a5FuNdAlQ2qv2XQJDkhVIj57JXnHrHVwWMa5Ru/ty+ek//MZ/2BmsGPI2AbU1rw/F+RG DsO5QubYEM44pXPv72Fm/rT10npaxZKzGRPORXLyYRG/agwpHsqzSmjxPiBCz57gSxJ8 cQWX9VzWEqwVthq5iSXcUrfnV61EAImaSgrj0INjivNrkd+prHdz5k0NoBCdjZmZO4PX lML9NxEL+edZGh6rpyC6DOsyRNBUstkFeEhgsO7pN8KPikWs99631Lws/tebrsWU9Zwi ZhWw== 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=uGokhc56fU0dcubQAUvmZ4bggCRbWUHL3OX4fcJQwMKZN/qTjFiIuH+NqLeaW0cWsg kYJSY3hmYz8CGLcyqm6AXlhzkClJyfGGJV6TzfgM1z04UgeHxtLlzj5zrwbPgv+OrWKW jYFHkSjtrVnqR8ZJNhqD16UwHBFytaQ/mv741Hjvdv1wCz/UPdBPLPsNPXgNA4AtqFYO 7Ls05b4AaO0SyGkWCQzUPB74Lvk39kUhmAVPMZi6pEdM9TOnLQ02tmGABLJq9zTKE2aV 6LuPuXQemp4QG6DpZWanX68Asffc5pLqloXTPDRNIrUxi+nsLWH72+Gnw3Ww/uHDpTcA wKQg== 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 e21si1020552edb.164.2019.09.27.01.01.32; Fri, 27 Sep 2019 01:01:32 -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 D9FC331FC; Fri, 27 Sep 2019 10:01:15 +0200 (CEST) Received: from inva020.nxp.com (inva020.nxp.com [92.121.34.13]) by dpdk.org (Postfix) with ESMTP id CC15B28EE for ; Fri, 27 Sep 2019 10:01:02 +0200 (CEST) Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 77D781A0655; Fri, 27 Sep 2019 10:01:02 +0200 (CEST) Received: from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com [165.114.16.14]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id A33CA1A07C7; Fri, 27 Sep 2019 10:01:00 +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 0827F40313; Fri, 27 Sep 2019 16:00:57 +0800 (SGT) From: Hemant Agrawal To: dev@dpdk.org Cc: jerinj@marvell.com, Nipun Gupta Date: Fri, 27 Sep 2019 13:28:39 +0530 Message-Id: <20190927075841.21841-5-hemant.agrawal@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190927075841.21841-1-hemant.agrawal@nxp.com> References: <20190907064209.30686-1-hemant.agrawal@nxp.com> <20190927075841.21841-1-hemant.agrawal@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP Subject: [dpdk-dev] [PATCH 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;