[v3] service: fix parameter type

Message ID 1550226554-147562-1-git-send-email-nikhil.rao@intel.com
State Superseded, archived
Delegated to: Thomas Monjalon
Headers show
Series
  • [v3] service: fix parameter type
Related show

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS
ci/checkpatch success coding style OK

Commit Message

Rao, Nikhil Feb. 15, 2019, 10:29 a.m.
The type of value parameter to rte_service_attr_get
should be uint64_t *, since the attributes
are of type uint64_t.

Fixes: 4d55194d76a4 ("service: add attribute get function")

Reviewed-by: Gage Eads <gage.eads@intel.com>
Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
---
 lib/librte_eal/common/include/rte_service.h | 2 +-
 lib/librte_eal/common/rte_service.c         | 2 +-
 test/test/test_service_cores.c              | 2 +-
 doc/guides/rel_notes/deprecation.rst        | 4 ----
 doc/guides/rel_notes/release_19_05.rst      | 5 ++++-
 lib/librte_eal/bsdapp/eal/Makefile          | 2 +-
 lib/librte_eal/linuxapp/eal/Makefile        | 2 +-
 lib/librte_eal/meson.build                  | 2 +-
 8 files changed, 10 insertions(+), 11 deletions(-)

v2: 
* Update release notes.
* Update library version in makefiles.

v3:
* Remove deprecation notice.

Comments

Rami Rosen Feb. 18, 2019, 8:27 p.m. | #1
Reviewed-by: Rami Rosen <ramirose@gmail.com>

On Fri, Feb 15, 2019 at 12:29 PM Nikhil Rao <nikhil.rao@intel.com> wrote:

> The type of value parameter to rte_service_attr_get
> should be uint64_t *, since the attributes
> are of type uint64_t.
>
> Fixes: 4d55194d76a4 ("service: add attribute get function")
>
> Reviewed-by: Gage Eads <gage.eads@intel.com>
> Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
> Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
> ---
>  lib/librte_eal/common/include/rte_service.h | 2 +-
>  lib/librte_eal/common/rte_service.c         | 2 +-
>  test/test/test_service_cores.c              | 2 +-
>  doc/guides/rel_notes/deprecation.rst        | 4 ----
>  doc/guides/rel_notes/release_19_05.rst      | 5 ++++-
>  lib/librte_eal/bsdapp/eal/Makefile          | 2 +-
>  lib/librte_eal/linuxapp/eal/Makefile        | 2 +-
>  lib/librte_eal/meson.build                  | 2 +-
>  8 files changed, 10 insertions(+), 11 deletions(-)
>
> v2:
> * Update release notes.
> * Update library version in makefiles.
>
> v3:
> * Remove deprecation notice.
>
> diff --git a/lib/librte_eal/common/include/rte_service.h
> b/lib/librte_eal/common/include/rte_service.h
> index 34b41af..670c89a 100644
> --- a/lib/librte_eal/common/include/rte_service.h
> +++ b/lib/librte_eal/common/include/rte_service.h
> @@ -372,7 +372,7 @@ int32_t rte_service_run_iter_on_app_lcore(uint32_t id,
>   *         -EINVAL Invalid id, attr_id or attr_value was NULL.
>   */
>  int32_t rte_service_attr_get(uint32_t id, uint32_t attr_id,
> -               uint32_t *attr_value);
> +               uint64_t *attr_value);
>
>  /**
>   * Reset all attribute values of a service.
> diff --git a/lib/librte_eal/common/rte_service.c
> b/lib/librte_eal/common/rte_service.c
> index 03fde97..5f75e5a 100644
> --- a/lib/librte_eal/common/rte_service.c
> +++ b/lib/librte_eal/common/rte_service.c
> @@ -734,7 +734,7 @@ int32_t rte_service_run_iter_on_app_lcore(uint32_t id,
>  }
>
>  int32_t
> -rte_service_attr_get(uint32_t id, uint32_t attr_id, uint32_t *attr_value)
> +rte_service_attr_get(uint32_t id, uint32_t attr_id, uint64_t *attr_value)
>  {
>         struct rte_service_spec_impl *s;
>         SERVICE_VALID_GET_OR_ERR_RET(id, s, -EINVAL);
> diff --git a/test/test/test_service_cores.c
> b/test/test/test_service_cores.c
> index ec31882..82bb2ce 100644
> --- a/test/test/test_service_cores.c
> +++ b/test/test/test_service_cores.c
> @@ -259,7 +259,7 @@ static int32_t dummy_mt_safe_cb(void *args)
>         rte_service_set_stats_enable(id, 1);
>
>         uint32_t attr_id = UINT32_MAX;
> -       uint32_t attr_value = 0xdead;
> +       uint64_t attr_value = 0xdead;
>         /* check error return values */
>         TEST_ASSERT_EQUAL(-EINVAL, rte_service_attr_get(id, attr_id,
>                                                         &attr_value),
> diff --git a/doc/guides/rel_notes/deprecation.rst
> b/doc/guides/rel_notes/deprecation.rst
> index 1b4fcb7..93ed31f 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -20,10 +20,6 @@ Deprecation Notices
>  * kvargs: The function ``rte_kvargs_process`` will get a new parameter
>    for returning key match count. It will ease handling of no-match case.
>
> -* eal: The ``attr_value`` parameter of ``rte_service_attr_get()``
> -  will be changed from ``uint32_t *`` to ``uint64_t *``
> -  as the attributes are of type ``uint64_t``.
> -
>  * eal: both declaring and identifying devices will be streamlined in
> v18.11.
>    New functions will appear to query a specific port from buses, classes
> of
>    device and device drivers. Device declaration will be made coherent
> with the
> diff --git a/doc/guides/rel_notes/release_19_05.rst
> b/doc/guides/rel_notes/release_19_05.rst
> index 2b0f60d..b8ed3d3 100644
> --- a/doc/guides/rel_notes/release_19_05.rst
> +++ b/doc/guides/rel_notes/release_19_05.rst
> @@ -94,6 +94,9 @@ API Changes
>     Also, make sure to start the actual text at the margin.
>     =========================================================
>
> +eal: as shown in the 19.02 deprecation notice, the type of the
> ``attr_value``
> +  parameter of the function ``rte_service_attr_get()`` has been changed
> +  from ``uint32_t *`` to ``uint64_t *``.
>
>  ABI Changes
>  -----------
> @@ -143,7 +146,7 @@ The libraries prepended with a plus sign were
> incremented in this version.
>       librte_compressdev.so.1
>       librte_cryptodev.so.6
>       librte_distributor.so.1
> -     librte_eal.so.9
> +    +librte_eal.so.10
>       librte_efd.so.1
>       librte_ethdev.so.11
>       librte_eventdev.so.6
> diff --git a/lib/librte_eal/bsdapp/eal/Makefile
> b/lib/librte_eal/bsdapp/eal/Makefile
> index bfeddaa..4bc8555 100644
> --- a/lib/librte_eal/bsdapp/eal/Makefile
> +++ b/lib/librte_eal/bsdapp/eal/Makefile
> @@ -22,7 +22,7 @@ LDLIBS += -lrte_kvargs
>
>  EXPORT_MAP := ../../rte_eal_version.map
>
> -LIBABIVER := 9
> +LIBABIVER := 10
>
>  # 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 51deb57..db6aca3 100644
> --- a/lib/librte_eal/linuxapp/eal/Makefile
> +++ b/lib/librte_eal/linuxapp/eal/Makefile
> @@ -10,7 +10,7 @@ ARCH_DIR ?= $(RTE_ARCH)
>  EXPORT_MAP := ../../rte_eal_version.map
>  VPATH += $(RTE_SDK)/lib/librte_eal/common/arch/$(ARCH_DIR)
>
> -LIBABIVER := 9
> +LIBABIVER := 10
>
>  VPATH += $(RTE_SDK)/lib/librte_eal/common
>
> diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build
> index a18f3a8..030171e 100644
> --- a/lib/librte_eal/meson.build
> +++ b/lib/librte_eal/meson.build
> @@ -21,7 +21,7 @@ else
>         error('unsupported system type "@0@
> "'.format(host_machine.system()))
>  endif
>
> -version = 9  # the version of the EAL API
> +version = 10  # the version of the EAL API
>  allow_experimental_apis = true
>  deps += 'compat'
>  deps += 'kvargs'
> --
> 1.8.3.1
>
>
Thomas Monjalon March 27, 2019, 9:52 a.m. | #2
15/02/2019 11:29, Nikhil Rao:
> The type of value parameter to rte_service_attr_get
> should be uint64_t *, since the attributes
> are of type uint64_t.
> 
> Fixes: 4d55194d76a4 ("service: add attribute get function")
> 
> Reviewed-by: Gage Eads <gage.eads@intel.com>
> Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
> Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
> ---
> --- a/lib/librte_eal/common/include/rte_service.h
> +++ b/lib/librte_eal/common/include/rte_service.h
>  int32_t rte_service_attr_get(uint32_t id, uint32_t attr_id,
> -		uint32_t *attr_value);
> +		uint64_t *attr_value);

I'm seeing this error:
app/test/test_service_cores.c:265:8: error:
passing argument 3 of ‘rte_service_attr_get’ from incompatible pointer type

> --- a/doc/guides/rel_notes/release_19_05.rst
> +++ b/doc/guides/rel_notes/release_19_05.rst
> -     librte_eal.so.9
> +    +librte_eal.so.10

A space is missing after the +

Patch

diff --git a/lib/librte_eal/common/include/rte_service.h b/lib/librte_eal/common/include/rte_service.h
index 34b41af..670c89a 100644
--- a/lib/librte_eal/common/include/rte_service.h
+++ b/lib/librte_eal/common/include/rte_service.h
@@ -372,7 +372,7 @@  int32_t rte_service_run_iter_on_app_lcore(uint32_t id,
  *         -EINVAL Invalid id, attr_id or attr_value was NULL.
  */
 int32_t rte_service_attr_get(uint32_t id, uint32_t attr_id,
-		uint32_t *attr_value);
+		uint64_t *attr_value);
 
 /**
  * Reset all attribute values of a service.
diff --git a/lib/librte_eal/common/rte_service.c b/lib/librte_eal/common/rte_service.c
index 03fde97..5f75e5a 100644
--- a/lib/librte_eal/common/rte_service.c
+++ b/lib/librte_eal/common/rte_service.c
@@ -734,7 +734,7 @@  int32_t rte_service_run_iter_on_app_lcore(uint32_t id,
 }
 
 int32_t
-rte_service_attr_get(uint32_t id, uint32_t attr_id, uint32_t *attr_value)
+rte_service_attr_get(uint32_t id, uint32_t attr_id, uint64_t *attr_value)
 {
 	struct rte_service_spec_impl *s;
 	SERVICE_VALID_GET_OR_ERR_RET(id, s, -EINVAL);
diff --git a/test/test/test_service_cores.c b/test/test/test_service_cores.c
index ec31882..82bb2ce 100644
--- a/test/test/test_service_cores.c
+++ b/test/test/test_service_cores.c
@@ -259,7 +259,7 @@  static int32_t dummy_mt_safe_cb(void *args)
 	rte_service_set_stats_enable(id, 1);
 
 	uint32_t attr_id = UINT32_MAX;
-	uint32_t attr_value = 0xdead;
+	uint64_t attr_value = 0xdead;
 	/* check error return values */
 	TEST_ASSERT_EQUAL(-EINVAL, rte_service_attr_get(id, attr_id,
 							&attr_value),
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 1b4fcb7..93ed31f 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -20,10 +20,6 @@  Deprecation Notices
 * kvargs: The function ``rte_kvargs_process`` will get a new parameter
   for returning key match count. It will ease handling of no-match case.
 
-* eal: The ``attr_value`` parameter of ``rte_service_attr_get()``
-  will be changed from ``uint32_t *`` to ``uint64_t *``
-  as the attributes are of type ``uint64_t``.
-
 * eal: both declaring and identifying devices will be streamlined in v18.11.
   New functions will appear to query a specific port from buses, classes of
   device and device drivers. Device declaration will be made coherent with the
diff --git a/doc/guides/rel_notes/release_19_05.rst b/doc/guides/rel_notes/release_19_05.rst
index 2b0f60d..b8ed3d3 100644
--- a/doc/guides/rel_notes/release_19_05.rst
+++ b/doc/guides/rel_notes/release_19_05.rst
@@ -94,6 +94,9 @@  API Changes
    Also, make sure to start the actual text at the margin.
    =========================================================
 
+eal: as shown in the 19.02 deprecation notice, the type of the ``attr_value``
+  parameter of the function ``rte_service_attr_get()`` has been changed
+  from ``uint32_t *`` to ``uint64_t *``.
 
 ABI Changes
 -----------
@@ -143,7 +146,7 @@  The libraries prepended with a plus sign were incremented in this version.
      librte_compressdev.so.1
      librte_cryptodev.so.6
      librte_distributor.so.1
-     librte_eal.so.9
+    +librte_eal.so.10
      librte_efd.so.1
      librte_ethdev.so.11
      librte_eventdev.so.6
diff --git a/lib/librte_eal/bsdapp/eal/Makefile b/lib/librte_eal/bsdapp/eal/Makefile
index bfeddaa..4bc8555 100644
--- a/lib/librte_eal/bsdapp/eal/Makefile
+++ b/lib/librte_eal/bsdapp/eal/Makefile
@@ -22,7 +22,7 @@  LDLIBS += -lrte_kvargs
 
 EXPORT_MAP := ../../rte_eal_version.map
 
-LIBABIVER := 9
+LIBABIVER := 10
 
 # 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 51deb57..db6aca3 100644
--- a/lib/librte_eal/linuxapp/eal/Makefile
+++ b/lib/librte_eal/linuxapp/eal/Makefile
@@ -10,7 +10,7 @@  ARCH_DIR ?= $(RTE_ARCH)
 EXPORT_MAP := ../../rte_eal_version.map
 VPATH += $(RTE_SDK)/lib/librte_eal/common/arch/$(ARCH_DIR)
 
-LIBABIVER := 9
+LIBABIVER := 10
 
 VPATH += $(RTE_SDK)/lib/librte_eal/common
 
diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build
index a18f3a8..030171e 100644
--- a/lib/librte_eal/meson.build
+++ b/lib/librte_eal/meson.build
@@ -21,7 +21,7 @@  else
 	error('unsupported system type "@0@"'.format(host_machine.system()))
 endif
 
-version = 9  # the version of the EAL API
+version = 10  # the version of the EAL API
 allow_experimental_apis = true
 deps += 'compat'
 deps += 'kvargs'