RE: [EXT] Re: [PATCH v5 1/2] eal: add API for bus close
From: Rohit Raj <hidden>
Date: 2022-01-20 14:51:45
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. Regards, Rohit Raj
-----Original Message----- From: Thomas Monjalon <redacted> Sent: Wednesday, January 19, 2022 4:02 PM To: Rohit Raj <redacted> Cc: Bruce Richardson <redacted>; Ray Kinsella [off-list ref]; Dmitry Kozlyuk [off-list ref]; Narcisa Ana Maria Vasile [off-list ref]; Dmitry Malloy [off-list ref]; Pallavi Kadam [off-list ref]; dev@dpdk.org; Nipun Gupta [off-list ref]; Sachin Saxena [off-list ref]; Hemant Agrawal [off-list ref]; ferruh.yigit@intel.com; david.marchand@redhat.com Subject: [EXT] Re: [PATCH v5 1/2] eal: add API for bus close Caution: EXT Email Hi, 10/01/2022 06:26, rohit.raj@nxp.com:quoted
From: Rohit Raj <redacted> 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().