From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Jerin.Jacob@cavium.com>
Received: from NAM02-BL2-obe.outbound.protection.outlook.com
 (mail-bl2nam02on0062.outbound.protection.outlook.com [104.47.38.62])
 by dpdk.org (Postfix) with ESMTP id C82872C5E
 for <dev@dpdk.org>; Sun, 18 Dec 2016 15:22:07 +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=zua2jtktiwIJDhgWj1neZv0KDC4puMudehjRHNK41Tw=;
 b=Ihf/l1HqT6jTKLwApl2tV6vKj/GY4G1pGxATVkhCWqMQT+dxCRkLcxIC0m6bXZoi86YYTma+TfgiHLdzfzF8zpdK5NgpFp+KSqdUikRuaJEXHkpklboCSkEAY0jqqwjPxz777bfp5Zipz5R40K+/M2xAqJZVkZtncyqpKMjz0IQ=
Authentication-Results: spf=none (sender IP is )
 smtp.mailfrom=Jerin.Jacob@cavium.com; 
Received: from localhost.localdomain.localdomain (14.140.2.178) by
 CY1PR0701MB1725.namprd07.prod.outlook.com (10.163.21.14) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id
 15.1.789.14; Sun, 18 Dec 2016 14:22:01 +0000
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: <dev@dpdk.org>
CC: <thomas.monjalon@6wind.com>, <bruce.richardson@intel.com>,
 <hemant.agrawal@nxp.com>, <gage.eads@intel.com>,
 <harry.van.haaren@intel.com>, Jerin Jacob <jerin.jacob@caviumnetworks.com>
Date: Sun, 18 Dec 2016 19:51:29 +0530
Message-ID: <1482070895-32491-1-git-send-email-jerin.jacob@caviumnetworks.com>
X-Mailer: git-send-email 2.5.5
In-Reply-To: <1480798539-13360-1-git-send-email-jerin.jacob@caviumnetworks.com>
References: <1480798539-13360-1-git-send-email-jerin.jacob@caviumnetworks.com>
MIME-Version: 1.0
Content-Type: text/plain
X-Originating-IP: [14.140.2.178]
X-ClientProxiedBy: MAXPR01CA0003.INDPRD01.PROD.OUTLOOK.COM (10.164.147.10) To
 CY1PR0701MB1725.namprd07.prod.outlook.com (10.163.21.14)
X-MS-Office365-Filtering-Correlation-Id: 4dd1f39e-235f-4971-53b9-08d427513e2a
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001);
 SRVR:CY1PR0701MB1725; 
X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725;
 3:STwu7sk99CsiHcwbh6T5xeEJU1IJUtPd8wQs7tI8WvdI/E+xXY3ogGbWahmoFo6ZgFoT7sGkKbFMg7aT7yd73zJsEcxVybsdaWW47ySe0J2JM8jbQTd3RfTuv1igMrT84u9FuclYTuWMa15fm92D6ZFriW9Btlzs9scVkyET/lSuSabHhDmlNMlD3ljSkz1UHDCl25W+pEEnUuzGaGaKX69lPFPki5hzQK/VrqC41QKlho0PAhZIVpE7Wa+XMVFulJ/d++fkwfiQfSKvETmchQ==;
 25:r9YqY0D0wP8I1R23MQHf/KWm+x95kPQP/Q4UC9n//ecOH6lfDEH+h9D5MUMXwumY/mQ4gdg1R5Mve9mtkk5dqkvKSfj6QtemjOl07KGLr1OJTCjwBBcn332Y8NA1Q4Ep6CpxsSuIyi0YQkJqSBiLGv5TkWiiIf13sVApPGBwyu7PQypzu3OufXqqqrOeHh3akV+8na9u+UZ/Dl2KvnU0Vfwkk3lutx9KvbGsCfFoMoH9+zqJAPwvsipXppdS14OQ0I549PcWVOmIOpXx55JaWTz9V8cGwrvW8hVd+St7EVArsZziiE7qq507hqxH2x9sS9N5plTnt6ck330NKsbuU/flAShxhpIQhLrUembTocr52Iw/70QCH8W/F7n/6Nqm19agS/PXCEfj3hJlsOu9Xx2UdM3fcFgwPpWtabVH/WQW0J9aUudPk7UdIRmen4smwnfneT//Y5fNkb6fIhFQRg==
