From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id C948E11F5 for ; Wed, 30 Aug 2017 00:25:08 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Aug 2017 15:25:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,446,1498546800"; d="scan'208";a="1189549184" Received: from tanjianf-mobl.ccr.corp.intel.com (HELO [10.233.81.8]) ([10.233.81.8]) by fmsmga001.fm.intel.com with ESMTP; 29 Aug 2017 15:25:06 -0700 To: =?UTF-8?Q?Ga=c3=abtan_Rivet?= References: <1503654052-84730-1-git-send-email-jianfeng.tan@intel.com> <1503654052-84730-3-git-send-email-jianfeng.tan@intel.com> <20170829125045.GM8124@bidouze.vm.6wind.com> Cc: dev@dpdk.org, bruce.richardson@intel.com, konstantin.ananyev@intel.com, pablo.de.lara.guarch@intel.com, thomas@monjalon.net, yliu@fridaylinux.org, maxime.coquelin@redhat.com, mtetsuyah@gmail.com, ferruh.yigit@intel.com From: "Tan, Jianfeng" Message-ID: <07a78942-a0d9-fcfa-f86f-be5c4651971f@intel.com> Date: Tue, 29 Aug 2017 15:25:06 -0700 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170829125045.GM8124@bidouze.vm.6wind.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH 02/12] eal: avoid calling rte_vdev_init() 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, 29 Aug 2017 22:25:09 -0000 Hi Gaetan, On 8/29/2017 5:50 AM, Gaëtan Rivet wrote: > Hi, > > On Fri, Aug 25, 2017 at 09:40:42AM +0000, Jianfeng Tan wrote: >> We can call bus->plug() to avoid calling rte_vdev_init() explicitly. >> >> Signed-off-by: Jianfeng Tan >> --- >> lib/librte_eal/common/eal_common_dev.c | 21 +++++---------------- >> 1 file changed, 5 insertions(+), 16 deletions(-) >> >> diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c >> index e251275..066dfbf 100644 >> --- a/lib/librte_eal/common/eal_common_dev.c >> +++ b/lib/librte_eal/common/eal_common_dev.c >> @@ -67,7 +67,6 @@ static int cmp_dev_name(const struct rte_device *dev, const void *_name) >> int rte_eal_dev_attach(const char *name, const char *devargs) >> { >> struct rte_bus *bus; >> - int ret; >> >> if (name == NULL || devargs == NULL) { >> RTE_LOG(ERR, EAL, "Invalid device or arguments provided\n"); >> @@ -80,22 +79,12 @@ int rte_eal_dev_attach(const char *name, const char *devargs) >> name); >> return -EINVAL; >> } >> - if (strcmp(bus->name, "pci") == 0) >> - return rte_eal_hotplug_add("pci", name, devargs); >> - if (strcmp(bus->name, "vdev") != 0) { >> - RTE_LOG(ERR, EAL, "Device attach is only supported for PCI and vdev devices.\n"); >> - return -ENOTSUP; >> - } >> + if (strcmp(bus->name, "pci") == 0 || strcmp(bus->name, "vdev") != 0) > It seems to be a copy / paste error, it should probably be: > > + if (strcmp(bus->name, "pci") == 0 || strcmp(bus->name, "vdev") == 0) Nice catch. Will fix it in next version. > > Now, one could question the relevancy of keeping this API > (rte_eal_dev_attach / detach), but I guess this is beyond the scope of > this series. This is a valid ask. It seems a duplication of rte_eal_hotplug_add()/rte_eal_hotplug_remove(). Thanks, Jianfeng >> + return rte_eal_hotplug_add(bus->name, name, devargs); >> >> - /* >> - * If we haven't found a bus device the user meant to "hotplug" a >> - * virtual device instead. >> - */ >> - ret = rte_vdev_init(name, devargs); >> - if (ret) >> - RTE_LOG(ERR, EAL, "Driver cannot attach the device (%s)\n", >> - name); >> - return ret; >> + RTE_LOG(ERR, EAL, "Device attach is only supported for PCI and vdev devices.\n"); >> + >> + return -ENOTSUP; >> } >> >> int rte_eal_dev_detach(struct rte_device *dev) >> -- >> 2.7.4 >>