From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EF16CA0A02; Thu, 25 Mar 2021 12:44:39 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7C4584067B; Thu, 25 Mar 2021 12:44:39 +0100 (CET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id 1F9E740147 for ; Thu, 25 Mar 2021 12:44:36 +0100 (CET) IronPort-SDR: mlb3qLwQqJfdrNwmF7xcN9b6aRl7s6MuLskzrBHookurzcYaqrJsQScp/6MkAP0reSHqZeqDWE vowtfQA69cGQ== X-IronPort-AV: E=McAfee;i="6000,8403,9933"; a="211041646" X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="211041646" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2021 04:44:35 -0700 IronPort-SDR: 58nE2El0PVBDzt6U+CtlJNS4Xb+ZA4USeJuNSfm0nIq/JYzwfV+vCndXJpKhhNcaoMZWhaTC3l LnD5hWZMANtg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="525619236" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by orsmga004.jf.intel.com with ESMTP; 25 Mar 2021 04:44:35 -0700 Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Thu, 25 Mar 2021 04:44:34 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Thu, 25 Mar 2021 04:44:34 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.109) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Thu, 25 Mar 2021 04:44:34 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xj5L1wdR7PGi4vTUemRj5pfJj7dAQFMey1ZMNYVHVx2HZaPyPitt+DDlf1CZjMN1jRmU2dZkvUd6ik47uODe6yAK9aLjB36HQC7MUwK9HBe4JU1SSRv77yfoKrb56UXFXuCjddRKoZFyGKsWtPH4Fcn/kg7Zx64hRQrxkyCTVAjeW7Iy+8YQnq+P5zU8EB484fQbG0jRky8/j0LAS+q0SnPN2wIt+zCZMKglnSdm7ge/asnCGbQExKr72rNgB7pS2JcLU1e98BKIeCOOGp4wrcal63gmK8BhGf/ZUUPRX7kMbXz5e6Cfdh9ZDCiS5m77uGuKT7YqwiwJ21prqA280g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5We3nA3sB3ZhLoJDmTYaW85wnDsK79wRdOc7VqbdmO8=; b=N6mQeqW6Fkb63acXW1PoWmq0W3R8LeC+NghRof6ON19TZo86+U1ZySe5FcVarSypGeaVXIXMPooTCwRyRSDJtTYu3zeR1Fq2ABRG91D1wNCcDhqxE+BCLcQJsDHIN2Br5SKPIUW3KSfdoscbOzYdN8wlSDheSKw4/IAdQUNTk+tCZ5YVmcd9k9BpTTXXkaOhNznD8vdHDFG/etfKNZRneYRoKUIpM80PiV6TkvWTxe4p8uecVUH/MM54dmVVWXTTzaIQW6jN+5VGO0WsP9NAFTUzjHjuQYhI4EP09paIR9gvEbDA5/LoymcQ+YDWLjZnZo8L4pZ9HBB9FTBp6IE7JQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5We3nA3sB3ZhLoJDmTYaW85wnDsK79wRdOc7VqbdmO8=; b=IitNEptxv0lk9NqOjITuiQJeLU0rAsD6KlKLsGjl4N+jhw4Lgz3NeKmKGpe7e5LlFLOcBo+5KBq85GF/b3vHp0/uCasnOoI2LGcjXaEhfE1yx3zwEH1jXISVtsPZw6P7MO4dFVUr6dEqFWztm6o+K5m7d6ImZCSM+IZa8mAaZeI= Received: from SN6PR11MB3117.namprd11.prod.outlook.com (2603:10b6:805:d7::32) by SN6PR11MB2912.namprd11.prod.outlook.com (2603:10b6:805:cb::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3955.18; Thu, 25 Mar 2021 11:44:32 +0000 Received: from SN6PR11MB3117.namprd11.prod.outlook.com ([fe80::4579:2bc0:3dc8:8b37]) by SN6PR11MB3117.namprd11.prod.outlook.com ([fe80::4579:2bc0:3dc8:8b37%5]) with mapi id 15.20.3977.026; Thu, 25 Mar 2021 11:44:32 +0000 From: "Jayatheerthan, Jay" To: "pbhagavatula@marvell.com" , "jerinj@marvell.com" , "Carrillo, Erik G" , "Gujjar, Abhinandan S" , "McDaniel, Timothy" , "hemant.agrawal@nxp.com" , "Van Haaren, Harry" , mattias.ronnblom , "Ma, Liang J" CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v5 5/8] eventdev: add Tx adapter event vector support Thread-Index: AQHXIGt+KteIVuPMLE2kNEPapBYipKqUhTAg Date: Thu, 25 Mar 2021 11:44:31 +0000 Message-ID: References: <20210319205718.1436-1-pbhagavatula@marvell.com> <20210324050525.4489-1-pbhagavatula@marvell.com> <20210324050525.4489-6-pbhagavatula@marvell.com> In-Reply-To: <20210324050525.4489-6-pbhagavatula@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: marvell.com; dkim=none (message not signed) header.d=none;marvell.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [136.185.187.198] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a39a6221-43d4-4b72-a478-08d8ef835b11 x-ms-traffictypediagnostic: SN6PR11MB2912: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1775; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1V8WfolK6RWvWOSSdXrgusEyzINgtLriwLfkhP8j7W7MHkMNOX83Q+4q6Oc2xXYUi90Zv3uIsDFvdLID8h0ak9Pe90zHMvrsndEJrx33m3GvudyJrVkyrf5vOxPPp1g+AryUXX0JgtMkXPOMwv+iIjIXOYT8V4U+eSIiYS/jQ3/nwJE9l3gsrdUTQ6Z1eVQngY9VUL/SL7HbyXpSACxdZzxySYAFYNFSEW7/PAUM1P7NkqCMeP8QktrosaNc3/uxxKMZ3r+UZBN7SEfqn2y8/0isoW4bunxIn3mlMrBGDlynOT1UzVkXOG+tXhsKBHH6P5CtbIWFcOZMKUAx+gj3Wo+0lfJnMjzSO8vy2ZIwP+PAQNLSD3ZiXGuOrzQpdDwVlaxff5YsA3JycHFDu30aVjjpoS0qmnQXR6AV8sFbAvyEThunN15z5hg3YnhWhQ82cF9QjiN36Q5Tjo+x9f1jt/x1X3nj73u36nxr+B9wmz4RNQlQyTG94LxzR7egHNCVaH1PyDvpTJCIwwVBLFaFuSh9ZukNvXypoh3N1QhpYCEkhcqAUam5EvZwdAFR7HWLOT70QNGezxR2lPmo62SXUNf3eFOSFhuzinEeCOl81ZMUwms9PeBzKm90DhUCIusN9p3usuqp1/rVI3C02EXgBCTfJZ52JqR+OefpBP3++6lpud2g998e8oY0TmDW6TlQ x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3117.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(396003)(39860400002)(136003)(376002)(346002)(71200400001)(83380400001)(76116006)(66476007)(6506007)(53546011)(2906002)(64756008)(478600001)(86362001)(110136005)(66556008)(66446008)(4326008)(66946007)(921005)(33656002)(9686003)(6636002)(8936002)(316002)(26005)(8676002)(5660300002)(186003)(38100700001)(7696005)(52536014)(55016002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?lSyGifEctmiL9FsYZUxJnGo0voLJgLvhUL/pon6NXrvL/eus+wPnOIwa1AuG?= =?us-ascii?Q?i219QGJPVTrIjwwBpvmExtrGxIkTJssHGjVeyCFsHJXYcRzIE4O25F9DPxjb?= =?us-ascii?Q?BiD5bdYkHWmw8yOjZICEb7OdsXdQA0hptTYBj2nl3DCSN2wcvhRj359j2uzH?= =?us-ascii?Q?N7bcUUG9IsYzqQ2p3dJy1gWb7Ib+cCMTw4+sqbaUHODOmSM6IpyiSLimI5YI?= =?us-ascii?Q?MGfkQ4bmuqGrIdlSgEesdLQuJ8kgUuKuVFWetj+MATJ0BqDr+8KrRd5XhcBy?= =?us-ascii?Q?j4pbyxVALd0IAQgMeB2G3z6txO6h08+bN4bnVnNkaD37pVsv0yjs3hF6JmLT?= =?us-ascii?Q?AQ3c1KVxryrXBVCQZAPWZLf9ukR2OaTVbpVunLrcnfRe45tqbEpodoBiVKjv?= =?us-ascii?Q?U/XbZ/eLtPPGC4VT518mGMkjH2oSwA2wDzvgX5tND5zDA9SE1bmsocyoMfy3?= =?us-ascii?Q?T6xNfr7+ph4s6cWkLKEx6cY1emoQPJ4iGZ5KA1F9Xz0xWke7mSoWEeDJHQzY?= =?us-ascii?Q?mZswDAqPzGpXyjbK+XNC6dRrpuO75BbN4bwBwejCHAGYKclK0kZE877y8b6X?= =?us-ascii?Q?Rqb6iV9us6GeHpCdeXv0hZUe8rxawWYTj4lIdOAYv18b8sJl/dSpgtK/fFCZ?= =?us-ascii?Q?N5cfwQOtY6TZE9zv2XtBIHChJYn8WtkZMSAuo6vMMqC9RkKpGSkDZPNNVYQd?= =?us-ascii?Q?2ZgfulqztxWWdG3B22MRS80XmWTpYnP2pD4ORzE5sUswy30Drps7j5lMBv7c?= =?us-ascii?Q?omteHKKtaBV6oJYGKt/v3/7AQ1citcFLF5MC3GBklg7SvN/vo38oJ/DqVdlA?= =?us-ascii?Q?v+0Hly0di9t2kvKrk//L4MfsPqdwzC0dp654+Krk/yQM+GoSwzS0/HanfX+V?= =?us-ascii?Q?K85Wkf6fN9pQWR4PXKlFAJghb/YyEftS9EU+j5Ap27rF8aHU/gsZ3MXgb8wd?= =?us-ascii?Q?pkKftN8amnDKrHg2uC1le5U0JMRTPs7lP1kaBekgn9jxaRc7Xkj6+a9DuFNo?= =?us-ascii?Q?UPed/Luy2NvtCzNZq1IaUWDY4oNqrYr7OiUhtWzBaEBAg3VX3kGAuFz/oW+l?= =?us-ascii?Q?rtO4HefOdZt8qpNHMQ6JCEXBb/vWVrN7kjjWqs7y09Nky7iiCMVnxDskkFu7?= =?us-ascii?Q?+Q5lXF6T6T0hpEZuPEHS/tcR217cDmjikURu2J8+fov917YHd7wZKQlnj4vA?= =?us-ascii?Q?wA0lQR9upoMr2YFbhSRqARVesFf7SC0+ecKzWX1s0Zwh823rYkoZzdzo8nHt?= =?us-ascii?Q?8vv3vSECOMWA22nDxBYNo4P6AJYK+GztQr1okVpSc/WnbO+00+cUFmw/hXZs?= =?us-ascii?Q?X+oMbUgVUP7BEQipnBPIfFMX?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB3117.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a39a6221-43d4-4b72-a478-08d8ef835b11 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Mar 2021 11:44:31.9502 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: oyoZKIiNxf0Qtqi2cXHHu3W78Qm19ukzeoDxQvA8o7LXOxqC/bpDIdSYIFLPlOuw030lRL9PXkYvuAD2DTnp3hYTR3LFK4b2Bqwt/iseYgo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB2912 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v5 5/8] eventdev: add Tx adapter event vector support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" > -----Original Message----- > From: pbhagavatula@marvell.com > Sent: Wednesday, March 24, 2021 10:35 AM > To: jerinj@marvell.com; Jayatheerthan, Jay ;= Carrillo, Erik G ; Gujjar, > Abhinandan S ; McDaniel, Timothy ; hemant.agrawal@nxp.com; Van > Haaren, Harry ; mattias.ronnblom ; Ma, Liang J > > Cc: dev@dpdk.org; Pavan Nikhilesh > Subject: [dpdk-dev] [PATCH v5 5/8] eventdev: add Tx adapter event vector = support >=20 > From: Pavan Nikhilesh >=20 > Add event vector support for event eth Tx adapter, the implementation > receives events from the single linked queue and based on > rte_event_vector::union_valid transmits the vector of mbufs to a given Typo: attr_valid instead of union_valid > port, queue pair. >=20 > Signed-off-by: Pavan Nikhilesh > --- > .../rte_event_eth_tx_adapter.c | 66 ++++++++++++++++--- > lib/librte_eventdev/rte_eventdev.c | 5 +- > 2 files changed, 60 insertions(+), 11 deletions(-) >=20 > diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c b/lib/librte_= eventdev/rte_event_eth_tx_adapter.c > index 5b4c42dcf..db260bfb6 100644 > --- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c > +++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c > @@ -510,6 +510,47 @@ txa_service_buffer_retry(struct rte_mbuf **pkts, uin= t16_t unsent, > stats->tx_dropped +=3D unsent - sent; > } >=20 > +static uint16_t > +txa_process_event_vector(struct txa_service_data *txa, > + struct rte_event_vector *vec) > +{ > + struct txa_service_queue_info *tqi; > + uint16_t port, queue, nb_tx =3D 0; > + struct rte_mbuf **mbufs; > + int i; > + > + mbufs =3D (struct rte_mbuf **)vec->mbufs; > + if (vec->attr_valid) { > + port =3D vec->port; > + queue =3D vec->queue; > + tqi =3D txa_service_queue(txa, port, queue); > + if (unlikely(tqi =3D=3D NULL || !tqi->added)) { > + rte_pktmbuf_free_bulk(mbufs, vec->nb_elem); > + rte_mempool_put(rte_mempool_from_obj(vec), vec); > + return 0; > + } > + for (i =3D 0; i < vec->nb_elem; i++) { > + nb_tx +=3D rte_eth_tx_buffer(port, queue, tqi->tx_buf, > + mbufs[i]); > + } > + } else { > + for (i =3D 0; i < vec->nb_elem; i++) { > + port =3D mbufs[i]->port; > + queue =3D rte_event_eth_tx_adapter_txq_get(mbufs[i]); > + tqi =3D txa_service_queue(txa, port, queue); > + if (unlikely(tqi =3D=3D NULL || !tqi->added)) { > + rte_pktmbuf_free(mbufs[i]); > + continue; > + } > + nb_tx +=3D rte_eth_tx_buffer(port, queue, tqi->tx_buf, > + mbufs[i]); > + } > + } > + rte_mempool_put(rte_mempool_from_obj(vec), vec); > + > + return nb_tx; > +} > + > static void > txa_service_tx(struct txa_service_data *txa, struct rte_event *ev, > uint32_t n) > @@ -522,22 +563,27 @@ txa_service_tx(struct txa_service_data *txa, struct= rte_event *ev, >=20 > nb_tx =3D 0; > for (i =3D 0; i < n; i++) { > - struct rte_mbuf *m; > uint16_t port; > uint16_t queue; > struct txa_service_queue_info *tqi; >=20 > - m =3D ev[i].mbuf; > - port =3D m->port; > - queue =3D rte_event_eth_tx_adapter_txq_get(m); > + if (!(ev[i].event_type & RTE_EVENT_TYPE_VECTOR)) { > + struct rte_mbuf *m; >=20 > - tqi =3D txa_service_queue(txa, port, queue); > - if (unlikely(tqi =3D=3D NULL || !tqi->added)) { > - rte_pktmbuf_free(m); > - continue; > - } > + m =3D ev[i].mbuf; > + port =3D m->port; > + queue =3D rte_event_eth_tx_adapter_txq_get(m); >=20 > - nb_tx +=3D rte_eth_tx_buffer(port, queue, tqi->tx_buf, m); > + tqi =3D txa_service_queue(txa, port, queue); > + if (unlikely(tqi =3D=3D NULL || !tqi->added)) { > + rte_pktmbuf_free(m); > + continue; > + } > + > + nb_tx +=3D rte_eth_tx_buffer(port, queue, tqi->tx_buf, m); > + } else { > + nb_tx +=3D txa_process_event_vector(txa, ev[i].vec); > + } > } >=20 > stats->tx_packets +=3D nb_tx; > diff --git a/lib/librte_eventdev/rte_eventdev.c b/lib/librte_eventdev/rte= _eventdev.c > index 254a31b1f..ed6b5ba59 100644 > --- a/lib/librte_eventdev/rte_eventdev.c > +++ b/lib/librte_eventdev/rte_eventdev.c > @@ -196,7 +196,10 @@ rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, ui= nt16_t eth_port_id, > if (caps =3D=3D NULL) > return -EINVAL; >=20 > - *caps =3D 0; > + if (dev->dev_ops->eth_tx_adapter_caps_get =3D=3D NULL) > + *caps =3D RTE_EVENT_ETH_TX_ADAPTER_CAP_EVENT_VECTOR; > + else > + *caps =3D 0; >=20 > return dev->dev_ops->eth_tx_adapter_caps_get ? > (*dev->dev_ops->eth_tx_adapter_caps_get)(dev, > -- > 2.17.1 With changes above, looks good. Acked-by: Jay Jayatheerthan