X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725;
 31:KXl3hf+JtNp2vMCQRAHdawONyaNZ6D71WLCP8T8BChL1F8NEve7eZ7hoH/vwgWunOJsLQWDcxx3oYfTQgB0TjjPNuKBLRjXSJk1XPmJh0AadwDGj9tV9C6HZYzJ9TrIMUkW9Q085IDK+nFXNILfPalC0J5OXcSppVkehNmAMCvkMtP1lJXmkQvkKq3D55G1hh0VVJd/r1TzvkaOioFMN1Qchh5/YPJlB2m5I0aCwwYSuqCx2kQiQGz82v1ab/3Bc;
 20:VbRwuYfQae1ASyr0s6tqKUK/81A0+SerboZt32DijhU8lSq4xf4OHXvaZ8INISh4MUlerrII+zlSaOwEklqV1FiDiT9LtmEuN/zv7b5unmdYmZzyiliBlDvgD7a+h5U0TgetOE0vw8bD7t+SMDXKRAXoPk+csZiVSsvMEgN943nMD6jxffISfRNPvcDjVEKd8Jq4XT1twmTIlbooWQ56LOJggT8BtlgOIEms3EJ1SQU1XwNKFM0HyzBV2QisuaimgOjKEv0U1x4yGtxIr5UMLenyyBxjpq2Vuc7/FgfZlpUg3oLgJSH1e90WrmSQhSs8lvKp25HkiP9lW0H5Yapw/ZBSBFz8leItGqr29JDCkPsDHyonkfNvfEToj4WrJXZV41ftofBDw15Nnc45tnjUjSfLcl6lWYGioWl1Re6VlInSuN8Elc1LLnK9eNz0+hcFfoy9TfqINd2X4FBdijYS9IXK9Q/11mcupDrf/2Th2j4zKvf9ryeIIFf9P4TwBl2Oap7SOj4HR20eCX46jHz8cnxiET7hn1fuplNbjks2X35nsv6tBDpEmZh+PEPyAZM7vS3Rf6J7WLZ9GihgqXgJBc2EbAsy0jxTPVmY2TnQr7g=
X-Microsoft-Antispam-PRVS: <CY1PR0701MB17257A2A3AF75E57B5B59A88819E0@CY1PR0701MB1725.namprd07.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:;
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6041248)(20161123555025)(20161123560025)(20161123558021)(20161123564025)(20161123562025)(6072148);
 SRVR:CY1PR0701MB1725; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0701MB1725; 
X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725;
 4:6EsNLS4xpTNLkkAGGRY0IzPSG8gJYe962qN1W0i0fwLMJiFOHxyAVOnhXTvspTLoL9pBkelmZtod2RSRPdMKyTxS6E4aSf/cubopwGLTNZMQ56hhyn38IlQDd8bosZJ0Fyfvwv3sfmsd7d2VRLedTWzvLrGdPjAOrehySLyyyd4lYIGnwNDrVhcRpdct6h8yjFHW6XZI5aRww9yG9n5vAI8dbL0WsHYo9zvgKcZ4H29YQJQDlkkj3F/kwSp2QyW88PqPWhTQo1ULmm0TR7gi+gs4KvfL3x2H2KA5Ie4pVIO59jL+7lLaTjgvSxcP87q1F6qy3sCyq3LO8/2T7KWFfAYFqEnoV9bzVR3F/BK9doKHP9VZSTZJTmxvJJ8awPLxb932gwRAnf1lOmi1aUhnADmy61+aIRAIngYjOQWeHzXxR/RewUPGxM/eYeKy84AjCgYRdfx68efmnjRaLtd2yJeHzUVg4FYYJAWSMByf2BmLh0kPWcJj3t4OQTTFGSa9h4gGjEJQyQ/PMHBPTf4nD1QhHmKX+imVjEGxjYgf6mit3JfNrD5ZbTNpThr54QrghYDrzI4MEXQGvn/PwbOFt4Zfosvjdv4eoCUfxALHDb0=
