[dpdk-dev,v2] eal: fix libabi macro for device generalization patches
Commit Message
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(-)
Comments
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
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
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
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
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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -41,7 +41,7 @@ CFLAGS += $(WERROR_FLAGS)
EXPORT_MAP := rte_ether_version.map
-LIBABIVER := 4
+LIBABIVER := 5
SRCS-y += rte_ethdev.c