DPDK patches and discussions
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas.monjalon@6wind.com>
To: "Burakov, Anatoly" <anatoly.burakov@intel.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH 0/3] remove RTE_EAL_UNBIND_PORTS related code
Date: Tue, 15 Apr 2014 10:15:51 +0200	[thread overview]
Message-ID: <4976678.CMXOgFkiV5@xps13> (raw)
In-Reply-To: <C6ECDF3AB251BE4894318F4E451236975927EEB6@IRSMSX101.ger.corp.intel.com>

Hi Anatoly,

2014-04-14 14:39, Burakov, Anatoly:
> > This functionality is at least used by virtio-net-pmd.
> > So we cannot remove this without a fix for virtio-net-pmd.
> 
> It appears that virtio-net-pmd hasn't been merged in yet? At least I can't
> see it in the git tree for 1.6 release.

Maybe you don't know the history of the project. virtio-net-pmd was the first 
PMD for virtio. It has been released out of tree. Then Intel designed another 
one based on uio and released it in the DPDK tree.
On this topic, you should know that some parts of virtio-uio are (wrongly) 
integrated in EAL. So it seems to be a bad idea to integrate PMDs in DPDK 
tree.

virtio-net-pmd is hosted outside of the git tree:
	http://dpdk.org/browse/virtio-net-pmd

> > Yet, even if we remove this from the eal, I think we should provide a
> > proper api to bind/unbind devices to kernel drivers.
> > This way PMDs can use this api and forget about OS dependencies
> > (linux/bsd).
> 
> Please forgive me for repeating myself, but I'm still not convinced that
> binding/unbinding the kernel drivers has to be the responsibility of the
> application in the first place. As far as I know, the reasons why the
> binding/unbinding code was there are purely historical and have no
> rationale behind them other than "this is how it was first implemented".
> Plus, correct me if I'm wrong, but FreeBSD has some issues with port
> binding/unbinding - i.e. it can't do that at all, at least during runtime,
> so on BSD it's even less of an issue.

I understand your point of view.
I think everybody agree that EAL should not force binding/unbinding 
operations. But it could be very convenient to allow PMDs to do it by 
themselves.

Do you agree that the David's version is a good step in the right direction as 
it allows to remove RTE_EAL_UNBIND_PORTS?
If so, could you ack these patches, please?
Then we could discuss what are the next steps.

> Anyway, the reason I'm bringing this subject up in the first place is I'm
> preparing a patch to support VFIO driver alongside igb_uio. Among the
> changes I'm preparing to make is getting rid of the device ID list in
> igb_uio, so that any driver could be bound to it (via writing to new_id) -
> i.e. making it similar to how pci_stub, vfio-pci  et al work. A consequence
> of that will be that igb_uio won't try to bind any devices unless the user
> explicitly asks for it, meaning that the virtio device will not be bound to
> igb_uio by default. I think this will remedy the issues with virtio-net-pmd
> without the need for force-unbind logic in the EAL.

virtio-net-pmd doesn't need any kernel driver. Moreover, the virtio-net kernel 
driver must be unbound. It can be done before running DPDK but it's simpler to 
do it in the PMD initialization.
By the way, we should remove this flag FORCE_UNBIND. But please, let's do it 
in another step.

-- 
Thomas

  reply	other threads:[~2014-04-15  8:15 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-11 11:53 [dpdk-dev] [PATCH] Remove RTE_EAL_UNBIND_PORTS-related code Burakov, Anatoly
2014-04-14 12:51 ` [dpdk-dev] [PATCH 0/3] remove RTE_EAL_UNBIND_PORTS related code David Marchand
2014-04-14 12:51   ` [dpdk-dev] [PATCH 1/3] pci: pci_switch_module cleanup David Marchand
2014-04-15  8:39     ` Burakov, Anatoly
2014-04-14 12:51   ` [dpdk-dev] [PATCH 2/3] pci: move RTE_PCI_DRV_FORCE_UNBIND handling out of #ifdef David Marchand
2014-04-15  8:40     ` Burakov, Anatoly
2014-04-14 12:51   ` [dpdk-dev] [PATCH 3/3] pci: remove deprecated RTE_EAL_UNBIND_PORTS option David Marchand
2014-04-15  8:41     ` Burakov, Anatoly
2014-04-28 13:18     ` David Marchand
2014-04-14 13:12   ` [dpdk-dev] [PATCH 0/3] remove RTE_EAL_UNBIND_PORTS related code Burakov, Anatoly
2014-04-14 14:19     ` David Marchand
2014-04-14 14:39       ` Burakov, Anatoly
2014-04-15  8:15         ` Thomas Monjalon [this message]
2014-04-15  8:33           ` Burakov, Anatoly

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=4976678.CMXOgFkiV5@xps13 \
    --to=thomas.monjalon@6wind.com \
    --cc=anatoly.burakov@intel.com \
    --cc=dev@dpdk.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).