From patchwork Fri Sep 8 08:45:23 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 112048 Delivered-To: patch@linaro.org Received: by 10.37.128.210 with SMTP id c18csp1248806ybm; Fri, 8 Sep 2017 01:51:51 -0700 (PDT) X-Google-Smtp-Source: ADKCNb4ozhHnHG+y9jRhR9L/KFQULVtzaLce4/2t4le7K+yWWyHnWsW73o4+8krIJB2/UNZ5tzqw X-Received: by 10.223.193.140 with SMTP id x12mr1347925wre.155.1504860711533; Fri, 08 Sep 2017 01:51:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1504860711; cv=none; d=google.com; s=arc-20160816; b=rekwPQIatE048FhFvMYAKIqj2NKZxSUyDIfSFRbkeVN+92q1wqHITRfeCL3Mk3XpHO SysDaPs+iECT3s+sphyIlF2AjUYBJxeeIXYd5dFtgBHmVqFxHfm6ZJ5o+Z8xFum0H8CV 0AIzARAJOeHorYA/eufyTRJ7A3OlQUaOEgCE//SeF8uG00AFGWHu+atlZGJvqEcvq3sh lih4cJ9dI4jDcBIdZ2LV7tgq4kYzzLpneIsSQrVPybLejEBpd/T8kPfDX8Wjz+NPsX/E KMOT3zfo2Qs6oyg4JaGEGaLFB7AkLe5zWyFeBPABSNTl++LzAPfOI/5PNv+aEAEl6NgV nnJQ== 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:spamdiagnosticmetadata :spamdiagnosticoutput:mime-version:references:in-reply-to:message-id :date:cc:to:from:arc-authentication-results; bh=drStGw3HNy3QTBgOsIZosheiqQFFRc87nTC9O0Ee5OY=; b=NyUH4LkHJt94e9/UgXvBJq6IPkmcxgzUDpBoJoECgRMXHRC8ISda8JBl0gB26azQyS lJQBHsxmKu1KXD3YSL+G0Q/XSZV/QIudHidOyt+QpvgvBzrbQUCxn4E/eSFLTB1og4Un zs/GPxvyOPJ2bfuopRkaanuxj3F4HEwxCysPI+jk5cl4sX9eSaOYTANbc3H1f/5bhCxU EpR6o+/ZIcdO7M0akZhGipsKrKAvH3hRpJSmjjqUYUopGqZXcwybLsntkmbo5A69Jzhc ImBgNdM3zTyIWdqQ1tPc6lLlvZ3CJAfWnqMm9WR1Zo1LOG7iwuIm7N2Ih/aLGu3KELB4 aOVg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of dev-bounces@dpdk.org designates 2001:4b98:dc0:41:216:3eff:fe72:dd13 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 ([2001:4b98:dc0:41:216:3eff:fe72:dd13]) by mx.google.com with ESMTP id w16si1061087wrg.297.2017.09.08.01.51.51; Fri, 08 Sep 2017 01:51:51 -0700 (PDT) Received-SPF: pass (google.com: domain of dev-bounces@dpdk.org designates 2001:4b98:dc0:41:216:3eff:fe72:dd13 as permitted sender) client-ip=2001:4b98:dc0:41:216:3eff:fe72:dd13; Authentication-Results: mx.google.com; spf=pass (google.com: domain of dev-bounces@dpdk.org designates 2001:4b98:dc0:41:216:3eff:fe72:dd13 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 [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 5D15C19A67; Fri, 8 Sep 2017 10:46:44 +0200 (CEST) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0088.outbound.protection.outlook.com [104.47.38.88]) by dpdk.org (Postfix) with ESMTP id 8D59A19A63 for ; Fri, 8 Sep 2017 10:46:42 +0200 (CEST) Received: from MWHPR03CA0004.namprd03.prod.outlook.com (10.175.133.142) by CY4PR03MB3320.namprd03.prod.outlook.com (10.171.247.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10; Fri, 8 Sep 2017 08:46:41 +0000 Received: from BN1BFFO11FD018.protection.gbl (2a01:111:f400:7c10::1:191) by MWHPR03CA0004.outlook.office365.com (2603:10b6:300:117::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.35.12 via Frontend Transport; Fri, 8 Sep 2017 08:46:40 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1BFFO11FD018.mail.protection.outlook.com (10.58.144.81) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1385.11 via Frontend Transport; Fri, 8 Sep 2017 08:46:39 +0000 Received: from bf-netperf1.ap.freescale.net (bf-netperf1.ap.freescale.net [10.232.134.28]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v888jmow023063; Fri, 8 Sep 2017 01:46:38 -0700 From: Hemant Agrawal To: CC: , Date: Fri, 8 Sep 2017 14:15:23 +0530 Message-ID: <1504860327-18451-27-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1504860327-18451-1-git-send-email-hemant.agrawal@nxp.com> References: <1503658183-4078-1-git-send-email-hemant.agrawal@nxp.com> <1504860327-18451-1-git-send-email-hemant.agrawal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131493340001464472; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(39860400002)(39380400002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(97736004)(5890100001)(106466001)(2351001)(356003)(33646002)(85426001)(2906002)(68736007)(86362001)(50226002)(81166006)(81156014)(8676002)(8936002)(104016004)(5003940100001)(47776003)(8656003)(110136004)(2950100002)(48376002)(6916009)(6666003)(5660300001)(50986999)(50466002)(305945005)(105606002)(76176999)(189998001)(53936002)(4326008)(498600001)(36756003)(54906002)(77096006); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR03MB3320; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD018; 1:BoaSl0F8XUvr5aeHNo0+ML9AYHfYUKj2sH8cM0Rg2T/SCb0ncvNOlQyQ4i6NLIZOxNVkmy1vTlZhr8eqAMBMauAsSi6bBKivHAB7SuYieZmxBJGX6f6UXYsl5atQ4C7b MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0e8c7192-d84c-4d3c-e598-08d4f6961f81 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(2017052603199)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY4PR03MB3320; X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB3320; 3:546V6fEJHShTvbGzxcDKhEshba+ubhMqyiqjIbdqNALT42hK//TqJP0MINuXr41ACjwNjaDcLWPA99Bfbw6XJxZSxeh+d/3ISMF7Exk6kfdZIJ/tCIDk56DyEWZ9IOHQ69T1yi0tiZWcfNoXKev76+IQ4Svbpqq8xhLuHP8mAoSdMl3/abHFhPjkBun+30m6jXii06X/LET+2aOvuVmeLzGReVJLbDtbDZK8vyIh1WYy7vRvyVIQ3pJyj7DXkyd+NBMtHsXCfyIdo8/Gh7L3fQ91i1K9Zm8V95fiLsNj3R87xE/6u9VXvvVxtli2gf7mqMxwI4o0oErMxFk5oeC6mUbze1CkjQv5uYW5bQT0Bx4=; 25:J2njDEhBwTZThYGPnKXqqSKz4K95UwtPBiUtBrNzkVxxiEo3cKeS9qrWiqaNZKFfteWD70toWDWXD2Esr5o4Q/Rzwb6HC6boK7JLiqu4aA5JrLTR2SHZjb3Osy1BVHN+iN9Ntpzvr1iS5LlC3cK6nV1cDxccms9ZuBfv/eKB0dX/2bzu5c593mN3jBIEr6mdBMdJFSAJxpkYV3Eb6R11Up7L+uO8OsN3REzXKcSs9VtCL+1Xi5KQ3HFh4ZwnvwJBY4NpyPxHcDmDu/Jxyo5cj3kTloUKh74klyOOX/FVaTZwOlkjNQ1WY5WWlcKELiRaKQrX1RnHEbTRjZQHUwObfQ== X-MS-TrafficTypeDiagnostic: CY4PR03MB3320: X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB3320; 31:61X0KYDm86FZB+5RIpCO+80QKJrJ7yB4hIhc+r1wqMnSD2TQWYjRUS8VR+MgnfmNQNfXxAti3cqRkEbB0KavR60r2vGYpWMXtLCsuoYFGkCPXX4uv/vZeMhczv7Otng2kemGSJ4iOpIJ4fo26rDemY6DGx5WbM1ohIwqMhp557dh1nksP0Dy8ItGuXSIlbkuyo26n99bPvTymPzOC6pJLiPgrhlhorF3eQSw9KC50X8=; 4:y3pob+nzrgvDkVkwQWPBQEwVJHzPxbmWc3ta62sqFKXxdUTMc4xtXqV5qbkL7Ix0+nzffrkPh2cYmU5a9La0LyolQyLQubaNqoXNxOSDfyHGJqIwsMyupSYY3q8hnBUfh82ltGK/x12teAmF9XGpK7Hhus0OApshiHl5Ow4959mj00yIXDT8fBSNfXVdrcaQQjO2abFfWqgHD2moE1dcPy1JaJbaJKKzGAlDJTfTPgeuzB+h6qIfHsgazinp9rmtwNFFE3XIiO2J7VpjqXiQbBtCUD2lE6qEC8I98UN/B6Q= X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(6055026)(6096035)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123563025)(20161123561025)(20161123559100)(20161123556025)(20161123565025)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY4PR03MB3320; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY4PR03MB3320; X-Forefront-PRVS: 04244E0DC5 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR03MB3320; 23:ArsPk7TwrJqa2gH7yUSxrit5NfKYfJ3dnoevTsrZV?= nNyF+9g3g/4Og4udxanK2s+uH9r+K1mT96aASl1BmXFdSczcd32+VIWvdRd2keiI2k/O2JrtdHu3uXEFfr+mjnJ1126XxkZfte//HGL/QKGYtZY8ydqdbZlMQAgBGC7oe4Wzuj2ZJEZpEjNH5j/9ufdbwU5Tr1OSR6Jg2cySCqqXGEdMQudZlHddMK8d7R+ZmclfJMxndEAMZwRzXxZ/2f2h9ycBBmLigmqGen1ievY4d1r9msEapJRgHQMecDVFTN9hCvEqTa9vTBJNg6k6emtFTMbnj8CCQDo9v9Jxy9GSyjF5RWwcMDkRgPA/fWF2Enlt9SCNvFOWKP22loNQDOxWtyzwGAXQtU6JE6peYCEYLd/euqNs2CNoVOz7ntaV/IJE/2NLZazuOqozX0dLSZNFP9WeKCl5XxE4g6din7XlK2Tzpo8hbOCqluR8+VVKlpUcPSLXz1QmZyizO6uVq1+Kx5+U6ObT9ClSGsSgH2vKgFA3U/wAlDPu2rdZziUTLWOctQWMjraEGB63OjKzUeos0lcjmRfSTOXiUqNkgnkskPsSY64oUgzTdRsykuHzUXr+PqqKJGukHKj1SdPbPQBP7O+5RILSOXsBD89Ck1Kpq2l8nZYpnShP9sqW88hvSV3jbaBq0m9/7WHXqXC7Dxu60YiV5FFxr48+P58jg5aE/Tmrx161493bZKNDKm75hLA3dceeoQaqKriqqnHHo8JXSjT8DLI6sRobbXK/U/XkN51c9ZBxkxl0AsRdVD5HmpBrGFgvCkIOm3KEBKthbzSCrFzGPcwd5EOeoQiSSfvfhFh3NAK5c3IvBkUJS6ijYwKUrnvl2zjqEPvVunHuKCSpnvhaZi9MJ3xF5gjAg29Zt70Q2N6NOMzKqEvdPqEMw/zDQeSXrBJ5WOpqnRvsjhPu+CDA2+Me5IB0NX7bNLVGPb60EaTWqNWulBKnRrkxpCT0B1To3NEDw+YcKdiMvpIz2lTAqe4Kao70VQeiHJ7lc+Jvx7JCXatv6K6YkH++mRMPJ58e7sJfxLlxwgK5TIf5Cme05cXLF5KLSKRnbRum63XhOljtXQh5kdN4DYnPVIcnBRbcxGnTh1LTyWFTqJE X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB3320; 6:VS6Du8jNRx8HbnU3ULvcJfLz1PqS8PgVd1/nNAMhl/FFWSD7T7k/ePozUlHMFUWMKtBI4rDcHTes1lioKuWYgFL2GVRiiyEis6mS81wi36D4/rYgslasf7PbTETtJwedzvhDqqh9IMaSZydnlFYuHhQM3iXRR5N+g7qSpIaKLpRUwmY443h4bw1X6C3QnxGdkgPTSEhb1DPhhXcqJRPgZ6psyKSP9PF3KdficlbeLT/twAYwbHmuyq7RNjSiciulwlX2KTeecVdKaQlCZ2R81WXymFZ/bry8R67Feu79OElm+rJ0poN3PQkm2MGdPvB82cq7yjHOUedPtKNsaH64Sg==; 5:rlUhUWYS0FVUjQPKyVf2YoEu8hlKNz3WoGKYr+8C3W+/g9nvezSrMzcQZSjRVQfVqvkSjMYuJrsFp70ofsxfu+wU0do4NJcq0sg8WDfaTgyyJc6qPpT+jgkSZrfMGT40H7kMQIgGYP5sAFfJly0agA==; 24:4dMsG2Pj7ho0D2XkxObWh/qc99WLFXLeiISKqWJ55yNlJlsTeUY7DbqXNFO6bBbMUvotlIFo2BOZ9OEDQq04ypqer2msDT5gmR/+3nOYUg4=; 7:a0/yASXk0v1pp5oCIqXncgh5pmGkY7uQV0SI/GfwzUBcvUsyMg0JNuVM9KtSqrKLRehCdaBG73qYFrg40inLajKtDPO78ypbPk83E0/PZIGAQT9Z9L/qOp9W10kPMVwsZSeXlvA/kqGVOSOjj1BqFWwrmXEeOuL6eoLONxpzOaZCxqnxzZbtxyXH38ABqAgeXUxoRGpXqiDGCFZKdMvE4ryUXWPjQmH5a73pDDjbU5I= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2017 08:46:39.8500 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR03MB3320 Subject: [dpdk-dev] [PATCH v2 26/30] net/dpaa2: fix the Tx handling of non HW pool bufs 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" The current code is sending 8 packet in each internal loop. In some of the conditions, mbuf is being allocated or freed. In case of error, the code is returning without taking care of such buffer. It is better to send already prepared buffer and err for the current failure only. Fixes: 9e5f3e6d3658 ("net/dpaa2: handle non-hardware backed buffer pool") Cc: stable@dpdk.org Signed-off-by: Hemant Agrawal --- drivers/net/dpaa2/dpaa2_rxtx.c | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) -- 2.7.4 diff --git a/drivers/net/dpaa2/dpaa2_rxtx.c b/drivers/net/dpaa2/dpaa2_rxtx.c index 75a06f5..8611d2e 100644 --- a/drivers/net/dpaa2/dpaa2_rxtx.c +++ b/drivers/net/dpaa2/dpaa2_rxtx.c @@ -350,7 +350,6 @@ eth_copy_mbuf_to_fd(struct rte_mbuf *mbuf, if (rte_dpaa2_mbuf_alloc_bulk( rte_dpaa2_bpid_info[bpid].bp_list->mp, &mb, 1)) { PMD_TX_LOG(WARNING, "Unable to allocated DPAA2 buffer"); - rte_pktmbuf_free(mbuf); return -1; } m = (struct rte_mbuf *)mb; @@ -382,8 +381,6 @@ eth_copy_mbuf_to_fd(struct rte_mbuf *mbuf, rte_dpaa2_bpid_info[DPAA2_GET_FD_BPID(fd)].meta_data_size, DPAA2_GET_FD_OFFSET(fd), DPAA2_GET_FD_LEN(fd)); - /*free the original packet */ - rte_pktmbuf_free(mbuf); return 0; } @@ -582,7 +579,7 @@ dpaa2_dev_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) /* Not a hw_pkt pool allocated frame */ if (!mp) { PMD_TX_LOG(ERR, "err: no bpool attached"); - goto skip_tx; + goto send_n_return; } if (mp->ops_index != priv->bp_list->dpaa2_ops_index) { PMD_TX_LOG(ERR, "non hw offload bufffer "); @@ -595,24 +592,25 @@ dpaa2_dev_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) PMD_TX_LOG(ERR, "err: no bpool attached"); num_tx = 0; - goto skip_tx; + goto send_n_return; } if (unlikely((*bufs)->nb_segs > 1)) { PMD_TX_LOG(ERR, "S/G support not added" " for non hw offload buffer"); - goto skip_tx; + goto send_n_return; } if (eth_copy_mbuf_to_fd(*bufs, &fd_arr[loop], bpid)) { - bufs++; - continue; + goto send_n_return; } + /* free the original packet */ + rte_pktmbuf_free(*bufs); } else { bpid = mempool_to_bpid(mp); if (unlikely((*bufs)->nb_segs > 1)) { if (eth_mbuf_to_sg_fd(*bufs, &fd_arr[loop], bpid)) - goto skip_tx; + goto send_n_return; } else { eth_mbuf_to_fd(*bufs, &fd_arr[loop], bpid); @@ -630,6 +628,20 @@ dpaa2_dev_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) dpaa2_q->tx_pkts += frames_to_send; nb_pkts -= frames_to_send; } + return num_tx; + +send_n_return: + /* send any already prepared fd */ + if (loop) { + unsigned int i = 0; + + while (i < loop) { + i += qbman_swp_enqueue_multiple(swp, &eqdesc, + &fd_arr[i], loop - i); + } + num_tx += loop; + dpaa2_q->tx_pkts += loop; + } skip_tx: return num_tx; }