From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0071.outbound.protection.outlook.com [104.47.0.71]) by dpdk.org (Postfix) with ESMTP id BB01A1B054 for ; Wed, 11 Jul 2018 04:02:38 +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=fYBH6UrtwYinyb+6DjWN6vKCAoz1L9ZdZMjsTSZssO8=; b=Ht1eKccTvJl21XQvCnFad2Vgv0CDiccC0XwhTvoZE0ko0yqOWhN9paY/NeZAcGvuhVi2N5UYFjrj50OrJHn37lr65By+b/QF9kZFssHmG7IyD+mjo9IuPDJ5Mfh6vnqSuOk7MlK//7p+hjiM+RYIkj/sxmYZvt7HAgk4Mf4ucio= Received: from HE1PR0801MB1930.eurprd08.prod.outlook.com (10.168.94.136) by HE1PR0801MB1276.eurprd08.prod.outlook.com (10.167.247.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.930.21; Wed, 11 Jul 2018 02:02:33 +0000 Received: from HE1PR0801MB1930.eurprd08.prod.outlook.com ([fe80::a9b8:cd68:dca0:4798]) by HE1PR0801MB1930.eurprd08.prod.outlook.com ([fe80::a9b8:cd68:dca0:4798%3]) with mapi id 15.20.0930.022; Wed, 11 Jul 2018 02:02:32 +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: AQHUDjK1g9FBOcCOk06DkSKw5f1jgaSJVljQ Date: Wed, 11 Jul 2018 02:02:32 +0000 Message-ID: References: <1530115574-102162-1-git-send-email-honnappa.nagarahalli@arm.com> <20180627161947.GA28037@jerin> In-Reply-To: <20180627161947.GA28037@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: [70.112.89.188] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; HE1PR0801MB1276; 7:Zl4n2ESbDr+b6Jl+HdoO09lqLv2iIMsQGChyOcf7byeuKZI2Ar2NLrcTEr7S+eER79h7Cf3YtsG2Wglwx1SsBXvf9oAtO24uZne+oPzphr+yAkWENT2FvTsFqqHwwU3Zjlrih66zgJMy1/mRj4RrK5UwYJbkLwunQWLRqRdIhsYEzxPMDJOlkLDGN01bBOrJlOAJmDw749A6/W9SmCq1r7TYZdud6mR5K6pOn3Jj1KNb47DmQv5aDKIT6y58q65X x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR; x-ms-office365-filtering-correlation-id: 77de222b-8150-4647-c239-08d5e6d25d89 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:HE1PR0801MB1276; x-ms-traffictypediagnostic: HE1PR0801MB1276: 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)(3002001)(93006095)(93001095)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:HE1PR0801MB1276; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0801MB1276; x-forefront-prvs: 0730093765 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(39860400002)(396003)(346002)(376002)(366004)(51234002)(13464003)(199004)(189003)(9686003)(25786009)(2900100001)(478600001)(99286004)(316002)(4326008)(14444005)(256004)(66066001)(8676002)(5250100002)(8936002)(86362001)(54906003)(6916009)(2906002)(6116002)(102836004)(106356001)(105586002)(305945005)(55016002)(486006)(76176011)(186003)(6436002)(3846002)(6246003)(476003)(26005)(53936002)(53546011)(74316002)(97736004)(6506007)(446003)(14454004)(81166006)(72206003)(81156014)(11346002)(7696005)(68736007)(5660300001)(33656002)(7736002)(229853002); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0801MB1276; 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: P3lnnzifrAmmfetFbow4ULP0NNTBTSI45XusUxPKa4tsURUd2BgDaD5GlbRQcC6WMfGBpISuaa7nfLSy5eaoM8xq5DVxsl7jfSDwEN9jc1O5EDNWTOpUQ++pbrOANylCtJN+EQAo5KI/6uBShtO60CnBAWLAE7HfW1ldxOStXTM9PVswEXw7FvmNRNr2Qm0vd35QoeHQ32qV/Xq0tZlnr965F+3ZKUBTpaUDIBZf311zwIig3k2qc7XO+B/xiEuZmCdTiWsFJKFozticy1K3RlCIl+ABdH7IWpn91+wEMQ2kUshUuUqdLrBPwbowCuwhdECNWTpmPFXIyP3/p7IEMrYwKVSRFQv4AG8mG74L47s= 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: 77de222b-8150-4647-c239-08d5e6d25d89 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jul 2018 02:02:32.8061 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1276 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: Wed, 11 Jul 2018 02:02:39 -0000 -----Original Message----- From: Jerin Jacob =20 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 framew= ork -----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 >=20 >=20 > 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 currently=20 > for core to core communication. However, these two do not separate the=20 > APIs from implementation. This does not allow using hardware queue=20 > implementations in pipeline model. > This change adds queue APIs and driver framework so that HW queues can=20 > be used for core to core communication in pipeline model. > When different implementations (ex: HW queues and rte_ring) are used Just to understand, Do you have any HW in mind where it can do generic mult= i producer/multi consumer queue operations for core to core in HW as offloa= d. It is my understanding that NXP SoCs provide this capability (Hemant, pleas= e correct me if I am wrong). It is not needed that the offload is a queue. It can be some other mechanis= m (for ex: enqueue/dequeue via the scheduler) as long as it performs better= than the rte_ring implementation. > 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 this=20 > progresses. >=20 > Honnappa Nagarahalli (1): > queue: introduce queue APIs and driver framework >=20 > lib/librte_queue/rte_queue.c | 122 ++++++++++++++++++++++ > lib/librte_queue/rte_queue.h | 200 ++++++++++++++++++++++++++++++= ++++++ > lib/librte_queue/rte_queue_driver.h | 157=20 > ++++++++++++++++++++++++++++ > 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 >=20 > -- > 2.7.4 >=20