All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] devargs changes / deprecation notice
@ 2017-07-09  9:28 Jan Blunck
  2017-07-09  9:28 ` [PATCH 1/2] eal: internalize devargs parsing Jan Blunck
  2017-07-09  9:28 ` [PATCH 2/2] eal: deprecate 17.08 devargs API/ABI Jan Blunck
  0 siblings, 2 replies; 9+ messages in thread
From: Jan Blunck @ 2017-07-09  9:28 UTC (permalink / raw)
  To: dev

Since rte_devargs API will change again for 17.11 I'll add a deprecation notice
now to be able to get the change into the next release.

Jan Blunck (2):
  eal: internalize devargs parsing
  eal: deprecate 17.08 devargs API/ABI

 doc/guides/rel_notes/deprecation.rst            |  9 ++++++++-
 lib/librte_eal/bsdapp/eal/rte_eal_version.map   |  1 -
 lib/librte_eal/common/eal_common_devargs.c      |  2 +-
 lib/librte_eal/common/include/rte_devargs.h     | 20 --------------------
 lib/librte_eal/linuxapp/eal/rte_eal_version.map |  1 -
 5 files changed, 9 insertions(+), 24 deletions(-)

--
2.11.0 (Apple Git-81)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/2] eal: internalize devargs parsing
  2017-07-09  9:28 [PATCH 0/2] devargs changes / deprecation notice Jan Blunck
@ 2017-07-09  9:28 ` Jan Blunck
  2017-07-09 10:28   ` Thomas Monjalon
  2017-07-09  9:28 ` [PATCH 2/2] eal: deprecate 17.08 devargs API/ABI Jan Blunck
  1 sibling, 1 reply; 9+ messages in thread
From: Jan Blunck @ 2017-07-09  9:28 UTC (permalink / raw)
  To: dev

This is going to get cleaned up in future releases so lets not expose
this API unnecessarily.

Signed-off-by: Jan Blunck <jblunck@infradead.org>
---
 doc/guides/rel_notes/deprecation.rst            |  2 +-
 lib/librte_eal/bsdapp/eal/rte_eal_version.map   |  1 -
 lib/librte_eal/common/eal_common_devargs.c      |  2 +-
 lib/librte_eal/common/include/rte_devargs.h     | 20 --------------------
 lib/librte_eal/linuxapp/eal/rte_eal_version.map |  1 -
 5 files changed, 2 insertions(+), 24 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 257dcba32..33e8b93db 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -63,4 +63,4 @@ Deprecation Notices
 * eal: the following function is deprecated starting from 17.08 and will
   be removed in 17.11:
 
-  - ``rte_eal_parse_devargs_str``, replaced by ``rte_eal_devargs_parse``
+  - ``rte_eal_parse_devargs_str``
diff --git a/lib/librte_eal/bsdapp/eal/rte_eal_version.map b/lib/librte_eal/bsdapp/eal/rte_eal_version.map
index 381f895cd..0295ea948 100644
--- a/lib/librte_eal/bsdapp/eal/rte_eal_version.map
+++ b/lib/librte_eal/bsdapp/eal/rte_eal_version.map
@@ -206,7 +206,6 @@ DPDK_17.08 {
 EXPERIMENTAL {
 	global:
 
-	rte_eal_devargs_parse;
 	rte_eal_hotplug_add;
 	rte_eal_hotplug_remove;
 
diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c
index 49d43a328..40b6ced82 100644
--- a/lib/librte_eal/common/eal_common_devargs.c
+++ b/lib/librte_eal/common/eal_common_devargs.c
@@ -83,7 +83,7 @@ bus_name_cmp(const struct rte_bus *bus, const void *name)
 	return strncmp(bus->name, name, strlen(bus->name));
 }
 
-int
+static int
 rte_eal_devargs_parse(const char *dev, struct rte_devargs *da)
 {
 	struct rte_bus *bus = NULL;
diff --git a/lib/librte_eal/common/include/rte_devargs.h b/lib/librte_eal/common/include/rte_devargs.h
index a0427cd8a..a5c4a4ae5 100644
--- a/lib/librte_eal/common/include/rte_devargs.h
+++ b/lib/librte_eal/common/include/rte_devargs.h
@@ -119,26 +119,6 @@ int rte_eal_parse_devargs_str(const char *devargs_str,
 				char **drvname, char **drvargs);
 
 /**
- * Parse a device string.
- *
- * Verify that a bus is capable of handling the device passed
- * in argument. Store which bus will handle the device, its name
- * and the eventual device parameters.
- *
- * @param dev
- *   The device declaration string.
- * @param da
- *   The devargs structure holding the device information.
- *
- * @return
- *   - 0 on success.
- *   - Negative errno on error.
- */
-int
-rte_eal_devargs_parse(const char *dev,
-		      struct rte_devargs *da);
-
-/**
  * Add a device to the user device list
  *
  * For PCI devices, the format of arguments string is "PCI_ADDR" or
diff --git a/lib/librte_eal/linuxapp/eal/rte_eal_version.map b/lib/librte_eal/linuxapp/eal/rte_eal_version.map
index 0f9e009b6..a118fb160 100644
--- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map
+++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map
@@ -211,7 +211,6 @@ DPDK_17.08 {
 EXPERIMENTAL {
 	global:
 
-	rte_eal_devargs_parse;
 	rte_eal_hotplug_add;
 	rte_eal_hotplug_remove;
 
-- 
2.11.0 (Apple Git-81)

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/2] eal: deprecate 17.08 devargs API/ABI
  2017-07-09  9:28 [PATCH 0/2] devargs changes / deprecation notice Jan Blunck
  2017-07-09  9:28 ` [PATCH 1/2] eal: internalize devargs parsing Jan Blunck
