From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60066.outbound.protection.outlook.com [40.107.6.66]) by dpdk.org (Postfix) with ESMTP id A99CB271 for ; Mon, 16 Jul 2018 04:51:21 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bOY/frOdB0mWY187ZVVtmNL6G84uurCuTc3SRZZ0a6c=; b=Y48dj82REHPWA+Hz2No8tegmIhr4GwX0Kf41z7EK66vQ9Tja79Kj6vUhW9T1O7VYNXlg9j2jDlxTbV25ew8xxm/eYMZAnRgWEHH/LiOJlI/rIbWvyJme2TiB55MWcjqYa56FEBWNY2Mz83CSh6DMCfS+Vqg0pl4T0BApA9iaW2I= Received: from HE1PR0801MB1930.eurprd08.prod.outlook.com (10.168.94.136) by HE1PR0801MB1372.eurprd08.prod.outlook.com (10.167.248.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.952.17; Mon, 16 Jul 2018 02:51:18 +0000 Received: from HE1PR0801MB1930.eurprd08.prod.outlook.com ([fe80::91b6:6ee2:2a24:6222]) by HE1PR0801MB1930.eurprd08.prod.outlook.com ([fe80::91b6:6ee2:2a24:6222%4]) with mapi id 15.20.0952.021; Mon, 16 Jul 2018 02:51:18 +0000 From: Honnappa Nagarahalli To: Jerin Jacob CC: "dev@dpdk.org" , Gavin Hu , nd , Hemant Agrawal Thread-Topic: [dpdk-dev] [RFC] queue: introduce queue APIs and driver framework Thread-Index: AQHUDjK1g9FBOcCOk06DkSKw5f1jgaSJVljQgABUbACAB5cLgA== Date: Mon, 16 Jul 2018 02:51:18 +0000 Message-ID: References: <1530115574-102162-1-git-send-email-honnappa.nagarahalli@arm.com> <20180627161947.GA28037@jerin> <20180711065122.GA20799@jerin> In-Reply-To: <20180711065122.GA20799@jerin> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Honnappa.Nagarahalli@arm.com; x-originating-ip: [217.140.111.135] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; HE1PR0801MB1372; 7:ShVCzjYtMz8vYtR9TNOxRhxFGMXwVenDHS8hIe3bO/VWgeXsTIBnDwwgYqG5SRc6HAUrzsIcNJQ89AnfJs7K5Ylhd2SpAnH2GPnGVnYmG+emVc6iawM7N3aV8k55LfCPfIQdLarlNR0gqPwcYMwP4QYATEwczEBhS49bbV88ynoj+59aoJOn8SkqWLnC6CgD+e3mGEjRHUf+jy+55UcYrqHAfYkXWm2ezMzRtVLQ+1QXN/I/4VYrkMCioAZasnAg x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR; x-ms-office365-filtering-correlation-id: acf3ddf2-7b9b-4ee6-7fd9-08d5eac7017a x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(48565401081)(2017052603328)(7153060)(7193020); SRVR:HE1PR0801MB1372; x-ms-traffictypediagnostic: HE1PR0801MB1372: nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(180628864354917); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3002001)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:HE1PR0801MB1372; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0801MB1372; x-forefront-prvs: 073515755F x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(396003)(366004)(39850400004)(346002)(376002)(51234002)(199004)(189003)(13464003)(53546011)(7696005)(305945005)(25786009)(8936002)(74316002)(6116002)(81166006)(3846002)(66066001)(4326008)(476003)(11346002)(81156014)(8676002)(446003)(478600001)(72206003)(7736002)(6506007)(102836004)(186003)(53936002)(76176011)(97736004)(5660300001)(2900100001)(6246003)(26005)(14454004)(14444005)(256004)(86362001)(486006)(93886005)(5250100002)(33656002)(54906003)(6436002)(9686003)(316002)(55016002)(6916009)(99286004)(2906002)(229853002)(106356001)(105586002)(68736007); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0801MB1372; H:HE1PR0801MB1930.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: U22AP631kORd2/r6owkSNyPLSHtohXoYF198Poz5fuH6JbOvK0RPuWysJBkSfJVP2v68W1ul3aUqeSBbaYuifLEZ6lfpW1ySzAprQQ7zCZi23e2G5IkPgrCF3h1ynpQRsCuYTitXmpJ6LHrVmI/BP6QNPBu4O67wryqipD+XqS/6TKmHIFVQkd7HgV5kCempp3U1Q9RhXYMt9tv9bYeD/hKzn9Cs3yVGwql8TBNJQ8ju6jDm78gK6NJZFXg2O0Py5GmYElcJHCTaTJfb1pL8vhAuIeC5Q3ffW2fQ7DnpCHRbIrzwOmcAWAN4md0ByM5BPZ4yQPgjLBWmOiDQI3WBKoi7B/qal6eo8tViYHwYj0M= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: acf3ddf2-7b9b-4ee6-7fd9-08d5eac7017a X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jul 2018 02:51:18.5271 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1372 Subject: Re: [dpdk-dev] [RFC] queue: introduce queue APIs and driver framework 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: , X-List-Received-Date: Mon, 16 Jul 2018 02:51:22 -0000 > -----Original Message----- > From: Jerin Jacob > Sent: Wednesday, June 27, 2018 11:20 AM > To: Honnappa Nagarahalli > Cc: dev@dpdk.org; Gavin Hu ; nd > Subject: Re: [dpdk-dev] [RFC] queue: introduce queue APIs and driver=20 > framework >=20 > -----Original Message----- > > Date: Wed, 27 Jun 2018 11:06:13 -0500 > > From: Honnappa Nagarahalli > > To: dev@dpdk.org > > CC: honnappa.nagarahalli@arm.com, gavin.hu@arm.com, nd@arm.com > > Subject: [dpdk-dev] [RFC] queue: introduce queue APIs and driver=20 > > framework > > X-Mailer: git-send-email 2.7.4 > > > > > > DPDK offers pipeline model of packet processing. One of the key=20 > > components of this model is the core to core packet exchange. > > rte_ring and rte_event_ring functions are 2 methods provided=20 > > currently for core to core communication. However, these two do not=20 > > separate the APIs from implementation. This does not allow using=20 > > hardware queue implementations in pipeline model. > > This change adds queue APIs and driver framework so that HW queues=20 > > can be used for core to core communication in pipeline model. > > When different implementations (ex: HW queues and rte_ring) are used >=20 > Just to understand, Do you have any HW in mind where it can do generic mu= lti producer/multi consumer queue operations for core to core in HW as offl= oad. >=20 >> It is my understanding that NXP SoCs provide this capability (Hemant, pl= ease correct me if I am wrong). >> It is not needed that the offload is a queue. It can be some other mecha= nism (for ex: enqueue/dequeue via the scheduler) as long as it performs bet= ter than the rte_ring implementation. eventdev already abstracts CPU to CPU communication for HW offloads. If NXP's HW comes under scheduler offload then it is already abstracted ove= r eventdev. I will let Hemant answer the specifics of NXP implementation. Currently, the pipeline model does not use the event dev abstraction for CP= U to CPU communication. One way is to use the event dev abstraction in the = pipeline model. >=20 > > for the same object in different platforms, it is important to make=20 > > sure that the application is portable. Hence features of different=20 > > implementations must be elevated to the API level, so that the=20 > > application writers can make the right choice. > > Currently, basic APIs are created, will add more required APIs as=20 > > this progresses. > > > > Honnappa Nagarahalli (1): > > queue: introduce queue APIs and driver framework > > > > lib/librte_queue/rte_queue.c | 122 ++++++++++++++++++++++ > > lib/librte_queue/rte_queue.h | 200 ++++++++++++++++++++++++++++= ++++++++ > > lib/librte_queue/rte_queue_driver.h | 157 > > ++++++++++++++++++++++++++++ > > 3 files changed, 479 insertions(+) > > create mode 100644 lib/librte_queue/rte_queue.c create mode 100644=20 > > lib/librte_queue/rte_queue.h create mode 100644=20 > > lib/librte_queue/rte_queue_driver.h > > > > -- > > 2.7.4 > >