X-Forefront-PRVS: 01604FB62B
X-Forefront-Antispam-Report: SFV:NSPM;
 SFS:(10009020)(4630300001)(6009001)(6069001)(7916002)(39450400003)(189002)(199003)(6512006)(6506006)(106356001)(6486002)(5003940100001)(48376002)(15395725005)(68736007)(25786008)(101416001)(42186005)(5009440100003)(4001430100002)(81166006)(4326007)(105586002)(50226002)(92566002)(81156014)(50986999)(76176999)(107886002)(8676002)(2906002)(42882006)(6916009)(2950100002)(36756003)(6666003)(110136003)(2351001)(47776003)(38730400001)(305945005)(3846002)(97736004)(66066001)(8666005)(50466002)(6116002)(189998001)(5660300001)(33646002)(7736002)(7099028)(110426004)(7059030);
 DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0701MB1725;
 H:localhost.localdomain.localdomain; 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; CY1PR0701MB1725;
 23:3VAhyg187+OPjVSEIhO+9vSr0c/W4ZTvLCQcZfX?=
 =?us-ascii?Q?jacMsz7A8Ru56dgJoU6+ECyCVeeiP18K0M5PYNSVJo1GUui300pDAALHTOi6?=
 =?us-ascii?Q?uLsr/Vtpt4RlGgQ7ZvCMpqItpHs6irQaBg0ylAWIqMdPHLj5e7USVpuGKteM?=
 =?us-ascii?Q?sMhpk5TdzDiya3wvOirApDvKdfMg7FObfVM6DIT0SuCgJ3MFQK5xChDAX2JQ?=
 =?us-ascii?Q?jIU1HbhzxJF4Z9dtgqHpaLRR/0TEgl0xjjTE4OSAyCfoBqFRdS660oEJOyp2?=
 =?us-ascii?Q?0hbS3O/VhCev24Hq/DZybYtI9MaVtLl7x6pzvKc2IC0IAGxEAhWGrMEIalI+?=
 =?us-ascii?Q?PReOolEBQJ/J4RkcWDWCWKpoA08KzNi7Y7fPc5Wz2TEp/8Ii3Y2oFNI2l0AL?=
 =?us-ascii?Q?NDYkc6X8gjt9vQd9KFgZz3nLH7H6vEhM9I70xPCGi90EL8gyVFH5MlwL5cnG?=
 =?us-ascii?Q?GHbRu84ADCNQP/G/yfe1A1ET/fbXbJ7TQceMBtzdSyEP6S1ZrGkG/hfojksm?=
 =?us-ascii?Q?hsaYE6h7kcqRpjlrspiWUtg86pIv6c+U0pfCOpuVwU6d/jCn1yzutw9eozvo?=
 =?us-ascii?Q?ttN0Vsww9GYqXXJDDmasaUzrl5CBcS1Lt+kO2vaYeInFzENwypLsfyA8WYE2?=
 =?us-ascii?Q?lGplrnYRHc7FLtnHULpmrPlSNUXAYEFQCrkmoi1vPmfES2eJ1Kk0T3pxbnOj?=
 =?us-ascii?Q?mwbt2+lOjOGADcAfqMENNA6U91sArb5MhEhiN1Pl7GxIKOXR1Z+d+jo/xqhO?=
 =?us-ascii?Q?eiBi4QbOrVaBpGfC/uJZ826B5RfMtTzrffcayDUBMcsRptXhKNISNOwVO2ho?=
 =?us-ascii?Q?dKzJe0utcpE4Q1I7lcBpIDOZS5g+KPpTMVAkv2mLA4+WuPHlt0hKRh/WiUiI?=
 =?us-ascii?Q?dqdHbOPgM7si5sqhD4ggXGUrszG4tFJzhOK1nFa6we1GcjeeBjWf2rYPrbH6?=
 =?us-ascii?Q?8h7wXf410EKxgQDUPJMYU3oB6wRkFklSV1L5QB83z2UimY+CRkWbNxX/DsRH?=
 =?us-ascii?Q?xqcSD8EQ8ew9Q2A/GYzITFhch/zvDplEmtpTCg4b64vy5Xo2KXQz0mDH1qUV?=
 =?us-ascii?Q?ivrqPj+IEx5ksee3jnlRera1vrPGAQdUD/Uz9PrlWYHjyk2fYaBBCyg02FBn?=
 =?us-ascii?Q?D/OB/uhTtu3lFVFuCxt71aJp+LLJHWSjweUBpeecuuN6mrTLmIrOTf0/g4u2?=
 =?us-ascii?Q?H/T/nE4r4NmcrCCe5R73fnK/yS0f9KaLu5EBbISktdTRSO349LtWLDY0OLCA?=
 =?us-ascii?Q?pb23BxhJgipbWX0Z+BQbo6u/mGW5EmoYl/ue/cZfcEi7uoJc1Kla5gEtSmZH?=
 =?us-ascii?Q?YwkAL6qbAaJfhwhzeNgmEOZ4=3D?=