@ 2017-07-09  9:28 ` Jan Blunck
  2017-07-09 12:25   ` Shreyansh Jain
  2017-08-07 23:03   ` Thomas Monjalon
  1 sibling, 2 replies; 9+ messages in thread
From: Jan Blunck @ 2017-07-09  9:28 UTC (permalink / raw)
  To: dev

Add deprecation notice necessary to do devargs refactoring for 17.11.

Signed-off-by: Jan Blunck <jblunck@infradead.org>
---
 doc/guides/rel_notes/deprecation.rst | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 33e8b93db..5b6ed0444 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -64,3 +64,10 @@ Deprecation Notices
   be removed in 17.11:
 
   - ``rte_eal_parse_devargs_str``
+
+* devargs: An ABI change is planned for 17.11 for the structure ``rte_devargs``.
+  The newly introduced devargs ABI in 17.08 is tightly couple to the bus
+  implementations which will get fixed in 17.11. The following function is
+  deprecated and will change API in 17.11:
+
+  - ``rte_eal_devargs_add``
-- 
2.11.0 (Apple Git-81)

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/2] eal: internalize devargs parsing
  2017-07-09  9:28 ` [PATCH 1/2] eal: internalize devargs parsing Jan Blunck
@ 2017-07-09 10:28   ` Thomas Monjalon
  2017-07-09 10:46     ` Jan Blunck
  0 siblings, 1 reply; 9+ messages in thread
From: Thomas Monjalon @ 2017-07-09 10:28 UTC (permalink / raw)
  To: Jan Blunck; +Cc: dev

