From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0066.outbound.protection.outlook.com [104.47.40.66]) by dpdk.org (Postfix) with ESMTP id 92F6C23D for ; Mon, 12 Mar 2018 08:53:52 +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=bPC40D6nTc7Wilkv0lLJjZtjCOMFjwm8RaWUzTCKBIw=; b=IC7qhufrsh+7Z3Lu08hJ+5qIzcvU3d/gaxGii3pPA11nFNwezThVxPgQ/YSTA/om9A9EsGzuRmNzkmhKuk0m+4n5DjjcPy2QHXSh9lsjT1y6qHUHXZJGdLuf90dqKbWYsgnb33U2C0IBxbyLM5aPI8N48xEhE9bJ3t7nhbUkLpg= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.JacobKollanukkaran@cavium.com; Received: from jerin (122.178.251.71) by SN2PR07MB2528.namprd07.prod.outlook.com (2603:10b6:804:7::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.567.14; Mon, 12 Mar 2018 07:53:48 +0000 Date: Mon, 12 Mar 2018 13:23:33 +0530 From: Jerin Jacob To: Erik Gabriel Carrillo Cc: pbhagavatula@caviumnetworks.com, dev@dpdk.org, nipun.gupta@nxp.com, hemant.agrawal@nxp.com Message-ID: <20180312075332.GA7119@jerin> References: <1515630074-29020-1-git-send-email-erik.g.carrillo@intel.com> <1520546046-6973-1-git-send-email-erik.g.carrillo@intel.com> <1520546046-6973-2-git-send-email-erik.g.carrillo@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1520546046-6973-2-git-send-email-erik.g.carrillo@intel.com> User-Agent: Mutt/1.9.4 (2018-02-28) X-Originating-IP: [122.178.251.71] X-ClientProxiedBy: BM1PR0101CA0014.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:18::24) To SN2PR07MB2528.namprd07.prod.outlook.com (2603:10b6:804:7::6) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b35cefd2-a580-46a1-1825-08d587ee6496 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:SN2PR07MB2528; X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2528; 3:3uy6CJB0S++fOn8BPO3lvOpGcZ1pO2YSMhZ7rxG1630gpmIcjsPxB2NAerMInOe6Mdgs5Gx1rMJzCJdvSS8yoZAiHMYhg9XMGKJ33fPWPkdQVab7CS+BVsIc5WdqwxzmzIjKoQki7RpkQmgTTLSUz3TQDy/hWKNnQ4OJH8iQQt3hACB2Aka6tPUfErwTbbHna6S32fv17pMJZMDzokViFjGDSHNc6tdAw/QbidosuSEe3u+JabWBBa6wjAId845w; 25:/0V0hhyAUxApt7LvhcxZuFlETYZ3jPXQxtGdbtGkxC+WbX2eXbqP8RmbOOInROQDLChl0k0EjpnfFdCsl1KdjsFC3R3EaHHFqf9H5OFMdKeK558uWzHTZU7HhJtQ71omRjoiAHi3t4FD6oH6P9dzwi6QG37cYQJirJ14cVLMlqazXrdkHqGUwcttj/600HWLUibrpWBc8dT3PXfv0inERGu1SSY6d94Gs3lEmwO2vXRIa1J6zrsEUDkZiGescYuvVx7gy4bhIqmUbo6mQO+lRiNZL4NLDGBRi89gc2HSWUqvxSVeGJvoo8XiFMA+0XTBAF/lDbAcEuvak0EI05OhCw==; 31:b61iJbjpn0vCtT55kVOEbJ+vJvpX0cwGPKvGB9u0Fb3YA3lSdJ/SScLZJR/8lTFe6Yow++RTt/iHdBIDFyf+elMJlt45vPmXewQzcabJcmi1YtxaX7w2WfzWvB+P2kWQn+Kpv/Dhu3cCJWtIVbCy3PgriOcxQxo8TcvkT/xb/CLWqoV+wkOp5m+IkYKPWa4Ok3HNKWCKhfLWh9uQrBr9UV3T8H4jiQDteEPnhel9ph8= X-MS-TrafficTypeDiagnostic: SN2PR07MB2528: X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2528; 20:B0vrI7Sa5mlJl/dsbttzMROSzVZ50CpDxB2U2ivR7k8aOb0P2qeALgZA4iryfxD4EvUBYo9a5E2AStEebRAlndqTdRC3BogvI0yxB7ETmFDy9Qw6BLMFTp+2y2/v5gbxSy0pdTaCLp/JMRsYaTy0zKr5k5qFHaX6KKqHtQZBqJR4jQ6iZRVtg+TW6dFxj9Po+tadm+2gNH5B1nmWW13e/6fAgRnjAzILD/CjDORi8qP+CEJgJdUfkR5wLvxKEXTXTT8BRvlu2gaIcXf8r9skSVk2hdvK4T09HrvEu1P7AnNhUf6zhyxWGszb59LVxoU+mKecglTVReZ58I8r0vOPgM+x11+LF7FX4Jf9qZSbRs9m4k18rfAsWIesiUZkLL9tTLFOvyF6JrRgbKFZcOGOQq3Xoibj2oaQHSlHY25g2jDN4y+7M2G0WXg91jSVrW5AwC6GTHhqNyAMQUv2Vh7jrYfkTLzzuWTomipd4WejPc0wxDmH5YsIVkP/t0IqVZenvf99sjdvtnZV3/AR/rT+xHisO1Hx8cVeU2uNp+KU2feUTHgx1B4DV0yKHpeVFNdX4TqRhQSZeT1jIZ5RMDLIkvGrOommbabBff6GyEz80Xk= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(3002001)(3231220)(944501244)(52105095)(10201501046)(6041310)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123560045)(20161123564045)(6072148)(201708071742011); SRVR:SN2PR07MB2528; BCL:0; PCL:0; RULEID:; SRVR:SN2PR07MB2528; X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2528; 4://Wodrg0lBuOFQNybP2iggz//lyJEyNDqBYAgObOY+I8+19IGn68C7yLINBfhJAjBuNkhCBvhITHmuwNi5biYGvYfbzeYoj3NArQ+HtDa0IgFQVJncg7qI023MGobc+jjaVXJNCIMirPKf97wkEooDOUi7Spa22/vxQHf8hwnz4JFHEQ3b1CIj3fUaad+RALCiz2EpQjTrlgtICYJ9kEby9x8GbQOOWmbY0DEG/+wvh8F0E6fIy6okwFAr487RfbQ4w6LIO4Rwxtt038ygLHEW3t0wtiuh7tbaTIQehu6hm6kMbuP7URz0ZkIAMbbRpnz7oaPzykCKKPSxE9oHrsPhtCi1JmlV3Iem5+eJzCxPQ= X-Forefront-PRVS: 06098A2863 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(396003)(39850400004)(366004)(346002)(376002)(13464003)(43544003)(199004)(189003)(9686003)(305945005)(55016002)(7736002)(105586002)(59450400001)(33716001)(76176011)(33656002)(106356001)(16586007)(316002)(50466002)(33896004)(6496006)(6246003)(66066001)(47776003)(52116002)(3846002)(2906002)(23726003)(1076002)(53936002)(229853002)(8676002)(6116002)(42882007)(72206003)(478600001)(58126008)(4326008)(25786009)(16526019)(26005)(186003)(97736004)(5660300001)(81156014)(81166006)(6916009)(6666003)(8656006)(2950100002)(8936002)(386003)(68736007)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:SN2PR07MB2528; H:jerin; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX: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; SN2PR07MB2528; 23:kikll3QHdHYgCr/+/dQXhQ+sjIR+FlA7Nv+daBwLV?= =?us-ascii?Q?mLLLsfesyTFRWeW5sT4D+SMMTIZXsxdtr2asrJH06Z1uINPj6qHlNkWRXbd7?= =?us-ascii?Q?sOuleZzJxN5eARIuHRCmIvin9CF86OUwe357Vjxt45ImiPaypfVLAih48Ws+?= =?us-ascii?Q?+DyzkJ/cWCJbmNXB0fe++0SI/FmNZmHQ6RJvi50FdwHJHem8y2yV10FKW/Dp?= =?us-ascii?Q?5zkPBy61d9WQ//GkQusRkhJkiwwhwSuDt0+noEUhQvtYznXsSRGELOJCyGKa?= =?us-ascii?Q?9lW7NsyiYZ4YG2jGLjajPuHqIcmhbcHNHfT97Pt19gokQx90lzYGX04yK+g4?= =?us-ascii?Q?X5Ykd9kdti3asiUIAR0yW4WT/c96TUgBP1chFkVJmpGu6cDBZGcV2q01FX3O?= =?us-ascii?Q?13HLTsbONDhFiXfTr0AEEzhumLtfiFXCGAdocQN4DFcSmuRjcichTAIEprlE?= =?us-ascii?Q?u40xFYDlvufP1XQoJz92Q6K7YN6Rw8if7WwHf1RyszyvegkItsOkJNRXNm6R?= =?us-ascii?Q?02Jr8GR/taUYHnQPWsbJJCV56hASI3N2PYQDLpP2YngC0DcQRjgpanqs8OlL?= =?us-ascii?Q?q4UmR38Vdi9zSrsOpmmGxdJIHqACHnqpExUMLWn+HzrthEJqV93DlK7lKVKP?= =?us-ascii?Q?9n1sFAum5gN+JKsj35VeiK5HUiJd56kisDmM+vgktgQ3CfgJBH7EdqUP87ab?= =?us-ascii?Q?mukPYaQUQsjHCbcW7bUcY3SIy7XFfBgpldwQeD7jSO7e4by5TYLqnFtoErBo?= =?us-ascii?Q?U5XTU0iqKcAi9gZlwDaNAsTychds7zSJXqz6w8kqD2EpEprNMyl40SkBQxTE?= =?us-ascii?Q?pUamyk6xFbG0d/gXMQH12hE+jBG8XCd2cKLC8jM3zhmBn8kJlIt+sWvbkRa+?= =?us-ascii?Q?72cg1Lbi12KtUsbCLApdKfby8Xwua1TVSjNtSX2bNh4/1XgU+jx+AucMg16D?= =?us-ascii?Q?7VEqnzCbePYnGW8JIh1pCuyx9neRUGB//gwMqEtWIU2NMuHlFv/X18O/bfg2?= =?us-ascii?Q?ITyiVZiOkAYUd0/wcwf7MbSlcTdWgrH+4AuvBsEWuAiAO7DZTwF8ekwyFCoM?= =?us-ascii?Q?W68sxuAhZMxQKH3l40sRZmBg9U1A67v6ItTQoagIkLl6IpoYSViWGVo2eH2Z?= =?us-ascii?Q?LQlZ/xmi2Vi5E5KKdA+45zCZTFM2J62hnrRqPKR0PpebZ32Us0OCwaWYCw2F?= =?us-ascii?Q?1Y9Ev1Dv9gqUVquLmMioufu3FV8yiUJ96lIo+PIWkopbMjwY7xgts4Jc3+3G?= =?us-ascii?Q?BGt/PspoqVxoW9jbGcmp+E9FfCtWSbhX7pYdzIjDKramt0pk65N/mhaKjjqg?= =?us-ascii?Q?L4UdekIM39UR5hPSpJDqBA=3D?= X-Microsoft-Antispam-Message-Info: dDkkB4nzeBZEZvLVs6E0xpj8D0faLvcdrYpqm86UCBZO8vgY4Txmy2jzbXw0tcUcENz7Zm9N8Z1PJqeNvfJybrvQqdvdv8rd5gU/Ig+6HT29Jsnmkp/8XGIc/MBSbDDh4ZK1tuVYvjSkOMG+lJZWAmydXr+d6lKSQUYXPk9NyiKWXEzuGRLPo8RSFxc+DoQd X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2528; 6:ksqGBk1KeEohZsYPhR3MFrc31D1KCA9LVt3aVdR2CLkArmApZcgalH+U4Omrt5oxPx+O4AVuDIIkdeA27tye6zpl2DSIadVhWaEeBEGaNHhNG4U+fsVu64QbFN+5j9fM0mMDWY+XHxeAr8VAneW1BPcMzG29UHJrPSaXksRfIN+QCkCt6hOBhpY+XLPR2D6ZEHM5r7Q6l/x50XjGjpF/bvKdn90lusDPxwfzzFZ86fVPIczdC9tf0Ng2AuuMqg59wTdg1QezxNI4KChAOq0caMRjeFTrQFoeQPPGx9xHhlzcIF1y7j/TAjlOqB6OETlTxg8uzrwrgpgepu4OFXcMKSebedOEWNbaEJUeUj8Dr5A=; 5:Z6/wsrYnOf5cUN8kI+BtyKc5eAwdxH4F3G84ncA0OrAjDz6TrS6KKUTBG8dr+l/qbz0J28c4E3if8u7SVHIpPApWLy8n/9XcixhAk7yjpSDbF2ZAco4Mvx5qXP/si3fIIkTniQDazWg/hQoabme6sLZ4oP85TTi/6orf+yl9nSg=; 24:RMsN30a9gVvhnBKceeNJN6FCFb8BWUlr/KTP4TOopoEwX8KuGtoefvXcfc2/RIFadW7+lw3JIJr6OFKF+Jy6Thmsbep2gonBYwMiN5nXgjI=; 7:XE8CmfX0PoCrOwc2kD4LFbtr9W0xL8ezOWyFIyMlMEIQ4SG8gcjRHwM8sYrJXy/T/h/WqSVA4oX+fEtvOFcRh/XCJ4kp6N1LCDdMQ1JVMyvRgDI00l6TmBIdWVJ7ZRnluKjXzS1LyjtKpnYgDbOo1G+Aj+WEd1PgafoP0pGvha2pKuELtO7GGuLwEO99vC1rBMxflV93+i4JgoGAwtQj24MJ0jJ3Joxt7Yrm5CZ+0pe/uG741E/auAhbzsXO0Lsw SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2018 07:53:48.2629 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b35cefd2-a580-46a1-1825-08d587ee6496 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR07MB2528 Subject: Re: [dpdk-dev] [PATCH v7 1/7] eventtimer: add event timer adapter API 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, 12 Mar 2018 07:53:53 -0000 -----Original Message----- > Date: Thu, 8 Mar 2018 15:54:00 -0600 > From: Erik Gabriel Carrillo > To: pbhagavatula@caviumnetworks.com > CC: dev@dpdk.org, jerin.jacob@caviumnetworks.com, nipun.gupta@nxp.com, > hemant.agrawal@nxp.com > Subject: [PATCH v7 1/7] eventtimer: add event timer adapter API > X-Mailer: git-send-email 1.7.10 IMO, you can add some git commit description here. > > Signed-off-by: Jerin Jacob > Signed-off-by: Pavan Nikhilesh > Signed-off-by: Erik Gabriel Carrillo > --- > lib/librte_eventdev/Makefile | 1 + > lib/librte_eventdev/rte_event_timer_adapter.h | 645 ++++++++++++++++++++++++++ > lib/librte_eventdev/rte_eventdev.h | 41 +- > 3 files changed, 653 insertions(+), 34 deletions(-) > create mode 100644 lib/librte_eventdev/rte_event_timer_adapter.h > > + > +/** > + * @warning > + * @b EXPERIMENTAL: this structure may change without prior notice > + * > + * Timer adapter configuration structure > + */ > +struct rte_event_timer_adapter_conf { > + uint8_t event_dev_id; > + /**< Event device identifier */ > + uint16_t timer_adapter_id; > + /**< Event timer adapter identifier */ > + uint32_t socket_id; > + /**< Identifer of socket from which to allocate memory for adapter */ s/Identifer/Identifier > + enum rte_event_timer_adapter_clk_src clk_src; > + /**< Clock source for timer adapter */ > + uint64_t timer_tick_ns; > + /**< Timer adapter resolution in ns */ > + uint64_t max_tmo_ns; > + /**< Maximum timer timeout(expiry) in ns */ > + uint64_t nb_timers; > + /**< Total number of timers per adapter */ > + uint64_t flags; > + /**< Timer adapter config flags (RTE_EVENT_TIMER_ADAPTER_F_*) */ > +}; > +/** > + > +/** > + * @warning > + * @b EXPERIMENTAL: this API may change without prior notice > + * > + * Set an event timer's initial state and initialize the event it carries. > + * > + * @param evtim > + * A pointer to an event timer structure. > + */ > +void __rte_experimental > +rte_event_timer_init(struct rte_event_timer *evtim); Since it can be used in fastpath, How about making it as "static inline" function? Any it is just setting some variables. > + > +/** > + * @warning > + * @b EXPERIMENTAL: this API may change without prior notice > + * > + * Arm a burst of event timers with separate expiration timeout tick for each > + * event timer. > + * > + * Before calling this function, the application allocates > + * ``struct rte_event_timer`` objects from mempool or huge page backed > + * application buffers of desired size. On successful allocation, > + * application updates the `struct rte_event_timer`` attributes such as > + * expiry event attributes, timeout ticks from now. > + * This function submits the event timer arm requests to the event timer adapter > + * and on expiry, the events will be injected to designated event queue. > + * > + * @param adapter > + * A pointer to an event timer adapter structure. > + * @param evtims > + * Pointer to an array of objects of type *rte_event_timer* structure. > + * @param nb_evtims > + * Number of event timers in the supplied array. > + * > + * @return > + * The number of successfully armed event timers. The return value can be less > + * than the value of the *nb_evtims* parameter. If the return value is less > + * than *nb_evtims*, the remaining event timers at the end of *evtims* > + * are not consumed, and the caller has to take care of them, and rte_errno > + * is set accordingly. Possible errno values include: > + * - EINVAL Invalid timer adapter, expiry event queue ID is invalid, or an > + * expiry event's sched type doesn't match the capabilities of the > + * destination event queue. > + * - EAGAIN Specified timer adapter is not running > + * - EALREADY A timer was encountered that was already armed > + */ > +int __rte_experimental To maintain the consistency across eventdev and other subsystems in DPDK. We could return uint16_t for all the fast path functions. ie. exiting "int" error return can be changed to rte_errno = -EINVAL; return 0; This would avoid some series typecasting issues as well for the _retry_ case. > +rte_event_timer_arm_burst(const struct rte_event_timer_adapter *adapter, > + struct rte_event_timer **evtims, > + uint16_t nb_evtims); > + > +/** > + * @warning > + * @b EXPERIMENTAL: this API may change without prior notice > + * > + * Arm a burst of event timers with same expiration timeout tick. > + * > + * Provides the same functionality as ``rte_event_timer_arm_burst()``, except > + * that application can use this API when all the event timers have the > + * same timeout expiration tick. This specialized function can provide the > + * additional hint to the adapter implementation and optimize if possible. > + * > + * @param adapter > + * A pointer to an event timer adapter structure. > + * @param evtims > + * Points to an array of objects of type *rte_event_timer* structure. > + * @param timeout_ticks > + * The number of ticks in which the timers should expire. > + * @param nb_evtims > + * Number of event timers in the supplied array. > + * > + * @return > + * The number of successfully armed event timers. The return value can be less > + * than the value of the *nb_evtims* parameter. If the return value is less > + * than *nb_evtims*, the remaining event timers at the end of *evtims* > + * are not consumed, and the caller has to take care of them, and rte_errno > + * is set accordingly. Possible errno values include: > + * - EINVAL Invalid timer adapter, expiry event queue ID is invalid, or an > + * expiry event's sched type doesn't match the capabilities of the > + * destination event queue. > + * - EAGAIN Specified event timer adapter is not running > + * - EALREADY A timer was encountered that was already armed > + */ > +int __rte_experimental Same as above > +rte_event_timer_arm_tmo_tick_burst( > + const struct rte_event_timer_adapter *adapter, > + struct rte_event_timer **evtims, > + const uint64_t timeout_ticks, > + const uint16_t nb_evtims); > + > +/** > + * @warning > + * @b EXPERIMENTAL: this API may change without prior notice > + * > + * Cancel a burst of event timers from being scheduled to the event device. > + * > + * @param adapter > + * A pointer to an event timer adapter structure. > + * @param evtims > + * Points to an array of objects of type *rte_event_timer* structure > + * @param nb_evtims > + * Number of event timer instances in the supplied array. > + * > + * @return > + * The number of successfully canceled event timers. The return value can be > + * less than the value of the *nb_evtims* parameter. If the return value is > + * less than *nb_evtims*, the remaining event timers at the end of *evtims* > + * are not consumed, and the caller has to take care of them, and rte_errno > + * is set accordingly. Possible errno values include: > + * - EINVAL Invalid timer adapter identifier > + * - EAGAIN Specified timer adapter is not running > + * - EALREADY A timer was encountered that was already canceled > + */ > +int __rte_experimental Same as above > +rte_event_timer_cancel_burst(const struct rte_event_timer_adapter *adapter, > + struct rte_event_timer **evtims, > + uint16_t nb_evtims); > + > +#endif /* __RTE_EVENT_TIMER_ADAPTER_H__ */ > diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte_eventdev.h > index b21c271..f9ad71e 100644 > --- a/lib/librte_eventdev/rte_eventdev.h > +++ b/lib/librte_eventdev/rte_eventdev.h > @@ -1,35 +1,8 @@ > -/* > - * BSD LICENSE > - * > - * Copyright 2016 Cavium, Inc. > - * Copyright 2016 Intel Corporation. > - * Copyright 2016 NXP. > - * > - * Redistribution and use in source and binary forms, with or without > - * modification, are permitted provided that the following conditions > - * are met: > - * > - * * Redistributions of source code must retain the above copyright > - * notice, this list of conditions and the following disclaimer. > - * * Redistributions in binary form must reproduce the above copyright > - * notice, this list of conditions and the following disclaimer in > - * the documentation and/or other materials provided with the > - * distribution. > - * * Neither the name of Cavium, Inc nor the names of its > - * contributors may be used to endorse or promote products derived > - * from this software without specific prior written permission. > - * > - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR > - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT > - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, > - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT > - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE > - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > +/* SPDX-License-Identifier: BSD-3-Clause > + * Copyright(c) 2016 Cavium, Inc. > + * Copyright(c) 2016-2018 Intel Corporation. > + * Copyright(c) 2016 NXP. Please send existing license changes as separate patch as we need to get ACK from all vendors. > + * All rights reserved. > */ > > #ifndef _RTE_EVENTDEV_H_ > @@ -923,8 +896,8 @@ rte_event_dev_close(uint8_t dev_id); > /**< The event generated from ethdev subsystem */ > #define RTE_EVENT_TYPE_CRYPTODEV 0x1 > /**< The event generated from crypodev subsystem */ > -#define RTE_EVENT_TYPE_TIMERDEV 0x2 > -/**< The event generated from timerdev subsystem */ > +#define RTE_EVENT_TYPE_TIMER 0x2 > +/**< The event generated from event timer adapter */ > #define RTE_EVENT_TYPE_CPU 0x3 > /**< The event generated from cpu for pipelining. > * Application may use *sub_event_type* to further classify the event > -- > 2.6.4 Other than above minor changes, It looks really good to me.