DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] eal: fix libabi macro for device generalization patches
@ 2016-10-26 12:38 Shreyansh Jain
  2016-10-26 13:00 ` [dpdk-dev] [PATCH v2] " Shreyansh Jain
  2016-10-26 13:02 ` [dpdk-dev] [PATCH] eal: fix libabi macro " Shreyansh Jain
  0 siblings, 2 replies; 15+ messages in thread
From: Shreyansh Jain @ 2016-10-26 12:38 UTC (permalink / raw)
  To: thomas.monjalon; +Cc: dev, Shreyansh Jain

rte_device/driver generalization patches [1] were merged without a change
in the LIBABIVER macro. This patches bumps the macro of affected libs.

Also, deprecation notice from 16.07 has been removed and release notes for
16.11 added.

[1] http://dpdk.org/ml/archives/dev/2016-September/047087.html

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
---
 doc/guides/rel_notes/deprecation.rst   | 12 ------------
 doc/guides/rel_notes/release_16_11.rst | 16 ++++++++++++++++
 lib/librte_cryptodev/Makefile          |  2 +-
 lib/librte_eal/bsdapp/eal/Makefile     |  2 +-
 lib/librte_eal/linuxapp/eal/Makefile   |  2 +-
 lib/librte_ether/Makefile              |  2 +-
 6 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index d5c1490..884a231 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -18,18 +18,6 @@ Deprecation Notices
   ``nb_seg_max`` and ``nb_mtu_seg_max`` providing information about number of
   segments limit to be transmitted by device for TSO/non-TSO packets.
 
-* The ethdev hotplug API is going to be moved to EAL with a notification
-  mechanism added to crypto and ethdev libraries so that hotplug is now
-  available to both of them. This API will be stripped of the device arguments
-  so that it only cares about hotplugging.
-
-* Structures embodying pci and vdev devices are going to be reworked to
-  integrate new common rte_device / rte_driver objects (see
-  http://dpdk.org/ml/archives/dev/2016-January/031390.html).
-  ethdev and crypto libraries will then only handle those objects so that they
-  do not need to care about the kind of devices that are being used, making it
-  easier to add new buses later.
-
 * ABI changes are planned for 16.11 in the ``rte_mbuf`` structure: some fields
   may be reordered to facilitate the writing of ``data_off``, ``refcnt``, and
   ``nb_segs`` in one operation, because some platforms have an overhead if the
diff --git a/doc/guides/rel_notes/release_16_11.rst b/doc/guides/rel_notes/release_16_11.rst
index 26cdd62..c3f3bd9 100644
--- a/doc/guides/rel_notes/release_16_11.rst
+++ b/doc/guides/rel_notes/release_16_11.rst
@@ -149,6 +149,22 @@ Resolved Issues
 EAL
 ~~~
 
+* **Improved device/driver heirarchy and generalized hotplugging**
+
+  Device and driver relationship has been restructured by introducing generic
+  classes. This paves way for having PCI, VDEV and other device types as
+  just instantiated objects rather than classes in themselves. Hotplugging too
+  has been generalized into EAL so that ethernet or cryptodevices can use the
+  common infrastructure.
+
+  * removed pmd_type as way of segragation of devices
+  * added rte_device class and all PCI and VDEV devices inherit from it
+  * renamed devinit/devuninit handlers to probe/remove to make it more
+    semantically correct with respect to device<=>driver relationship
+  * moved hotplugging support to EAL
+  * helpers and support macros have been renamed to make them more synonymous
+    with their device types (e.g. PMD_REGISTER_DRIVER => DRIVER_REGISTER_PCI)
+
 
 Drivers
 ~~~~~~~
diff --git a/lib/librte_cryptodev/Makefile b/lib/librte_cryptodev/Makefile
index 314a046..aebf5d9 100644
--- a/lib/librte_cryptodev/Makefile
+++ b/lib/librte_cryptodev/Makefile
@@ -34,7 +34,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_cryptodev.a
 
 # library version
-LIBABIVER := 1
+LIBABIVER := 2
 
 # build flags
 CFLAGS += -O3
diff --git a/lib/librte_eal/bsdapp/eal/Makefile b/lib/librte_eal/bsdapp/eal/Makefile
index a15b762..122798c 100644
--- a/lib/librte_eal/bsdapp/eal/Makefile
+++ b/lib/librte_eal/bsdapp/eal/Makefile
@@ -48,7 +48,7 @@ LDLIBS += -lgcc_s
 
 EXPORT_MAP := rte_eal_version.map
 
-LIBABIVER := 3
+LIBABIVER := 4
 
 # specific to bsdapp exec-env
 SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) := eal.c
diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile
index 4e206f0..4ad7c85 100644
--- a/lib/librte_eal/linuxapp/eal/Makefile
+++ b/lib/librte_eal/linuxapp/eal/Makefile
@@ -37,7 +37,7 @@ ARCH_DIR ?= $(RTE_ARCH)
 EXPORT_MAP := rte_eal_version.map
 VPATH += $(RTE_SDK)/lib/librte_eal/common/arch/$(ARCH_DIR)
 
-LIBABIVER := 3
+LIBABIVER := 4
 
 VPATH += $(RTE_SDK)/lib/librte_eal/common
 
diff --git a/lib/librte_ether/Makefile b/lib/librte_ether/Makefile
index 488b7c8..bc2e5f6 100644
--- a/lib/librte_ether/Makefile
+++ b/lib/librte_ether/Makefile
@@ -41,7 +41,7 @@ CFLAGS += $(WERROR_FLAGS)
 
 EXPORT_MAP := rte_ether_version.map
 
-LIBABIVER := 4
+LIBABIVER := 5
 
 SRCS-y += rte_ethdev.c
 
-- 
2.7.4

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

* [dpdk-dev] [PATCH v2] eal: fix libabi macro for device generalization patches
  2016-10-26 12:38 [dpdk-dev] [PATCH] eal: fix libabi macro for device generalization patches Shreyansh Jain
@ 2016-10-26 13:00 ` Shreyansh Jain
  2016-10-26 13:12   ` Shreyansh Jain
  2016-10-27  7:08   ` [dpdk-dev] [PATCH v3] " Shreyansh Jain
  2016-10-26 13:02 ` [dpdk-dev] [PATCH] eal: fix libabi macro " Shreyansh Jain
  1 sibling, 2 replies; 15+ messages in thread
From: Shreyansh Jain @ 2016-10-26 13:00 UTC (permalink / raw)
  To: thomas.monjalon; +Cc: dev, Shreyansh Jain

rte_device/driver generalization patches [1] were merged without a change
in the LIBABIVER macro. This patches bumps the macro of affected libs.

Also, deprecation notice from 16.07 has been removed and release notes for
16.11 added.

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
--
v2:
 - Mark bumped libraries in release_16_11.rst file
 - change code symbol names from text to code layout