09/07/2017 11:28, Jan Blunck:
> This is going to get cleaned up in future releases so lets not expose
> this API unnecessarily.
> 
> Signed-off-by: Jan Blunck <jblunck@infradead.org>
> ---
> --- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map
> +++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map
> @@ -211,7 +211,6 @@ DPDK_17.08 {
>  EXPERIMENTAL {
>  	global:
>  
> -	rte_eal_devargs_parse;
>  	rte_eal_hotplug_add;
>  	rte_eal_hotplug_remove;

We need to expose it temporarily as experimental in order to let
the failsafe driver calling it.
When reworked in 17.11, this function or an equivalent should allow
failsafe (and maybe bonding) to parse slave declaration.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/2] eal: internalize devargs parsing
  2017-07-09 10:28   ` Thomas Monjalon
@ 2017-07-09 10:46     ` Jan Blunck
  2017-07-09 10:56       ` Jan Blunck
  0 siblings, 1 reply; 9+ messages in thread
From: Jan Blunck @ 2017-07-09 10:46 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev

On Sun, Jul 9, 2017 at 6:28 AM, Thomas Monjalon <thomas@monjalon.net> wrote:
> 09/07/2017 11:28, Jan Blunck:
>> This is going to get cleaned up in future releases so lets not expose
>> this API unnecessarily.
>>
>> Signed-off-by: Jan Blunck <jblunck@infradead.org>
>> ---
>> --- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map
>> +++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map
>> @@ -211,7 +211,6 @@ DPDK_17.08 {
>>  EXPERIMENTAL {
>>       global:
>>
>> -     rte_eal_devargs_parse;
>>       rte_eal_hotplug_add;
>>       rte_eal_hotplug_remove;
>
> We need to expose it temporarily as experimental in order to let
> the failsafe driver calling it.
> When reworked in 17.11, this function or an equivalent should allow
> failsafe (and maybe bonding) to parse slave declaration.

There is no need for the failsafe PMD to parse it to a rte_devargs
because it can just pass the string to the hotplug API.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/2] eal: internalize devargs parsing
  2017-07-09 10:46     ` Jan Blunck
@ 2017-07-09 10:56       ` Jan Blunck
  2017-07-09 11:23         ` Gaëtan Rivet
  0 siblings, 1 reply; 9+ messages in thread
From: Jan Blunck @ 2017-07-09 10:56 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev

On Sun, Jul 9, 2017 at 6:46 AM, Jan Blunck <jblunck@infradead.org> wrote:
> On Sun, Jul 9, 2017 at 6:28 AM, Thomas Monjalon <thomas@monjalon.net> wrote:
>> 09/07/2017 11:28, Jan Blunck:
>>> This is going to get cleaned up in future releases so lets not expose
>>> this API unnecessarily.
>>>
>>> Signed-off-by: Jan Blunck <jblunck@infradead.org>
>>> ---
>>> --- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map
>>> +++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map
>>> @@ -211,7 +211,6 @@ DPDK_17.08 {
>>>  EXPERIMENTAL {
>>>       global:
>>>
>>> -     rte_eal_devargs_parse;
>>>       rte_eal_hotplug_add;
>>>       rte_eal_hotplug_remove;
>>
>> We need to expose it temporarily as experimental in order to let
>> the failsafe driver calling it.
>> When reworked in 17.11, this function or an equivalent should allow
>> failsafe (and maybe bonding) to parse slave declaration.
>
> There is no need for the failsafe PMD to parse it to a rte_devargs
> because it can just pass the string to the hotplug API.

Just in case it isn't clear enough: the failsafe PMD is using the
rte_devargs structure to get the bus name. The bus name is explicitly
given in the hotplug API. There is really no need to deal with
rte_devargs here.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/2] eal: internalize devargs parsing
  2017-07-09 10:56       ` Jan Blunck
@ 2017-07-09 11:23         ` Gaëtan Rivet
  0 siblings, 0 replies; 9+ messages in thread
From: Gaëtan Rivet @ 2017-07-09 11:23 UTC (permalink / raw)
  To: Jan Blunck; +Cc: Thomas Monjalon, dev

On Sun, Jul 09, 2017 at 06:56:25AM -0400, Jan Blunck wrote:
> On Sun, Jul 9, 2017 at 6:46 AM, Jan Blunck <jblunck@infradead.org> wrote:
> > On Sun, Jul 9, 2017 at 6:28 AM, Thomas Monjalon <thomas@monjalon.net> wrote:
> >> 09/07/2017 11:28, Jan Blunck:
> >>> This is going to get cleaned up in future releases so lets not expose
> >>> this API unnecessarily.
> >>>
> >>> Signed-off-by: Jan Blunck <jblunck@infradead.org>
> >>> ---
> >>> --- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map
> >>> +++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map
> >>> @@ -211,7 +211,6 @@ DPDK_17.08 {
> >>>  EXPERIMENTAL {
> >>>       global:
> >>>
> >>> -     rte_eal_devargs_parse;
> >>>       rte_eal_hotplug_add;
> >>>       rte_eal_hotplug_remove;
> >>
> >> We need to expose it temporarily as experimental in order to let
> >> the failsafe driver calling it.
> >> When reworked in 17.11, this function or an equivalent should allow
> >> failsafe (and maybe bonding) to parse slave declaration.
> >
> > There is no need for the failsafe PMD to parse it to a rte_devargs
> > because it can just pass the string to the hotplug API.
> 
> Just in case it isn't clear enough: the failsafe PMD is using the
> rte_devargs structure to get the bus name. The bus name is explicitly
> given in the hotplug API. There is really no need to deal with
> rte_devargs here.

The fail-safe PMD uses the rte_devargs parsing helper to find the
bus name from a device argument handled to it.

As you point out, the bus name is explicitly given in the hotplug API.
In order to be able to explicitly give the bus name, the caller has to
know it. This is done by parsing devargs and using the result.

-- 
Gaëtan Rivet
6WIND

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/2] eal: deprecate 17.08 devargs API/ABI
  2017-07-09  9:28 ` [PATCH 2/2] eal: deprecate 17.08 devargs API/ABI Jan Blunck
@ 2017-07-09 12:25   ` Shreyansh Jain
  2017-08-07 23:03   ` Thomas Monjalon
  1 sibling, 0 replies; 9+ messages in thread
From: Shreyansh Jain @ 2017-07-09 12:25 UTC (permalink / raw)
  To: Jan Blunck; +Cc: dev

On 7/9/2017 2:58 PM, Jan Blunck wrote:
> Add deprecation notice necessary to do devargs refactoring for 17.11.
>
> Signed-off-by: Jan Blunck <jblunck@infradead.org>
> ---
>  doc/guides/rel_notes/deprecation.rst | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index 33e8b93db..5b6ed0444 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -64,3 +64,10 @@ Deprecation Notices
>    be removed in 17.11:
>
>    - ``rte_eal_parse_devargs_str``
> +
> +* devargs: An ABI change is planned for 17.11 for the structure ``rte_devargs``.
> +  The newly introduced devargs ABI in 17.08 is tightly couple to the bus
                                                           ^^^^^^^
Trivial comment:                                          coupled

> +  implementations which will get fixed in 17.11. The following function is
> +  deprecated and will change API in 17.11:
> +
> +  - ``rte_eal_devargs_add``
>


-- 
-
Shreyansh

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/2] eal: deprecate 17.08 devargs API/ABI
  2017-07-09  9:28 ` [PATCH 2/2] eal: deprecate 17.08 devargs API/ABI Jan Blunck
  2017-07-09 12:25   ` Shreyansh Jain
@ 2017-08-07 23:03   ` Thomas Monjalon
  1 sibling, 0 replies; 9+ messages in thread
From: Thomas Monjalon @ 2017-08-07 23:03 UTC (permalink / raw)
  To: Jan Blunck; +Cc: dev

09/07/2017 11:28, Jan Blunck:
> Add deprecation notice necessary to do devargs refactoring for 17.11.
> 
> Signed-off-by: Jan Blunck <jblunck@infradead.org>
> ---
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> +* devargs: An ABI change is planned for 17.11 for the structure ``rte_devargs``.
> +  The newly introduced devargs ABI in 17.08 is tightly couple to the bus
> +  implementations which will get fixed in 17.11. The following function is
> +  deprecated and will change API in 17.11:
> +
> +  - ``rte_eal_devargs_add``

This deprecation notice is superseded by:
	http://dpdk.org/dev/patchwork/patch/27443/

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2017-08-07 23:03 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-09  9:28 [PATCH 0/2] devargs changes / deprecation notice Jan Blunck
2017-07-09  9:28 ` [PATCH 1/2] eal: internalize devargs parsing Jan Blunck
2017-07-09 10:28   ` Thomas Monjalon
2017-07-09 10:46     ` Jan Blunck
2017-07-09 10:56       ` Jan Blunck
2017-07-09 11:23         ` Gaëtan Rivet
2017-07-09  9:28 ` [PATCH 2/2] eal: deprecate 17.08 devargs API/ABI Jan Blunck
2017-07-09 12:25   ` Shreyansh Jain
2017-08-07 23:03   ` Thomas Monjalon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.