Hi Ferruh,

> From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Ferruh Yigit
> Sent: Friday, October 20, 2017 9:58 AM
> 
> On 10/20/2017 9:55 AM, Ferruh Yigit wrote:
> > Remove device reset during application start, the reset for
> > application exit still there.
> >
> > Reset in open removed because of following comments:
> > 1- Device reset not completed when VF driver loaded, which cause VF PMD
> >    initialization error.
> >    Adding delay can solve the issue but will increase driver load time.
> >
> > 2- Reset will be issues all devices unconditionally, not very efficient
> >    way.
> >
> > Fixes: b58eedfc7dd5 ("igb_uio: issue FLR during open and release of
> > device file")
> > Cc: sta...@dpdk.org
> >
> > Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com>
> 
> Hi Jingjing, Shijith, Gregory, Harish,
> 
> Can you please test this on top of current master (which has already Jingjin's
> fix) ?

The original FLR change during igb_uio open()/release() in DPDK17.08 also 
impacts BNX2X PMD and it exhibits the issues with bare metal testing.
 
Now, we tested this change for BNX2X PMD using latest dpdk, which has this fix 
where FLR is invoked only in the release(). However, we ran into an issue when 
trying to reload the testpmd application in quick succession. The pci reset, 
called during the igb_uio release() operation, is taking longer time and 
adapter is still doing the FLR when we relaunch the application. We see this 
behavior with bare metal testing.

Thanks!
-Rasesh

> 
> Thanks,
> ferruh
> 
> > ---
> > Cc: Jianfeng Tan <jianfeng....@intel.com>
> > Cc: Jingjing Wu <jingjing...@intel.com>
> > Cc: Shijith Thotton <shijith.thot...@caviumnetworks.com>
> > Cc: Gregory Etelson <greg...@weka.io>
> > Cc: Harish Patil <harish.pa...@cavium.com>
> > Cc: George Prekas <george.pre...@epfl.ch>
> > Cc: Sergio Gonzalez Monroy <sergio.gonzalez.mon...@intel.com>
> > ---
> >  lib/librte_eal/linuxapp/igb_uio/igb_uio.c | 2 --
> >  1 file changed, 2 deletions(-)
> >
> > diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
> > b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
> > index f7ef82554..fd320d87d 100644
> > --- a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
> > +++ b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
> > @@ -336,8 +336,6 @@ igbuio_pci_open(struct uio_info *info, struct inode
> *inode)
> >     struct pci_dev *dev = udev->pdev;
> >     int err;
> >
> > -   pci_reset_function(dev);
> > -
> >     /* set bus master, which was cleared by the reset function */
> >     pci_set_master(dev);
> >
> >

Reply via email to