From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0080.outbound.protection.outlook.com [104.47.41.80]) by dpdk.org (Postfix) with ESMTP id 830CC378E for ; Wed, 16 Nov 2016 21:19:34 +0100 (CET) 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; bh=RxSrZlhAzRziFbtoT6iKuqfbdUyh2eNq8zPGWgQ1EMM=; b=eyGMKPSZPVpjk4qIw49gSnQ/Ym+ygDSwqFxPoEq2J7eTKAz5kfSbdujtZ0Pl85mPtvWo/vt/Ha0JbSjZLUdoZdZiztdxhrgGJcd9ocsDx7fkTeQTmON8udS2zMKQrNnKC3dT5EXH2BptuhBBYV5nCeK5FPOWWQ6Q7I8TXR0m9LQ= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@cavium.com; Received: from svelivela-lt.caveonetworks.com (50.233.148.156) by BLUPR0701MB1713.namprd07.prod.outlook.com (10.163.85.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.707.6; Wed, 16 Nov 2016 20:19:30 +0000 Date: Thu, 17 Nov 2016 01:49:25 +0530 From: Jerin Jacob To: Harry van Haaren CC: Message-ID: <20161116201924.GA32292@svelivela-lt.caveonetworks.com> References: <1479319207-130646-1-git-send-email-harry.van.haaren@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <1479319207-130646-1-git-send-email-harry.van.haaren@intel.com> User-Agent: Mutt/1.7.1 (2016-10-04) X-Originating-IP: [50.233.148.156] X-ClientProxiedBy: SN1PR17CA0066.namprd17.prod.outlook.com (10.163.3.162) To BLUPR0701MB1713.namprd07.prod.outlook.com (10.163.85.14) X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1713; 2:F7bXnPSSrmoDJqjJai2qDApNMS49lQNkBjWvHMB1ZlQ1b/DwTe761Eo6KLf5aCt12k0arOLxmHEWDvL0SHLqZ93g07Axi1nhz6lw7TzmBngx9/Mj+FKw9OZMcFckF/fUk9lvQsRZH/m3AZL+LhBwqFFAXtTABLHRRedij2RoMHs=; 3:yARehQf12xfaMHYQi/reb09K8YkuBbwqlfBX7wwSIHpRsk61B7u6eWwivlKEOZyzY8ORm7WHMLl9FF+PmPtm4M1+FdBt6GgXPyg6LWegObZDa7pNsan9EMftohmcFeCx94BXM55OoCAVfd0nub7i1Z1sFeQb+YEpg+XH/bnggiU= X-MS-Office365-Filtering-Correlation-Id: 994d898e-1625-4c21-59dc-08d40e5ddf5f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BLUPR0701MB1713; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1713; 25:uhw3PMSOngMBOWgJxuW/9Ngf7o+3OHjVb+5YdlDD3awXxapbZD0H/NyNqQx0OGo10UodgihjN8o4To3Zjp2cQPGmap0rgvRCmpRZ0ZAE+hvvOhG3/ai6pUt6C0B1xSprF4t88HQ/s32rUEm132shsILzgsAyENy150AIqlDzRCBU3oPaE8GECAdHdKSgECFFGJtHyu/3tAEjqKE6AtuJP5J/babCbm0fC8xqqxzALW6iXWziygI7sUJzVfog6OBfL1m9byygZhgqYX/1Z8ICrvw71g9JxhOteJjckhDU3dh65yIEbRkUzM3bfIsV37KcXGTTe9FFBhnZkX9aCLPF2QOFV1jNM8sQxptQfsw2Bf+a6hmlJbjGI7Wp0qXJhTvRJq+xkt/dPgz67bJ02VtTXraOkkOWjRwJVAoS2pYOGbBny9Vc+mDHNZrkopz5Qg/QEGNUw/1FWqDkZpC3eQepnOjPoUhSJUgfmnS1v1u/YADC9bMJPABV5mlAP7rPwqIY3C1buWKsdVXbNO2/nSGwqbfxBFKKDNQ3b0GZ4VYMkTCt3bGufWinFYkVST+lNWv2t37Ay+MnChcvmYL6UgZKRP9OpNVz5n8sNVN+UufsYQZt4eOcX457YLU+UudBHEOEZaRbtVZGLLStgCI9Bcc3C09TqjS4GwHE3+HjMdP8znCE0p+C04OAt9IUkrr39PXEzdW1vJegFD98VusDD4HEvjIQtMFPQyAYkwUTSwKIflIixPe3QtV7CNxYE+14OFHivLQESxl+/CMiBwZfowRuLESwUbQkfMM3N0mmKGtOGXq7x1smETucbdt6YG+sVbQ3qb36gnFU+1gIokP7LotBvAafsK6pNzqpKuCCcSAnoes= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1713; 31:4frQHwqzDc1zyY+KDXLql/5SwvkYBuYmbl0bE+amestZ+TmvSNng3uCPN1S9mssZTbe6eZru60EexEjyJBf4uM5pM90Ky8vT2DWX7v0xZcCzVKHHqiGxUCaG8x+lv4QDhaoiyzV+Uo3Mhx/eOHaFN30igPjy2dCbWQZaXdD8Sf4OQQM27TytXFA9Rv73tC6TLLtm6vfXDvArbBKLNE3igD05vDHgFJn8xIYdqNB+fXCSdLSVZooP3SgTEUkXVpQ0+Zw+eY/a/sg8fspeAom3jp7Lr/zpvzR/x2SmBvFUDD4=; 20:qCOKNUnlHG2aZei61J6TioCQF24C87D/IKRoKZW3nC5DTWG5RuHvnDwN3/e34M7O4Mrd0Nl8qfatxS1TgPyKx9CcKHEsEXsw3oJsbZ7q17qgD5KINRaFLzrqTjUhbuJ2MTwVz1WxKp6OIEDyaAUnN4r4KNkJslfLEqnrvTENBQGt881MB5IG9oMqHacniW7VP2jynwojRST0eLUdIwpwh8wjH+BOVL4xryrRG47qJ+qKJeoAbEsQ4di7m0yNPRc63A+LJSPmaOWIhi3eGhaEQOkWF6C4AwWqDqfWHPMlUk6Wh0j61eAmdk7c0Rc+ohodRN+QkO10JY8524H8O3POuLQ1sl+chmCsVwhgBHQGyJBF8+HOQRVBfNWXLi7WSIRhaNsHvoSedxGDieXCJaLAsvHrKoPCDEPQfaX71K3vpLoTNKmj4g8sTdXB5RTnET9QiA56fHgODfVAEmSE89VhsaZ8TmctDD9ItVC81954JT4/KmzB2vMJM9CjRtH5V1F4LxAbbBVUfjmgH9ucs+BZl/JsR6/bSkiinEOYX6B+Dmhpo0C1eafJqDMUkCKG9Xy/dmSwxLyDBiTXhlH6n+dHXyk8gNml4j3WDI/X2BAVgiw= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6060326)(6040281)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041223)(6061324); SRVR:BLUPR0701MB1713; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0701MB1713; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1713; 4:6yBZPNhfV4cRBxZbdAS3nfB4VlXlfuy01XQ7aKWHZVaEJK0jYQmXFWKCceIg0Yow0VJV+QgTTzJBxdHmQ5AhrkzU31aNV5Xep6A9gdjB/B5+XrA0gJ2RlII/hrNeq1qu8stQj8nOpwfNPXYcqmBtzR1JVTb61kQ8NCv+xnch0KrC6BKudu9GArRXUq1mgPV70AteU5JCqsZtlc2qPRTLIZfLru0p15IkfWZuZPbFAco3O/yjza4bWPb0AqYXPUzdrKnkjMNnbuL7xwipxx1vkHYo2puPWvy9wJf7DnzwLCkc0RrTWknR/XPS4ZkwRK9eLxKJoXnUiyXEuM9FoORXFsC1Hn0Cf4nAb+7TM7P35Smw63uZjcfTLIWWiI2PcrDOTWD9xBORmp/XulC2VIdJXqRyr0Wiqdf4I8KgOwoMasN25C2kTy5e7G0hb9T6zUuY3SJKoqiyNSEE1xhuGhHE7Yh5fFsSd646cqhEGxMrgyx0iO4w7FSwo1l2pfFATyWt X-Forefront-PRVS: 01283822F8 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(7916002)(189002)(199003)(24454002)(4326007)(229853002)(53416004)(110136003)(81166006)(69596002)(4001350100001)(1076002)(97736004)(5660300001)(50466002)(7846002)(68736007)(7736002)(105586002)(305945005)(9686002)(47776003)(81156014)(42882006)(15395725005)(50986999)(76176999)(66066001)(106356001)(2950100002)(54356999)(2906002)(189998001)(6116002)(42186005)(33656002)(92566002)(6916009)(83506001)(23726003)(101416001)(77096005)(97756001)(6666003)(8676002)(3846002)(46406003)(18370500001)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1713; H:svelivela-lt.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1713; 23:4DY1PtuxxGXY0N8Et33p0n7WUGcqxnIEU6RLXcZ?= =?us-ascii?Q?CxwbTYMYncUu+J7Rw/zd25/8pyJ6D9/ZpgjRNInoAu4y/YRN8KiX2L9PNKrb?= =?us-ascii?Q?NH69jcYQFyIqZREBAN3OpPicM7iB3M8BdfV7bIe/hcaM+1cC1BvMPLeyTFPU?= =?us-ascii?Q?YYpq9YpXer/AN/2/odoqpVMyZgesUlwgLanwNrS+jwi9yvEdAAdTsO3CRBZA?= =?us-ascii?Q?vO7fq1qIFT9dSN/q7mJGfQtdYuuCEi1hEyWWA+KxHX8nfgV1MHBnDQ/ks9iR?= =?us-ascii?Q?NaRA0mapLezVTWLCDFbB9p4z1xwxQxcd1QYv0sFq3HSbfHJGZaH0YbAd5EAO?= =?us-ascii?Q?LdAqXrXaIn72FgwUKO09H2sK/CualtUZW2FNFOjBobNVNz07365Vi58eNE/H?= =?us-ascii?Q?y/eI6NX+8pM/B1cTkztNZ8zb3/L7am+GfOBcbcRtRuYWFrB5Ue45IIaBr6PL?= =?us-ascii?Q?Z3kJFg/FcgO1r5kLAJQzWZ1WbkXXcqoLUhuKggVds+EO8hEy/CchgvsfHRhK?= =?us-ascii?Q?/44ts9Xtzofecu/eE4G7SnJf1cFPYhDL1kLZJkJV+QI/wtuAH68/jyFqIWe6?= =?us-ascii?Q?JgXPb2EhuvYtzPYvcXucrDSF72A6Y0opJek4dVKOpEvtsipmP9F/vXWTAkqu?= =?us-ascii?Q?eRx7qlxYff8WBYS0p9yaprplxSFd4H4JFfscKSXGrZ4ztoVawkhKMi/Q93/J?= =?us-ascii?Q?pzBk7KAeKXgUKG06c0DQtjMtSZtVixvcGzrbUNEp1asxjNVJIHj6jUiHZrAc?= =?us-ascii?Q?IES6VvUzqLk7GXes6kAz3qWl86R6z7VdBuGDn2VwqKBOQylzLYLHrqi/9uRK?= =?us-ascii?Q?3n5SnvgYcUHUfiygLiJkO3s7ncW0yKFmSavLQy1/CcYAgJP4y7lyHOd7afNW?= =?us-ascii?Q?ez4QK0Hc6wnMEoSIsGFraRmeCSVj7GhUD3uq7Mtt6nWsf32rigPzVrfFStBb?= =?us-ascii?Q?a/m/MOi7OM0NCTzwaJuruRIwjtXklD3lMqaHaFOp2iFJzXCBQIiWr/h17jZa?= =?us-ascii?Q?OKH5gWQgDN+fMOf3h2BC/SDYSYD47jWy/Nywf6bGS7A6yr2oWVDPTWaufjWl?= =?us-ascii?Q?mJ+qMOw4G9TcvRa2h9FIkmuVDO9wCmk50srC8PZTRuIILyWb9uX4ABIvMgno?= =?us-ascii?Q?LkfOKiZg+XXLu3SuiAYKdqR01q0LDcwpcNp/XUo8bPa+UkmremVX1LGJ0tIt?= =?us-ascii?Q?OGE1Ug43vl4qYhSD50Cl+rlksU95GfRSj3aXjCxWubozH/y8Vx6ycPg4GzgO?= =?us-ascii?Q?PcStt9t6r2p+73a6aQFMZXvBrdieRFa1eZdyVhSE5?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1713; 6:axBQBxe9o4lS+ZoMmQ+jeHnXz7X5A3yJ6nu18kg89ImylBu3ADuzipY6dZEHIEltNc3EYbhbZqZyeSoGs3rAp1FiLCur6cf2Um8mFFE/7oyaPZsF5elhNykCznhYBsGh32X35+dKIgZo3HDyKdmQwL6N1wJdVRZ3EgamtOk10CVnQHDPnLPlIPjsMloEkpjCP9J54ZYH26rKRSNQhUGWAVNR2dm7ApJpBxd/e6btfQeMCN4w68ulPjWIftB1yqEWwrO5xB2IYfbSW++XcJtDDCJVdcs3b/iN3jV8GKxVRmZvm48xaTuGdhz9urUQOTiW6uBWGrPp/caeBSHtsXOvnRnAn+Hsf6gv1qo24bH0OZo=; 5:iMpJzeirN8PguPtSznPEwvm56NBi/yAle3x5peJCml5uK6ZY03s9/4yFfeAkoGFOO7uOt0NwnWUa+CJ+/SX10TzFMBtIcy6cN5SBpR36L/RjCMOlR0Sq7DGFACHICDjO1gxiWtFfKVXQIXVhacsCXBhM1JnDmoLnCDOfmoz/Cdo=; 24:c9CCSbxFx/hM8svFod3PXO2sDD12nYBJaCxyyMxn3YqVAKnprM4vJEZDRdx4Wd8BrO7PPS2s9HMzUhunNjkklXkJM50BsaZ3WNvFMXXEVVs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1713; 7:xK0pFbYnDyfia+qS6RekVyNxagpQVIq6oLmJxScjXyacGYkaZK4x3w0PTtgtO/5Vl8ku2BafNrrZ9UotzqRikPiGflAvgWuRLHwXihmkM0KyMIMzZBHq0jFMmRVv1XDvL/eEkfJJHIO8myaXcZThCHoJauAFKI6l8faTTdm/+0FdyfX/0u0pgE0EwJov3TnvNYegofUVNXlicrFxDNDshCSqUsc8l9IrtqAmrH3SPKk+g8LZnFY2fRIvr/HOxdGMzg9DXNBGhDxzGcUtrQruSFu3m253FpdpfjGBEFRIvvMTya3pUF1SXezXg4ZDGL51WUoE+lG+lU763S9YTq28zzWMeS4Uw2nVipJMkf1mRC0= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2016 20:19:30.5014 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1713 Subject: Re: [dpdk-dev] [RFC PATCH 0/7] RFC: EventDev Software PMD X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Nov 2016 20:19:35 -0000 On Wed, Nov 16, 2016 at 06:00:00PM +0000, Harry van Haaren wrote: > This series of RFC patches implements the libeventdev API and a software > eventdev PMD. > > The implementation here is intended to enable the community to use the > eventdev API, specifically to test if the API serves the purpose that it is > designed to. It should be noted this is an RFC implementation, and hence > there should be no performance expectations. > > An RFC for the eventdev was sent in August[1] by Jerin Jacob of Cavium, > which introduced the core concepts of the eventdev to the community. Since > then there has been extensive discussion[2] on the mailing list, which had > led to various modifications to the initial proposed API. > > The API as presented in the first patch contains a number of changes that > have not yet been discussed. These changes were noticed during the > implementation of the software eventdev PMD, and were added to the API to > enable completion of the PMD. These modifications include a statistics API > and a dump API. For more details, please refer to the commit message of the > patch itself. > > The functionality provided by each of the patches is as follows: > 1: Add eventdev API and library infrastructure > 2: Enable compilation of library > 3: Add software eventdev PMD > 4: Enable compilation of PMD > 5: Add test code > 6: Enable test code compilation > 7: Sample application demonstrating basic usage > > This breakdown of the patchset hopefully enables the community to experiment > with the eventdev API, and allows us all to gain first-hand experience in > using the eventdev API. Note also that this patchset has not passed > checkpatch testing just yet - will fix for v2 :) > > As next steps I see value in discussing the proposed changes included in > this version of the header file, while welcoming feedback from the community > on the API in general too. Thanks. Harry. Even I was writing the similar stuff.I took a bit different approach on the common code side, where I was trying to have fat common code( lib/librte_eventdev/rte_eventdev.c) with start/stop support for the slow-path code. I will post the implementation in few days and then we can work on a converged solution. Following sections of code does not have any overlap at all. test/eventdev: unit and functional tests event/sw: software eventdev implementation examples/eventdev_pipeline: adding example Some questions and initial feedback 1) I thought RTE_EVENT_OP_DROP and rte_event_release() are same ? No ? 2) device stats API can be based on capability, HW implementations may not support all the stats 3) From the HW implementation perspective, eventdev_pipeline application needs to have a lot of changes.I will post the comments in coming days and we can work together on the converged solution. Jerin > > Signed-off-by: Harry van Haaren > > [1] http://dpdk.org/ml/archives/dev/2016-August/045181.html > [2] http://dpdk.org/ml/archives/dev/2016-October/thread.html#48196 > > Harry van Haaren (7): > eventdev: header and implementation > eventdev: makefiles > event/sw: software eventdev implementation > event/sw: makefiles and config > test/eventdev: unit and functional tests > test/eventdev: unit func makefiles > examples/eventdev_pipeline: adding example > > app/test/Makefile | 3 + > app/test/test_eventdev_func.c | 1272 ++++++++++++++++++++++++ > app/test/test_eventdev_unit.c | 557 +++++++++++ > config/common_base | 12 + > drivers/Makefile | 1 + > drivers/event/Makefile | 36 + > drivers/event/sw/Makefile | 59 ++ > drivers/event/sw/event_ring.h | 142 +++ > drivers/event/sw/iq_ring.h | 160 +++ > drivers/event/sw/rte_pmd_evdev_sw_version.map | 3 + > drivers/event/sw/sw_evdev.c | 619 ++++++++++++ > drivers/event/sw/sw_evdev.h | 234 +++++ > drivers/event/sw/sw_evdev_scheduler.c | 660 +++++++++++++ > drivers/event/sw/sw_evdev_worker.c | 218 +++++ > examples/eventdev_pipeline/Makefile | 49 + > examples/eventdev_pipeline/main.c | 717 ++++++++++++++ > lib/Makefile | 1 + > lib/librte_eal/common/include/rte_vdev.h | 1 + > lib/librte_eventdev/Makefile | 54 ++ > lib/librte_eventdev/rte_eventdev.c | 466 +++++++++ > lib/librte_eventdev/rte_eventdev.h | 1289 +++++++++++++++++++++++++ > lib/librte_eventdev/rte_eventdev_ops.h | 177 ++++ > lib/librte_eventdev/rte_eventdev_pmd.h | 69 ++ > lib/librte_eventdev/rte_eventdev_version.map | 33 + > mk/rte.app.mk | 5 + > 25 files changed, 6837 insertions(+) > create mode 100644 app/test/test_eventdev_func.c > create mode 100644 app/test/test_eventdev_unit.c > create mode 100644 drivers/event/Makefile > create mode 100644 drivers/event/sw/Makefile > create mode 100644 drivers/event/sw/event_ring.h > create mode 100644 drivers/event/sw/iq_ring.h > create mode 100644 drivers/event/sw/rte_pmd_evdev_sw_version.map > create mode 100644 drivers/event/sw/sw_evdev.c > create mode 100644 drivers/event/sw/sw_evdev.h > create mode 100644 drivers/event/sw/sw_evdev_scheduler.c > create mode 100644 drivers/event/sw/sw_evdev_worker.c > create mode 100644 examples/eventdev_pipeline/Makefile > create mode 100644 examples/eventdev_pipeline/main.c > create mode 100644 lib/librte_eventdev/Makefile > create mode 100644 lib/librte_eventdev/rte_eventdev.c > create mode 100644 lib/librte_eventdev/rte_eventdev.h > create mode 100644 lib/librte_eventdev/rte_eventdev_ops.h > create mode 100644 lib/librte_eventdev/rte_eventdev_pmd.h > create mode 100644 lib/librte_eventdev/rte_eventdev_version.map > > -- > 2.7.4 >