All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ye Xiaolong <xiaolong.ye@intel.com>
To: Di ChenxuX <chenxux.di@intel.com>
Cc: dev@dpdk.org, Wenzhuo Lu <wenzhuo.lu@intel.com>,
	Yang Qiming <qiming.yang@intel.com>,
	ferruh.yigit@intel.com
Subject: Re: [dpdk-dev] [PATCH v2] net/i40e: fix device hotplug remove
Date: Thu, 7 Nov 2019 10:50:29 +0800	[thread overview]
Message-ID: <20191107025029.GB68021@intel.com> (raw)
In-Reply-To: <20191106050847.82673-1-chenxux.di@intel.com>

On 11/06, Di ChenxuX wrote:
>testpmd will occur infinite loops when device hotplug remove.
>We can fix the issue by using the pci generic remove function
>
>Fixes: ac89d46096d5 ("net/i40e: release port upon close")
>
>Signed-off-by: Di ChenxuX <chenxux.di@intel.com>
>
>v2:
>change the code in driver.
>---
> drivers/net/i40e/i40e_ethdev.c | 12 +-----------
> 1 file changed, 1 insertion(+), 11 deletions(-)
>
>diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
>index 77a46832c..64842867d 100644
>--- a/drivers/net/i40e/i40e_ethdev.c
>+++ b/drivers/net/i40e/i40e_ethdev.c
>@@ -694,17 +694,7 @@ eth_i40e_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
> 
> static int eth_i40e_pci_remove(struct rte_pci_device *pci_dev)
> {
>-	struct rte_eth_dev *ethdev;
>-
>-	ethdev = rte_eth_dev_allocated(pci_dev->device.name);
>-	if (!ethdev)
>-		return -ENODEV;
>-
>-
>-	if (ethdev->data->dev_flags & RTE_ETH_DEV_REPRESENTOR)
>-		return rte_eth_dev_destroy(ethdev, i40e_vf_representor_uninit);
>-	else
>-		return rte_eth_dev_destroy(ethdev, eth_i40e_dev_uninit);
>+	return rte_eth_dev_pci_generic_remove(pci_dev, eth_i40e_dev_uninit);

What about i40e_vf_representor_uninit, you also need to take it into consideration.

And you should also call rte_eth_dev_release_port in remove ops in case user 
detach a port directly without closing it first.

This comment also applies your ixgbe fix.


Thanks,
Xiaolong


> }
> 
> static struct rte_pci_driver rte_i40e_pmd = {
>-- 
>2.17.1
>

  reply	other threads:[~2019-11-07  2:54 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-24  1:03 [dpdk-dev] [PATCH] app/testpmd: fix device hotplug remove Di ChenxuX
2019-10-24 11:28 ` Iremonger, Bernard
2019-10-24 17:24 ` Ferruh Yigit
2019-10-25  1:48   ` Di, ChenxuX
2019-10-27 22:35     ` Thomas Monjalon
2019-10-29 12:13     ` Ferruh Yigit
2019-10-28  5:51 ` Yang, Qiming
2019-11-05 13:54   ` Ferruh Yigit
2019-11-05 23:30     ` Ye Xiaolong
2019-11-06  5:08 ` [dpdk-dev] [PATCH v2] net/i40e: " Di ChenxuX
2019-11-07  2:50   ` Ye Xiaolong [this message]
2019-11-07  3:00     ` Di, ChenxuX
2019-11-07  3:11       ` Ye Xiaolong
2019-11-07  5:45         ` Di, ChenxuX
2019-11-07  5:45           ` Ye Xiaolong
2019-11-07  6:02             ` Di, ChenxuX
2019-11-07  6:23   ` [dpdk-dev] [PATCH v3] " Di ChenxuX
2019-11-11  8:42     ` Ye Xiaolong
2019-11-12  5:56     ` [dpdk-dev] [PATCH v4] " Di ChenxuX
2019-11-13  2:11       ` Ye Xiaolong

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=20191107025029.GB68021@intel.com \
    --to=xiaolong.ye@intel.com \
    --cc=chenxux.di@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=qiming.yang@intel.com \
    --cc=wenzhuo.lu@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.