From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 39C26423C5; Fri, 13 Jan 2023 17:20:30 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 79C0742E0C; Fri, 13 Jan 2023 17:20:21 +0100 (CET) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 3FDB2410D4 for ; Fri, 13 Jan 2023 17:20:17 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673626818; x=1705162818; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=NQt/m81E6yntkQarThHMKbf9mveb4WeuEib9aXPhQLo=; b=c28ckxp2GOgvT/Q0H6IDGupzvTBKliRvo9dX2ThyVOQ6iSjgJb5zSf7b d7NUOIGoHKDhSx9TkIOvtiUgw/E+0PO91VOCcLVZAt/1z1CBdNZ0OMygP It2WTaPF3K2h27JaPtw4qGRbHyF4IrjZtXHsjcnRbNkPNqwWQdeMsc84e /A8ZtsFkHyulrV61W2zlwjmyLKQk+4H0w4lZE0e2t/GcyZMzIrcE4Ej7N b6DQZcaayxiqtQuKBbQSoBvF3PolpzEOjchsajbotgq1VABLE76mBfku+ YqtNdKY/nLGZe8qHGPCrkY8vYLohyVQ2R64Mal5xU8jQ+2Se4nZ1FNsm/ Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10589"; a="307575032" X-IronPort-AV: E=Sophos;i="5.97,214,1669104000"; d="scan'208";a="307575032" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2023 08:20:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10589"; a="726757493" X-IronPort-AV: E=Sophos;i="5.97,214,1669104000"; d="scan'208";a="726757493" Received: from silpixa00401459.ir.intel.com (HELO silpixa00401459.ger.corp.intel.com) ([10.237.223.90]) by fmsmga004.fm.intel.com with ESMTP; 13 Jan 2023 08:20:12 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: mb@smartsharesystems.com, david.marchand@redhat.com, Bruce Richardson Subject: [RFC PATCH v2 2/3] log: separate logging functions out of EAL Date: Fri, 13 Jan 2023 16:20:00 +0000 Message-Id: <20230113162001.519534-3-bruce.richardson@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230113162001.519534-1-bruce.richardson@intel.com> References: <20220829151901.376754-1-bruce.richardson@intel.com> <20230113162001.519534-1-bruce.richardson@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Move the logging capability to a separate library, free from EAL. Signed-off-by: Bruce Richardson --- lib/eal/common/eal_private.h | 7 ---- lib/eal/common/meson.build | 1 - lib/eal/include/meson.build | 1 - lib/eal/linux/meson.build | 1 - lib/eal/meson.build | 2 +- lib/eal/version.map | 17 ---------- lib/eal/windows/meson.build | 1 - lib/kvargs/meson.build | 3 +- lib/{eal/common => log}/eal_common_log.c | 1 - lib/{eal/common => log}/eal_log.h | 12 +++++++ .../linux/eal_log.c => log/eal_log_linux.c} | 0 .../eal_log.c => log/eal_log_windows.c} | 0 lib/log/meson.build | 9 +++++ lib/{eal/include => log}/rte_log.h | 0 lib/log/version.map | 34 +++++++++++++++++++ lib/meson.build | 1 + lib/telemetry/meson.build | 3 +- 17 files changed, 59 insertions(+), 34 deletions(-) rename lib/{eal/common => log}/eal_common_log.c (99%) rename lib/{eal/common => log}/eal_log.h (78%) rename lib/{eal/linux/eal_log.c => log/eal_log_linux.c} (100%) rename lib/{eal/windows/eal_log.c => log/eal_log_windows.c} (100%) create mode 100644 lib/log/meson.build rename lib/{eal/include => log}/rte_log.h (100%) create mode 100644 lib/log/version.map diff --git a/lib/eal/common/eal_private.h b/lib/eal/common/eal_private.h index 0f4d75bb89..dbf60190f4 100644 --- a/lib/eal/common/eal_private.h +++ b/lib/eal/common/eal_private.h @@ -152,13 +152,6 @@ int rte_eal_tailqs_init(void); */ int rte_eal_intr_init(void); -/** - * Close the default log stream - * - * This function is private to EAL. - */ -void rte_eal_log_cleanup(void); - /** * Init alarm mechanism. This is to allow a callback be called after * specific time. diff --git a/lib/eal/common/meson.build b/lib/eal/common/meson.build index 917758cc65..22a626ba6f 100644 --- a/lib/eal/common/meson.build +++ b/lib/eal/common/meson.build @@ -18,7 +18,6 @@ sources += files( 'eal_common_interrupts.c', 'eal_common_launch.c', 'eal_common_lcore.c', - 'eal_common_log.c', 'eal_common_mcfg.c', 'eal_common_memalloc.c', 'eal_common_memory.c', diff --git a/lib/eal/include/meson.build b/lib/eal/include/meson.build index cfcd40aaed..1eaa074d1b 100644 --- a/lib/eal/include/meson.build +++ b/lib/eal/include/meson.build @@ -27,7 +27,6 @@ headers += files( 'rte_keepalive.h', 'rte_launch.h', 'rte_lcore.h', - 'rte_log.h', 'rte_malloc.h', 'rte_mcslock.h', 'rte_memory.h', diff --git a/lib/eal/linux/meson.build b/lib/eal/linux/meson.build index 3cccfa36c0..1b913acc06 100644 --- a/lib/eal/linux/meson.build +++ b/lib/eal/linux/meson.build @@ -11,7 +11,6 @@ sources += files( 'eal_hugepage_info.c', 'eal_interrupts.c', 'eal_lcore.c', - 'eal_log.c', 'eal_memalloc.c', 'eal_memory.c', 'eal_thread.c', diff --git a/lib/eal/meson.build b/lib/eal/meson.build index 056beb9461..af8c4eae4a 100644 --- a/lib/eal/meson.build +++ b/lib/eal/meson.build @@ -22,7 +22,7 @@ subdir(exec_env) subdir(arch_subdir) -deps += ['kvargs'] +deps += ['log', 'kvargs'] if not is_windows deps += ['telemetry'] endif diff --git a/lib/eal/version.map b/lib/eal/version.map index 7ad12a7dc9..3fb11a16b2 100644 --- a/lib/eal/version.map +++ b/lib/eal/version.map @@ -140,21 +140,6 @@ DPDK_23 { rte_lcore_iterate; rte_lcore_to_cpu_id; rte_lcore_to_socket_id; - rte_log; - rte_log_can_log; - rte_log_cur_msg_loglevel; - rte_log_cur_msg_logtype; - rte_log_dump; - rte_log_get_global_level; - rte_log_get_level; - rte_log_get_stream; - rte_log_list_types; - rte_log_register; - rte_log_register_type_and_pick_level; - rte_log_set_global_level; - rte_log_set_level; - rte_log_set_level_pattern; - rte_log_set_level_regexp; rte_malloc; rte_malloc_dump_heaps; rte_malloc_dump_stats; @@ -225,7 +210,6 @@ DPDK_23 { rte_mp_request_async; rte_mp_request_sync; rte_mp_sendmsg; - rte_openlog_stream; rte_rand; rte_rand_max; rte_realloc; @@ -299,7 +283,6 @@ DPDK_23 { rte_vfio_noiommu_is_enabled; # WINDOWS_NO_EXPORT rte_vfio_release_device; # WINDOWS_NO_EXPORT rte_vfio_setup_device; # WINDOWS_NO_EXPORT - rte_vlog; rte_zmalloc; rte_zmalloc_socket; diff --git a/lib/eal/windows/meson.build b/lib/eal/windows/meson.build index e4b2427610..7756d417be 100644 --- a/lib/eal/windows/meson.build +++ b/lib/eal/windows/meson.build @@ -12,7 +12,6 @@ sources += files( 'eal_hugepages.c', 'eal_interrupts.c', 'eal_lcore.c', - 'eal_log.c', 'eal_memalloc.c', 'eal_memory.c', 'eal_mp.c', diff --git a/lib/kvargs/meson.build b/lib/kvargs/meson.build index b746516965..7eae744a8f 100644 --- a/lib/kvargs/meson.build +++ b/lib/kvargs/meson.build @@ -1,7 +1,6 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation -includes = [global_inc] - +deps += 'log' sources = files('rte_kvargs.c') headers = files('rte_kvargs.h') diff --git a/lib/eal/common/eal_common_log.c b/lib/log/eal_common_log.c similarity index 99% rename from lib/eal/common/eal_common_log.c rename to lib/log/eal_common_log.c index bd7b188ceb..895c4f2040 100644 --- a/lib/eal/common/eal_common_log.c +++ b/lib/log/eal_common_log.c @@ -16,7 +16,6 @@ #include #include "eal_log.h" -#include "eal_private.h" struct rte_log_dynamic_type { const char *name; diff --git a/lib/eal/common/eal_log.h b/lib/log/eal_log.h similarity index 78% rename from lib/eal/common/eal_log.h rename to lib/log/eal_log.h index c784fa6043..d04662729b 100644 --- a/lib/eal/common/eal_log.h +++ b/lib/log/eal_log.h @@ -7,26 +7,38 @@ #include #include +#include /* * Initialize the default log stream. */ +__rte_internal int eal_log_init(const char *id, int facility); /* * Determine where log data is written when no call to rte_openlog_stream. */ +__rte_internal void eal_log_set_default(FILE *default_log); /* * Save a log option for later. */ +__rte_internal int eal_log_save_regexp(const char *regexp, uint32_t level); +__rte_internal int eal_log_save_pattern(const char *pattern, uint32_t level); /* * Convert log level to string. */ +__rte_internal const char *eal_log_level2str(uint32_t level); +/* + * Close the default log stream + */ +__rte_internal +void rte_eal_log_cleanup(void); + #endif /* EAL_LOG_H */ diff --git a/lib/eal/linux/eal_log.c b/lib/log/eal_log_linux.c similarity index 100% rename from lib/eal/linux/eal_log.c rename to lib/log/eal_log_linux.c diff --git a/lib/eal/windows/eal_log.c b/lib/log/eal_log_windows.c similarity index 100% rename from lib/eal/windows/eal_log.c rename to lib/log/eal_log_windows.c diff --git a/lib/log/meson.build b/lib/log/meson.build new file mode 100644 index 0000000000..4aeb17b265 --- /dev/null +++ b/lib/log/meson.build @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2022 Intel Corporation + +includes += global_inc +sources = files( + 'eal_common_log.c', + 'eal_log_' + exec_env + '.c' +) +headers = files('rte_log.h') diff --git a/lib/eal/include/rte_log.h b/lib/log/rte_log.h similarity index 100% rename from lib/eal/include/rte_log.h rename to lib/log/rte_log.h diff --git a/lib/log/version.map b/lib/log/version.map new file mode 100644 index 0000000000..726ff9fbcf --- /dev/null +++ b/lib/log/version.map @@ -0,0 +1,34 @@ +DPDK_23 { + global: + + rte_log; + rte_log_cur_msg_loglevel; + rte_log_cur_msg_logtype; + rte_log_can_log; + rte_log_dump; + rte_log_get_global_level; + rte_log_get_level; + rte_log_get_stream; + rte_log_list_types; + rte_log_register; + rte_log_register_type_and_pick_level; + rte_log_set_global_level; + rte_log_set_level; + rte_log_set_level_pattern; + rte_log_set_level_regexp; + rte_openlog_stream; + rte_vlog; + + local: *; +}; + +INTERNAL { + global: + + eal_log_init; + eal_log_level2str; + eal_log_save_pattern; + eal_log_save_regexp; + eal_log_set_default; + rte_eal_log_cleanup; +}; diff --git a/lib/meson.build b/lib/meson.build index a90fee31b7..06e8bd7206 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -9,6 +9,7 @@ # given as a dep, no need to mention ring. This is especially true for the # core libs which are widely reused, so their deps are kept to a minimum. libraries = [ + 'log', 'kvargs', # eal depends on kvargs 'telemetry', # basic info querying 'eal', # everything depends on eal diff --git a/lib/telemetry/meson.build b/lib/telemetry/meson.build index f84c9aa3be..489d000047 100644 --- a/lib/telemetry/meson.build +++ b/lib/telemetry/meson.build @@ -1,8 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Intel Corporation -includes = [global_inc] - +deps += 'log' sources = files('telemetry.c', 'telemetry_data.c', 'telemetry_legacy.c') headers = files('rte_telemetry.h') includes += include_directories('../metrics') -- 2.34.1