---
 doc/guides/rel_notes/deprecation.rst   | 12 ------------
 doc/guides/rel_notes/release_16_11.rst | 21 +++++++++++++++++++--
 lib/librte_cryptodev/Makefile          |  2 +-
 lib/librte_eal/bsdapp/eal/Makefile     |  2 +-
 lib/librte_eal/linuxapp/eal/Makefile   |  2 +-
 lib/librte_ether/Makefile              |  2 +-
 6 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index d5c1490..884a231 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -18,18 +18,6 @@ Deprecation Notices
   ``nb_seg_max`` and ``nb_mtu_seg_max`` providing information about number of
   segments limit to be transmitted by device for TSO/non-TSO packets.
 
-* The ethdev hotplug API is going to be moved to EAL with a notification
-  mechanism added to crypto and ethdev libraries so that hotplug is now
-  available to both of them. This API will be stripped of the device arguments
-  so that it only cares about hotplugging.
-
-* Structures embodying pci and vdev devices are going to be reworked to
-  integrate new common rte_device / rte_driver objects (see
-  http://dpdk.org/ml/archives/dev/2016-January/031390.html).
-  ethdev and crypto libraries will then only handle those objects so that they
-  do not need to care about the kind of devices that are being used, making it
-  easier to add new buses later.
-
 * ABI changes are planned for 16.11 in the ``rte_mbuf`` structure: some fields
   may be reordered to facilitate the writing of ``data_off``, ``refcnt``, and
   ``nb_segs`` in one operation, because some platforms have an overhead if the
diff --git a/doc/guides/rel_notes/release_16_11.rst b/doc/guides/rel_notes/release_16_11.rst
index 26cdd62..2d5636c 100644
--- a/doc/guides/rel_notes/release_16_11.rst
+++ b/doc/guides/rel_notes/release_16_11.rst
@@ -149,6 +149,23 @@ Resolved Issues
 EAL
 ~~~
 
+* **Improved device/driver heirarchy and generalized hotplugging**
+
+  Device and driver relationship has been restructured by introducing generic
+  classes. This paves way for having PCI, VDEV and other device types as
+  just instantiated objects rather than classes in themselves. Hotplugging too
+  has been generalized into EAL so that ethernet or crypto devices can use the
+  common infrastructure.
+
+  * removed ``pmd_type`` as way of segragation of devices
+  * added ``rte_device`` class and all PCI and VDEV devices inherit from it
+  * renamed devinit/devuninit handlers to probe/remove to make it more
+    semantically correct with respect to device<=>driver relationship
+  * moved hotplugging support to EAL
+  * helpers and support macros have been renamed to make them more synonymous
+    with their device types
+    (e.g. ``PMD_REGISTER_DRIVER`` => ``DRIVER_REGISTER_PCI``)
+
 
 Drivers
 ~~~~~~~
@@ -232,11 +249,11 @@ The libraries prepended with a plus sign were incremented in this version.
 
 .. code-block:: diff
 
-     libethdev.so.4
+   + libethdev.so.4
      librte_acl.so.2
      librte_cfgfile.so.2
      librte_cmdline.so.2
-     librte_cryptodev.so.1
+   + librte_cryptodev.so.1
      librte_distributor.so.1
    + librte_eal.so.3
      librte_hash.so.2
diff --git a/lib/librte_cryptodev/Makefile b/lib/librte_cryptodev/Makefile
index 314a046..aebf5d9 100644
--- a/lib/librte_cryptodev/Makefile
+++ b/lib/librte_cryptodev/Makefile
@@ -34,7 +34,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_cryptodev.a
 
 # library version
-LIBABIVER := 1
+LIBABIVER := 2
 
 # build flags
 CFLAGS += -O3
diff --git a/lib/librte_eal/bsdapp/eal/Makefile b/lib/librte_eal/bsdapp/eal/Makefile
index a15b762..122798c 100644
--- a/lib/librte_eal/bsdapp/eal/Makefile
+++ b/lib/librte_eal/bsdapp/eal/Makefile
@@ -48,7 +48,7 @@ LDLIBS += -lgcc_s
 
 EXPORT_MAP := rte_eal_version.map
 
-LIBABIVER := 3
+LIBABIVER := 4
 
 # specific to bsdapp exec-env
 SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) := eal.c
diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile
index 4e206f0..4ad7c85 100644
--- a/lib/librte_eal/linuxapp/eal/Makefile
+++ b/lib/librte_eal/linuxapp/eal/Makefile
@@ -37,7 +37,7 @@ ARCH_DIR ?= $(RTE_ARCH)
 EXPORT_MAP := rte_eal_version.map
 VPATH += $(RTE_SDK)/lib/librte_eal/common/arch/$(ARCH_DIR)
 
-LIBABIVER := 3
+LIBABIVER := 4
 
 VPATH += $(RTE_SDK)/lib/librte_eal/common
 
diff --git a/lib/librte_ether/Makefile b/lib/librte_ether/Makefile
index 488b7c8..bc2e5f6 100644
--- a/lib/librte_ether/Makefile
+++ b/lib/librte_ether/Makefile
@@ -41,7 +41,7 @@ CFLAGS += $(WERROR_FLAGS)
 
 EXPORT_MAP := rte_ether_version.map
 
-LIBABIVER := 4
+LIBABIVER := 5
 
 SRCS-y += rte_ethdev.c
 
-- 
2.7.4

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

* Re: [dpdk-dev] [PATCH] eal: fix libabi macro for device generalization patches
  2016-10-26 12:38 [dpdk-dev] [PATCH] eal: fix libabi macro for device generalization patches Shreyansh Jain
  2016-10-26 13:00 ` [dpdk-dev] [PATCH v2] " Shreyansh Jain
@ 2016-10-26 13:02 ` Shreyansh Jain
  1 sibling, 0 replies; 15+ messages in thread
From: Shreyansh Jain @ 2016-10-26 13:02 UTC (permalink / raw)
  To: thomas.monjalon; +Cc: dev

On Wednesday 26 October 2016 06:08 PM, Shreyansh Jain wrote:
> rte_device/driver generalization patches [1] were merged without a change
> in the LIBABIVER macro. This patches bumps the macro of affected libs.
>
> Also, deprecation notice from 16.07 has been removed and release notes for
> 16.11 added.
>
> [1] http://dpdk.org/ml/archives/dev/2016-September/047087.html
>
> Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
> ---
>  doc/guides/rel_notes/deprecation.rst   | 12 ------------
>  doc/guides/rel_notes/release_16_11.rst | 16 ++++++++++++++++
>  lib/librte_cryptodev/Makefile          |  2 +-
>  lib/librte_eal/bsdapp/eal/Makefile     |  2 +-
>  lib/librte_eal/linuxapp/eal/Makefile   |  2 +-
>  lib/librte_ether/Makefile              |  2 +-
>  6 files changed, 20 insertions(+), 16 deletions(-)
>

Self-NACK.
missed updating the libraries impacted in the list of libraries.
Sent v2.

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

* Re: [dpdk-dev] [PATCH v2] eal: fix libabi macro for device generalization patches
  2016-10-26 13:00 ` [dpdk-dev] [PATCH v2] " Shreyansh Jain
@ 2016-10-26 13:12   ` Shreyansh Jain
  2016-10-26 14:25     ` Ferruh Yigit
  2016-10-27  7:08   ` [dpdk-dev] [PATCH v3] " Shreyansh Jain
  1 sibling, 1 reply; 15+ messages in thread
