eal: use eal abstraction for defining constructors

Message ID 20190318041512.19526-1-jerinj@marvell.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series eal: use eal abstraction for defining constructors |

Checks

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

Commit Message

Jerin Jacob Kollanukkaran March 18, 2019, 4:15 a.m. UTC
  From: Jerin Jacob <jerinj@marvell.com>

Use eal's RTE_INIT abstraction for defining constructors.

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
---
 app/test-bbdev/main.h            | 3 +--
 app/test/resource.h              | 2 +-
 app/test/test.h                  | 3 +--
 lib/librte_mempool/rte_mempool.h | 7 +++----
 4 files changed, 6 insertions(+), 9 deletions(-)
  

Comments

David Marchand March 18, 2019, 7:54 a.m. UTC | #1
On Mon, Mar 18, 2019 at 5:16 AM Jerin Jacob Kollanukkaran <
jerinj@marvell.com> wrote:

> From: Jerin Jacob <jerinj@marvell.com>
>
> Use eal's RTE_INIT abstraction for defining constructors.
>
> Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> ---
>  app/test-bbdev/main.h            | 3 +--
>  app/test/resource.h              | 2 +-
>  app/test/test.h                  | 3 +--
>  lib/librte_mempool/rte_mempool.h | 7 +++----
>  4 files changed, 6 insertions(+), 9 deletions(-)
>
> diff --git a/app/test-bbdev/main.h b/app/test-bbdev/main.h
> index 20a55efca..2bbe1b822 100644
> --- a/app/test-bbdev/main.h
> +++ b/app/test-bbdev/main.h
> @@ -103,8 +103,7 @@ void add_test_command(struct test_command *t);
>                 .command = RTE_STR(name), \
>                 .callback = test_func_##name, \
>         }; \
> -       static void __attribute__((constructor, used)) \
> -       test_register_##name(void) \
> +       RTE_INIT(test_register_##name) \
>         { \
>                 add_test_command(&test_struct_##name); \
>         }
> diff --git a/app/test/resource.h b/app/test/resource.h
> index 223fa22ae..c75ebd4b5 100644
> --- a/app/test/resource.h
> +++ b/app/test/resource.h
> @@ -98,7 +98,7 @@ static struct resource linkres_ ##n = {       \
>         .begin = b,             \
>         .end = e,               \
>  };                              \
> -static void __attribute__((constructor, used)) resinitfn_ ##n(void) \
> +RTE_INIT(resinitfn_ ##n)       \
>  {                               \
>         resource_register(&linkres_ ##n);  \
>  }
> diff --git a/app/test/test.h b/app/test/test.h
> index 7c2443230..9b3846b1e 100644
> --- a/app/test/test.h
> +++ b/app/test/test.h
> @@ -177,8 +177,7 @@ void add_test_command(struct test_command *t);
>                 .command = RTE_STR(cmd), \
>                 .callback = func, \
>         }; \
> -       static void __attribute__((constructor, used)) \
> -       test_register_##cmd(void) \
> +       RTE_INIT(test_register_##cmd) \
>         { \
>                 add_test_command(&test_struct_##cmd); \
>         }
> diff --git a/lib/librte_mempool/rte_mempool.h
> b/lib/librte_mempool/rte_mempool.h
> index 7c9cd9a2f..fd19470d7 100644
> --- a/lib/librte_mempool/rte_mempool.h
> +++ b/lib/librte_mempool/rte_mempool.h
> @@ -832,10 +832,9 @@ int rte_mempool_register_ops(const struct
> rte_mempool_ops *ops);
>   * Note that the rte_mempool_register_ops fails silently here when
>   * more than RTE_MEMPOOL_MAX_OPS_IDX is registered.
>   */
> -#define MEMPOOL_REGISTER_OPS(ops)                                      \
> -       void mp_hdlr_init_##ops(void);                                  \
> -       void __attribute__((constructor, used)) mp_hdlr_init_##ops(void)\
> -       {                                                               \
> +#define MEMPOOL_REGISTER_OPS(ops)                              \
> +       RTE_INIT(mp_hdlr_init_##ops)                            \
> +       {                                                       \
>                 rte_mempool_register_ops(&ops);                 \
>         }
>
> --
> 2.21.0
>
>
Reviewed-by: David Marchand <david.marchand@redhat.com>
  
Thomas Monjalon March 27, 2019, 10:11 p.m. UTC | #2
> > From: Jerin Jacob <jerinj@marvell.com>
> >
> > Use eal's RTE_INIT abstraction for defining constructors.
> >
> > Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> >
> Reviewed-by: David Marchand <david.marchand@redhat.com>

Applied, thanks
  

Patch

diff --git a/app/test-bbdev/main.h b/app/test-bbdev/main.h
index 20a55efca..2bbe1b822 100644
--- a/app/test-bbdev/main.h
+++ b/app/test-bbdev/main.h
@@ -103,8 +103,7 @@  void add_test_command(struct test_command *t);
 		.command = RTE_STR(name), \
 		.callback = test_func_##name, \
 	}; \
-	static void __attribute__((constructor, used)) \
-	test_register_##name(void) \
+	RTE_INIT(test_register_##name) \
 	{ \
 		add_test_command(&test_struct_##name); \
 	}
diff --git a/app/test/resource.h b/app/test/resource.h
index 223fa22ae..c75ebd4b5 100644
--- a/app/test/resource.h
+++ b/app/test/resource.h
@@ -98,7 +98,7 @@  static struct resource linkres_ ##n = {       \
 	.begin = b,             \
 	.end = e,               \
 };                              \
-static void __attribute__((constructor, used)) resinitfn_ ##n(void) \
+RTE_INIT(resinitfn_ ##n)	\
 {                               \
 	resource_register(&linkres_ ##n);  \
 }
diff --git a/app/test/test.h b/app/test/test.h
index 7c2443230..9b3846b1e 100644
--- a/app/test/test.h
+++ b/app/test/test.h
@@ -177,8 +177,7 @@  void add_test_command(struct test_command *t);
 		.command = RTE_STR(cmd), \
 		.callback = func, \
 	}; \
-	static void __attribute__((constructor, used)) \
-	test_register_##cmd(void) \
+	RTE_INIT(test_register_##cmd) \
 	{ \
 		add_test_command(&test_struct_##cmd); \
 	}
diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h
index 7c9cd9a2f..fd19470d7 100644
--- a/lib/librte_mempool/rte_mempool.h
+++ b/lib/librte_mempool/rte_mempool.h
@@ -832,10 +832,9 @@  int rte_mempool_register_ops(const struct rte_mempool_ops *ops);
  * Note that the rte_mempool_register_ops fails silently here when
  * more than RTE_MEMPOOL_MAX_OPS_IDX is registered.
  */
-#define MEMPOOL_REGISTER_OPS(ops)					\
-	void mp_hdlr_init_##ops(void);					\
-	void __attribute__((constructor, used)) mp_hdlr_init_##ops(void)\
-	{								\
+#define MEMPOOL_REGISTER_OPS(ops)				\
+	RTE_INIT(mp_hdlr_init_##ops)				\
+	{							\
 		rte_mempool_register_ops(&ops);			\
 	}