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(-) 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. 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; -/** 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 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 > -- David Marchand
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.
v2 add additonal patch to make rte_log_get_stream not experimental Stephen Hemminger (2): rte_log: take experimental tag off of rte_log_get_stream rte_log: make rte_logs private 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 | 17 ++--------------- lib/librte_eal/rte_eal_version.map | 3 +-- 5 files changed, 13 insertions(+), 24 deletions(-) -- 2.27.0
Applications will need to use this API now to get internal state of rte_log. Suggested-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> --- lib/librte_eal/include/rte_log.h | 1 - lib/librte_eal/rte_eal_version.map | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/librte_eal/include/rte_log.h b/lib/librte_eal/include/rte_log.h index eaf66e4f61de..7fe0968383db 100644 --- a/lib/librte_eal/include/rte_log.h +++ b/lib/librte_eal/include/rte_log.h @@ -112,7 +112,6 @@ int rte_openlog_stream(FILE *f); * @return * Pointer to the stream. */ -__rte_experimental FILE *rte_log_get_stream(void); /** diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map index 0b18e2ef85f9..0564f2fdc7aa 100644 --- a/lib/librte_eal/rte_eal_version.map +++ b/lib/librte_eal/rte_eal_version.map @@ -109,6 +109,7 @@ DPDK_21 { rte_log_dump; rte_log_get_global_level; rte_log_get_level; + rte_log_get_stream; rte_log_register; rte_log_set_global_level; rte_log_set_level; @@ -330,7 +331,6 @@ EXPERIMENTAL { rte_rand_max; # added in 19.11 - rte_log_get_stream; rte_mcfg_get_single_file_segments; # added in 20.02 -- 2.27.0
As announced in earlier releases, rte_logs can now be made internal to eal_common_log. Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> 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. 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 7fe0968383db..adc5c83d4250 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; -/** 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. */ @@ -273,7 +261,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. @@ -304,7 +292,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 0564f2fdc7aa..eba868ee0f38 100644 --- a/lib/librte_eal/rte_eal_version.map +++ b/lib/librte_eal/rte_eal_version.map @@ -115,7 +115,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 Fri, Sep 4, 2020 at 1:05 AM Stephen Hemminger
<stephen@networkplumber.org> wrote:
>
> Applications will need to use this API now to get internal
> state of rte_log.
>
> Suggested-by: David Marchand <david.marchand@redhat.com>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> lib/librte_eal/include/rte_log.h | 1 -
> lib/librte_eal/rte_eal_version.map | 2 +-
> 2 files changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/lib/librte_eal/include/rte_log.h b/lib/librte_eal/include/rte_log.h
> index eaf66e4f61de..7fe0968383db 100644
> --- a/lib/librte_eal/include/rte_log.h
> +++ b/lib/librte_eal/include/rte_log.h
> @@ -112,7 +112,6 @@ int rte_openlog_stream(FILE *f);
> * @return
> * Pointer to the stream.
> */
> -__rte_experimental
> FILE *rte_log_get_stream(void);
There is still a banner in the function description.
I will fix it while applying.
--
David Marchand
On Fri, Sep 4, 2020 at 1:05 AM Stephen Hemminger
<stephen@networkplumber.org> wrote:
>
> As announced in earlier releases, rte_logs can now be made
> internal to eal_common_log.
>
> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Same comment as before, the rte_log_dynamic_type struct fwd
declaration can be removed from the rte_log.h header.
I will fix it while applying.
--
David Marchand
On Mon, 14 Sep 2020 10:13:29 +0200
David Marchand <david.marchand@redhat.com> wrote:
> On Fri, Sep 4, 2020 at 1:05 AM Stephen Hemminger
> <stephen@networkplumber.org> wrote:
> >
> > As announced in earlier releases, rte_logs can now be made
> > internal to eal_common_log.
> >
> > Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
> > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
>
> Same comment as before, the rte_log_dynamic_type struct fwd
> declaration can be removed from the rte_log.h header.
> I will fix it while applying.
>
>
Thanks
On Fri, Sep 4, 2020 at 1:05 AM Stephen Hemminger
<stephen@networkplumber.org> wrote:
>
> As announced in earlier releases, rte_logs can now be made
> internal to eal_common_log.
>
> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Series applied with the two changes mentioned in the thread, thanks.
--
David Marchand