[dpdk-dev,v2,5/5] mbuf: add user command line config mempools ops API

Message ID 1515996674-26338-6-git-send-email-hemant.agrawal@nxp.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail Compilation issues

Commit Message

Hemant Agrawal Jan. 15, 2018, 6:11 a.m. UTC
  This patch add the user command line configured mempool ops name
API to librte_mbuf and sends a deprecation notice to remove the
similar API from eal.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 doc/guides/rel_notes/deprecation.rst |  7 +++++++
 lib/librte_mbuf/rte_mbuf.c           |  8 +++++++-
 lib/librte_mbuf/rte_mbuf.h           | 10 ++++++++++
 lib/librte_mbuf/rte_mbuf_version.map |  1 +
 4 files changed, 25 insertions(+), 1 deletion(-)
  

Comments

Jerin Jacob Jan. 15, 2018, 12:29 p.m. UTC | #1
-----Original Message-----
> Date: Mon, 15 Jan 2018 11:41:14 +0530
> From: Hemant Agrawal <hemant.agrawal@nxp.com>
> To: dev@dpdk.org
> CC: jerin.jacob@caviumnetworks.com, olivier.matz@6wind.com,
>  santosh.shukla@caviumnetworks.com
> Subject: [PATCH v2 5/5] mbuf: add user command line config mempools ops API
> X-Mailer: git-send-email 2.7.4
> 
> This patch add the user command line configured mempool ops name
> API to librte_mbuf and sends a deprecation notice to remove the
> similar API from eal.
> 
> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
> ---
>  doc/guides/rel_notes/deprecation.rst |  7 +++++++
>  lib/librte_mbuf/rte_mbuf.c           |  8 +++++++-
>  lib/librte_mbuf/rte_mbuf.h           | 10 ++++++++++
>  lib/librte_mbuf/rte_mbuf_version.map |  1 +
>  4 files changed, 25 insertions(+), 1 deletion(-)
> 
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index 13e8543..ec8018f 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -8,6 +8,13 @@ API and ABI deprecation notices are to be posted here.
>  Deprecation Notices
>  -------------------
>  
> +* eal: a mbuf specific API was part of eal APIs. This is now being
> +  moved to librte_mbuf to be with other similar APIs.
> +  The following API is target to be deprecated on 18.05.
> +
> +  - ``rte_eal_mbuf_default_mempool_ops`` replaced by
> +	``rte_mbuf_user_mempool_ops''
> +

I think, deprecation notice need to be in a separate 'doc" patch.