From: Shreyansh Jain @ 2016-10-26 13:12 UTC (permalink / raw)
  To: thomas.monjalon; +Cc: dev

On Wednesday 26 October 2016 06:30 PM, Shreyansh Jain wrote:
> rte_device/driver generalization patches [1] were merged without a change
> in the LIBABIVER macro. This patches bumps the macro of affected libs.
>
> Also, deprecation notice from 16.07 has been removed and release notes for
> 16.11 added.
>
> Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
> --
> v2:
>  - Mark bumped libraries in release_16_11.rst file
>  - change code symbol names from text to code layout
>
> ---
>  doc/guides/rel_notes/deprecation.rst   | 12 ------------
>  doc/guides/rel_notes/release_16_11.rst | 21 +++++++++++++++++++--
>  lib/librte_cryptodev/Makefile          |  2 +-
>  lib/librte_eal/bsdapp/eal/Makefile     |  2 +-
>  lib/librte_eal/linuxapp/eal/Makefile   |  2 +-
>  lib/librte_ether/Makefile              |  2 +-
>  6 files changed, 23 insertions(+), 18 deletions(-)
>
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index d5c1490..884a231 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -18,18 +18,6 @@ Deprecation Notices
>    ``nb_seg_max`` and ``nb_mtu_seg_max`` providing information about number of
>    segments limit to be transmitted by device for TSO/non-TSO packets.
>
> -* The ethdev hotplug API is going to be moved to EAL with a notification
> -  mechanism added to crypto and ethdev libraries so that hotplug is now
> -  available to both of them. This API will be stripped of the device arguments
> -  so that it only cares about hotplugging.
> -
> -* Structures embodying pci and vdev devices are going to be reworked to
> -  integrate new common rte_device / rte_driver objects (see
> -  http://dpdk.org/ml/archives/dev/2016-January/031390.html).
> -  ethdev and crypto libraries will then only handle those objects so that they
> -  do not need to care about the kind of devices that are being used, making it
> -  easier to add new buses later.
> -
>  * ABI changes are planned for 16.11 in the ``rte_mbuf`` structure: some fields
>    may be reordered to facilitate the writing of ``data_off``, ``refcnt``, and
>    ``nb_segs`` in one operation, because some platforms have an overhead if the
> diff --git a/doc/guides/rel_notes/release_16_11.rst b/doc/guides/rel_notes/release_16_11.rst
> index 26cdd62..2d5636c 100644
> --- a/doc/guides/rel_notes/release_16_11.rst
> +++ b/doc/guides/rel_notes/release_16_11.rst
> @@ -149,6 +149,23 @@ Resolved Issues
>  EAL
>  ~~~
>
> +* **Improved device/driver heirarchy and generalized hotplugging**
> +
> +  Device and driver relationship has been restructured by introducing generic
> +  classes. This paves way for having PCI, VDEV and other device types as
> +  just instantiated objects rather than classes in themselves. Hotplugging too
> +  has been generalized into EAL so that ethernet or crypto devices can use the
> +  common infrastructure.
> +
> +  * removed ``pmd_type`` as way of segragation of devices
> +  * added ``rte_device`` class and all PCI and VDEV devices inherit from it
> +  * renamed devinit/devuninit handlers to probe/remove to make it more
> +    semantically correct with respect to device<=>driver relationship
> +  * moved hotplugging support to EAL
> +  * helpers and support macros have been renamed to make them more synonymous
> +    with their device types
> +    (e.g. ``PMD_REGISTER_DRIVER`` => ``DRIVER_REGISTER_PCI``)
> +
>
>  Drivers
>  ~~~~~~~
> @@ -232,11 +249,11 @@ The libraries prepended with a plus sign were incremented in this version.
>
>  .. code-block:: diff
>
> -     libethdev.so.4
> +   + libethdev.so.4

Just noticed:
Should the '4' here reflect the current LIBABIVER number?
If so, I will send this patch again.

>       librte_acl.so.2
>       librte_cfgfile.so.2
>       librte_cmdline.so.2
> -     librte_cryptodev.so.1
> +   + librte_cryptodev.so.1
>       librte_distributor.so.1
>     + librte_eal.so.3
>       librte_hash.so.2
> diff --git a/lib/librte_cryptodev/Makefile b/lib/librte_cryptodev/Makefile
> index 314a046..aebf5d9 100644
> --- a/lib/librte_cryptodev/Makefile
> +++ b/lib/librte_cryptodev/Makefile
> @@ -34,7 +34,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
>  LIB = librte_cryptodev.a
>
>  # library version
> -LIBABIVER := 1
> +LIBABIVER := 2
>
>  # build flags
>  CFLAGS += -O3
> diff --git a/lib/librte_eal/bsdapp/eal/Makefile b/lib/librte_eal/bsdapp/eal/Makefile
> index a15b762..122798c 100644
> --- a/lib/librte_eal/bsdapp/eal/Makefile
> +++ b/lib/librte_eal/bsdapp/eal/Makefile
> @@ -48,7 +48,7 @@ LDLIBS += -lgcc_s
>
>  EXPORT_MAP := rte_eal_version.map
>
> -LIBABIVER := 3
> +LIBABIVER := 4
>
>  # specific to bsdapp exec-env
>  SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) := eal.c
> diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile
> index 4e206f0..4ad7c85 100644
> --- a/lib/librte_eal/linuxapp/eal/Makefile
> +++ b/lib/librte_eal/linuxapp/eal/Makefile
> @@ -37,7 +37,7 @@ ARCH_DIR ?= $(RTE_ARCH)
>  EXPORT_MAP := rte_eal_version.map
>  VPATH += $(RTE_SDK)/lib/librte_eal/common/arch/$(ARCH_DIR)
>
> -LIBABIVER := 3
> +LIBABIVER := 4
>
>  VPATH += $(RTE_SDK)/lib/librte_eal/common
>
> diff --git a/lib/librte_ether/Makefile b/lib/librte_ether/Makefile
> index 488b7c8..bc2e5f6 100644
> --- a/lib/librte_ether/Makefile
> +++ b/lib/librte_ether/Makefile
> @@ -41,7 +41,7 @@ CFLAGS += $(WERROR_FLAGS)
>
>  EXPORT_MAP := rte_ether_version.map
>
> -LIBABIVER := 4
> +LIBABIVER := 5
>
>  SRCS-y += rte_ethdev.c
>
>

Sorry for repeated versions.

-
Shreyansh

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

* Re: [dpdk-dev] [PATCH v2] eal: fix libabi macro for device generalization patches
  2016-10-26 13:12   ` Shreyansh Jain
@ 2016-10-26 14:25     ` Ferruh Yigit
  2016-10-26 15:23       ` Thomas Monjalon
  2016-10-27  5:06       ` Shreyansh Jain
  0 siblings, 2 replies; 15+ messages in thread
From: Ferruh Yigit @ 2016-10-26 14:25 UTC (permalink / raw)
  To: Shreyansh Jain, thomas.monjalon; +Cc: dev

Hi Shreyansh,

