From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from m13-151.163.com (m13-151.163.com [220.181.13.151]) by dpdk.org (Postfix) with ESMTP id 5C711548B for ; Tue, 13 Mar 2018 10:36:19 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:Subject:MIME-Version:Message-ID; bh=38Z2i 0lVt0hqZgml4gN81qdF9Dc5UjR/Vj8eJYwVwZk=; b=O4P1TfVjbA+/T02ZhGn9p 8Kf3HXoLjZTle9Dns/U+49u5Lwpp/4LX1L8OUkgF4o2L5obiU9hgWEm3PhpJk7Kp eOQjwGU7toRBlBRwJ6DZH9YByvimbHRBHx0btrWsahf9v9h23iPkxg6taKDHWl3q aBzpSqo95SKSVhIzWfrW3o= Received: from chaoys155$163.com ( [113.87.162.218] ) by ajax-webmail-wmsvr151 (Coremail) ; Tue, 13 Mar 2018 17:36:16 +0800 (CST) X-Originating-IP: [113.87.162.218] Date: Tue, 13 Mar 2018 17:36:16 +0800 (CST) From: cys To: dev Cc: "ferruh.yigit" X-Priority: 3 X-Mailer: Coremail Webmail Server Version SP_ntes V3.5 build 20160729(86883.8884) Copyright (c) 2002-2018 www.mailtech.cn 163com In-Reply-To: <528c4b67.fc.1620aaef223.Coremail.chaoys155@163.com> References: <528c4b67.fc.1620aaef223.Coremail.chaoys155@163.com> MIME-Version: 1.0 Message-ID: <2ac21556.1f1.1621eb7ace6.Coremail.chaoys155@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID: l8GowADX3qqQm6day6CoAA--.33785W X-CM-SenderInfo: 5fkd05jvrvkqqrwthudrp/xtbBaQYIqFXllvslsQABsH X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== Content-Type: text/plain; charset=GBK Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] kni: continuous memory restriction ? 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: Tue, 13 Mar 2018 09:36:20 -0000 V2UgZ290IHNldmVyYWwga2VybmVsIHBhbmljLiBJdCBsb29rcyBsaWtlIHJlbGF0ZWQgdG8gbWJ1 ZiBhZGRyZXNzIHRyYW5zbGF0aW9uLgpBbnlib2R5IGNhbiBoZWxwIHBsZWFzZT8KCgpbMTc0MTk5 NC43MDcwMjRdIHNrYnVmZjogc2tiX292ZXJfcGFuaWM6IHRleHQ6ZmZmZmZmZmZhMDA4MzJmZSBs ZW46NDM5MjAgcHV0OjQxODcyIGhlYWQ6ZmZmZjg4MGU1ZDZiODAwMCBkYXRhOmZmZmY4ODBlNWQ2 YjgwNDIgdGFpbDoweGFiZDIgZW5kOjB4N2VjMCBkZXY6PE5VTEw+ClsxNzQxOTk0LjcwNzE4Nl0g LS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tClsxNzQxOTk0LjcwNzI4NF0ga2Vy bmVsIEJVRyBhdCBuZXQvY29yZS9za2J1ZmYuYzoxMzAhClsxNzQxOTk0LjcwNzM4Ml0gaW52YWxp ZCBvcGNvZGU6IDAwMDAgWyMxXSBTTVAKWzE3NDE5OTQuNzA3NjQwXSBNb2R1bGVzIGxpbmtlZCBp bjogdmZpb19pb21tdV90eXBlMSB2ZmlvX3BjaSB2ZmlvIHJ0ZV9rbmkoTykgaWdiX3VpbyhPKSB1 aW8gc3coTykgbmZzdjMgaXB0YWJsZV9uYXQgbmZfbmF0X2lwdjQgbmZfbmF0IHJwY3NlY19nc3Nf a3JiNSBuZnN2NCBkbnNfcmVzb2x2ZXIgZnVzZSBuZnNkIGF1dGhfcnBjZ3NzIG5mc19hY2wgbmZz IGxvY2tkIGdyYWNlIGZzY2FjaGUgc3VucnBjIG5mX2Nvbm50cmFja19pcHY0IG5mX2RlZnJhZ19p cHY0IHh0X3N0YXRlIG5mX2Nvbm50cmFjayBpcHRhYmxlX2ZpbHRlciBpcF90YWJsZXMgaWJfaXNl ciByZG1hX2NtIGl3X2NtIGliX2NtIGliX2NvcmUgaXNjc2lfdGNwIGxpYmlzY3NpX3RjcCBsaWJp c2NzaSBzY3NpX3RyYW5zcG9ydF9pc2NzaSBkbV9tdWx0aXBhdGggdGlwYyB0dW4gbmJkIGNvcmV0 ZW1wIGJyaWRnZSBzdHAgbGxjIHdhdGNoX3JlYm9vdChPKSBzZmZzKE8pIGNsX2xvY2soTykgY2xf c29mdGRvZyhPKSBrdm1faW50ZWwga3ZtIGlycWJ5cGFzcyBibngyeChPKSBsaWJjcmMzMmMgaWdi KE8pIGkyY19hbGdvX2JpdCBpeGdiZSBtZGlvIGRjYSBpNDBlIGxvb3AgZG1fbW9kIHNnIHNkX21v ZCBjcmN0MTBkaWZfZ2VuZXJpYyBjcmN0MTBkaWZfcGNsbXVsIGNyY190MTBkaWYgY3JjdDEwZGlm X2NvbW1vbiBpVENPX3dkdCBpVENPX3ZlbmRvcl9zdXBwb3J0IHBjc3BrciBtcHQzc2FzIHJhaWRf Y2xhc3MgaTJjX2k4MDEgc2NzaV90cmFuc3BvcnRfc2FzIGFoY2kgaTJjX2NvcmUgc2hwY2hwIGxw Y19pY2ggbGliYWhjaSBtZmRfY29yZSBsaWJhdGEgd21pIGlwbWlfc2kKWzE3NDE5OTQuNzE1NTE5 XSAgaXBtaV9tc2doYW5kbGVyIGFjcGlfY3B1ZnJlcSBbbGFzdCB1bmxvYWRlZDogc3ddClsxNzQx OTk0LjcxNTk5NF0gQ1BVOiA2IFBJRDogMTM3Njc3IENvbW06IGtuaV9zaW5nbGUgVGFpbnRlZDog RyAgICAgICAgICAgTyAgIC0tLS0tLS0tLS0tLSAgIDMuMTAuMCAjMjIKWzE3NDE5OTQuNzE2Mzc4 XSBIYXJkd2FyZSBuYW1lOiBTdWdvbiBJNjIwLUczMC82MFAyNC1VUywgQklPUyAwSkdTVDAyNSAx Mi8wOC8yMDE3ClsxNzQxOTk0LjcxNjc1NV0gdGFzazogZmZmZjg4MjAxZmJmOTAwMCB0aTogZmZm Zjg4MjAxNDg0NDAwMCB0YXNrLnRpOiBmZmZmODgyMDE0ODQ0MDAwClsxNzQxOTk0LjcxNzEzM10g UklQOiAwMDEwOls8ZmZmZmZmZmY4MTc0YTQ4ZD5dICBbPGZmZmZmZmZmODE3NGE0OGQ+XSBza2Jf cGFuaWMrMHg2My8weDY1ClsxNzQxOTk0LjcxNzU5N10gUlNQOiAwMDE4OmZmZmY4ODIwMTQ4NDdk YzggIEVGTEFHUzogMDAwMTAyOTIKWzE3NDE5OTQuNzE3ODMyXSBSQVg6IDAwMDAwMDAwMDAwMDAw OGYgUkJYOiAwMDAwMDAwMDAwMDBhMzkwIFJDWDogMDAwMDAwMDAwMDAwMDAwMApbMTc0MTk5NC43 MTgzNDldIFJEWDogMDAwMDAwMDAwMDAwMDAwMSBSU0k6IGZmZmY4ODEwM2U3OTA4YzggUkRJOiBm ZmZmODgxMDNlNzkwOGM4ClsxNzQxOTk0LjcxODcyNl0gUkJQOiBmZmZmODgyMDE0ODQ3ZGU4IFIw ODogMDAwMDAwMDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKWzE3NDE5OTQuNzE5MTAz XSBSMTA6IDAwMDAwMDAwMDAwMDI1YWMgUjExOiAwMDAwMDAwMDAwMDAwMDA2IFIxMjogZmZmZjg4 MDAwMDAwMDAwMApbMTc0MTk5NC43MTk2MjVdIFIxMzogMDAwMDAwMDAwMDAwMDAwMiBSMTQ6IGZm ZmY4ODBlZTM4NDhhNDAgUjE1OiAwMDAwMDZmZDgxOTU1Y2ZlClsxNzQxOTk0LjcyMDAwNV0gRlM6 ICAwMDAwMDAwMDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4ODEwM2U3ODAwMDAoMDAwMCkga25sR1M6 MDAwMDAwMDAwMDAwMDAwMApbMTc0MTk5NC43MjAzODddIENTOiAgMDAxMCBEUzogMDAwMCBFUzog MDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKWzE3NDE5OTQuNzIwNjI0XSBDUjI6IDAwMDAwMDAw MDIzMzRmYjggQ1IzOiAwMDAwMDAxZmY0ZWUwMDAwIENSNDogMDAwMDAwMDAwMDM0MjdlMApbMTc0 MTk5NC43MjEwMDBdIERSMDogMDAwMDAwMDAwMDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAg RFIyOiAwMDAwMDAwMDAwMDAwMDAwClsxNzQxOTk0LjcyMTM3N10gRFIzOiAwMDAwMDAwMDAwMDAw MDAwIERSNjogMDAwMDAwMDBmZmZlMGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDAKWzE3NDE5OTQu NzIxNzUzXSBTdGFjazoKWzE3NDE5OTQuNzIxOTc3XSAgZmZmZjg4MGU1ZDZiODA0MiAwMDAwMDAw MDAwMDBhYmQyIDAwMDAwMDAwMDAwMDdlYzAgZmZmZmZmZmY4MTljYmEzZApbMTc0MTk5NC43MjI2 ODJdICBmZmZmODgyMDE0ODQ3ZGY4IGZmZmZmZmZmODE2MWMzZTYgZmZmZjg4MjAxNDg0N2U2OCBm ZmZmZmZmZmEwMDgzMmZlClsxNzQxOTk0LjcyMzM4NF0gIGZmZmY4ODBmZTM5ZWUwMDAgMDAwMDY2 MTIwMDAwMDAyMCBmZmZmODgwZmUzOWVlYjc4IGZmZmY4ODBmZTM5ZWU4YzAKWzE3NDE5OTQuNzI0 MDg1XSBDYWxsIFRyYWNlOgpbMTc0MTk5NC43MjQzMTRdICBbPGZmZmZmZmZmODE2MWMzZTY+XSBz a2JfcHV0KzB4NDYvMHg1MApbMTc0MTk5NC43MjQ1NTJdICBbPGZmZmZmZmZmYTAwODMyZmU+XSBr bmlfbmV0X3J4X25vcm1hbCsweDFkZS8weDM3MCBbcnRlX2tuaV0KWzE3NDE5OTQuNzI0Nzk1XSAg WzxmZmZmZmZmZmEwMDgzNTNmPl0ga25pX25ldF9yeCsweGYvMHgyMCBbcnRlX2tuaV0KWzE3NDE5 OTQuNzI1MDM0XSAgWzxmZmZmZmZmZmEwMDgxMGY4Pl0ga25pX3RocmVhZF9zaW5nbGUrMHg1OC8w eGIwIFtydGVfa25pXQpbMTc0MTk5NC43MjUyNzZdICBbPGZmZmZmZmZmYTAwODEwYTA+XSA/IGtu aV9kZXZfcmVtb3ZlKzB4YTAvMHhhMCBbcnRlX2tuaV0KWzE3NDE5OTQuNzI1NTE5XSAgWzxmZmZm ZmZmZjgxMGExMmYwPl0ga3RocmVhZCsweGMwLzB4ZDAKWzE3NDE5OTQuNzI1NzU0XSAgWzxmZmZm ZmZmZjgxMGExMjMwPl0gPyBrdGhyZWFkX2NyZWF0ZV9vbl9ub2RlKzB4MTMwLzB4MTMwClsxNzQx OTk0LjcyNTk5N10gIFs8ZmZmZmZmZmY4MTc1ODJkOD5dIHJldF9mcm9tX2ZvcmsrMHg1OC8weDkw ClsxNzQxOTk0LjcyNjIzNF0gIFs8ZmZmZmZmZmY4MTBhMTIzMD5dID8ga3RocmVhZF9jcmVhdGVf b25fbm9kZSsweDEzMC8weDEzMApbMTc0MTk5NC43MjY0NzNdIENvZGU6IDAwIDAwIDQ4IDg5IDQ0 IDI0IDEwIDhiIDg3IGQ4IDAwIDAwIDAwIDQ4IDg5IDQ0IDI0IDA4IDQ4IDhiIDg3IGU4IDAwIDAw IDAwIDQ4IGM3IGM3IGMwIGZkIGExIDgxIDQ4IDg5IDA0IDI0IDMxIGMwIGU4IGIzIDgxIGZmIGZm IDwwZj4gMGIgNTUgNDggODkgZjggNDggOGIgNTcgMzAgNDggODkgZTUgNDggOGIgMGYgNWQgODAg ZTUgODAgNDgKWzE3NDE5OTQuNzMyMjgyXSBSSVAgIFs8ZmZmZmZmZmY4MTc0YTQ4ZD5dIHNrYl9w YW5pYysweDYzLzB4NjUKWzE3NDE5OTQuNzMyNjAxXSAgUlNQIDxmZmZmODgyMDE0ODQ3ZGM4PgoK CgoKCtTaMjAxOMTqMDPUwjA5IDIwyrExNLfWLCAiY3lzIjxjaGFveXMxNTVAMTYzLmNvbT7QtLXA OgoKQ29tbWl0IDg0NTEyNjllNmQ3YmE3NTAxNzIzZmUyZWZkMCBzYWlkICJyZW1vdmUgY29udGlu dW91cyBtZW1vcnkgcmVzdHJpY3Rpb24iOwpodHRwOi8vZHBkay5vcmcvYnJvd3NlL2RwZGsvY29t bWl0L2xpYi9saWJydGVfZWFsL2xpbnV4YXBwL2tuaS9rbmlfbmV0LmM/aWQ9ODQ1MTI2OWU2ZDdi YTc1MDE3MjNmZTJlZmQwNTc0NTAxMDI5NWJhYwpGb3IgY2hhaW5lZCBtYnVmcyhuYl9zZWdzID4g MSksIGZ1bmN0aW9uIHZhMnBhIHVzZSB0aGUgb2Zmc2V0IG9mIHByZXZpb3VzIG1idWYgdG8gY2Fs Y3VsYXRlIHBoeXNpY2FsIGFkZHJlc3Mgb2YgbmV4dCBtYnVmLgpTbyBhbnl3aGVyZSBndWFyYW50 ZSB0aGF0IGFsbCBtYnVmcyBoYXZlIHRoZSBzYW1lIG9mZnNldCAoYnVmX2FkZHIgLSBidWZfcGh5 c2FkZHIpID8KT3IgaGF2ZSBJIG1pc3VuZGVyc3Rvb2QgY2hhaW5lZCBtYnVmcz8KCg== >From thomas@monjalon.net Tue Mar 13 10:43:09 2018 Return-Path: Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id E81F2354D for ; Tue, 13 Mar 2018 10:43:08 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 2B57720DC7; Tue, 13 Mar 2018 05:43:07 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute1.internal (MEProxy); Tue, 13 Mar 2018 05:43:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=mesmtp; bh=e2pfzt6VlmSjLhBEKVb9j/ZMaS 5a+H+A69keLOAifXo=; b=TiWGeuUAUQb2i+gDx4h3e7MMRNYZRRgGPAzTyTdVot zapEfv0bt5PfmeAFb5IuJY66jdsjeGPWwEV6+2tHM9TsI6mPdYV76YwHskUZYRaG AvfMK6uonYUiDdoF38IPV6VzTutK7Bg5Jqxm/IyWyl2ygpSQEcRXcFUSjfWoQ8Mv g= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=e2pfzt 6VlmSjLhBEKVb9j/ZMaS5a+H+A69keLOAifXo=; b=GXQa62aE0kNu68XlKZ94Lc 4I5LSBweCnF+n55kEmrYEYWUMP8RPzBc0oSczfDGdHc3UG0UTuuzdeKMtv1XoluS EwZNoCUf8a3OYEMg0XGOjl0Oh4wDAupGOREb9EJ5Rbq054jxUVVZMzgR9KkBMOqf vnA2DgQfHzJMfs7PQkgiZH+lptR/MHew2dcGjypdzlowjj/JRV7CxCDNBP7VFBrO /Dm/HA8K8R2GuuNAZ8l1EaaxMzS1eWBJCaQGZrueYStWGcyOWZ0xdLReEhO8tT3A c3w1hcvgFbBieWh7D4gVUCqQXhCFu1CtIBlyTLS+tpQqDn/y4Sa9vXetL9UZcypg == X-ME-Sender: Received: from xps.localnet (unknown [193.47.165.251]) by mail.messagingengine.com (Postfix) with ESMTPA id E9DBE24136; Tue, 13 Mar 2018 05:43:05 -0400 (EDT) From: Thomas Monjalon To: "Yang, Zhiyong" Cc: "Tan, Jianfeng" , Maxime Coquelin , "dev@dpdk.org" , "yliu@fridaylinux.org" , "Bie, Tiwei" , "Wang, Zhihong" , "Wang, Dong1" Date: Tue, 13 Mar 2018 10:43:04 +0100 Message-ID: <9059097.ABoCBN0gVk@xps> In-Reply-To: References: <20180214145330.4679-1-zhiyong.yang@intel.com> <4529581.QgL3cdPo1v@xps> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [dpdk-dev] [PATCH 1/4] vhost: move fdset functions from fd_man.c to fd_man.h 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: Tue, 13 Mar 2018 09:43:09 -0000 13/03/2018 09:46, Yang, Zhiyong: > Hi Thomas, > > From: Thomas Monjalon [mailto:thomas@monjalon.net] > > 05/03/2018 08:43, Yang, Zhiyong: > > > From: Thomas Monjalon [mailto:thomas@monjalon.net] > > > > 01/03/2018 07:02, Tan, Jianfeng: > > > > > From: Maxime Coquelin [mailto:maxime.coquelin@redhat.com] > > > > > > On 02/28/2018 02:36 AM, Yang, Zhiyong wrote: > > > > > > > From: Maxime Coquelin [mailto:maxime.coquelin@redhat.com] > > > > > > >> On 02/14/2018 03:53 PM, Zhiyong Yang wrote: > > > > > > >>> lib/librte_vhost/Makefile | 3 +- > > > > > > >>> lib/librte_vhost/fd_man.c | 274 > > > > > > >>> ------------------------------------------- > > > > --- > > > > > > >>> lib/librte_vhost/fd_man.h | 258 > > > > > > >> +++++++++++++++++++++++++++++++++++++++++-- > > > > > > >>> 3 files changed, 253 insertions(+), 282 deletions(-) > > > > > > >>> delete mode 100644 lib/librte_vhost/fd_man.c > > > > > > >> > > > > > > >> I disagree with the patch. > > > > > > >> It is a good thing to reuse the code, but to do it, you need > > > > > > >> to extend the vhost lib API. > > > > > > >> > > > > > > >> New API need to be prefixed with rte_vhost_, and be declared > > > > > > >> in rte_vhost.h. > > > > > > >> > > > > > > >> And no need to move the functions from the .c to the .h file, > > > > > > >> as it > > > > > > moreover > > > > > > >> makes you inline them, which is not necessary here. > > > > > > > > > > > > > > Thanks for your reviewing the series firstly, Maxime. :) > > > > > > > > > > > > > > I considered to do it as you said. However I still preferred this one at > > last. > > > > > > > Here are my reasons. > > > > > > > 1) As far as I know, this set of functions are used privately > > > > > > > in librte_vhost > > > > > > before this feature. > > > > > > > No strong request from the perspective of DPDK application. If > > > > > > > I > > > > > > understand well, It is enough to expose the functions to all > > > > > > PMDs > > > > > > > And it is better to keep internal use in DPDK. > > > > > > > > > > > > But what the patch is doing is adding fd_man.h to the API, > > > > > > without doing it properly. fd_man.h will be installed with other > > > > > > header files, and any external application can use it. > > > > > > > > > > > > > > > > > > > > 2) These functions help to implement vhost user, but they are > > > > > > > not strongly > > > > > > related to other APIs of vhost user which have already exposed. > > > > > > > if we want to expose them as APIs at lib layer, many functions > > > > > > > and related > > > > > > data structure has to be exposed in rte_vhost.h. it looks messy. > > > > > > > Your opinion? > > > > > > > > > > > > Yes, it is not really vhost-related, it could be part of a more > > > > > > generic library. It is maybe better to duplicate these lines, or > > > > > > to move this code in a existing or new library. > > > > > > > > > > I vote to move it to generic library, maybe eal. Poll() has better > > > > compatibility even though poll() is not as performant as epoll(). > > > > > > > > > > Thomas, how do you think? > > > > > > > > I don't see why it should be exported outside of DPDK, except for PMDs. > > > > I would tend to keep it internal but I understand that it would mean > > > > duplicating some code, which is not ideal. > > > > Please could you show what would be the content of the .h in EAL? > > > > > > > > > > If needed to expose them in eal.h, > > > I think that they should be the whole fdset mechanism as followings. > > > > > > typedef void (*fd_cb)(int fd, void *dat, int *remove); > > > > > > struct fdentry { > > > int fd; /* -1 indicates this entry is empty */ > > > fd_cb rcb; /* callback when this fd is readable. */ > > > fd_cb wcb; /* callback when this fd is writeable.*/ > > > void *dat; /* fd context */ > > > int busy; /* whether this entry is being used in cb. */ > > > }; > > > > > > struct fdset { > > > struct pollfd rwfds[MAX_FDS]; > > > struct fdentry fd[MAX_FDS]; > > > pthread_mutex_t fd_mutex; > > > int num; /* current fd number of this fdset */ > > > }; > > > > > > void fdset_init(struct fdset *pfdset); (not used in the patchset) > > > > > > int fdset_add(struct fdset *pfdset, int fd, > > > fd_cb rcb, fd_cb wcb, void *dat); (used in this patchset) > > > > > > void *fdset_del(struct fdset *pfdset, int fd); (not used in the > > > patchset) > > > > > > void *fdset_event_dispatch(void *arg); (used in this patchset) > > > > > > seems that we have 4 options. > > > 1) expose them in librte_vhost > > > 2) expose them in other existing or new libs. for example, eal. > > > 3) duplicate the code lines at PMD layer. > > > 4) do it as the patch does that. > > > > It looks to be very close of the interrupt thread. > > Can we have all merged in an unique event dispatcher thread? > > > > If I understand right, do you mean that we can merge them in lib eal ? right? Yes merge with interrupt thread in EAL. I didn't look at the details, but it seems the right place for such thing.