[dpdk-dev] [PATCH v2] eal: fix libabi macro for device generalization patches
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
[dpdk-dev] [PATCH v2] eal: fix libabi macro for device generalization patches
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 >>> -- >>> 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
[dpdk-dev] [PATCH v2] eal: fix libabi macro for device generalization patches
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 > -- > 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) >
[dpdk-dev] [PATCH v2] eal: fix libabi macro for device generalization patches
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 -- 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
[dpdk-dev] [PATCH v2] eal: fix libabi macro for device generalization patches
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 >> -- >> 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