From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0052.outbound.protection.outlook.com [104.47.36.52]) by dpdk.org (Postfix) with ESMTP id 866231B427 for ; Wed, 11 Jul 2018 08:51:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7tFj6JR6JO3bSeepAnoRCrOgontj/9895Vd7a19d6i0=; b=mHGie8EoQXzaCNCVIr/hd+/TwEmLqjKtZlcC0gXnflnBpGmbQhUQX2BazTSxey3BBJ4A+NhboRLfJ+4turWpYGumbOiJazx03vlxFzPU6PYq+6zQ2eJiPGb2kIGc+8YAM6QOwitde1Ro4v24xi+z5hX/Yh3zEmMwJyMC2umM2pI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.JacobKollanukkaran@cavium.com; Received: from jerin (50.233.148.155) by BN3PR07MB2513.namprd07.prod.outlook.com (2a01:111:e400:7bbf::10) 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 06:51:30 +0000 Date: Wed, 11 Jul 2018 12:21:24 +0530 From: Jerin Jacob To: Honnappa Nagarahalli Cc: "dev@dpdk.org" , Gavin Hu , nd , Hemant Agrawal Message-ID: <20180711065122.GA20799@jerin> References: <1530115574-102162-1-git-send-email-honnappa.nagarahalli@arm.com> <20180627161947.GA28037@jerin> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.0 (2018-05-17) X-Originating-IP: [50.233.148.155] X-ClientProxiedBy: BYAPR02CA0071.namprd02.prod.outlook.com (2603:10b6:a03:54::48) To BN3PR07MB2513.namprd07.prod.outlook.com (2a01:111:e400:7bbf::10) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: de6d6033-48e7-4ec0-4112-08d5e6fabd32 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:BN3PR07MB2513; X-Microsoft-Exchange-Diagnostics: 1; BN3PR07MB2513; 3:k+Q05QdDQkx7Z/u+EenPASGRdhEJdX4Lhicokt+8PC+R9nxorLveFAXJtG75BxTnkMlXo+58lCC4Gf6HItgjYprImKqBzUcpN3mfFpcfroJhcg2sS/bPdBCEgMOxF7SK3bxtAFsxhZYOJm6dgULaSz1kJaRMbzDIurwnwGMOCEuf1m5VqjYCb1wzuIzIsSgJ5XVBEHFwaRhisT/1jk55ka+eBeKIMAnMd/DCSug2hc8IltZo8LPm2TCylzgFQW+8; 25:w6KkrilK3V0vvgewIURrUqtjqC+wqWElrjGwPdF9sguvIhypRb6yMKlWV6Fh7Y3Kn+YCefkSWSSWtnr7edjQUX6Z1sPeDR0LlHZ4ZDvzZw3FZ6oPUosroor9uran7cV7/iKnQ3JBfCVfW2o9H4TnZox41pzZMVqCNVUn81jMPRN2Bjq2nyvc/wrk1cKn4MUxnJzShbwOGr7fzQZ/J4nZOZUvIsxWUiVfCfLoA98qNBbscdGYekmRsNH8tNE51yckHE5EqaHRIU71dbVjWc0s1eH+Ca4XPgqYReaXlUOREyQc4pjfINKYpvr2iDTWDYRA4gtsjOicKDeBRIo2nein5w==; 31:1qoYS8qaP8ZsFmgWo0oz2XQj8PCz4s0tG1PNHfaNd/jnFPFj5hfnBctoqb6ce7l/uG6Y6ruHiOJH6qhtCAwQTJSpfLZRRP6IvVoGi0+xXn299m9VNdOevSnyQvbvUvx6TnI1C12dhw3I6AXngbJIc44w2ImAB/PdN4HpWMgqNtoL8B4sTGmkjdOKmx8qvrnNPIzawzluC+FAN+17ncOd5iwT4HOeFQZOvcU0/fIKPhg= X-MS-TrafficTypeDiagnostic: BN3PR07MB2513: X-Microsoft-Exchange-Diagnostics: 1; BN3PR07MB2513; 20:Clw6Sbj6979K++FV373/2KOL0BZMI82tCJhqfElFPmeW+P/gAeHp3eYysiJZGWeuBnL/ux+LJMJE59xok+P1uPOs/sFBX8dHDV16nDQflUtB+o/asXs9KBCgkDVlsrf/p9wnvzM49UHtEzMgYSJWqvOLyA2tFqLYmBqzVVJVE1qrEWusHBgGK3MbYnE5AohdEW6txy32USnqb/PyGEXh8PtYnWUIF0o/JmAjKoJcWaEtwnN9fHCqbIVBAlYMwairPBrLjuUUMmtM7lcIcz2WFfr1LvmVh06CHkEJWvve8YHgr3S3EruyoZGId9/TgSYsN/HttpajFsmetf802IwgTM0/xfzRf/KNDcKQLxxWUjscUN0ppEjI3MyyPrmzUyO90uAL/GeoAwWXcHj+g93KyjhOhGieZNcyETS6VEonbJV8v5bNWjOOv4RyH/yuBao1+bNihZiEVdDIL8eHjjbfj68EoSCAWcMggpVOi8y9GI7EYCbMAaZ5X7uNbviWV+VFZtGlmehggbnTx/fJHb46Q3Ob9fWc4+LG+k4bj/qy+tO/O808wrOeqEjmmBoJHYmGn3oheWPUMIruLaz1/X8qiY9Y+2+ZS5M/3GOnYDC4H8I= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917)(185117386973197); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231311)(944501410)(52105095)(93006095)(3002001)(10201501046)(149027)(150027)(6041310)(20161123558120)(20161123560045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(6072148)(201708071742011)(7699016); SRVR:BN3PR07MB2513; BCL:0; PCL:0; RULEID:; SRVR:BN3PR07MB2513; X-Microsoft-Exchange-Diagnostics: 1; BN3PR07MB2513; 4:fOa3YII5JyUVYv6j5+KIsZTHza6fAj8AmmIt0FEekoEvGVieS5VNm54v89tMN/tAMkn8Evrg4mFYP/B3RPWXHQEhatxRD4u9XMCYSX5AkAjeHw7RViRhenbb/5cqniwpw6NZN8IGK5ZZPxNdMk9lALbPmCMNKe4AXwrAbXy1DmfHJDuXfHsA9s1ki5Zs51ZNMuoe3QMlV0+szWXdpNIOVKHX5NmKvwS80jJQ0d7K2QyNuCfQ/b3y4vFRqZVyDLrCJk57OEppkhb+vEryzTRoIoOnXY9f0DgUkKQ1WOMnFb+9FOuJmZVCZWapcFBwb7S8yYYz5qU0noUM2uZXspPSLglPoUjliTqYu0bdj8VmxaA= X-Forefront-PRVS: 0730093765 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(136003)(376002)(346002)(366004)(39860400002)(51234002)(199004)(189003)(13464003)(8676002)(16586007)(33656002)(6496006)(229853002)(2906002)(72206003)(316002)(52116002)(1076002)(97736004)(23726003)(66066001)(47776003)(58126008)(4326008)(33716001)(33896004)(478600001)(53936002)(5660300001)(50466002)(7736002)(6246003)(25786009)(386003)(6916009)(3846002)(76176011)(6116002)(8936002)(6666003)(44832011)(105586002)(186003)(16526019)(81156014)(11346002)(55016002)(9686003)(42882007)(81166006)(476003)(26005)(106356001)(305945005)(956004)(446003)(68736007)(54906003)(14444005)(486006)(53546011)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR07MB2513; H:jerin; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR07MB2513; 23:9Df8tcSGMUtq+DP2bv1AetAJ/mJGmq3ZxHwjAS275?= =?us-ascii?Q?l5q2v1xdcmfC4rWyozz/BObRfkPv/xm1ndVLHAY40IYVJj2vlXK0nYIdWbdT?= =?us-ascii?Q?+1mZBl1gBJiksrqort8B7UCI7NTU/rmCa+nWVz7RPqjbOTmQuWY4iyAkKzuS?= =?us-ascii?Q?eBDj4FT1qD/l7o3qprYgd2p+OCvjUOdVhmIXtCzF7NAnNKJgDTgRQWZHVylk?= =?us-ascii?Q?Uu0QTy6fICFLO1lW3ajSdM+9/T5SbpWw6cZjncl7ulQ+l29TdYFfK4aTu0VU?= =?us-ascii?Q?sOdjb8LGLtbZPLQUYBWSVmmRpFfkZd/2O4hXPRLPITLfvZO7B1hE5w3jzfVq?= =?us-ascii?Q?EMl9OKsI6tePu4bYaQY/DzoJY7mGkqXhUffkwyBhchxoR/xXHD0sj38Iffg+?= =?us-ascii?Q?QBOQaTGd3h7JX3L3qVva0fwrpqOIWfCUo47E9IRww6c92TevQfMDWIlx1D2T?= =?us-ascii?Q?nAKluV7t2JWCiqXtT26/Py4/4QP6siHXc9fs0mSXOFDBqPZFRG8JSrs/RVK7?= =?us-ascii?Q?8q2RNevrWhOlQz5Y60uSdvOq2mVWLQZnubhGVJFTETB7s/6vAdAiDHGkyCeq?= =?us-ascii?Q?cTq9B+chjW3xsoqeiK4DwHznqfjuEUXpH8y5cKC4jan3dp/1/m2PqpfQP09u?= =?us-ascii?Q?cnm68CPeNhHyJelimd/o8y8Ba9xzvVdpnx2MlnpvKqW1oI/l3NTnsYSgkh+C?= =?us-ascii?Q?e0OwrIgK/JwAaCMCC4yB46SlcQg8Ke5hQ5cNaDScw4anecUpXhy6mngZ6iAL?= =?us-ascii?Q?D1JwBGMOHLY8J8T/LtGD7pO8FMkSQasj8up7osRhZK6EKWLtxPpPMFqfbj/r?= =?us-ascii?Q?oNvnIywAD1L+9R/SuA3XWIpYrw0SwySXXd64spgilkHg1+F+l+itKmxVGq30?= =?us-ascii?Q?g77dvdFHneMNydwoCQw4OBSDzIdbIB7jawDssW2XK0P1v66gjYqsi5zVBYE8?= =?us-ascii?Q?E+kxGKjLtpS13jt9u96zhrUqmDoTlWDx9+PaG7NLoJO9fcO1d4ZoeauGcwc4?= =?us-ascii?Q?Ut7E8Q7F3OJPdqJgngt8LYitXhXyDvDx/hNSxOcNvsGVxeQzzlK866QmzR+M?= =?us-ascii?Q?f1JSxX4rOgfVIWqN4e2UHq67lOZAy39g9rB2PiFcYZbtWB97UYejTwIfHxYF?= =?us-ascii?Q?dIxnbkGdrKguqm1HkxW0/IPyn3WIyojC68LKbfNEtpUorbshwOtUkOE0RvLd?= =?us-ascii?Q?OUyGNs0flrvFSNX4ufoMJwvpcu+aYotd4A78RUFwuYRRLQ5hgw4bTo8yS9T8?= =?us-ascii?Q?ST2+69WT3ve0w4+DhrvF6DSn4V2ptminJqYYzXuz2q+kdftNCz44QAcbEzzv?= =?us-ascii?Q?Lzn5eb43OqsFrbysAEN/uEQtagFz8PtYzeP4yF9bEUm18XWP+NLyxRWCFzmZ?= =?us-ascii?Q?JXt9d1two2AnZupOp1EN+DmfD3nzcUhFAj+7udO9jGl/zzq?= X-Microsoft-Antispam-Message-Info: LxZeo95kXVBCbshcSmqkguGUWhI88hyzocRhzKD9lKVJm+Svap9r+8/DNHB4hxXe6K2TFSbVv6tC6Y4rgHDv15lQT7Q5FcPysnUAM8fB10AA06jI/0QXZzcgp2c4jSYthHO9pVNBTgTngpi9MVFod40RycFRKgsZRChD1Z+y18SvkVm+6Wxt/6njD0E7/tjd/3um0Pbu1C7w1wMpgmoMN4rpHo4MfJeH6yW6Tpm4fyCieta2F1BLLJyWzo474XrR8NvjGa67vqheMZ0gWYAyAwX3FvGq1AeEArBBLwxNBc+o4zRgMQEt7kVjkk33eJfDBLnZBiv3sC0mec26j4KQhl2es2LX+mxIeFpX0CUaEh4= X-Microsoft-Exchange-Diagnostics: 1; BN3PR07MB2513; 6:OtWRc+hrK1XnQBiXSz0v6Bh11CFayx4cJ+zmvXV6c/kMaEio87uwZlR7cbPtNoV2WvPc/tNAkIm8TEhDr08r5NCN9mZy3xWpqqW9x6GrsR2qFGn5PHDBgYatRuHVhCkCX0hTCqWfln0+We7KT3ykzXhBe4ZNPqLlnADJP4RBtPvog2CFAs11fN5YfYxmuP7rHzQMapfR56LBmMiqGlNZS68TehfliI0tBTSe32IxnYD3vSfmOdKMyHL+CYQAT4cjKK0ZgzvGX45QWjtjQ3v/u8cISn520jiWIqr02Eki7eqbeq4Vao/Bgvrt2n8cNscJYQuwH+b8S9pJdHVYLWNLNX0LurpOECExom5fUKXLE2EsZusxp/fER7VdnHKl2FozH7Gqk90oeXsmNE6vKwoTBS/69qPVuz8xZS4nzkfyF4S7Jk7bz00p6SVPtIRk7M9oRZxRbJan2Wi9f/SuArAMPA==; 5:/rlr4+FxN8Fwl0Fus1ljNvsqJakqA5NKCXBiulNdQbiRhDuKexnCYarK7jRvy4NqxcHe9P2fdy87X6IKz6p0g/zYQJIowaITPu8Yfp+9zDEIdU4q8iuIZfy8y4PbTnhgcdMghLwnE+KqNe84EBlEzpEo5nP6iaAWBUlRI1A02CY=; 24:4sko8jlXCWIZnCFuzBpWU365dpL4Wd0c0rgtL2r+LmST3PDNcDLb8FusRK3IKBK3yttaM48/zxZXfkS55xkTLkbEEhq2U3KYQ+ZMhqQEr1A= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN3PR07MB2513; 7:Dobf5tFmhXvJFB5blZapFt7fTVLWKCaCiVlTRWMbjpBtyhgsrmCCq7a+4UONF6K2qFqDC5ZeVwMkxv0Sed0qrAz5dpAWIuMG+r/c5aBMf527L6DylqVjH4NLliV2U2J1HSaTXvdqttlho8RKJMyeVk9jEQdFIi7Xdh/oJ42FUb1yMvkIUsQfGB9JzP5PA8S1n2oCXl3VSV3j4eTdRtTbCXBlKPJnR6VccORrZOX0B3SkyUJEkRWB3HCnL6bSWaEt X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jul 2018 06:51:30.8532 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: de6d6033-48e7-4ec0-4112-08d5e6fabd32 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR07MB2513 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 06:51:35 -0000 -----Original Message----- > Date: Wed, 11 Jul 2018 02:02:32 +0000 > From: Honnappa Nagarahalli > To: Jerin Jacob > CC: "dev@dpdk.org" , Gavin Hu , nd > , Hemant Agrawal > Subject: RE: [dpdk-dev] [RFC] queue: introduce queue APIs and driver > framework > > External Email > > -----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 framework > > -----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 > > framework > > X-Mailer: git-send-email 2.7.4 > > > > > > DPDK offers pipeline model of packet processing. One of the key > > components of this model is the core to core packet exchange. > > rte_ring and rte_event_ring functions are 2 methods provided currently > > for core to core communication. However, these two do not separate the > > APIs from implementation. This does not allow using hardware queue > > implementations in pipeline model. > > This change adds queue APIs and driver framework so that HW queues can > > 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 multi producer/multi consumer queue operations for core to core in HW as offload. > >> It is my understanding that NXP SoCs provide this capability (Hemant, please correct me if I am wrong). >> It is not needed that the offload is a queue. It can be some other mechanism (for ex: enqueue/dequeue via the scheduler) as long as it performs better 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 over eventdev. > > > for the same object in different platforms, it is important to make > > sure that the application is portable. Hence features of different > > implementations must be elevated to the API level, so that the > > application writers can make the right choice. > > Currently, basic APIs are created, will add more required APIs as 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 > > lib/librte_queue/rte_queue.h create mode 100644 > > lib/librte_queue/rte_queue_driver.h > > > > -- > > 2.7.4 > >