rte_log: make rte_logs private
Checks
Commit Message
As announced in earlier releases, rte_logs can now be made
internal to eal_common_log.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
doc/guides/rel_notes/deprecation.rst | 4 ----
doc/guides/rel_notes/release_20_11.rst | 2 ++
lib/librte_eal/common/eal_common_log.c | 11 ++++++++---
lib/librte_eal/include/rte_log.h | 16 ++--------------
lib/librte_eal/rte_eal_version.map | 1 -
5 files changed, 12 insertions(+), 22 deletions(-)
Comments
On 8/28/20 1:54 AM, Stephen Hemminger wrote:
> As announced in earlier releases, rte_logs can now be made
> internal to eal_common_log.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
On Fri, Aug 28, 2020 at 12:54 AM Stephen Hemminger
<stephen@networkplumber.org> wrote:
>
> As announced in earlier releases, rte_logs can now be made
> internal to eal_common_log.
I had prepared this cleanup before my PTO and was about to send it.
Just to avoid duplicate work, do you intend to work on other cleanups ?
Hiding this symbol is fine, but we must remove the experimental tag on
rte_log_get_stream since it becomes the only way to access the log
stream.
More comments below.
Thanks.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> doc/guides/rel_notes/deprecation.rst | 4 ----
> doc/guides/rel_notes/release_20_11.rst | 2 ++
> lib/librte_eal/common/eal_common_log.c | 11 ++++++++---
> lib/librte_eal/include/rte_log.h | 16 ++--------------
> lib/librte_eal/rte_eal_version.map | 1 -
> 5 files changed, 12 insertions(+), 22 deletions(-)
>
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index 345c38d5b630..5445a4f0a061 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -77,10 +77,6 @@ Deprecation Notices
> * eal: The function ``rte_eal_remote_launch`` will return new error codes
> after read or write error on the pipe, instead of calling ``rte_panic``.
>
> -* eal: The ``rte_logs`` struct and global symbol will be made private to
> - remove it from the externally visible ABI and allow it to be updated in the
> - future.
> -
> * eal: The ``rte_dev_event`` structure will be made private to the EAL as no
> public API makes use of it.
>
> diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
> index df227a1773b8..e422ac790912 100644
> --- a/doc/guides/rel_notes/release_20_11.rst
> +++ b/doc/guides/rel_notes/release_20_11.rst
> @@ -84,6 +84,8 @@ API Changes
> Also, make sure to start the actual text at the margin.
> =======================================================
>
> +* eal: The ``rte_logs`` struct and global symbol was made private
> + and is no longer part of the API.
Missing double empty line.
>
> ABI Changes
> -----------
> diff --git a/lib/librte_eal/common/eal_common_log.c b/lib/librte_eal/common/eal_common_log.c
> index 8835c8fff897..a25766de181a 100644
> --- a/lib/librte_eal/common/eal_common_log.c
> +++ b/lib/librte_eal/common/eal_common_log.c
> @@ -17,11 +17,16 @@
>
> #include "eal_private.h"
>
> -/* global log structure */
> -struct rte_logs rte_logs = {
> +/** The rte_log structure. */
> +static struct rte_logs {
> + uint32_t type; /**< Bitfield with enabled logs. */
> + uint32_t level; /**< Log level. */
> + FILE *file; /**< Output file set by rte_openlog_stream, or NULL. */
> + size_t dynamic_types_len;
> + struct rte_log_dynamic_type *dynamic_types;
> +} rte_logs = {
> .type = ~0,
> .level = RTE_LOG_DEBUG,
> - .file = NULL,
> };
>
> struct rte_eal_opt_loglevel {
> diff --git a/lib/librte_eal/include/rte_log.h b/lib/librte_eal/include/rte_log.h
> index eaf66e4f61de..655c3b39c29e 100644
> --- a/lib/librte_eal/include/rte_log.h
> +++ b/lib/librte_eal/include/rte_log.h
> @@ -29,18 +29,6 @@ extern "C" {
>
> struct rte_log_dynamic_type;
No need for rte_log_dynamic_type forward declaration anymore if you
simply move rte_logs or this type declaration in eal_common_log.c.
>
> -/** The rte_log structure. */
> -struct rte_logs {
> - uint32_t type; /**< Bitfield with enabled logs. */
> - uint32_t level; /**< Log level. */
> - FILE *file; /**< Output file set by rte_openlog_stream, or NULL. */
> - size_t dynamic_types_len;
> - struct rte_log_dynamic_type *dynamic_types;
> -};
> -
> -/** Global log information */
> -extern struct rte_logs rte_logs;
> -
> /* SDK log type */
> #define RTE_LOGTYPE_EAL 0 /**< Log related to eal. */
> #define RTE_LOGTYPE_MALLOC 1 /**< Log related to malloc. */
> @@ -274,7 +262,7 @@ void rte_log_dump(FILE *f);
> * to rte_openlog_stream().
> *
> * The level argument determines if the log should be displayed or
> - * not, depending on the global rte_logs variable.
> + * not, depending on the loglevel settings.
> *
> * The preferred alternative is the RTE_LOG() because it adds the
> * level and type in the logged string.
> @@ -305,7 +293,7 @@ int rte_log(uint32_t level, uint32_t logtype, const char *format, ...)
> * to rte_openlog_stream().
> *
> * The level argument determines if the log should be displayed or
> - * not, depending on the global rte_logs variable. A trailing
> + * not, depending on the loglevel settings. A trailing
> * newline may be added if needed.
> *
> * The preferred alternative is the RTE_LOG() because it adds the
> diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map
> index 0b18e2ef85f9..6b0dfdd9667c 100644
> --- a/lib/librte_eal/rte_eal_version.map
> +++ b/lib/librte_eal/rte_eal_version.map
> @@ -114,7 +114,6 @@ DPDK_21 {
> rte_log_set_level;
> rte_log_set_level_pattern;
> rte_log_set_level_regexp;
> - rte_logs;
> rte_malloc;
> rte_malloc_dump_stats;
> rte_malloc_get_socket_stats;
> --
> 2.27.0
>
On Wed, 2 Sep 2020 10:40:19 +0200
David Marchand <david.marchand@redhat.com> wrote:
> On Fri, Aug 28, 2020 at 12:54 AM Stephen Hemminger
> <stephen@networkplumber.org> wrote:
> >
> > As announced in earlier releases, rte_logs can now be made
> > internal to eal_common_log.
>
> I had prepared this cleanup before my PTO and was about to send it.
> Just to avoid duplicate work, do you intend to work on other cleanups ?
>
>
> Hiding this symbol is fine, but we must remove the experimental tag on
> rte_log_get_stream since it becomes the only way to access the log
> stream.
>
> More comments below.
> Thanks.
No intention on doing other cleanups, just saw this while implementing
a log stream provider.
Agree, the rte_log_get_stream() can be permanent API now.
@@ -77,10 +77,6 @@ Deprecation Notices
* eal: The function ``rte_eal_remote_launch`` will return new error codes
after read or write error on the pipe, instead of calling ``rte_panic``.
-* eal: The ``rte_logs`` struct and global symbol will be made private to
- remove it from the externally visible ABI and allow it to be updated in the
- future.
-
* eal: The ``rte_dev_event`` structure will be made private to the EAL as no
public API makes use of it.
@@ -84,6 +84,8 @@ API Changes
Also, make sure to start the actual text at the margin.
=======================================================
+* eal: The ``rte_logs`` struct and global symbol was made private
+ and is no longer part of the API.
ABI Changes
-----------
@@ -17,11 +17,16 @@
#include "eal_private.h"
-/* global log structure */
-struct rte_logs rte_logs = {
+/** The rte_log structure. */
+static struct rte_logs {
+ uint32_t type; /**< Bitfield with enabled logs. */
+ uint32_t level; /**< Log level. */
+ FILE *file; /**< Output file set by rte_openlog_stream, or NULL. */
+ size_t dynamic_types_len;
+ struct rte_log_dynamic_type *dynamic_types;
+} rte_logs = {
.type = ~0,
.level = RTE_LOG_DEBUG,
- .file = NULL,
};
struct rte_eal_opt_loglevel {
@@ -29,18 +29,6 @@ extern "C" {
struct rte_log_dynamic_type;
-/** The rte_log structure. */
-struct rte_logs {
- uint32_t type; /**< Bitfield with enabled logs. */
- uint32_t level; /**< Log level. */
- FILE *file; /**< Output file set by rte_openlog_stream, or NULL. */
- size_t dynamic_types_len;
- struct rte_log_dynamic_type *dynamic_types;
-};
-
-/** Global log information */
-extern struct rte_logs rte_logs;
-
/* SDK log type */
#define RTE_LOGTYPE_EAL 0 /**< Log related to eal. */
#define RTE_LOGTYPE_MALLOC 1 /**< Log related to malloc. */
@@ -274,7 +262,7 @@ void rte_log_dump(FILE *f);
* to rte_openlog_stream().
*
* The level argument determines if the log should be displayed or
- * not, depending on the global rte_logs variable.
+ * not, depending on the loglevel settings.
*
* The preferred alternative is the RTE_LOG() because it adds the
* level and type in the logged string.
@@ -305,7 +293,7 @@ int rte_log(uint32_t level, uint32_t logtype, const char *format, ...)
* to rte_openlog_stream().
*
* The level argument determines if the log should be displayed or
- * not, depending on the global rte_logs variable. A trailing
+ * not, depending on the loglevel settings. A trailing
* newline may be added if needed.
*
* The preferred alternative is the RTE_LOG() because it adds the
@@ -114,7 +114,6 @@ DPDK_21 {
rte_log_set_level;
rte_log_set_level_pattern;
rte_log_set_level_regexp;
- rte_logs;
rte_malloc;
rte_malloc_dump_stats;
rte_malloc_get_socket_stats;