X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725;
 6:szrnXEC1A0xBc7JRZhupyKAYiCfEK1nTHNzO9F1CzrMbFmLZCmU4XmhiLNyfHqTOTRrxmlVzVd6uNyBMmExIlQ8/0vq4SRZwBfJeGLS2FusHFp6fzUfhNyK1/Qfd+Q8AAUImwmDWJVWxIFHP6b+gK1BM5qRyh7cGY75ye/kvrX2XC9Y48IGN7TCe7ZL+4U4eocP43YOypLR9Vp0MRpYtDdwaG/AKrivT61BygxyQUXrbvGS4ZAaqVOLFa0klUqiQ/FHEhFwVdpfQXKhMPOLcSIGP4NwMK/bF2XwGlBY7QNps010iGs/NLKSzjqzefppGGEoWfEfxf5WDNQIYZg/fTd6UFYflWIg35Tk9z9613Tit0vN8+spxBqdP8ybkBS3xlmQPDSDoNU0I/2UY7OSWK8C1X9oD7WvHZYdfesh0Lh8=;
 5:fJMSS2axB71VrPPF+lJX/Shlm4GjwLaXt0qP6iJ7z8ds0vQo7MgDsXprUCcI1Gduejjg+dAD3KnZ00PZx/otJIHhS1E7FUPTKOoNLLaz2coZlni9nh2nhZEtfT/b7yvo4Q0e3rHh+yZCOTGsZr1Pjg==;
 24:s0x0t1EWSjHb/fXx6TTROqLeJe7GEb+l1D8LTzlF/rfMsVX6H9o1ceNXgNUu5+EuU8rAZZRY+n/BccxBD5aCLzL/HMtO8/MppYuVB2Qmpio=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725;
 7:aFjCjTKiH28TcQ5Gn56YnyeSiPJvAJ3m2Z21AT2tEBBz4+swtz44tPtwNL+3ITUfr6DhIW9Ygb39Suo1VtBfZtVEfZ+9UDK/qtXv3K3t4WhlL0dpXHM5JbCFtgZ9/EAt+0BK7H7lMfq0jtRBLO9pqgAz9GxZ+getpuo8b+ceuL9y2gKMawK1PiLYO0ar7PVYwN4P4XOZhQE6JX+85wxi+XDKHpGG/gIvBGoWQztunHEsnEETbBbiZvdNYvEGcBXSwT7d8MWWk7k9RODaAzJuEWTnSuENtUPrS03NHYL+K4IdcTuSnPuXN03hlFQoSbFl3azyiV/S+9F6aewhPT7kPxEbwAQuaT5FW/t3aA/QxbAYwC0M5NqxSpXOn6DNv8AkO569TOTqj+CIc6hYDbjsxyLT1GbqE11mUNNs3E8kgDxcfTe7CABBTTylqspcC5ZXZ4T8OZRTW5MEdZ9339WglA==
