From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id F2757A0679 for ; Tue, 2 Apr 2019 11:53:47 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CAB1B4CBD; Tue, 2 Apr 2019 11:53:47 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 57F104CA9 for ; Tue, 2 Apr 2019 11:53:46 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x329j7TW014284; Tue, 2 Apr 2019 02:53:45 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=W+v9sI79nakrsfAu7P7vz12Jx78gz6RzalQiO7Ci4dI=; b=xecKy8X8ih8y+3ilO60IrmL/YokHHtMrMd+eNxo/6HbSm454+uIYvjAxQ28sjbfZmFDr qmkOVlM2XrC8h7C/TTBd048yyH2CBwXjZqItN6DvlkSl8DIjZvOqpS0QPGncBGBJldn6 8rXBAAfCIHHEAPqzbzuzR5Go/shg1WXIQX/IEqNiTOHqjwUDhr4aiZ4BUJTAg3wNiphW 1Mpbai83LwzL9ia89GJkAYMUQMKXjSc86G0OlXVfSb5AETARH4gRnOtBV/uCPcEHTX2k 9H57Cgc5qXmfwuVNqTSfBqHBNktxsqZbZbPN6KL6iJ3hJ35iTSjcR7k77DSCQbwDBVpw YQ== Received: from sc-exch01.marvell.com ([199.233.58.181]) by mx0b-0016f401.pphosted.com with ESMTP id 2rkrb49wyb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Tue, 02 Apr 2019 02:53:45 -0700 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Tue, 2 Apr 2019 02:53:33 -0700 Received: from NAM01-SN1-obe.outbound.protection.outlook.com (104.47.32.57) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Tue, 2 Apr 2019 02:53:33 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W+v9sI79nakrsfAu7P7vz12Jx78gz6RzalQiO7Ci4dI=; b=XuM6+dKkF57+NldtS4iJncQVGM3A+omJnI8zvGW8f+YNGxBu78LlgFRxVstj/VV8PK66oXUwQZr20gfr5ciMFbQxPJeojgAKlZRaX2eCyxeXzZKid9NMlbFhbhS5NOkh7YIO4iUbhugtDt0lqVABXcnF/hRbAKkJRE+u8Bk9QQg= Received: from CY4PR1801MB1863.namprd18.prod.outlook.com (10.171.255.14) by CY4PR1801MB1926.namprd18.prod.outlook.com (10.171.255.29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1750.15; Tue, 2 Apr 2019 09:53:29 +0000 Received: from CY4PR1801MB1863.namprd18.prod.outlook.com ([fe80::e980:fa09:c83a:851d]) by CY4PR1801MB1863.namprd18.prod.outlook.com ([fe80::e980:fa09:c83a:851d%3]) with mapi id 15.20.1750.021; Tue, 2 Apr 2019 09:53:29 +0000 From: Pavan Nikhilesh Bhagavatula To: Jerin Jacob Kollanukkaran , "thomas@monjalon.net" , "arybchenko@solarflare.com" , "ferruh.yigit@intel.com" , "bernard.iremonger@intel.com" , "alialnu@mellanox.com" CC: "dev@dpdk.org" , Pavan Nikhilesh Bhagavatula Thread-Topic: [dpdk-dev] [PATCH v6 2/4] app/testpmd: use bulk ops for allocating segments Thread-Index: AQHU6Tns0Gz3n/2CFU6CoEKy+UvxpQ== Date: Tue, 2 Apr 2019 09:53:29 +0000 Message-ID: <20190402095255.848-2-pbhagavatula@marvell.com> References: <20190228194128.14236-1-pbhagavatula@marvell.com> <20190402095255.848-1-pbhagavatula@marvell.com> In-Reply-To: <20190402095255.848-1-pbhagavatula@marvell.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BM1PR0101CA0029.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:1a::15) To CY4PR1801MB1863.namprd18.prod.outlook.com (2603:10b6:910:7a::14) x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.21.0 x-originating-ip: [115.113.156.3] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f5e444c1-2b9e-49d8-aeaf-08d6b7510ee9 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600139)(711020)(4605104)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:CY4PR1801MB1926; x-ms-traffictypediagnostic: CY4PR1801MB1926: x-microsoft-antispam-prvs: x-forefront-prvs: 0995196AA2 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(396003)(136003)(346002)(39860400002)(376002)(189003)(199004)(6486002)(8676002)(55236004)(102836004)(106356001)(26005)(486006)(186003)(86362001)(476003)(107886003)(2906002)(105586002)(36756003)(11346002)(66066001)(2201001)(8936002)(71200400001)(305945005)(7736002)(2616005)(478600001)(4326008)(71190400001)(446003)(97736004)(6436002)(256004)(1076003)(2501003)(50226002)(54906003)(6506007)(316002)(81156014)(14454004)(81166006)(53936002)(25786009)(6116002)(52116002)(76176011)(110136005)(3846002)(5660300002)(6512007)(386003)(68736007)(99286004); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR1801MB1926; H:CY4PR1801MB1863.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: UhTSkmN7g2gOdLtU+SFb6f/7KNAQLb0EgJnnrgbGmaf/XvG7WJD9S2aAzNCQz+mXPn5/bLUry/F2abf/IMspRxJ8Swg/qJrKupM1/FZeHvbs4V19BDKRVR/vx54RNfr3k27zejPie1gHpoanazoUYPPdFlm4YWCSlnAzl2gO4LU33p2q0a4GuCWXI2suU3liPSgN0f016WToyTkdcWcGOkAsAcbYdmT8b6hMiwxzmg7j+Y2WPf1SO5VZV5LSiR0epoUKJpPKr+zVCnexnYo5+7MWEtVVK9UdUn4httu7opPkuPOC19MGSAN10yezYoGOlxMjfaULs465isy5h1NRVw8aOBntTy1zbCzHeb9E04DMvOcPwcoNX8tX2BVijlnPeEHBDMNAmzBSgF2W0EzmnZRVVPBcuCs63RS6EQozHpY= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: f5e444c1-2b9e-49d8-aeaf-08d6b7510ee9 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Apr 2019 09:53:29.4246 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1801MB1926 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-04-02_04:, , signatures=0 Subject: [dpdk-dev] [PATCH v6 2/4] app/testpmd: use bulk ops for allocating segments 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" Message-ID: <20190402095329.5c0AP7HJAvb_do2LtxjLivqYxRGOnSJPgY29YxHkF8U@z> From: Pavan Nikhilesh Use bulk ops for allocating segments instead of having a inner loop for every segment. This reduces the number of calls to the mempool layer. Signed-off-by: Pavan Nikhilesh --- app/test-pmd/txonly.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/app/test-pmd/txonly.c b/app/test-pmd/txonly.c index 0d411dbf4..65171c1d1 100644 --- a/app/test-pmd/txonly.c +++ b/app/test-pmd/txonly.c @@ -155,6 +155,7 @@ static void pkt_burst_transmit(struct fwd_stream *fs) { struct rte_mbuf *pkts_burst[MAX_PKT_BURST]; + struct rte_mbuf *pkt_segs[RTE_MAX_SEGS_PER_PKT]; struct rte_port *txp; struct rte_mbuf *pkt; struct rte_mbuf *pkt_seg; @@ -216,18 +217,23 @@ pkt_burst_transmit(struct fwd_stream *fs) rte_pktmbuf_reset_headroom(pkt); pkt->data_len =3D tx_pkt_seg_lengths[0]; pkt_seg =3D pkt; + if (tx_pkt_split =3D=3D TX_PKT_SPLIT_RND) nb_segs =3D random() % tx_pkt_nb_segs + 1; else nb_segs =3D tx_pkt_nb_segs; - pkt_len =3D pkt->data_len; - for (i =3D 1; i < nb_segs; i++) { - pkt_seg->next =3D rte_mbuf_raw_alloc(mbp); - if (pkt_seg->next =3D=3D NULL) { - pkt->nb_segs =3D i; + + if (nb_segs > 1) { + if (rte_mempool_get_bulk(mbp, (void **)pkt_segs, + nb_segs)) { rte_pktmbuf_free(pkt); goto nomore_mbuf; } + } + + pkt_len =3D pkt->data_len; + for (i =3D 1; i < nb_segs; i++) { + pkt_seg->next =3D pkt_segs[i - 1]; pkt_seg =3D pkt_seg->next; pkt_seg->data_len =3D tx_pkt_seg_lengths[i]; pkt_len +=3D pkt_seg->data_len; --=20 2.21.0