From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM04-CO1-obe.outbound.protection.outlook.com (mail-eopbgr690040.outbound.protection.outlook.com [40.107.69.40]) by dpdk.org (Postfix) with ESMTP id 6CB615F27 for ; Sun, 17 Jun 2018 15:50:19 +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=rzXRccounrIKkfvusfjPtqz5j+uQSh/6IZNVNPQSsRo=; b=aj9hT+ZDyHg6hZ/4bHjDnClxadclL+5A+coAoyOe2HElC5sNM+X/CM4y2P5RKa2mFshpXPzm564qQZC9ZFA1mmhocAfUWXFzgKoWziAAxd5JZkPkvfT4gOwrgi/5DYRR1WByox6y91iGhIqnZn5qOR4H4d+0T5hPcWFqHUsiMWc= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.JacobKollanukkaran@cavium.com; Received: from jerin (171.61.94.72) by SN2PR07MB2527.namprd07.prod.outlook.com (2603:10b6:804:6::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.863.17; Sun, 17 Jun 2018 13:50:16 +0000 Date: Sun, 17 Jun 2018 19:19:59 +0530 From: Jerin Jacob To: Nikhil Rao Cc: dev@dpdk.org Message-ID: <20180617134958.GF7498@jerin> References: <1528481718-7241-1-git-send-email-nikhil.rao@intel.com> <1528481718-7241-6-git-send-email-nikhil.rao@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1528481718-7241-6-git-send-email-nikhil.rao@intel.com> User-Agent: Mutt/1.10.0 (2018-05-17) X-Originating-IP: [171.61.94.72] X-ClientProxiedBy: MA1PR01CA0093.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00::33) To SN2PR07MB2527.namprd07.prod.outlook.com (2603:10b6:804:6::27) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 897a6733-0530-4dca-36f7-08d5d4594289 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(711020)(2017052603328)(7153060)(7193020); SRVR:SN2PR07MB2527; X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2527; 3:G8t2MVy13xDUd3ZspTVZ3zfzDm3JdsQvgqelKGxwmCRqh2IWJ8mKTQlePGNQ7PBjk17RaJiOK3XJowiTgAnnTR6idRXOv2ssk5JqV3/8M8ibP2HP41Q4o+drLdFprXoG60oS7fOwwysYG6U+SCsXlgw2yEnNTeyT1hi1av+bPxOsFnnvLtlLYAnYSDaktQFmcKuGMflOYG2h1GYhIZPg3GZzlyibCmxRsHNgzdqdi/vUnNTHVH4/KW2/paBZ+sZ4; 25:9+tOtqMZZCxkbThQQLLLXFDclSYNOW3VSFyNmSQleo6x7P4N5r2hE1HCP0P+Q4+hunYR8/VmFwy60dPgeC6tUOCbUyGK5OdI5AvOI2Wa1ewjtnavwlFS5+nyV4AzsqE7fJa3FaauKuALyK6Cp2R9hwpBVTq84bot93LvGEBROgRa8OmBsyulZLAFN9XzNyprBjFfWonwN3SZa5CySeLuSfgKbzIIoAe0tnobDfOqcZP1A8wL8pkag+tNKyy9Q8jIyY3zKTG5A2qhOvA62T3CvKmUZNqYvIT7Xi9n8fxJYdAOnaj1tIpo3mT6N6Cbdeb/935uoNJJ9gi9sydN2GtOaQ==; 31:+s231xgurKAlkXCMc0FqmEqpliYm6q46dKvOtSvNCdrrSbvrzyY6bH18/N4cSBnXJBPx7IJheZsPxSxS3KcIKv6MUO4azA3iOPIHymfewOUtKKBk98hwPGGf2qY2BD2RpslAKJOHYrfVUsRSJUyq4srXP7Px1Gd7/Xb0ggss4gwZmNEwislYDhvZtghcPw+lqeIaBw1Kplip48w3YPdh7WV7YJdf4iUwuUsQcRaf0zA= X-MS-TrafficTypeDiagnostic: SN2PR07MB2527: X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2527; 20:1HSi1K8h4UYPrPrvQheK85BZWUIq4I/uHTZwdi42gIWExnQs9rJl4azScDwZM7APiGNT/UKWh976igNHra38iT7bzr2P+KHgvH8asbQzZhURddzDZq6L6dWO9BRQXiY7/mmuJ9mvsvjBaSk9amU83yi/Y43757XrAZliZEDM8mNgyi7DBExWDCbWpqIJbXvieucT19O0UJT8ZcHVF6lulw1zzTlC5KpSpH5Zt2UoBBtD4wIFMVbx+SdCtCewz6AUtHb9ED7Es7RS1pjYZS5mZ9kKMVG69NXw5Qx9zavXeb01CVMyHvhQrWTMMle00PhWdyAw9px1dz9ncPx0Q2IZmE/S+yYRPRu2TlpFYCqlKGD3OWELi0tHcZ7X35rbQnEam6bKrXtRwkHRu6EjT0rBL0kiWVOT6pSpqCNBgJ94bBwLvrGx/kPvRTwej58eenafJBOxFCAN1DfNkqxarXuNQy7984iAPGAl/LHANYgw2EpJ4N9xTCrjyzXPKnNu61R+izYUnGowGlofScC5RWQX20+4rLi40Fe7noB0VyaiZ09bqn1kr0PGnlLbnH8pd6E187MU3lvqWEiSeIysvz8v+u7Z8vsAWb/lEx1tXD7GwB4= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(788757137089)(228905959029699); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(10201501046)(3231254)(944501410)(52105095)(3002001)(149027)(150027)(6041310)(20161123562045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:SN2PR07MB2527; BCL:0; PCL:0; RULEID:; SRVR:SN2PR07MB2527; X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2527; 4:ovcaIBOjONuPcIDgJcoX9lb2exCDvRpB5LRuGY3y/X936LbyzDd1FiK397kIUnxi4GnwvmWshbidPPx5kB5cR0gYhvlaPsOhsShW26gHpgG1TfkY9xV5v7eK+m+6CiOJr4tqMbY+8zkeLZgeGyDV77fgMP4jMWrhNswWFbpzQx1HxGmh2hDaOI8/6c8v0t//5tB/bY60RrVyQm2W5A4WyhX28cY0LFbrXNlL5LkQ5eBFlfrdfOuGE4CqFXTdy5LGzn3MHPkvX25xev8sZSpGtjrnC5ZSAjM9uQYaihi4FK3m63L5u4+gaY90aO6OP14rxTZKsbqHlFckOzFPz9oqmg== X-Forefront-PRVS: 07063A0A30 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(366004)(39380400002)(39850400004)(346002)(376002)(13464003)(199004)(189003)(16526019)(2486003)(26005)(58126008)(9686003)(6246003)(33656002)(316002)(42882007)(229853002)(44832011)(4326008)(53936002)(76176011)(386003)(66066001)(52146003)(7736002)(52116002)(47776003)(8676002)(23676004)(81156014)(81166006)(6496006)(8936002)(186003)(446003)(97736004)(305945005)(55016002)(11346002)(6666003)(6916009)(486006)(59450400001)(33896004)(105586002)(2906002)(106356001)(72206003)(6116002)(3846002)(1076002)(25786009)(956004)(33716001)(478600001)(2870700001)(68736007)(50466002)(476003)(5660300001)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:SN2PR07MB2527; 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: =?utf-8?B?MTtTTjJQUjA3TUIyNTI3OzIzOkJ6UFdvOEdYZ2lOa0NuaE02YmlmcmpPRXdm?= =?utf-8?B?cTluaW0vbThHRzIxMVU1TkdzbnQ3bmVlTlFKUjNVSEtyZkJ4RTJvUURCdENQ?= =?utf-8?B?M0JPRmxVRDBQMmtXeHNSbVJCbXU3MXJvcXM0cFlhTWVZOCtPTXVUSWc1SFJQ?= =?utf-8?B?b25YUWxXa0JNelNSdjlmYXpRYjJFLytxVzR2R25OQ3B6OUlOQ0NaZVppWHht?= =?utf-8?B?TWRCTWVXQmhuUnljWjczbTh0QTlvTHI3dWNud2g1RDVKODNJRzZDWXIrRjlJ?= =?utf-8?B?TVgyWnJNSUZIQk9JWGI4Q2libXA0MlhScWt2VWJlMEtKY0ZQUmpFMjhwODhx?= =?utf-8?B?Um9BUG11U0Jjc0lYU0xoNjI5NHF2QnB2VUtncThoYVpReVlkODdyVEpXYTdq?= =?utf-8?B?aEVDajF1UnpLZUt0VkRONFFuZHV1QkZ4RWxmU2h3OGtPUDhnZU96aWV1dEhs?= =?utf-8?B?eFJxMktZUENBazZGb2U4Z05zRGRpK3JBVWhGUGJ6cUdGWnVDejBuT0NOY29I?= =?utf-8?B?eEtlWDBmdmpGUVhFWFh1OG9EZHlLYnhZaFBuSGcrM3Y1bTlBMzhOS3ZqWDFm?= =?utf-8?B?bml6RmxvZHl4MHZlRWw4Nmw2bGhsaXVUdHNnRUdjZWpwNCtyb2Y2ZnRML0ZE?= =?utf-8?B?a2xxMnlvTVduaTdTYTBPbngxN2xKOVI5dVQzbk1mWVZPMlBKOVMvZmwwSXYy?= =?utf-8?B?bjVlYWtVTG40UERzQUlHOXhRd1pyUk5LbzNzT1dMZ1puZ3FTNmwzQjk0Y2c1?= =?utf-8?B?S201c2w3SmdMK1NFck5KRkgrU2p1aDdCODZ1cDNVNWl1bTArY1hnSXVVT0dQ?= =?utf-8?B?ekNseHJQdTRGK2xJYlZGUjVRa2ZwWFdXNHhGWFdBVVJQRGNHYXRHWWJJSXBW?= =?utf-8?B?SkNmcnI3cTI4L1kvRTlic2MxSGJYZVhoMDFOYTZOa1RmZ0s4UVpFTDM4QzNJ?= =?utf-8?B?V0FRd1E1aHZrYW0rekVTelhLcGtmSGUxREd5aFoxeHg0UXhIeWVLOGd3Tkx4?= =?utf-8?B?S1hEQmFTRjVqd095NmptZ0FDQzBneXZCMlg1SGRHdVI2OWJpTVNLb2I4RGhn?= =?utf-8?B?ekdVOFExZ3MvZUJ5QnJJTmRudkQrckpTNEI5R2lnUm90RDgxNzE2eTF4VEpR?= =?utf-8?B?L3Rjc1EraFFldHdlMzRSVEVBWVNsQ2VTaFFXaDlNcFVxYW9TNkJjMFIyNWRO?= =?utf-8?B?SkhUL212Y0o3UUdYQzRrdzdOY0didUl3NnVQVDd6WFM3TjZtRWdMQmcyeStz?= =?utf-8?B?NWIrcksreXZMR0Z4MzhBMnhBQ09aNzVNTW9mMjFreUlHdjJzRXR2N0RVVFRw?= =?utf-8?B?L3o3NGdvU1dTQUxFUnQ0Q0VaZW9BbzRaTHpURFpDK3VBRExodDk0N0xkQmll?= =?utf-8?B?OGZvbWhNalROWjhuZlR4akI2cjZ0U3B4a3IrcGRPUzdSVmJQb2N2Z2FWOEpu?= =?utf-8?B?SnhlNWxpYjU5TWRNZFRFdzk3YnJMd25KdUxTdW9DKzVKRUZKd3ZJSWI5WjFP?= =?utf-8?B?WHFONUFacFA0WTdkM3RRYWNNL1IwamtmU000SndBY2xjem4rekZVdThxSGJj?= =?utf-8?B?d1ZsVnJWNFhpd2ZHK1JtMm82Y3o3OFdad1Q2UTBlbllNaTRGMUxNQ1FIcUxy?= =?utf-8?B?dTU2OTRMd2FYeUFUeG50SWVoaFhlc0RKTWdnSVRaeTVrY3hkazZMclRwRGZG?= =?utf-8?B?VGV0Um8rT2FCazl3NTQ4bjdBbVlxTURsc2Q4cnN3ams1Z0dKWG5vOWdGSnNV?= =?utf-8?B?NklwUlc3c3RSMzNWRlprK2VXRjJCMFRWalAvY3Y1b20vNTdlNTlWN09tUW9s?= =?utf-8?B?R2FKcnhwRnNOUEVVbkRGYkFjVllKbW5mYmJzLzBTenQ2NHRqaUNUR2xEM0di?= =?utf-8?Q?FjMd6ZRJAmH3cIgmbMCEOTw3dXIx3Ffa?= X-Microsoft-Antispam-Message-Info: WXjiLYuy0bw8i054S9HdiHbctQEVuErNBsP8oQFwls/PrrLIvwz+5fLTpVW1QDGVZH62p7ziWf77aiInpVTAE53h4xywMILFbtLPOkNBdjHCY7mGkEqJqXXz6JzaX2kWJbkiRXEmD2NBQ9gWHhUJvWICxPc9FbncGBdv36MY2P8xQsHdXfAip1ujHPxx1r6U8pXVLpNsStwmwAeB3MAcDo/18d3gox7VaLTAUSbf4OLnPM1voBC7l4+Ss1nQHRGw/ac/mH1FCDdbGL4cHwZ5BwcWcV7TchPfaCsM02PjYldsrcCij9DIEIeAqa7Tr1+6 X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2527; 6:+lrU5IX+X0bFdkvm0KSSP6qj9sGA913WWu6Bu0igKUk11Ef5bEnQH/kJvxYPv+r+jhnvYhn9bgdBKo8C1pJz1Q+PX4uNV3THMWzPuBA0B9JjsDE06Vy/91mso9mcwv6eXDb1lVb6Wt7dhXK2oj2J+KARjciwXUGcSGueanV1NE4ToZ7j3h/G85B17GxwVg4zxOThDSpOp4sFOjsPLMY7yj0p6qIQuA7T78TZ1MPV1Ex9kbhuJTwq2Esjul4qllEjreWurH1h8zE04o6FySql1f/aVTzV+4mLoihvpkyaVQp08ybp7giGXvowBCqt4FiyMLtX+Kmj/NFBiRswoeIyNGGD4X7vC2xjmGoNzXgtl7QIexCy8mfrJ7fGuS0YqwnY6KZ016A+fJ28Kr9aKvyoqEFksPkXfpCPuj6ujvCUm5+EEoLx7hQZxQOsQvadZ7/6okZec85WvRG0w9UE4/wHiA==; 5:tJeJIeS1yDrmlaXfPBaGCokhIq+UbACDM8w7cdAZJidloPObvF17KdQaDHN6nVoRV+T4Lj/SzzdbtJu1hegNy06h3K64XL30O+UmmtV7p+CYHW2WLskpq5s6XjDfRDsQfp5QPlY9qVO8iTyJAL/9vT71k5+yXE28Ts0q42m5jQQ=; 24:JHmZGDukfOb+3hpp1vt3mt3nEEfFbpqe8lsz42VgS/Tpwu+pAsz/O1NFzl9kprKJ4nP7baQCA6S6+0rA1ac69IvofkVDA5Q8lQcSVW7E1cI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2527; 7:HwmrjfP59gd+mWhONgRqGgEqXfQl/AN0BCuM9WrjGiQFNEGjsB/jm/cnTtpOL7e/x4/X0UbI5buoNgAgoGu5hKOu13KqMdE2/gOPwV+KDznNkRqDx7Q6mV+H3Zz2OkH+cbGRmlqftawtO9e64bDUmqaXRm0EjLSXW53amFCI+5kg33AKJVblxZ/HyZgjQcNCljabT0UjqaLXycxQLByEUjktu622cXJ1zpf8OPCJGmabvbCRrkQ6k2Wd+cPyy+rT X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2018 13:50:16.5540 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 897a6733-0530-4dca-36f7-08d5d4594289 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR07MB2527 Subject: Re: [dpdk-dev] [PATCH v1 4/4] eventdev: add interrupt driven queues in Rx event adapter 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: Sun, 17 Jun 2018 13:50:20 -0000 -----Original Message----- > Date: Fri, 8 Jun 2018 23:45:18 +0530 > From: Nikhil Rao > To: jerin.jacob@caviumnetworks.com > CC: dev@dpdk.org, Nikhil Rao > Subject: [PATCH v1 4/4] eventdev: add interrupt driven queues in Rx event > adapter > X-Mailer: git-send-email 1.8.3.1 > > Add support for interrupt driven queues when eth device is > configured for rxq interrupts and servicing weight for the > queue is configured to be zero. > > A interrupt driven packet received counter has been added to > rte_event_eth_rx_adapter_stats. > > Signed-off-by: Nikhil Rao > --- > lib/librte_eventdev/rte_event_eth_rx_adapter.h | 5 +- > lib/librte_eventdev/rte_event_eth_rx_adapter.c | 1049 +++++++++++++++++++- > test/test/test_event_eth_rx_adapter.c | 261 ++++- Please move the testcase to separate patch. > .../prog_guide/event_ethernet_rx_adapter.rst | 24 + > config/common_base | 1 + This patch creates build issue with meson build. command to reproduce: -------------------- export MESON_PARAMS='-Dwerror=true -Dexamples=all' CC="ccache gcc" meson --default-library=shared $MESON_PARAMS gcc-shared-build ninja -C gcc-shared-build log: --- ../lib/librte_eventdev/rte_event_eth_rx_adapter.c: In function ‘rxa_intr_ring_check_avail’: ../lib/librte_eventdev/rte_event_eth_rx_adapter.c:916:5: error: ‘RTE_EVENT_ETH_INTR_RING_SIZE’ undeclared (first use in this function); did you mean ‘RTE_EVENT_DEV_XSTATS_NAME_SIZE’? RTE_EVENT_ETH_INTR_RING_SIZE) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ RTE_EVENT_DEV_XSTATS_NAME_SIZE ../lib/librte_eventdev/rte_event_eth_rx_adapter.c:916:5: note: each undeclared identifier is reported only once for each function it appears in ../lib/librte_eventdev/rte_event_eth_rx_adapter.c: In function ‘rxa_intr_thread’: ../lib/librte_eventdev/rte_event_eth_rx_adapter.c:971:8: error: ‘RTE_EVENT_ETH_INTR_RING_SIZE’ undeclared (first use in this function); did you mean ‘RTE_EVENT_DEV_XSTATS_NAME_SIZE’? RTE_EVENT_ETH_INTR_RING_SIZE + 1, -1); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 6 files changed, 1296 insertions(+), 48 deletions(-) > > diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.h b/lib/librte_eventdev/rte_event_eth_rx_adapter.h > index 307b2b5..97f25e9 100644 > --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h > +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h > @@ -64,8 +64,7 @@ > * the service function ID of the adapter in this case. > * > * Note: > - * 1) Interrupt driven receive queues are currently unimplemented. > - * 2) Devices created after an instance of rte_event_eth_rx_adapter_create > + * 1) Devices created after an instance of rte_event_eth_rx_adapter_create > * should be added to a new instance of the rx adapter. Can we remove this NOTE and add this check in the code if it is not the case? > */ > > @@ -199,6 +198,8 @@ struct rte_event_eth_rx_adapter_stats { > * block cycles can be used to compute the percentage of > * cycles the service is blocked by the event device. > */ > + uint64_t rx_intr_packets; > + /**< Received packet count for interrupt mode Rx queues */ > }; > > /** > diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.c b/lib/librte_eventdev/rte_event_eth_rx_adapter.c > index 40e9bc9..d038ee4 100644 > --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.c > +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.c > @@ -2,6 +2,8 @@ > * Copyright(c) 2017 Intel Corporation. > * All rights reserved. > */ > +#include > +#include > #include > #include > #include > @@ -11,6 +13,7 @@ > #include > #include > #include > +#include > > #include "rte_eventdev.h" > #include "rte_eventdev_pmd.h" > @@ -24,6 +27,36 @@ > #define ETH_RX_ADAPTER_MEM_NAME_LEN 32 > +static void * > +rxa_intr_thread(void *arg) > +{ > + struct rte_event_eth_rx_adapter *rx_adapter = arg; > + struct rte_epoll_event *epoll_events = rx_adapter->epoll_events; > + int n, i; > + uint8_t val; > + ssize_t bytes_read; > + > + while (1) { > + n = rte_epoll_wait(rx_adapter->epd, epoll_events, > + RTE_EVENT_ETH_INTR_RING_SIZE + 1, -1); Can you check with FreeBSD if everything is fine or not? > + if (unlikely(n < 0)) > + RTE_EDEV_LOG_ERR("rte_epoll_wait returned error %d", > + n); > + for (i = 0; i < n; i++) { > + if (epoll_events[i].fd == rx_adapter->intr_pipe.readfd) > + goto done; > + rxa_intr_ring_enqueue(rx_adapter, > + epoll_events[i].epdata.data); > + } > + } > + > +done: > + > +static int > +rxa_create_intr_thread(struct rte_event_eth_rx_adapter *rx_adapter) > +{ > + int err; > + uint8_t val; > + char thread_name[RTE_MAX_THREAD_NAME_LEN]; > + > + if (rx_adapter->intr_ring) > + return 0; > + > + rx_adapter->intr_ring = rte_ring_create("intr_ring", > + RTE_EVENT_ETH_INTR_RING_SIZE, > + rte_socket_id(), 0); > + if (!rx_adapter->intr_ring) > + return -ENOMEM; > + > + rx_adapter->epoll_events = rte_zmalloc_socket(rx_adapter->mem_name, > + (RTE_EVENT_ETH_INTR_RING_SIZE + 1) * > + sizeof(struct rte_epoll_event), > + RTE_CACHE_LINE_SIZE, > + rx_adapter->socket_id); > + if (!rx_adapter->epoll_events) { > + err = -ENOMEM; > + goto error; > + } > + > + rte_spinlock_init(&rx_adapter->intr_ring_lock); > + > + snprintf(thread_name, RTE_MAX_THREAD_NAME_LEN, > + "rx-intr-thread"); > + err = pthread_create(&rx_adapter->rx_intr_thread, NULL, > + rxa_intr_thread, rx_adapter); Can you replace the pthread_* with new rte_ctrl_thread_create() abstraction ? > # > diff --git a/lib/librte_eventdev/Makefile b/lib/librte_eventdev/Makefile > index b3e2546..e269357 100644 > --- a/lib/librte_eventdev/Makefile > +++ b/lib/librte_eventdev/Makefile > @@ -8,14 +8,16 @@ include $(RTE_SDK)/mk/rte.vars.mk > LIB = librte_eventdev.a > > # library version > -LIBABIVER := 4 > +LIBABIVER := 5 > > # build flags > CFLAGS += -DALLOW_EXPERIMENTAL_API > +CFLAGS += -D_GNU_SOURCE > CFLAGS += -O3 > CFLAGS += $(WERROR_FLAGS) > LDLIBS += -lrte_eal -lrte_ring -lrte_ethdev -lrte_hash -lrte_mempool -lrte_timer > LDLIBS += -lrte_mbuf -lrte_cryptodev > +LDLIBS += -lpthread This may not be required if we add rte_ctrl_thread library. > > # library source files > SRCS-y += rte_eventdev.c > -- > 1.8.3.1 >