X-OriginatorOrg: caviumnetworks.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Dec 2016 14:22:01.7007 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB1725
Subject: [dpdk-dev] [PATCH v3 0/6] libeventdev API and northbound
	implementation
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Sun, 18 Dec 2016 14:22:08 -0000

As previously discussed in RFC v1 [1], RFC v2 [2], with changes
described in [3] (also pasted below), here is the first non-draft series
for this new API.

[1] http://dpdk.org/ml/archives/dev/2016-August/045181.html
[2] http://dpdk.org/ml/archives/dev/2016-October/048592.html
[3] http://dpdk.org/ml/archives/dev/2016-October/048196.html

v2..v3:

1) Changed struct rte_event layout more aligment balanced(Harry, Jerin)
2) Changed event_ptr type to void* from uintptr_t(Bruce)
3) Changed ev[] as const in rte_event_enqueue_burst  to disallow
drivers from modifying the events passed in(Bruce)
4) Removed queue memory allocation from common code as some drivers may not need
it(Bruce)
5) Removed "struct rte_event_queue_link" and replaced with queues and priorities
in the link and link_get API to avoid one redirection to use the API(Bruce)

v1..v2:
1) Remove unnecessary header files from rte_eventdev.h(Thomas)
2) Removed PMD driver name(EVENTDEV_NAME_SKELETON_PMD) from rte_eventdev.h(Thomas)
3) Removed different #define for different priority schemes. Changed to
one event device RTE_EVENT_DEV_PRIORITY_* priority (Bruce)
4) add const to rte_event_dev_configure(), rte_event_queue_setup(),
rte_event_port_setup(), rte_event_port_link()(Bruce)
5) Fixed missing dev argument in dev->schedule() function(Bruce)
6) Changed \see to @see in doxgen comments(Thomas)
7) Added additional text in specification to clarify the queue depth(Thomas)
8) Changed wait to timeout across the specification(Thomas)
9) Added longer explanation for RTE_EVENT_OP_NEW and RTE_EVENT_OP_FORWARD(Thomas)
10) Fixed issue with RTE_EVENT_OP_RELEASE doxgen formatting(Thomas)
11) Changed to RTE_EVENT_DEV_CFG_FLAG_ from RTE_EVENT_DEV_CFG_(Thomas)
12) Changed to EVENT_QUEUE_CFG_FLAG_ from EVENT_QUEUE_CFG_(Thomas)
13) s/RTE_EVENT_TYPE_CORE/RTE_EVENT_TYPE_CPU/(Thomas, Gage)
14) Removed non burst API and kept only the burst API in the API specification
(Thomas, Bruce, Harry, Jerin)
-- Driver interface has non burst API, selection of the non burst API is based
on num_objects == 1
15) sizeeof(struct rte_event) was not 16 in v1. Fixed it in v2
-- reduced the width of event_type to 4bit to save space for future change
-- introduced impl_opaque for implementation specific opaque data(Harry),
Something useful for HW driver too, in the context of removal the need for sepeare
release API.
-- squashed other element size and provided enough space to impl_opaque(Jerin)
-- added RTE_BUILD_BUG_ON(sizeof(struct rte_event) != 16); check
16) add union of uint64_t in the second element in struct rte_event to
make sure the structure has 16byte address all arch(Thomas)
17) Fixed invalid check of nb_atomic_order_sequences in implementation(Gage)
18) s/EDEV_LOG_ERR/RTE_EDEV_LOG_ERR(Thomas)
19) s/rte_eventdev_pmd_/rte_event_pmd_/(Bruce)
20) added fine details of distributed vs centralized scheduling information
in the specification and introduced RTE_EVENT_DEV_CAP_FLAG_DISTRIBUTED_SCHED
flag(Gage)
21)s/RTE_EVENT_QUEUE_CFG_FLAG_SINGLE_CONSUMER/RTE_EVENT_QUEUE_CFG_FLAG_SINGLE_LINK (Jerin)
to remove the confusion to between another producer and consumer in sw eventdev driver
22) Northbound api implementation  patch spited to more logical patches(Thomas)

