DPDK patches and discussions
 help / color / mirror / Atom feed
From: Rohit Raj <rohit.raj@nxp.com>
To: Thomas Monjalon <thomas@monjalon.net>
Cc: Bruce Richardson <bruce.richardson@intel.com>,
	Ray Kinsella <mdr@ashroe.eu>,
	Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>,
	Narcisa Ana Maria Vasile <navasile@linux.microsoft.com>,
	Dmitry Malloy <dmitrym@microsoft.com>,
	 Pallavi Kadam <pallavi.kadam@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>, Nipun Gupta <nipun.gupta@nxp.com>,
	Sachin Saxena <sachin.saxena@nxp.com>,
	Hemant Agrawal <hemant.agrawal@nxp.com>,
	"ferruh.yigit@intel.com" <ferruh.yigit@intel.com>,
	"david.marchand@redhat.com" <david.marchand@redhat.com>
Subject: RE: [EXT] Re: [PATCH v5 1/2] eal: add API for bus close
Date: Tue, 1 Feb 2022 05:40:04 +0000	[thread overview]
Message-ID: <VE1PR04MB6509B308BF4B2F4776F1961CEC269@VE1PR04MB6509.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <16764163.5WZRyvrzyv@thomas>



> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Thursday, January 20, 2022 8:28 PM
> To: Rohit Raj <rohit.raj@nxp.com>
> Cc: Bruce Richardson <bruce.richardson@intel.com>; Ray Kinsella
> <mdr@ashroe.eu>; Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>; Narcisa Ana
> Maria Vasile <navasile@linux.microsoft.com>; Dmitry Malloy
> <dmitrym@microsoft.com>; Pallavi Kadam <pallavi.kadam@intel.com>;
> dev@dpdk.org; Nipun Gupta <nipun.gupta@nxp.com>; Sachin Saxena
> <sachin.saxena@nxp.com>; Hemant Agrawal <hemant.agrawal@nxp.com>;
> ferruh.yigit@intel.com; david.marchand@redhat.com
> Subject: Re: [EXT] Re: [PATCH v5 1/2] eal: add API for bus close
> 
> Caution: EXT Email
> 
> 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

FSLMC bus has hardware resources for memory pools, queues, hardware access lock(called portal). 
These are common resources, which can be associated with any device. So they don't belong to a specific device. 
Eg: mempool resource can be used by both eth and crypto device. So, we cannot close mempool while closing just one of the device(It can happen in multiprocess applications). So, these resources should be specifically closed/freed with the bus instead with a device.

There is no need to expose these devices to users and their usages is limited to other devices on the bus. There is no reason to create yet another type of device in DPDK to expose these internal only resources.


> > From: Thomas Monjalon <thomas@monjalon.net>
> > > 10/01/2022 06:26, rohit.raj@nxp.com:
> > > > From: Rohit Raj <rohit.raj@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().
> 
> 


  reply	other threads:[~2022-02-01  5:40 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-24  8:24 [dpdk-dev] [PATCH v2 1/3] " rohit.raj
2020-08-24  8:24 ` [dpdk-dev] [PATCH v2 2/3] examples/multi_process: cleanup bus objects while terminating app rohit.raj
2020-09-08  5:32   ` Hemant Agrawal
2020-08-24  8:24 ` [dpdk-dev] [PATCH v2 3/3] bus/fslmc: support bus close API rohit.raj
2020-08-24 15:14 ` [dpdk-dev] [PATCH v2 1/3] eal: add API for bus close Stephen Hemminger
2020-08-26  5:52 ` [dpdk-dev] [PATCH v3 " rohit.raj
2020-08-26  5:52   ` [dpdk-dev] [PATCH v3 2/3] examples/multi_process: cleanup bus objects while terminating app rohit.raj
2020-09-08  5:32     ` Hemant Agrawal
2020-08-26  5:52   ` [dpdk-dev] [PATCH v3 3/3] bus/fslmc: support bus close API rohit.raj
2020-09-08  5:35     ` Hemant Agrawal (OSS)
2020-09-17 15:35     ` Kinsella, Ray
2020-09-08  4:46   ` [dpdk-dev] [PATCH v3 1/3] eal: add API for bus close Hemant Agrawal
2020-09-23 23:54     ` Thomas Monjalon
2020-09-17 15:34   ` Kinsella, Ray
2020-09-24 11:39   ` Ferruh Yigit
2020-09-29  4:33   ` Sachin Saxena (OSS)
2020-09-30 11:50   ` Ferruh Yigit
2020-10-08 16:24     ` Ferruh Yigit
2020-10-09  4:53       ` [dpdk-dev] [EXT] " Rohit Raj
2020-10-18  9:25         ` David Marchand
2020-10-08 15:30   ` [dpdk-dev] [PATCH v4 1/5] " rohit.raj
2020-10-08 15:30     ` [dpdk-dev] [PATCH v4 2/5] examples/multi_process: cleanup bus objects while terminating app rohit.raj
2020-10-18  9:25       ` David Marchand
2021-01-25 11:07         ` oulijun
2021-02-04 12:53           ` David Marchand
2023-07-05 23:35       ` Stephen Hemminger
2020-10-08 15:30     ` [dpdk-dev] [PATCH v4 3/5] bus/fslmc: support bus close API rohit.raj
2020-10-08 15:30     ` [dpdk-dev] [PATCH v4 4/5] eal/freebsd: added support for rte_bus_close API rohit.raj
2020-10-08 15:30     ` [dpdk-dev] [PATCH v4 5/5] eal/windows: " rohit.raj
2020-10-11  8:06       ` Tal Shnaiderman
2020-10-27  5:55       ` Narcisa Ana Maria Vasile
2020-10-18  9:21     ` [dpdk-dev] [PATCH v4 1/5] eal: add API for bus close David Marchand
2022-01-10  5:26     ` [PATCH v5 1/2] " rohit.raj
2022-01-10  5:26       ` [PATCH v5 2/2] bus/fslmc: support bus close API rohit.raj
2022-01-19 10:31       ` [PATCH v5 1/2] eal: add API for bus close Thomas Monjalon
2022-01-20 14:51         ` [EXT] " Rohit Raj
2022-01-20 14:58           ` Thomas Monjalon
2022-02-01  5:40             ` Rohit Raj [this message]
2022-02-01  7:43               ` Thomas Monjalon
2022-02-09 11:04       ` David Marchand
2022-02-09 13:20         ` Thomas Monjalon
2023-07-05 23:37 ` [dpdk-dev] [PATCH v2 1/3] " Stephen Hemminger

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=VE1PR04MB6509B308BF4B2F4776F1961CEC269@VE1PR04MB6509.eurprd04.prod.outlook.com \
    --to=rohit.raj@nxp.com \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=dmitry.kozliuk@gmail.com \
    --cc=dmitrym@microsoft.com \
    --cc=ferruh.yigit@intel.com \
    --cc=hemant.agrawal@nxp.com \
    --cc=mdr@ashroe.eu \
    --cc=navasile@linux.microsoft.com \
    --cc=nipun.gupta@nxp.com \
    --cc=pallavi.kadam@intel.com \
    --cc=sachin.saxena@nxp.com \
    --cc=thomas@monjalon.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).