On 10/26/2016 2:12 PM, Shreyansh Jain wrote:
> On Wednesday 26 October 2016 06:30 PM, Shreyansh Jain wrote:
>> rte_device/driver generalization patches [1] were merged without a change
>> in the LIBABIVER macro. This patches bumps the macro of affected libs.
>>
>> Also, deprecation notice from 16.07 has been removed and release notes for
>> 16.11 added.
>>
>> Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
>> --
>> v2:
>>  - Mark bumped libraries in release_16_11.rst file
>>  - change code symbol names from text to code layout
>>
>> ---

<...>

>>  .. code-block:: diff
>>
>> -     libethdev.so.4
>> +   + libethdev.so.4
> 
> Just noticed:
> Should the '4' here reflect the current LIBABIVER number?
> If so, I will send this patch again.

Yes, as you guessed, it should be:
-     libethdev.so.4
+   + libethdev.so.5

<...>

>> diff --git a/lib/librte_eal/bsdapp/eal/Makefile b/lib/librte_eal/bsdapp/eal/Makefile
>> index a15b762..122798c 100644
>> --- a/lib/librte_eal/bsdapp/eal/Makefile
>> +++ b/lib/librte_eal/bsdapp/eal/Makefile
>> @@ -48,7 +48,7 @@ LDLIBS += -lgcc_s
>>
>>  EXPORT_MAP := rte_eal_version.map
>>
>> -LIBABIVER := 3
>> +LIBABIVER := 4

eal version seems already increased for this release, 2 => 3, in:
d7e61ad3ae36 ("log: remove deprecated history dump")

So NO need to increase it again, sorry for late notice, I just
recognized it.
Only librte_ether and librte_cryptodev requires the increase.

<...>

Thanks,
ferruh

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

* Re: [dpdk-dev] [PATCH v2] eal: fix libabi macro for device generalization patches
  2016-10-26 14:25     ` Ferruh Yigit
@ 2016-10-26 15:23       ` Thomas Monjalon
  2016-10-27  5:07         ` Shreyansh Jain
  2016-10-27  5:06       ` Shreyansh Jain
  1 sibling, 1 reply; 15+ messages in thread
From: Thomas Monjalon @ 2016-10-26 15:23 UTC (permalink / raw)
  To: Ferruh Yigit, Shreyansh Jain; +Cc: dev

2016-10-26 15:25, Ferruh Yigit:
> eal version seems already increased for this release, 2 => 3, in:
> d7e61ad3ae36 ("log: remove deprecated history dump")

Yes thanks.

> So NO need to increase it again, sorry for late notice, I just
> recognized it.
> Only librte_ether and librte_cryptodev requires the increase.

Please could you also explain in the commit message that:
- EAL was already bumped
- what is the breakage in ethdev
- what is the breakage in cryptodev

Thanks

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

* Re: [dpdk-dev] [PATCH v2] eal: fix libabi macro for device generalization patches
  2016-10-26 14:25     ` Ferruh Yigit
  2016-10-26 15:23       ` Thomas Monjalon
@ 2016-10-27  5:06       ` Shreyansh Jain
  1 sibling, 0 replies; 15+ messages in thread
From: Shreyansh Jain @ 2016-10-27  5:06 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: dev, thomas.monjalon

Hello Ferruh,

On Wednesday 26 October 2016 07:55 PM, Ferruh Yigit wrote:
> Hi Shreyansh,
>
> On 10/26/2016 2:12 PM, Shreyansh Jain wrote:
>> On Wednesday 26 October 2016 06:30 PM, Shreyansh Jain wrote:
>>> rte_device/driver generalization patches [1] were merged without a change
>>> in the LIBABIVER macro. This patches bumps the macro of affected libs.
>>>
>>> Also, deprecation notice from 16.07 has been removed and release notes for
>>> 16.11 added.
>>>
>>> Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
>>> --
>>> v2:
>>>  - Mark bumped libraries in release_16_11.rst file
>>>  - change code symbol names from text to code layout
>>>
>>> ---
>
> <...>
>
>>>  .. code-block:: diff
>>>
>>> -     libethdev.so.4
>>> +   + libethdev.so.4
>>
>> Just noticed:
>> Should the '4' here reflect the current LIBABIVER number?
>> If so, I will send this patch again.
>
> Yes, as you guessed, it should be:
> -     libethdev.so.4
> +   + libethdev.so.5
>
> <...>
>
>>> diff --git a/lib/librte_eal/bsdapp/eal/Makefile b/lib/librte_eal/bsdapp/eal/Makefile
>>> index a15b762..122798c 100644
>>> --- a/lib/librte_eal/bsdapp/eal/Makefile
>>> +++ b/lib/librte_eal/bsdapp/eal/Makefile
>>> @@ -48,7 +48,7 @@ LDLIBS += -lgcc_s
>>>
>>>  EXPORT_MAP := rte_eal_version.map
>>>
>>> -LIBABIVER := 3
>>> +LIBABIVER := 4
>
> eal version seems already increased for this release, 2 => 3, in:
> d7e61ad3ae36 ("log: remove deprecated history dump")
>
> So NO need to increase it again, sorry for late notice, I just
> recognized it.
> Only librte_ether and librte_cryptodev requires the increase.

Thanks for clearing this.
I will bump librte_ether and librte_cryptodev and send across v3.

>
> <...>
>
> Thanks,
> ferruh
>
>

The LIBABI check script is really helpful. I wish I had run that for 
rte_driver/device patchset. Thanks for that info, though.

-
Shreyansh

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

* Re: [dpdk-dev] [PATCH v2] eal: fix libabi macro for device generalization patches
  2016-10-26 15:23       ` Thomas Monjalon
@ 2016-10-27  5:07         ` Shreyansh Jain
  0 siblings, 0 replies; 15+ messages in thread
From: Shreyansh Jain @ 2016-10-27  5:07 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, Ferruh Yigit

On Wednesday 26 October 2016 08:53 PM, Thomas Monjalon wrote:
> 2016-10-26 15:25, Ferruh Yigit:
>> eal version seems already increased for this release, 2 => 3, in:
>> d7e61ad3ae36 ("log: remove deprecated history dump")
>
> Yes thanks.
>
>> So NO need to increase it again, sorry for late notice, I just
>> recognized it.
>> Only librte_ether and librte_cryptodev requires the increase.
>
> Please could you also explain in the commit message that:
> - EAL was already bumped
> - what is the breakage in ethdev
> - what is the breakage in cryptodev

Indeed. Will do in v3

>
> Thanks
>

-
Shreyansh

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

* [dpdk-dev] [PATCH v3] eal: fix libabi macro for device generalization patches
  2016-10-26 13:00 ` [dpdk-dev] [PATCH v2] " Shreyansh Jain
  2016-10-26 13:12   ` Shreyansh Jain
@ 2016-10-27  7:08   ` Shreyansh Jain
  2016-10-27 10:15     ` Thomas Monjalon
  2016-10-27 11:29     ` [dpdk-dev] [PATCH v4] eal: fix lib version " Shreyansh Jain
  1 sibling, 2 replies; 15+ messages in thread
From: Shreyansh Jain @ 2016-10-27  7:08 UTC (permalink / raw)
  To: thomas.monjalon; +Cc: dev, Shreyansh Jain, ferruh.yigit

