[EXT] Re: [PATCH v5 1/2] eal: add API for bus close

Thomas Monjalon thomas at monjalon.net
Thu Jan 20 15:58:00 CET 2022


20/01/2022 15:51, Rohit Raj:
> Hi Thomas,
> 
> This "rte_bus_close" API is introduced to do the opposite of what "rte_bus_probe" does. Just like there are plug and unplug APIs for plugging and unplugging a single device.
> 
> The API you mentioned, "rte_dev_remove" supports only rte_device.  But we also need to close/remove private devices of dpaa and fslmc buses which are not exposed directly to user (eg: mempool device). 
> Note that these private devices/bus objects are not associated with a particular rte_device but they are available as a resource to be used by any of the device based on these hardware specific buses. 
> So, to close these devices, we need a new API which can do this for us. That is why "rte_bus_close" is required.

You mean some resources are associated to a bus but not to a device?
It lools very weird. A resource on a bus *is* a device.

PS: please avoid top-post

> From: Thomas Monjalon <thomas at monjalon.net>
> > 10/01/2022 06:26, rohit.raj at nxp.com:
> > > From: Rohit Raj <rohit.raj at nxp.com>
> > >
> > > As per the current code we have API for bus probe, but the bus close
> > > API is missing. This breaks the multi process scenarios as objects are
> > > not cleaned while terminating the secondary processes.
> > >
> > > This patch adds a new API rte_bus_close() for cleanup of bus objects
> > > which were acquired during probe.
> > 
> > I don't understand how closing all devices of a bus will help better than just
> > closing all devices.
> > 
> > As Ferruh already suggested in the past, we could force closing all devices in
> > rte_eal_cleanup().
> > And we already have the function rte_dev_remove().





More information about the dev mailing list