[dpdk-dev] [PATCH v2 3/4] raw/ifpga/base: cleanup ifpga raw devices when process quit
Zhang, Qi Z
qi.z.zhang at intel.com
Thu Oct 15 15:15:52 CEST 2020
> -----Original Message-----
> From: dev <dev-bounces at dpdk.org> On Behalf Of Xu, Rosen
> Sent: Tuesday, September 29, 2020 9:43 AM
> To: Zhang, Tianfei <tianfei.zhang at intel.com>; dev at dpdk.org; Huang, Wei
> <wei.huang at intel.com>
> Subject: Re: [dpdk-dev] [PATCH v2 3/4] raw/ifpga/base: cleanup ifpga raw
> devices when process quit
>
> Hi,
>
> > -----Original Message-----
> > From: Zhang, Tianfei <tianfei.zhang at intel.com>
> > Sent: Monday, September 28, 2020 9:40
> > To: dev at dpdk.org; Xu, Rosen <rosen.xu at intel.com>; Huang, Wei
> > <wei.huang at intel.com>
> > Cc: Zhang, Tianfei <tianfei.zhang at intel.com>
> > Subject: [PATCH v2 3/4] raw/ifpga/base: cleanup ifpga raw devices when
> > process quit
> >
> > From: Wei Huang <wei.huang at intel.com>
> >
> > Add function ifpga_rawdev_cleanup() to cleanup all ifpga raw devices
> > and register it as RTE_FINI function to make it called after main().
> >
> > Signed-off-by: Wei Huang <wei.huang at intel.com>
> > Signed-off-by: Tianfei zhang <tianfei.zhang at intel.com>
> > ---
> > drivers/raw/ifpga/ifpga_rawdev.c | 20 ++++++++++++++++++++
> > 1 file changed, 20 insertions(+)
> >
> > diff --git a/drivers/raw/ifpga/ifpga_rawdev.c
> > b/drivers/raw/ifpga/ifpga_rawdev.c
> > index 98b02b5fa..1bc500a2a 100644
> > --- a/drivers/raw/ifpga/ifpga_rawdev.c
> > +++ b/drivers/raw/ifpga/ifpga_rawdev.c
> > @@ -1609,6 +1609,26 @@
> > RTE_PMD_REGISTER_PCI_TABLE(ifpga_rawdev_pci_driver,
> > rte_ifpga_rawdev_pmd);
> > RTE_PMD_REGISTER_KMOD_DEP(ifpga_rawdev_pci_driver, "* igb_uio |
> > uio_pci_generic | vfio-pci"); RTE_LOG_REGISTER(ifpga_rawdev_logtype,
> > driver.raw.init, NOTICE);
> >
> > +RTE_FINI(ifpga_rawdev_cleanup)
> > +{
> > + struct ifpga_rawdev *dev;
> > + struct opae_adapter *adapter;
> > + unsigned int i;
> > +
> > + for (i = 0; i < IFPGA_RAWDEV_NUM; i++) {
> > + dev = &ifpga_rawdevices[i];
> > + if (dev->rawdev) {
> > + adapter = ifpga_rawdev_get_priv(dev->rawdev);
> > + if (adapter) {
> > + opae_adapter_destroy(adapter);
> > + opae_adapter_data_free(adapter->data);
> > + }
> > + rte_rawdev_pmd_release(dev->rawdev);
> > + dev->rawdev = NULL;
> > + }
> > + }
> > +}
> > +
> > static const char * const valid_args[] = {
> > #define IFPGA_ARG_NAME "ifpga"
> > IFPGA_ARG_NAME,
> > --
> > 2.17.1
>
> Acked-by: Rosen Xu <rosen.xu at intel.com>
Applied to dpdk-next-net-intel.
Thanks
Qi
More information about the dev
mailing list