From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f46.google.com (mail-wm0-f46.google.com [74.125.82.46]) by dpdk.org (Postfix) with ESMTP id 2DA649AB9 for ; Tue, 1 Mar 2016 10:57:12 +0100 (CET) Received: by mail-wm0-f46.google.com with SMTP id p65so27405454wmp.1 for ; Tue, 01 Mar 2016 01:57:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:organization:user-agent :in-reply-to:references:mime-version:content-transfer-encoding; bh=VEqMPGzeTXc2d2J4y8FueXwR3QM0j29iZFZeNMb6/ks=; b=y0/cdsaO0vXF0tXlvJRI9firnfjlcDuR7ceItgxTEBwQE8M1HfFESKVQEGBJBxH33a djkXj9hulG9ttW8AiurkKpkfIxkJ26HF4KBZtt9Zndms62fLcannemkZhzVVRB42e/36 O9aP534IuzsGeTfmZ7R3UUIGpr8IJMj4gjRQLHHoa4Gb84HKTSxXcFIiMn+OsqvPvx9r 3PRMu1fV0IAhFGyeVzFMEQO4qAvHSC1CUC/ZjHLCTUt5Y5cl/I26HyOa3/NM23OgctAv gafTAKKm1ZOfAbTBju/2njOqD402wl49B0V7RqN7r533l2nNl7NmJRGDiS/Z/Vx9cEfr kQwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:organization :user-agent:in-reply-to:references:mime-version :content-transfer-encoding; bh=VEqMPGzeTXc2d2J4y8FueXwR3QM0j29iZFZeNMb6/ks=; b=fshm23UlDzBRdO9qv5t9vadtzTAP239IJcLX5u302qSO9zICe8UR5CDIMJMg9+pc/t FaREQFpUPtjEZAgx/zETWYbQORGZHgsPKqO6Ksus3Z8WzJmdef7CWnL2Y0epvePEmpDs SprxLwyqLW+aUzRBYyTTz+MBc0kq4Of+KavTkdUfqxTmds+gkqGmtzCvLSO6M1rqv33v cnbEj+LUPwsehftW38A5jYLOuzMOmLKN0I/+tjnOB41X7eAjUtTdC6dG9zmS7xN2WrUj +SWg3Z6cAU5C8tzQ9MLC1zCdErxLVEh3113xhPTnvyJEKzT8FkgC24wUDRCKd/mcSZHC eE1w== X-Gm-Message-State: AD7BkJKGAXnNFaoc347DR9SaUexUc+rSHIA0cxbNG8kMdRB8SAdJyC58QYfi5TSmTwEYLiDh X-Received: by 10.194.192.36 with SMTP id hd4mr18384449wjc.85.1456826231976; Tue, 01 Mar 2016 01:57:11 -0800 (PST) Received: from xps13.localnet (guy78-3-82-239-227-177.fbx.proxad.net. [82.239.227.177]) by smtp.gmail.com with ESMTPSA id n10sm28923586wjf.28.2016.03.01.01.57.10 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 01 Mar 2016 01:57:11 -0800 (PST) From: Thomas Monjalon To: "Xie, Huawei" Date: Tue, 01 Mar 2016 10:55:36 +0100 Message-ID: <1581750.D14419ZT36@xps13> Organization: 6WIND User-Agent: KMail/4.14.10 (Linux/4.1.6-1-ARCH; KDE/4.14.11; x86_64; ; ) In-Reply-To: References: <20151222035041.GA7532@pxdev.xzpeter.org> <8208032.DLqNqWtROc@xps13> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Cc: dev@dpdk.org, "Troitsky, Nikita" Subject: Re: [dpdk-dev] [PATCH v4 4/4] virtio: return 1 to tell the upper layer we don't take over this device X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Mar 2016 09:57:12 -0000 2016-03-01 08:39, Xie, Huawei: > On 3/1/2016 4:24 PM, Thomas Monjalon wrote: > > 2016-03-01 07:53, Xie, Huawei: > >> On 3/1/2016 3:18 PM, Thomas Monjalon wrote: > >>> 2016-02-26 09:53, Huawei Xie: > >>>> @@ -1037,8 +1039,11 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev) > >>>> > >>>> pci_dev = eth_dev->pci_dev; > >>>> > >>>> - if (vtpci_init(pci_dev, hw) < 0) > >>>> - return -1; > >>>> + ret = vtpci_init(pci_dev, hw); > >>>> + if (ret) { > >>>> + rte_free(eth_dev->data->mac_addrs); > >>> The freeing seems not related to this patch. > >> I can send a separate patch, ok within this patchset? > > Yes > > > >>> [...] > >>>> PMD_INIT_LOG(INFO, "trying with legacy virtio pci."); > >>>> - if (legacy_virtio_resource_init(dev, hw) < 0) > >>>> + if (legacy_virtio_resource_init(dev, hw) < 0) { > >>>> + if (dev->kdrv == RTE_KDRV_UNKNOWN) { > >>>> + PMD_INIT_LOG(INFO, > >>>> + "skip kernel managed virtio device."); > >>>> + return 1; > >>>> + } > >>>> return -1; > >>>> + } > >>> You cannot skip a device if it was whitelisted. > >>> I think you should check RTE_DEVTYPE_WHITELISTED_PCI and throw an error > >>> in this case. > >> I feel there is a subtle difference on the understanding of -w args. To > >> me, without it, probe all devices; with it, only probe whiltelisted API. > >> That is all. > > I don't know if it is clearly documented indeed. > > > >> Do you mean that -w implies that devices whitelisted must be probed > >> successfully otherwise we throw an error? If i get it right, then what > >> about the devices whitelisted but without PMD driver? > > Yes we should probably consider the whitelist as a "forced" init. > > Later, we could introduce some device flags for probing/discovery: > > PROBE_AUTO, PROBE_FORCE, PROBE_IGNORE. It would make white/black list > > more precise. > > > >> I will fix, :). > >> if (dev->kdrv == RTE_KDRV_UNKNOWN && dev->devargs->type != > >> RTE_DEVTYPE_WHITELISTED_PCI) { > >> .... > >> return 1; > >> } > > You should also consider the blacklist case: if there is a blacklist, > > the not blacklisted devices must be initialised or throw an error. > > > Don't we already skip probing the blacklisted device in > rte_eal_pci_probe_one_driver? Yes, I'm talking about the devices which are not blacklisted. Having some blacklisted devices imply that others are implicitly whitelisted.