mbox series

[v6,0/5] eal: simplify devargs and hotplug functions

Message ID 20181007093244.20659-1-thomas@monjalon.net (mailing list archive)
Headers
Series eal: simplify devargs and hotplug functions |

Message

Thomas Monjalon Oct. 7, 2018, 9:32 a.m. UTC
  This is a follow-up of an idea presented at Dublin
during the "hotplug talk".

Instead of changing the existing hotplug functions, as in the RFC,
some new experimental functions are added.
The old functions lose their experimental status in order to provide
a non-experimental replacement for deprecated attach/detach functions.

It has been discussed briefly in the latest technical board meeting.


Changes in v6 - after Gaetan's review:
  - bump ABI version of all buses (because of rte_device change)
  - unroll snprintf loop in rte_eal_hotplug_add

Changes in v5:
  - rte_devargs_remove is fixed in case of null devargs (patch 2)
  - a pointer to the bus is added in rte_device (patch 3)
  - rte_dev_remove is fixed in case of no devargs (patch 5)

Changes in v4 - after Andrew's review:
  - add API changes in release notes (patches 1 & 2)
  - fix memory leak in rte_eal_hotplug_add (patch 4)

Change in v3:
  - fix null dereferencing in error path (patch 2)


Thomas Monjalon (5):
  devargs: remove deprecated functions
  devargs: simplify parameters of removal function
  eal: add bus pointer in device structure
  eal: remove experimental flag of hotplug functions
  eal: simplify parameters of hotplug functions

 doc/guides/rel_notes/release_18_11.rst      | 23 ++++--
 drivers/bus/dpaa/Makefile                   |  2 +-
 drivers/bus/dpaa/dpaa_bus.c                 |  2 +
 drivers/bus/dpaa/meson.build                |  2 +
 drivers/bus/fslmc/Makefile                  |  2 +-
 drivers/bus/fslmc/fslmc_bus.c               |  2 +
 drivers/bus/fslmc/meson.build               |  2 +
 drivers/bus/ifpga/Makefile                  |  2 +-
 drivers/bus/ifpga/ifpga_bus.c               |  6 +-
 drivers/bus/ifpga/meson.build               |  2 +
 drivers/bus/pci/Makefile                    |  2 +-
 drivers/bus/pci/bsd/pci.c                   |  2 +
 drivers/bus/pci/linux/pci.c                 |  1 +
 drivers/bus/pci/meson.build                 |  2 +
 drivers/bus/pci/private.h                   |  2 +
 drivers/bus/vdev/Makefile                   |  2 +-
 drivers/bus/vdev/meson.build                |  2 +
 drivers/bus/vdev/vdev.c                     |  9 +--
 drivers/bus/vmbus/Makefile                  |  2 +-
 drivers/bus/vmbus/linux/vmbus_bus.c         |  1 +
 drivers/bus/vmbus/meson.build               |  2 +
 drivers/bus/vmbus/private.h                 |  3 +
 drivers/net/failsafe/failsafe_eal.c         |  3 +-
 drivers/net/failsafe/failsafe_ether.c       |  3 +-
 lib/librte_eal/common/eal_common_dev.c      | 90 +++++++++++++--------
 lib/librte_eal/common/eal_common_devargs.c  | 41 ++--------
 lib/librte_eal/common/include/rte_dev.h     | 36 +++++++--
 lib/librte_eal/common/include/rte_devargs.h | 81 +------------------
 lib/librte_eal/rte_eal_version.map          | 10 +--
 29 files changed, 155 insertions(+), 184 deletions(-)
  

Comments

Stephen Hemminger Oct. 8, 2018, 9:45 p.m. UTC | #1
On Sun,  7 Oct 2018 11:32:39 +0200
Thomas Monjalon <thomas@monjalon.net> wrote:

> This is a follow-up of an idea presented at Dublin
> during the "hotplug talk".
> 
> Instead of changing the existing hotplug functions, as in the RFC,
> some new experimental functions are added.
> The old functions lose their experimental status in order to provide
> a non-experimental replacement for deprecated attach/detach functions.
> 
> It has been discussed briefly in the latest technical board meeting.
> 
> 
> Changes in v6 - after Gaetan's review:
>   - bump ABI version of all buses (because of rte_device change)
>   - unroll snprintf loop in rte_eal_hotplug_add
> 
> Changes in v5:
>   - rte_devargs_remove is fixed in case of null devargs (patch 2)
>   - a pointer to the bus is added in rte_device (patch 3)
>   - rte_dev_remove is fixed in case of no devargs (patch 5)
> 
> Changes in v4 - after Andrew's review:
>   - add API changes in release notes (patches 1 & 2)
>   - fix memory leak in rte_eal_hotplug_add (patch 4)
> 
> Change in v3:
>   - fix null dereferencing in error path (patch 2)
> 
> 
> Thomas Monjalon (5):
>   devargs: remove deprecated functions
>   devargs: simplify parameters of removal function
>   eal: add bus pointer in device structure
>   eal: remove experimental flag of hotplug functions
>   eal: simplify parameters of hotplug functions
> 
>  doc/guides/rel_notes/release_18_11.rst      | 23 ++++--
>  drivers/bus/dpaa/Makefile                   |  2 +-
>  drivers/bus/dpaa/dpaa_bus.c                 |  2 +
>  drivers/bus/dpaa/meson.build                |  2 +
>  drivers/bus/fslmc/Makefile                  |  2 +-
>  drivers/bus/fslmc/fslmc_bus.c               |  2 +
>  drivers/bus/fslmc/meson.build               |  2 +
>  drivers/bus/ifpga/Makefile                  |  2 +-
>  drivers/bus/ifpga/ifpga_bus.c               |  6 +-
>  drivers/bus/ifpga/meson.build               |  2 +
>  drivers/bus/pci/Makefile                    |  2 +-
>  drivers/bus/pci/bsd/pci.c                   |  2 +
>  drivers/bus/pci/linux/pci.c                 |  1 +
>  drivers/bus/pci/meson.build                 |  2 +
>  drivers/bus/pci/private.h                   |  2 +
>  drivers/bus/vdev/Makefile                   |  2 +-
>  drivers/bus/vdev/meson.build                |  2 +
>  drivers/bus/vdev/vdev.c                     |  9 +--
>  drivers/bus/vmbus/Makefile                  |  2 +-
>  drivers/bus/vmbus/linux/vmbus_bus.c         |  1 +
>  drivers/bus/vmbus/meson.build               |  2 +
>  drivers/bus/vmbus/private.h                 |  3 +
>  drivers/net/failsafe/failsafe_eal.c         |  3 +-
>  drivers/net/failsafe/failsafe_ether.c       |  3 +-
>  lib/librte_eal/common/eal_common_dev.c      | 90 +++++++++++++--------
>  lib/librte_eal/common/eal_common_devargs.c  | 41 ++--------
>  lib/librte_eal/common/include/rte_dev.h     | 36 +++++++--
>  lib/librte_eal/common/include/rte_devargs.h | 81 +------------------
>  lib/librte_eal/rte_eal_version.map          | 10 +--
>  29 files changed, 155 insertions(+), 184 deletions(-)
> 

I like these changes.

Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>


I noticed there is only minimal places that devargs appear in the documentation.
The relationship between whitelist and devargs is not obvious for new users.


The one place is in the documentation of the documentation! So you want to pull
rte_eth_dev_attach from documentation.rst.
  
Thomas Monjalon Oct. 11, 2018, 12:10 p.m. UTC | #2
08/10/2018 23:45, Stephen Hemminger:
> On Sun,  7 Oct 2018 11:32:39 +0200
> Thomas Monjalon <thomas@monjalon.net> wrote:
> 
> > This is a follow-up of an idea presented at Dublin
> > during the "hotplug talk".
> > 
> > Instead of changing the existing hotplug functions, as in the RFC,
> > some new experimental functions are added.
> > The old functions lose their experimental status in order to provide
> > a non-experimental replacement for deprecated attach/detach functions.
> > 
> > It has been discussed briefly in the latest technical board meeting.
> > 
> > 
> > Changes in v6 - after Gaetan's review:
> >   - bump ABI version of all buses (because of rte_device change)
> >   - unroll snprintf loop in rte_eal_hotplug_add
> > 
> > Changes in v5:
> >   - rte_devargs_remove is fixed in case of null devargs (patch 2)
> >   - a pointer to the bus is added in rte_device (patch 3)
> >   - rte_dev_remove is fixed in case of no devargs (patch 5)
> > 
> > Changes in v4 - after Andrew's review:
> >   - add API changes in release notes (patches 1 & 2)
> >   - fix memory leak in rte_eal_hotplug_add (patch 4)
> > 
> > Change in v3:
> >   - fix null dereferencing in error path (patch 2)
> > 
> > 
> > Thomas Monjalon (5):
> >   devargs: remove deprecated functions
> >   devargs: simplify parameters of removal function
> >   eal: add bus pointer in device structure
> >   eal: remove experimental flag of hotplug functions
> >   eal: simplify parameters of hotplug functions
> 
> I like these changes.
> 
> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>

Applied