Changes since RFC v2:

- Updated the documentation to define the need for this library[Jerin]
- Added RTE_EVENT_QUEUE_CFG_*_ONLY configuration parameters in
  struct rte_event_queue_conf to enable optimized sw implementation [Bruce]
- Introduced RTE_EVENT_OP* ops [Bruce]
- Added nb_event_queue_flows,nb_event_port_dequeue_depth, nb_event_port_enqueue_depth
  in rte_event_dev_configure() like ethdev and crypto library[Jerin]
- Removed rte_event_release() and replaced with RTE_EVENT_OP_RELEASE ops to
  reduce fast path APIs and it is redundant too[Jerin]
- In the view of better application portability, Removed pin_event
  from rte_event_enqueue as it is just hint and Intel/NXP can not support it[Jerin]
- Added rte_event_port_links_get()[Jerin]
- Added rte_event_dev_dump[Harry]

Notes:

- This patch set is check-patch clean with an exception that
03/06 has one WARNING:MACRO_WITH_FLOW_CONTROL
- Looking forward to getting additional maintainers for libeventdev

TODO:
1) Create user guide

Jerin Jacob (6):
  eventdev: introduce event driven programming model
  eventdev: define southbound driver interface
  eventdev: implement the northbound APIs
  eventdev: implement PMD registration functions
  event/skeleton: add skeleton eventdev driver
  app/test: unit test case for eventdev APIs

 MAINTAINERS                                        |    5 +
 app/test/Makefile                                  |    2 +
 app/test/test_eventdev.c                           |  778 +++++++++++
 config/common_base                                 |   14 +
 doc/api/doxy-api-index.md                          |    1 +
 doc/api/doxy-api.conf                              |    1 +
 drivers/Makefile                                   |    1 +
 drivers/event/Makefile                             |   36 +
 drivers/event/skeleton/Makefile                    |   55 +
 .../skeleton/rte_pmd_skeleton_event_version.map    |    4 +
 drivers/event/skeleton/skeleton_eventdev.c         |  518 +++++++
 drivers/event/skeleton/skeleton_eventdev.h         |   68 +
 lib/Makefile                                       |    1 +
 lib/librte_eal/common/include/rte_log.h            |    1 +
 lib/librte_eventdev/Makefile                       |   57 +
 lib/librte_eventdev/rte_eventdev.c                 | 1220 +++++++++++++++++
 lib/librte_eventdev/rte_eventdev.h                 | 1407 ++++++++++++++++++++
 lib/librte_eventdev/rte_eventdev_pmd.h             |  511 +++++++
 lib/librte_eventdev/rte_eventdev_version.map       |   39 +
 mk/rte.app.mk                                      |    5 +
 20 files changed, 4724 insertions(+)
 create mode 100644 app/test/test_eventdev.c
 create mode 100644 drivers/event/Makefile
 create mode 100644 drivers/event/skeleton/Makefile
 create mode 100644 drivers/event/skeleton/rte_pmd_skeleton_event_version.map
 create mode 100644 drivers/event/skeleton/skeleton_eventdev.c
 create mode 100644 drivers/event/skeleton/skeleton_eventdev.h
 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_pmd.h
 create mode 100644 lib/librte_eventdev/rte_eventdev_version.map

-- 
2.5.5