All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas.monjalon@6wind.com>
To: "Xie, Huawei" <huawei.xie@intel.com>
Cc: dev@dpdk.org, "Troitsky, Nikita" <nikita.troitsky@intel.com>
Subject: Re: [PATCH v4 4/4] virtio: return 1 to tell the upper layer we don't take over this device
Date: Tue, 01 Mar 2016 09:20:54 +0100	[thread overview]
Message-ID: <8208032.DLqNqWtROc@xps13> (raw)
In-Reply-To: <C37D651A908B024F974696C65296B57B4C61AD14@SHSMSX101.ccr.corp.intel.com>

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.

  reply	other threads:[~2016-03-01  8:23 UTC|newest]

Thread overview: 92+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-22  3:50 [Question] How pmd virtio works without UIO? Peter Xu
2015-12-22  7:00 ` Yuanhan Liu
2015-12-22  8:23   ` Peter Xu
2015-12-22  8:32     ` Yuanhan Liu
2015-12-22  9:56       ` Peter Xu
2015-12-22 10:47         ` Xie, Huawei
2015-12-22 10:53           ` Xie, Huawei
2015-12-22 11:39           ` Peter Xu
2015-12-22 14:31             ` Xie, Huawei
2015-12-22 16:38             ` Xie, Huawei
2015-12-23  1:55               ` Peter Xu
2015-12-23  2:09                 ` Yuanhan Liu
2015-12-23  2:38                   ` Peter Xu
2015-12-23 22:26                   ` Thomas Monjalon
2015-12-24  3:30                     ` Yuanhan Liu
2015-12-24 17:56                       ` Stephen Hemminger
2015-12-23  2:01         ` Yuanhan Liu
2015-12-23  2:41           ` Peter Xu
2015-12-23  2:58             ` Yuanhan Liu
2015-12-23  5:13               ` Xie, Huawei
2015-12-23 22:20                 ` Thomas Monjalon
2015-12-24 18:38 ` [PATCH 0/4] check if any kernel driver is manipulating the virtio device Huawei Xie
2015-12-24 18:38   ` [PATCH 1/4] eal: make the comment more accurate Huawei Xie
2015-12-24 18:38   ` [PATCH 2/4] eal: set kdrv to RTE_KDRV_NONE if kernel driver isn't manipulating the device Huawei Xie
2015-12-28 20:24     ` David Marchand
2015-12-24 18:38   ` [PATCH 3/4] virtio: return 1 to tell the upper layer we don't take over this device Huawei Xie
2015-12-28  5:25     ` Yuanhan Liu
2015-12-28  5:38       ` Xie, Huawei
2015-12-24 18:38   ` [PATCH 4/4] virtio: check if any kernel driver is manipulating the device Huawei Xie
2015-12-28  5:26     ` Yuanhan Liu
2015-12-28  5:29       ` Xie, Huawei
2016-01-04  9:02     ` Xie, Huawei
2016-01-04 17:29       ` Stephen Hemminger
2016-01-05 14:44       ` Panu Matilainen
2015-12-28  3:08   ` [PATCH 0/4] check if any kernel driver is manipulating the virtio device Peter Xu
2016-01-03 17:56 ` [PATCH v2 0/4] fix the issue that DPDK takes over virtio device blindly Huawei Xie
2016-01-03 17:56   ` [PATCH v2 1/4] eal: make the comment more accurate Huawei Xie
2016-01-03 17:56   ` [PATCH v2 2/4] eal: set kdrv to RTE_KDRV_NONE if kernel driver isn't manipulating the device Huawei Xie
2016-01-03 17:56   ` [PATCH v2 3/4] virtio: return 1 to tell the upper layer we don't take over this device Huawei Xie
2016-01-03 17:56   ` [PATCH v2 4/4] virtio: check if any kernel driver is manipulating the virtio device Huawei Xie
2016-01-04 17:24     ` Stephen Hemminger
2016-01-04 17:56       ` Xie, Huawei
2016-01-05  1:56         ` Yuanhan Liu
2016-01-07 13:17         ` Ferruh Yigit
2016-01-07 14:17     ` Panu Matilainen
2016-01-27 12:43       ` Thomas Monjalon
2016-01-04 17:25   ` [PATCH v2 0/4] fix the issue that DPDK takes over virtio device blindly Stephen Hemminger
2016-01-12  3:02     ` Xie, Huawei
2016-01-12  4:23       ` Santosh Shukla
2016-01-12  5:16         ` Xie, Huawei
2016-01-13 12:17           ` Santosh Shukla
2016-01-27 15:21 ` [PATCH v3 " Huawei Xie
2016-01-27 15:21   ` [PATCH v3 1/4] eal: make the comment more accurate Huawei Xie
2016-01-27 15:21   ` [PATCH v3 2/4] eal: set kdrv to RTE_KDRV_NONE if kernel driver isn't manipulating the device Huawei Xie
2016-01-27 15:21   ` [PATCH v3 3/4] virtio: return 1 to tell the upper layer we don't take over this device Huawei Xie
2016-01-27 15:21   ` [PATCH v3 4/4] virtio: check if kernel driver is manipulating the virtio device Huawei Xie
2016-01-28  9:55     ` Panu Matilainen
2016-01-29  7:40   ` [PATCH v3 0/4] fix the issue that DPDK takes over virtio device blindly Yuanhan Liu
2016-02-24 12:43   ` Thomas Monjalon
2016-02-26  6:09     ` Xie, Huawei
2016-02-26  8:40       ` David Marchand
2016-02-26  9:00         ` Xie, Huawei
2016-02-26  1:53 ` [PATCH v4 " Huawei Xie
2016-02-26  1:53   ` [PATCH v4 1/4] eal: make the comment more accurate Huawei Xie
2016-02-29  8:48     ` David Marchand
2016-02-26  1:53   ` [PATCH v4 2/4] eal: set kdrv to RTE_KDRV_NONE if kernel driver isn't managing the device Huawei Xie
2016-02-29  2:34     ` Xie, Huawei
2016-02-29  8:46     ` David Marchand
2016-02-29  9:00       ` Xie, Huawei
2016-02-29  9:05         ` David Marchand
2016-02-26  1:53   ` [PATCH v4 3/4] eal: call pci_ioport_map when " Huawei Xie
2016-02-29  9:02     ` David Marchand
2016-02-26  1:53   ` [PATCH v4 4/4] virtio: return 1 to tell the upper layer we don't take over this device Huawei Xie
2016-02-29 13:15     ` Santosh Shukla
2016-03-01  7:16     ` Thomas Monjalon
2016-03-01  7:53       ` Xie, Huawei
2016-03-01  8:20         ` Thomas Monjalon [this message]
2016-03-01  8:39           ` Xie, Huawei
2016-03-01  9:55             ` Thomas Monjalon
2016-03-01 10:08               ` Xie, Huawei
2016-03-08 17:00                 ` Xie, Huawei
2016-03-08 23:01                 ` Thomas Monjalon
2016-03-08 15:33 ` [PATCH v5 0/6] fix the issue that DPDK takes over virtio device blindly Huawei Xie
2016-03-08 15:33   ` [PATCH v5 1/6] eal: make the comment more accurate Huawei Xie
2016-03-08 15:33   ` [PATCH v5 2/6] eal: RTE_KDRV_NONE means kernel driver isn't managing the device Huawei Xie
2016-03-08 15:33   ` [PATCH v5 3/6] eal: use new RTE_ARCH_X86 for x86 arch Huawei Xie
2016-03-09 23:04     ` Thomas Monjalon
2016-03-08 15:33   ` [PATCH v5 4/6] eal: simple code rework Huawei Xie
2016-03-08 15:33   ` [PATCH v5 5/6] eal: map IO port when kernel driver isn't managing the device Huawei Xie
2016-03-08 15:33   ` [PATCH v5 6/6] virtio: return 1 to tell the upper layer we don't take over this device Huawei Xie
2016-03-09 23:23     ` Thomas Monjalon
2016-03-09 23:35   ` [PATCH v5 0/6] fix the issue that DPDK takes over virtio device blindly Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8208032.DLqNqWtROc@xps13 \
    --to=thomas.monjalon@6wind.com \
    --cc=dev@dpdk.org \
    --cc=huawei.xie@intel.com \
    --cc=nikita.troitsky@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.