>  * eal: several API and ABI changes are planned for ``rte_devargs`` in v18.02.
>    The format of device command line parameters will change. The bus will need
>    to be explicitly stated in the device declaration. The enum ``rte_devtype``
> diff --git a/lib/librte_mbuf/rte_mbuf.c b/lib/librte_mbuf/rte_mbuf.c
> index 482676c..c587d3a 100644
> --- a/lib/librte_mbuf/rte_mbuf.c
> +++ b/lib/librte_mbuf/rte_mbuf.c
> @@ -168,12 +168,18 @@ rte_mbuf_platform_mempool_ops(void)
>  	return internal_config.plat_mbuf_pool_ops_name;
>  }
>  
> +const char *
> +rte_mbuf_user_mempool_ops(void)
> +{
> +	return internal_config.user_mbuf_pool_ops_name;
> +}
> +
>  /* Return mbuf pool ops name */
>  static const char *
>  rte_mbuf_best_mempool_ops(void)
>  {
>  	/* User defined mempool ops takes the priority */
> -	const char *best_ops = rte_eal_mbuf_default_mempool_ops();

I think, we may need to remove the stale rte_eal_mbuf_default_mempool_ops() once
it is replaced.

> +	const char *best_ops = rte_mbuf_user_mempool_ops();
>  	if (best_ops)
>  		return best_ops;
>  
> diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
> index f958e3c..7feacc0 100644
> --- a/lib/librte_mbuf/rte_mbuf.h
> +++ b/lib/librte_mbuf/rte_mbuf.h
> @@ -1143,6 +1143,16 @@ const char*
>  rte_mbuf_platform_mempool_ops(void);
>  
>  /**
> + * Get user command line configured pool ops name for mbuf
> + *
> + * @return
> + *   returns user pool ops name.
> + */
> +
> +const char*
> +rte_mbuf_user_mempool_ops(void);
> +
> +/**
>   * Get the data room size of mbufs stored in a pktmbuf_pool
>   *
>   * The data room size is the amount of data that can be stored in a
> diff --git a/lib/librte_mbuf/rte_mbuf_version.map b/lib/librte_mbuf/rte_mbuf_version.map
> index 9b53502..d4af497 100644
> --- a/lib/librte_mbuf/rte_mbuf_version.map
> +++ b/lib/librte_mbuf/rte_mbuf_version.map
> @@ -41,6 +41,7 @@ DPDK_18.02 {
>  
>  	rte_mbuf_platform_mempool_ops;
>  	rte_mbuf_register_platform_mempool_ops;
> +	rte_mbuf_user_mempool_ops;
>  	rte_pktmbuf_pool_create_specific;
>  
>  } DPDK_16.11;
> -- 
> 2.7.4
>
  
Hemant Agrawal Jan. 15, 2018, 2:35 p.m. UTC | #2
On 1/15/2018 5:59 PM, Jerin Jacob wrote:
> -----Original Message-----
>> Date: Mon, 15 Jan 2018 11:41:14 +0530
>> From: Hemant Agrawal <hemant.agrawal@nxp.com>

>> This patch add the user command line configured mempool ops name
>> API to librte_mbuf and sends a deprecation notice to remove the
>> similar API from eal.
>>
>> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
>> ---
>>  doc/guides/rel_notes/deprecation.rst |  7 +++++++
>>  lib/librte_mbuf/rte_mbuf.c           |  8 +++++++-
>>  lib/librte_mbuf/rte_mbuf.h           | 10 ++++++++++
>>  lib/librte_mbuf/rte_mbuf_version.map |  1 +
>>  4 files changed, 25 insertions(+), 1 deletion(-)
>>
>> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
>> index 13e8543..ec8018f 100644
>> --- a/doc/guides/rel_notes/deprecation.rst
>> +++ b/doc/guides/rel_notes/deprecation.rst
>> @@ -8,6 +8,13 @@ API and ABI deprecation notices are to be posted here.
>>  Deprecation Notices
>>  -------------------
>>
>> +* eal: a mbuf specific API was part of eal APIs. This is now being
>> +  moved to librte_mbuf to be with other similar APIs.
>> +  The following API is target to be deprecated on 18.05.
>> +
>> +  - ``rte_eal_mbuf_default_mempool_ops`` replaced by
>> +	``rte_mbuf_user_mempool_ops''
>> +
>
> I think, deprecation notice need to be in a separate 'doc" patch.

Yes. you are right.

<snip>..

>> +const char *
>> +rte_mbuf_user_mempool_ops(void)
>> +{
>> +	return internal_config.user_mbuf_pool_ops_name;
>> +}
>> +
>>  /* Return mbuf pool ops name */
>>  static const char *
>>  rte_mbuf_best_mempool_ops(void)
>>  {
>>  	/* User defined mempool ops takes the priority */
>> -	const char *best_ops = rte_eal_mbuf_default_mempool_ops();
>
> I think, we may need to remove the stale rte_eal_mbuf_default_mempool_ops() once
> it is replaced.

Do you mean that till the API is not deprecated, we shall keep the usage?
  
Jerin Jacob Jan. 15, 2018, 4:23 p.m. UTC | #3
-----Original Message-----
> Date: Mon, 15 Jan 2018 20:05:16 +0530
> From: Hemant Agrawal <hemant.agrawal@nxp.com>
> To: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> CC: dev@dpdk.org, olivier.matz@6wind.com, santosh.shukla@caviumnetworks.com
> Subject: Re: [PATCH v2 5/5] mbuf: add user command line config mempools ops
>  API
> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101
>  Thunderbird/45.8.0
> 
> On 1/15/2018 5:59 PM, Jerin Jacob wrote:
> > -----Original Message-----
> > > Date: Mon, 15 Jan 2018 11:41:14 +0530
> > > From: Hemant Agrawal <hemant.agrawal@nxp.com>
> 
> > > This patch add the user command line configured mempool ops name
> > > API to librte_mbuf and sends a deprecation notice to remove the
> > > similar API from eal.
> > > 
> > > Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
> > > ---
> > >  doc/guides/rel_notes/deprecation.rst |  7 +++++++
> > >  lib/librte_mbuf/rte_mbuf.c           |  8 +++++++-
> > >  lib/librte_mbuf/rte_mbuf.h           | 10 ++++++++++
> > >  lib/librte_mbuf/rte_mbuf_version.map |  1 +
> > >  4 files changed, 25 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> > > index 13e8543..ec8018f 100644
> > > --- a/doc/guides/rel_notes/deprecation.rst
> > > +++ b/doc/guides/rel_notes/deprecation.rst
> > > @@ -8,6 +8,13 @@ API and ABI deprecation notices are to be posted here.
> > >  Deprecation Notices
> > >  -------------------
> > > 
> > > +* eal: a mbuf specific API was part of eal APIs. This is now being
> > > +  moved to librte_mbuf to be with other similar APIs.
> > > +  The following API is target to be deprecated on 18.05.
> > > +
> > > +  - ``rte_eal_mbuf_default_mempool_ops`` replaced by
> > > +	``rte_mbuf_user_mempool_ops''
> > > +
> > 
> > I think, deprecation notice need to be in a separate 'doc" patch.
> 
> Yes. you are right.
> 
> <snip>..
> 
> > > +const char *
> > > +rte_mbuf_user_mempool_ops(void)
> > > +{
> > > +	return internal_config.user_mbuf_pool_ops_name;
> > > +}
> > > +
> > >  /* Return mbuf pool ops name */
> > >  static const char *
> > >  rte_mbuf_best_mempool_ops(void)
> > >  {
> > >  	/* User defined mempool ops takes the priority */
> > > -	const char *best_ops = rte_eal_mbuf_default_mempool_ops();
> > 
> > I think, we may need to remove the stale rte_eal_mbuf_default_mempool_ops() once
> > it is replaced.
> 
> Do you mean that till the API is not deprecated, we shall keep the usage?

Yes

>
  

Patch

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 13e8543..ec8018f 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -8,6 +8,13 @@  API and ABI deprecation notices are to be posted here.
 Deprecation Notices
 -------------------
 
+* eal: a mbuf specific API was part of eal APIs. This is now being
+  moved to librte_mbuf to be with other similar APIs.
+  The following API is target to be deprecated on 18.05.
+
+  - ``rte_eal_mbuf_default_mempool_ops`` replaced by
+	``rte_mbuf_user_mempool_ops''
+
 * eal: several API and ABI changes are planned for ``rte_devargs`` in v18.02.
   The format of device command line parameters will change. The bus will need
   to be explicitly stated in the device declaration. The enum ``rte_devtype``
diff --git a/lib/librte_mbuf/rte_mbuf.c b/lib/librte_mbuf/rte_mbuf.c
index 482676c..c587d3a 100644
--- a/lib/librte_mbuf/rte_mbuf.c
+++ b/lib/librte_mbuf/rte_mbuf.c
@@ -168,12 +168,18 @@  rte_mbuf_platform_mempool_ops(void)
 	return internal_config.plat_mbuf_pool_ops_name;
 }
 
+const char *
+rte_mbuf_user_mempool_ops(void)
+{
+	return internal_config.user_mbuf_pool_ops_name;
+}
+
 /* Return mbuf pool ops name */
 static const char *
 rte_mbuf_best_mempool_ops(void)
 {
 	/* User defined mempool ops takes the priority */
-	const char *best_ops = rte_eal_mbuf_default_mempool_ops();
+	const char *best_ops = rte_mbuf_user_mempool_ops();
 	if (best_ops)
 		return best_ops;
 
diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
index f958e3c..7feacc0 100644
--- a/lib/librte_mbuf/rte_mbuf.h
+++ b/lib/librte_mbuf/rte_mbuf.h
@@ -1143,6 +1143,16 @@  const char*
 rte_mbuf_platform_mempool_ops(void);
 
 /**
+ * Get user command line configured pool ops name for mbuf
+ *
+ * @return
+ *   returns user pool ops name.
+ */
+
+const char*
+rte_mbuf_user_mempool_ops(void);
+
+/**
  * Get the data room size of mbufs stored in a pktmbuf_pool
  *
  * The data room size is the amount of data that can be stored in a
diff --git a/lib/librte_mbuf/rte_mbuf_version.map b/lib/librte_mbuf/rte_mbuf_version.map
index 9b53502..d4af497 100644
--- a/lib/librte_mbuf/rte_mbuf_version.map
+++ b/lib/librte_mbuf/rte_mbuf_version.map
@@ -41,6 +41,7 @@  DPDK_18.02 {
 
 	rte_mbuf_platform_mempool_ops;
 	rte_mbuf_register_platform_mempool_ops;
+	rte_mbuf_user_mempool_ops;
 	rte_pktmbuf_pool_create_specific;
 
 } DPDK_16.11;