rte_device/driver generalization patches [1] were merged without a change
in the LIBABIVER macro. This patches bumps the macro of affected libs.
(librte_eal was already bumped; libcryptodev and libetherdev have been
bumped).

Details of ABI/API changes:
- EAL (version not bumped)
  |- type field was removed from rte_driver
  |- rte_pci_device now embeds rte_device
  |- rte_pci_resource renamed to rte_mem_resource
  |- numa_node and devargs of rte_pci_driver is moved to rte_driver
  |- APIs for device hotplug (attach/detach) moved into EAL
  |- API rte_eal_pci_device_name added for PCI device naming
  |- vdev registration API introduced (rte_eal_vdrv_register,
  |  rte_eal_vdrv_unregister

- librte_crypto (v 1=>2)
  |- removed rte_cryptodev_create_unique_device_name API
  |- moved device naming to EAL

- librte_ethdev (v 4=>5)
  |- rte_eth_dev_type is removed
  |- removed dev_type from rte_eth_dev_allocate API
  |- removed API rte_eth_dev_get_device_type
  |- removed API rte_eth_dev_get_addr_by_port
  |- removed API rte_eth_dev_get_port_by_addr
  |- removed rte_cryptodev_create_unique_device_name API
  |- moved device naming to EAL

Also, deprecation notice from 16.07 has been removed and release notes for
16.11 added.

[1] http://dpdk.org/ml/archives/dev/2016-September/047087.html

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
--
v3:
 - add API/ABI change info in commit log
 - fix library version change notification in release note
 - fix erroneous change to librte_eal version in v2
---
 doc/guides/rel_notes/deprecation.rst   | 12 ------------
 doc/guides/rel_notes/release_16_11.rst | 30 ++++++++++++++++++++++++++++--
 lib/librte_cryptodev/Makefile          |  2 +-
 lib/librte_ether/Makefile              |  2 +-
 4 files changed, 30 insertions(+), 16 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index d5c1490..884a231 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -18,18 +18,6 @@ Deprecation Notices
   ``nb_seg_max`` and ``nb_mtu_seg_max`` providing information about number of
   segments limit to be transmitted by device for TSO/non-TSO packets.
 
-* The ethdev hotplug API is going to be moved to EAL with a notification
-  mechanism added to crypto and ethdev libraries so that hotplug is now
-  available to both of them. This API will be stripped of the device arguments
-  so that it only cares about hotplugging.
-
-* Structures embodying pci and vdev devices are going to be reworked to
-  integrate new common rte_device / rte_driver objects (see
-  http://dpdk.org/ml/archives/dev/2016-January/031390.html).
-  ethdev and crypto libraries will then only handle those objects so that they
-  do not need to care about the kind of devices that are being used, making it
-  easier to add new buses later.
-
 * ABI changes are planned for 16.11 in the ``rte_mbuf`` structure: some fields
   may be reordered to facilitate the writing of ``data_off``, ``refcnt``, and
   ``nb_segs`` in one operation, because some platforms have an overhead if the
diff --git a/doc/guides/rel_notes/release_16_11.rst b/doc/guides/rel_notes/release_16_11.rst
index aa0c09a..5a5485b 100644
--- a/doc/guides/rel_notes/release_16_11.rst
+++ b/doc/guides/rel_notes/release_16_11.rst
@@ -149,6 +149,32 @@ Resolved Issues
 EAL
 ~~~
 
+* **Improved device/driver heirarchy and generalized hotplugging**
+
+  Device and driver relationship has been restructured by introducing generic
+  classes. This paves way for having PCI, VDEV and other device types as
+  just instantiated objects rather than classes in themselves. Hotplugging too
+  has been generalized into EAL so that ethernet or crypto devices can use the
+  common infrastructure.
+
+  * removed ``pmd_type`` as way of segragation of devices
+  * moved ``numa_node`` and ``devargs`` into ``rte_driver`` from
+    ``rte_pci_driver``. These can now be used by any instantiated object of
+    ``rte_driver``.
+  * added ``rte_device`` class and all PCI and VDEV devices inherit from it
+  * renamed devinit/devuninit handlers to probe/remove to make it more
+    semantically correct with respect to device<=>driver relationship
+  * moved hotplugging support to EAL. Hereafter, PCI and vdev can use the
+    APIs ``rte_eal_dev_attach`` and ``rte_eal_dev_detach``.
+  * helpers and support macros have been renamed to make them more synonymous
+    with their device types
+    (e.g. ``PMD_REGISTER_DRIVER`` => ``DRIVER_REGISTER_PCI``)
+  * Device naming functions have been generalized from ethdev and cryptodev
+    to EAL. ``rte_eal_pci_device_name`` has been introduced for obtaining
+    unique device name from PCI Domain-BDF description.
+  * Virtual device registration APIs have been added: ``rte_eal_vdrv_register``
+    and ``rte_eal_vdrv_unregister``.
+
 
 Drivers
 ~~~~~~~
@@ -232,11 +258,11 @@ The libraries prepended with a plus sign were incremented in this version.
 
 .. code-block:: diff
 
-     libethdev.so.4
+   + libethdev.so.5
      librte_acl.so.2
      librte_cfgfile.so.2
      librte_cmdline.so.2
-     librte_cryptodev.so.1
+   + librte_cryptodev.so.2
      librte_distributor.so.1
    + librte_eal.so.3
      librte_hash.so.2
diff --git a/lib/librte_cryptodev/Makefile b/lib/librte_cryptodev/Makefile
index 314a046..aebf5d9 100644
--- a/lib/librte_cryptodev/Makefile
+++ b/lib/librte_cryptodev/Makefile
@@ -34,7 +34,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_cryptodev.a
 
 # library version
-LIBABIVER := 1
+LIBABIVER := 2
 
 # build flags
 CFLAGS += -O3
diff --git a/lib/librte_ether/Makefile b/lib/librte_ether/Makefile
index 488b7c8..bc2e5f6 100644
--- a/lib/librte_ether/Makefile
+++ b/lib/librte_ether/Makefile
@@ -41,7 +41,7 @@ CFLAGS += $(WERROR_FLAGS)
 
 EXPORT_MAP := rte_ether_version.map
 
-LIBABIVER := 4
+LIBABIVER := 5
 
 SRCS-y += rte_ethdev.c
 
-- 
2.7.4

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

* Re: [dpdk-dev] [PATCH v3] eal: fix libabi macro for device generalization patches
  2016-10-27  7:08   ` [dpdk-dev] [PATCH v3] " Shreyansh Jain
@ 2016-10-27 10:15     ` Thomas Monjalon
  2016-10-27 11:10       ` Shreyansh Jain
  2016-10-27 11:29     ` [dpdk-dev] [PATCH v4] eal: fix lib version " Shreyansh Jain
  1 sibling, 1 reply; 15+ messages in thread
From: Thomas Monjalon @ 2016-10-27 10:15 UTC (permalink / raw)
  To: Shreyansh Jain; +Cc: dev, ferruh.yigit

2016-10-27 12:38, Shreyansh Jain:
> rte_device/driver generalization patches [1] were merged without a change
> in the LIBABIVER macro. This patches bumps the macro of affected libs.

It is not a macro but a Makefile variable.

> (librte_eal was already bumped; libcryptodev and libetherdev have been
> bumped).

Please provide the commit id where EAL was bumped.

> Details of ABI/API changes:
> - EAL (version not bumped)

not bumped -> already bumped

>   |- type field was removed from rte_driver
>   |- rte_pci_device now embeds rte_device
>   |- rte_pci_resource renamed to rte_mem_resource
>   |- numa_node and devargs of rte_pci_driver is moved to rte_driver
>   |- APIs for device hotplug (attach/detach) moved into EAL
>   |- API rte_eal_pci_device_name added for PCI device naming
>   |- vdev registration API introduced (rte_eal_vdrv_register,
>   |  rte_eal_vdrv_unregister
> 
> - librte_crypto (v 1=>2)
>   |- removed rte_cryptodev_create_unique_device_name API
>   |- moved device naming to EAL
> 
> - librte_ethdev (v 4=>5)
>   |- rte_eth_dev_type is removed
>   |- removed dev_type from rte_eth_dev_allocate API
>   |- removed API rte_eth_dev_get_device_type
>   |- removed API rte_eth_dev_get_addr_by_port
>   |- removed API rte_eth_dev_get_port_by_addr
>   |- removed rte_cryptodev_create_unique_device_name API
>   |- moved device naming to EAL
> 
> Also, deprecation notice from 16.07 has been removed and release notes for
> 16.11 added.
> 
> [1] http://dpdk.org/ml/archives/dev/2016-September/047087.html
> 
> Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
[...]
> --- a/doc/guides/rel_notes/release_16_11.rst
> +++ b/doc/guides/rel_notes/release_16_11.rst
> @@ -149,6 +149,32 @@ Resolved Issues

It is the "Resolved Issues" section.
Please move in the "API Changes" section.

>  EAL
>  ~~~
>  
> +* **Improved device/driver heirarchy and generalized hotplugging**

typo: hierarchy

> +  Device and driver relationship has been restructured by introducing generic
> +  classes. This paves way for having PCI, VDEV and other device types as
> +  just instantiated objects rather than classes in themselves. Hotplugging too
> +  has been generalized into EAL so that ethernet or crypto devices can use the
> +  common infrastructure.
> +
> +  * removed ``pmd_type`` as way of segragation of devices
> +  * moved ``numa_node`` and ``devargs`` into ``rte_driver`` from
> +    ``rte_pci_driver``. These can now be used by any instantiated object of
> +    ``rte_driver``.
> +  * added ``rte_device`` class and all PCI and VDEV devices inherit from it
> +  * renamed devinit/devuninit handlers to probe/remove to make it more
> +    semantically correct with respect to device<=>driver relationship
> +  * moved hotplugging support to EAL. Hereafter, PCI and vdev can use the
> +    APIs ``rte_eal_dev_attach`` and ``rte_eal_dev_detach``.
> +  * helpers and support macros have been renamed to make them more synonymous
> +    with their device types
> +    (e.g. ``PMD_REGISTER_DRIVER`` => ``DRIVER_REGISTER_PCI``)

It is RTE_PMD_REGISTER_PCI

> +  * Device naming functions have been generalized from ethdev and cryptodev
> +    to EAL. ``rte_eal_pci_device_name`` has been introduced for obtaining
> +    unique device name from PCI Domain-BDF description.
> +  * Virtual device registration APIs have been added: ``rte_eal_vdrv_register``
> +    and ``rte_eal_vdrv_unregister``.

Thanks

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

* Re: [dpdk-dev] [PATCH v3] eal: fix libabi macro for device generalization patches
  2016-10-27 10:15     ` Thomas Monjalon
@ 2016-10-27 11:10       ` Shreyansh Jain
  0 siblings, 0 replies; 15+ messages in thread
From: Shreyansh Jain @ 2016-10-27 11:10 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, ferruh.yigit

Hello Thomas,

On Thursday 27 October 2016 03:45 PM, Thomas Monjalon wrote:
> 2016-10-27 12:38, Shreyansh Jain:
>> rte_device/driver generalization patches [1] were merged without a change
>> in the LIBABIVER macro. This patches bumps the macro of affected libs.
>
> It is not a macro but a Makefile variable.

Yes, I will change that.

>
>> (librte_eal was already bumped; libcryptodev and libetherdev have been
>> bumped).
>
> Please provide the commit id where EAL was bumped.

Ok. Will do.

>
>> Details of ABI/API changes:
>> - EAL (version not bumped)
>
> not bumped -> already bumped

Ok.

>
>>   |- type field was removed from rte_driver
>>   |- rte_pci_device now embeds rte_device
>>   |- rte_pci_resource renamed to rte_mem_resource
>>   |- numa_node and devargs of rte_pci_driver is moved to rte_driver
>>   |- APIs for device hotplug (attach/detach) moved into EAL
>>   |- API rte_eal_pci_device_name added for PCI device naming
>>   |- vdev registration API introduced (rte_eal_vdrv_register,
>>   |  rte_eal_vdrv_unregister
>>
>> - librte_crypto (v 1=>2)
>>   |- removed rte_cryptodev_create_unique_device_name API
>>   |- moved device naming to EAL
>>
>> - librte_ethdev (v 4=>5)
>>   |- rte_eth_dev_type is removed
>>   |- removed dev_type from rte_eth_dev_allocate API
>>   |- removed API rte_eth_dev_get_device_type
>>   |- removed API rte_eth_dev_get_addr_by_port
>>   |- removed API rte_eth_dev_get_port_by_addr
>>   |- removed rte_cryptodev_create_unique_device_name API
>>   |- moved device naming to EAL
>>
>> Also, deprecation notice from 16.07 has been removed and release notes for
>> 16.11 added.
>>
>> [1] http://dpdk.org/ml/archives/dev/2016-September/047087.html
>>
>> Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
> [...]
>> --- a/doc/guides/rel_notes/release_16_11.rst
>> +++ b/doc/guides/rel_notes/release_16_11.rst
>> @@ -149,6 +149,32 @@ Resolved Issues
>
> It is the "Resolved Issues" section.
> Please move in the "API Changes" section.

Ok.

>
>>  EAL
>>  ~~~
>>
>> +* **Improved device/driver heirarchy and generalized hotplugging**
>
> typo: hierarchy

Yes.

>
>> +  Device and driver relationship has been restructured by introducing generic
>> +  classes. This paves way for having PCI, VDEV and other device types as
>> +  just instantiated objects rather than classes in themselves. Hotplugging too
>> +  has been generalized into EAL so that ethernet or crypto devices can use the
>> +  common infrastructure.
>> +
>> +  * removed ``pmd_type`` as way of segragation of devices
>> +  * moved ``numa_node`` and ``devargs`` into ``rte_driver`` from
>> +    ``rte_pci_driver``. These can now be used by any instantiated object of
>> +    ``rte_driver``.
>> +  * added ``rte_device`` class and all PCI and VDEV devices inherit from it
>> +  * renamed devinit/devuninit handlers to probe/remove to make it more
>> +    semantically correct with respect to device<=>driver relationship
>> +  * moved hotplugging support to EAL. Hereafter, PCI and vdev can use the
>> +    APIs ``rte_eal_dev_attach`` and ``rte_eal_dev_detach``.
>> +  * helpers and support macros have been renamed to make them more synonymous
>> +    with their device types
>> +    (e.g. ``PMD_REGISTER_DRIVER`` => ``DRIVER_REGISTER_PCI``)
>
> It is RTE_PMD_REGISTER_PCI

It seems my Friday is earlier than usual :(
I was the one who changed it and I completely forgot about it.

>
>> +  * Device naming functions have been generalized from ethdev and cryptodev
>> +    to EAL. ``rte_eal_pci_device_name`` has been introduced for obtaining
>> +    unique device name from PCI Domain-BDF description.
>> +  * Virtual device registration APIs have been added: ``rte_eal_vdrv_register``
>> +    and ``rte_eal_vdrv_unregister``.
>
> Thanks
>

I am sending v4 soon.

-
Shreyansh

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

* [dpdk-dev] [PATCH v4] eal: fix lib version for device generalization patches
  2016-10-27  7:08   ` [dpdk-dev] [PATCH v3] " Shreyansh Jain
  2016-10-27 10:15     ` Thomas Monjalon
@ 2016-10-27 11:29     ` Shreyansh Jain
  2016-10-27 11:32       ` Shreyansh Jain
  2016-11-06 17:51       ` Thomas Monjalon
  1 sibling, 2 replies; 15+ messages in thread
From: Shreyansh Jain @ 2016-10-27 11:29 UTC (permalink / raw)
  To: thomas.monjalon; +Cc: dev, Shreyansh Jain, ferruh.yigit

rte_device/driver generalization patches [1] were merged without a change
in the LIBABIVER variable. This patches bumps the macro of affected libs:

- libcryptodev and libetherdev have been bumped
- librte_eal version changed in
  d7e61ad3ae36 ("log: remove deprecated history dump")

Details of ABI/API changes:
- EAL [version already bumped in: d7e61ad3ae36]
  |- type field was removed from rte_driver
  |- rte_pci_device now embeds rte_device
  |- rte_pci_resource renamed to rte_mem_resource
  |- numa_node and devargs of rte_pci_driver is moved to rte_driver
  |- APIs for device hotplug (attach/detach) moved into EAL
  |- API rte_eal_pci_device_name added for PCI device naming
  |- vdev registration API introduced (rte_eal_vdrv_register,
  |  rte_eal_vdrv_unregister

- librte_crypto (v 1=>2)
  |- removed rte_cryptodev_create_unique_device_name API
  |- moved device naming to EAL

- librte_ethdev (v 4=>5)
  |- rte_eth_dev_type is removed
  |- removed dev_type from rte_eth_dev_allocate API
  |- removed API rte_eth_dev_get_device_type
  |- removed API rte_eth_dev_get_addr_by_port
  |- removed API rte_eth_dev_get_port_by_addr
  |- removed rte_cryptodev_create_unique_device_name API
  |- moved device naming to EAL

Also, deprecation notice from 16.07 has been removed and release notes for
16.11 added.

[1] http://dpdk.org/ml/archives/dev/2016-September/047087.html

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
--
v4:
 - fix spelling mistakes and incorrect symbol name in doc
 - reword commit log for EAL modification commit id

v3:
 - add API/ABI change info in commit log
 - fix library version change notification in release note
 - fix erroneous change to librte_eal version in v2
---
 doc/guides/rel_notes/deprecation.rst   | 12 ------------
 doc/guides/rel_notes/release_16_11.rst | 30 ++++++++++++++++++++++++++++--
 lib/librte_cryptodev/Makefile          |  2 +-
 lib/librte_ether/Makefile              |  2 +-
 4 files changed, 30 insertions(+), 16 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index d5c1490..884a231 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -18,18 +18,6 @@ Deprecation Notices
   ``nb_seg_max`` and ``nb_mtu_seg_max`` providing information about number of
   segments limit to be transmitted by device for TSO/non-TSO packets.
 
-* The ethdev hotplug API is going to be moved to EAL with a notification
-  mechanism added to crypto and ethdev libraries so that hotplug is now
-  available to both of them. This API will be stripped of the device arguments
-  so that it only cares about hotplugging.
-
-* Structures embodying pci and vdev devices are going to be reworked to
-  integrate new common rte_device / rte_driver objects (see
-  http://dpdk.org/ml/archives/dev/2016-January/031390.html).
-  ethdev and crypto libraries will then only handle those objects so that they
-  do not need to care about the kind of devices that are being used, making it
-  easier to add new buses later.
-
 * ABI changes are planned for 16.11 in the ``rte_mbuf`` structure: some fields
   may be reordered to facilitate the writing of ``data_off``, ``refcnt``, and
   ``nb_segs`` in one operation, because some platforms have an overhead if the
diff --git a/doc/guides/rel_notes/release_16_11.rst b/doc/guides/rel_notes/release_16_11.rst
index aa0c09a..db20567 100644
--- a/doc/guides/rel_notes/release_16_11.rst
+++ b/doc/guides/rel_notes/release_16_11.rst
@@ -201,6 +201,32 @@ API Changes
 * The ``file_name`` data type of ``struct rte_port_source_params`` and
   ``struct rte_port_sink_params`` is changed from `char *`` to ``const char *``.
 
+* **Improved device/driver hierarchy and generalized hotplugging**
+
+  Device and driver relationship has been restructured by introducing generic
+  classes. This paves way for having PCI, VDEV and other device types as
+  just instantiated objects rather than classes in themselves. Hotplugging too
+  has been generalized into EAL so that ethernet or crypto devices can use the
+  common infrastructure.
+
+  * removed ``pmd_type`` as way of segregation of devices
+  * moved ``numa_node`` and ``devargs`` into ``rte_driver`` from
+    ``rte_pci_driver``. These can now be used by any instantiated object of
+    ``rte_driver``.
+  * added ``rte_device`` class and all PCI and VDEV devices inherit from it
+  * renamed devinit/devuninit handlers to probe/remove to make it more
+    semantically correct with respect to device<=>driver relationship
+  * moved hotplugging support to EAL. Hereafter, PCI and vdev can use the
+    APIs ``rte_eal_dev_attach`` and ``rte_eal_dev_detach``.
+  * helpers and support macros have been renamed to make them more synonymous
+    with their device types
+    (e.g. ``PMD_REGISTER_DRIVER`` => ``RTE_PMD_REGISTER_PCI``)
+  * Device naming functions have been generalized from ethdev and cryptodev
+    to EAL. ``rte_eal_pci_device_name`` has been introduced for obtaining
+    unique device name from PCI Domain-BDF description.
+  * Virtual device registration APIs have been added: ``rte_eal_vdrv_register``
+    and ``rte_eal_vdrv_unregister``.
+
 
 ABI Changes
 -----------
@@ -232,11 +258,11 @@ The libraries prepended with a plus sign were incremented in this version.
 
 .. code-block:: diff
 
-     libethdev.so.4
+   + libethdev.so.5
      librte_acl.so.2
      librte_cfgfile.so.2
      librte_cmdline.so.2
-     librte_cryptodev.so.1
+   + librte_cryptodev.so.2
      librte_distributor.so.1
    + librte_eal.so.3
      librte_hash.so.2
diff --git a/lib/librte_cryptodev/Makefile b/lib/librte_cryptodev/Makefile
index 314a046..aebf5d9 100644
--- a/lib/librte_cryptodev/Makefile
+++ b/lib/librte_cryptodev/Makefile
@@ -34,7 +34,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_cryptodev.a
 
 # library version
-LIBABIVER := 1
+LIBABIVER := 2
 
 # build flags
 CFLAGS += -O3
diff --git a/lib/librte_ether/Makefile b/lib/librte_ether/Makefile
index 488b7c8..bc2e5f6 100644
--- a/lib/librte_ether/Makefile
+++ b/lib/librte_ether/Makefile
@@ -41,7 +41,7 @@ CFLAGS += $(WERROR_FLAGS)
 
 EXPORT_MAP := rte_ether_version.map
 
-LIBABIVER := 4
+LIBABIVER := 5
 
 SRCS-y += rte_ethdev.c
 
-- 
2.7.4

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

* Re: [dpdk-dev] [PATCH v4] eal: fix lib version for device generalization patches
  2016-10-27 11:29     ` [dpdk-dev] [PATCH v4] eal: fix lib version " Shreyansh Jain
@ 2016-10-27 11:32       ` Shreyansh Jain
  2016-10-27 12:16         ` Thomas Monjalon
  2016-11-06 17:51       ` Thomas Monjalon
  1 sibling, 1 reply; 15+ messages in thread
From: Shreyansh Jain @ 2016-10-27 11:32 UTC (permalink / raw)
  To: thomas.monjalon; +Cc: dev, ferruh.yigit

On Thursday 27 October 2016 04:59 PM, Shreyansh Jain wrote:
> index aa0c09a..db20567 100644
> --- a/doc/guides/rel_notes/release_16_11.rst
> +++ b/doc/guides/rel_notes/release_16_11.rst
> @@ -201,6 +201,32 @@ API Changes
>  * The ``file_name`` data type of ``struct rte_port_source_params`` and
>    ``struct rte_port_sink_params`` is changed from `char *`` to ``const char *``.
>
> +* **Improved device/driver hierarchy and generalized hotplugging**
> +
> +  Device and driver relationship has been restructured by introducing generic
> +  classes. This paves way for having PCI, VDEV and other device types as
> +  just instantiated objects rather than classes in themselves. Hotplugging too
> +  has been generalized into EAL so that ethernet or crypto devices can use the
> +  common infrastructure.
> +
> +  * removed ``pmd_type`` as way of segregation of devices
> +  * moved ``numa_node`` and ``devargs`` into ``rte_driver`` from
> +    ``rte_pci_driver``. These can now be used by any instantiated object of
> +    ``rte_driver``.
> +  * added ``rte_device`` class and all PCI and VDEV devices inherit from it
> +  * renamed devinit/devuninit handlers to probe/remove to make it more
> +    semantically correct with respect to device<=>driver relationship
> +  * moved hotplugging support to EAL. Hereafter, PCI and vdev can use the
> +    APIs ``rte_eal_dev_attach`` and ``rte_eal_dev_detach``.
> +  * helpers and support macros have been renamed to make them more synonymous
> +    with their device types
> +    (e.g. ``PMD_REGISTER_DRIVER`` => ``RTE_PMD_REGISTER_PCI``)
> +  * Device naming functions have been generalized from ethdev and cryptodev
> +    to EAL. ``rte_eal_pci_device_name`` has been introduced for obtaining
> +    unique device name from PCI Domain-BDF description.
> +  * Virtual device registration APIs have been added: ``rte_eal_vdrv_register``
> +    and ``rte_eal_vdrv_unregister``.
> +
>
>  ABI Changes
>  -----------

Even though I have sent the v4, there is another possibility of 
splitting this log across API and ABI changes.
Problem is that most of the changes are quite related in terms of impact 
on ABI and API. (some like rte_device is clear enough, though).
Any suggestions? Would repetitions be OK in release notes?

-
Shreyansh

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

* Re: [dpdk-dev] [PATCH v4] eal: fix lib version for device generalization patches
  2016-10-27 11:32       ` Shreyansh Jain
@ 2016-10-27 12:16         ` Thomas Monjalon
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Monjalon @ 2016-10-27 12:16 UTC (permalink / raw)
  To: Shreyansh Jain; +Cc: dev, ferruh.yigit

2016-10-27 17:02, Shreyansh Jain:
> Even though I have sent the v4, there is another possibility of 
> splitting this log across API and ABI changes.
> Problem is that most of the changes are quite related in terms of impact 
> on ABI and API. (some like rte_device is clear enough, though).
> Any suggestions? Would repetitions be OK in release notes?

In general, API change implies ABI change.
I think we must use the "ABI changes" section for cases where API is not changed.
No need of repeating in both sections.

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

* Re: [dpdk-dev] [PATCH v4] eal: fix lib version for device generalization patches
  2016-10-27 11:29     ` [dpdk-dev] [PATCH v4] eal: fix lib version " Shreyansh Jain
  2016-10-27 11:32       ` Shreyansh Jain
@ 2016-11-06 17:51       ` Thomas Monjalon
  1 sibling, 0 replies; 15+ messages in thread
From: Thomas Monjalon @ 2016-11-06 17:51 UTC (permalink / raw)
  To: Shreyansh Jain; +Cc: dev, david.marchand, ferruh.yigit

2016-10-27 16:59, Shreyansh Jain:
> rte_device/driver generalization patches [1] were merged without a change
> in the LIBABIVER variable. This patches bumps the macro of affected libs:
> 
> - libcryptodev and libetherdev have been bumped
> - librte_eal version changed in
>   d7e61ad3ae36 ("log: remove deprecated history dump")

Applied, thanks

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

end of thread, other threads:[~2016-11-06 17:51 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-26 12:38 [dpdk-dev] [PATCH] eal: fix libabi macro for device generalization patches Shreyansh Jain
2016-10-26 13:00 ` [dpdk-dev] [PATCH v2] " Shreyansh Jain
2016-10-26 13:12   ` Shreyansh Jain
2016-10-26 14:25     ` Ferruh Yigit
2016-10-26 15:23       ` Thomas Monjalon
2016-10-27  5:07         ` Shreyansh Jain
2016-10-27  5:06       ` Shreyansh Jain
2016-10-27  7:08   ` [dpdk-dev] [PATCH v3] " Shreyansh Jain
2016-10-27 10:15     ` Thomas Monjalon
2016-10-27 11:10       ` Shreyansh Jain
2016-10-27 11:29     ` [dpdk-dev] [PATCH v4] eal: fix lib version " Shreyansh Jain
2016-10-27 11:32       ` Shreyansh Jain
2016-10-27 12:16         ` Thomas Monjalon
2016-11-06 17:51       ` Thomas Monjalon
2016-10-26 13:02 ` [dpdk-dev] [PATCH] eal: fix libabi macro " Shreyansh Jain

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).