Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/115610/?format=api
http://patchwork.dpdk.org/api/patches/115610/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20220829151901.376754-3-bruce.richardson@intel.com/", "project": { "id": 1, "url": "http://patchwork.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20220829151901.376754-3-bruce.richardson@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20220829151901.376754-3-bruce.richardson@intel.com", "date": "2022-08-29T15:19:00", "name": "[RFC,2/3] log: separate logging functions out of EAL", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "1aee308b1573c9f031531a55549f0f2671acc10d", "submitter": { "id": 20, "url": "http://patchwork.dpdk.org/api/people/20/?format=api", "name": "Bruce Richardson", "email": "bruce.richardson@intel.com" }, "delegate": { "id": 1, "url": "http://patchwork.dpdk.org/api/users/1/?format=api", "username": "tmonjalo", "first_name": "Thomas", "last_name": "Monjalon", "email": "thomas@monjalon.net" }, "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20220829151901.376754-3-bruce.richardson@intel.com/mbox/", "series": [ { "id": 24453, "url": "http://patchwork.dpdk.org/api/series/24453/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=24453", "date": "2022-08-29T15:18:58", "name": "Split logging out of EAL", "version": 1, "mbox": "http://patchwork.dpdk.org/series/24453/mbox/" } ], "comments": "http://patchwork.dpdk.org/api/patches/115610/comments/", "check": "warning", "checks": "http://patchwork.dpdk.org/api/patches/115610/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id E4FE5A0542;\n\tMon, 29 Aug 2022 17:19:32 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 89C6542B6E;\n\tMon, 29 Aug 2022 17:19:22 +0200 (CEST)", "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n by mails.dpdk.org (Postfix) with ESMTP id 6A6C94069F\n for <dev@dpdk.org>; Mon, 29 Aug 2022 17:19:18 +0200 (CEST)", "from orsmga006.jf.intel.com ([10.7.209.51])\n by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 29 Aug 2022 08:19:11 -0700", "from silpixa00401385.ir.intel.com (HELO\n silpixa00401385.ger.corp.intel.com) ([10.237.222.145])\n by orsmga006.jf.intel.com with ESMTP; 29 Aug 2022 08:19:10 -0700" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1661786358; x=1693322358;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=5LZCOZOD6rtYuRCmOqsTjyrQr22C8EQOXI/38SrVazs=;\n b=ahrig0V/uYu2BXfVxtzbvkIC4z13Iz3AA/vZNzgUSEgb/a5hCxuHDE9/\n oGbxdNaKkXKGzK5yag1iimygJDyIfKDoEaE6T6FV4N5I3rtQbCfgxRSo2\n 7vjejUT2oRPuaoK6KKsSc1N0ky9ZdfASP1x4e3r5iFm+eSw8uAs0xlHsR\n 1Qelle+hZMgkrR2AyYZjzWrHufvlTUE3VGDHdjvW1+mLgBT4bh8kgiKkS\n MTGJ+AvsK+pqaec/kYsPy5InE+YnzlmsFsD/RT7vgzPguJCwqj4gn+lhQ\n yM5ecpWJyX//jeUNJBu2hapYu0mSXkdk1Bh9H+2Bp41i8kYpXCMztVgv5 g==;", "X-IronPort-AV": [ "E=McAfee;i=\"6500,9779,10454\"; a=\"296196044\"", "E=Sophos;i=\"5.93,272,1654585200\"; d=\"scan'208\";a=\"296196044\"", "E=Sophos;i=\"5.93,272,1654585200\"; d=\"scan'208\";a=\"588198099\"" ], "X-ExtLoop1": "1", "From": "Bruce Richardson <bruce.richardson@intel.com>", "To": "dev@dpdk.org", "Cc": "Bruce Richardson <bruce.richardson@intel.com>", "Subject": "[RFC PATCH 2/3] log: separate logging functions out of EAL", "Date": "Mon, 29 Aug 2022 16:19:00 +0100", "Message-Id": "<20220829151901.376754-3-bruce.richardson@intel.com>", "X-Mailer": "git-send-email 2.34.1", "In-Reply-To": "<20220829151901.376754-1-bruce.richardson@intel.com>", "References": "<20220829151901.376754-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 <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org" }, "content": "Move the logging capability to a separate library, free from EAL.\n\nSigned-off-by: Bruce Richardson <bruce.richardson@intel.com>\n---\n lib/eal/common/eal_private.h | 7 ----\n lib/eal/common/meson.build | 1 -\n lib/eal/include/meson.build | 1 -\n lib/eal/linux/meson.build | 1 -\n lib/eal/meson.build | 2 +-\n lib/eal/version.map | 17 --------\n lib/eal/windows/meson.build | 1 -\n lib/kvargs/meson.build | 3 +-\n lib/{eal/common => log}/eal_common_log.c | 1 -\n lib/{eal/common => log}/eal_log.h | 11 ++++++\n .../linux/eal_log.c => log/eal_log_linux.c} | 0\n .../eal_log.c => log/eal_log_windows.c} | 0\n lib/log/meson.build | 8 ++++\n lib/{eal/include => log}/rte_log.h | 0\n lib/log/version.map | 39 +++++++++++++++++++\n lib/meson.build | 1 +\n lib/telemetry/meson.build | 3 +-\n 17 files changed, 62 insertions(+), 34 deletions(-)\n rename lib/{eal/common => log}/eal_common_log.c (99%)\n rename lib/{eal/common => log}/eal_log.h (80%)\n rename lib/{eal/linux/eal_log.c => log/eal_log_linux.c} (100%)\n rename lib/{eal/windows/eal_log.c => log/eal_log_windows.c} (100%)\n create mode 100644 lib/log/meson.build\n rename lib/{eal/include => log}/rte_log.h (100%)\n create mode 100644 lib/log/version.map", "diff": "diff --git a/lib/eal/common/eal_private.h b/lib/eal/common/eal_private.h\nindex 44d14241f0..734f1f334b 100644\n--- a/lib/eal/common/eal_private.h\n+++ b/lib/eal/common/eal_private.h\n@@ -152,13 +152,6 @@ int rte_eal_tailqs_init(void);\n */\n int rte_eal_intr_init(void);\n \n-/**\n- * Close the default log stream\n- *\n- * This function is private to EAL.\n- */\n-void rte_eal_log_cleanup(void);\n-\n /**\n * Init alarm mechanism. This is to allow a callback be called after\n * specific time.\ndiff --git a/lib/eal/common/meson.build b/lib/eal/common/meson.build\nindex 917758cc65..22a626ba6f 100644\n--- a/lib/eal/common/meson.build\n+++ b/lib/eal/common/meson.build\n@@ -18,7 +18,6 @@ sources += files(\n 'eal_common_interrupts.c',\n 'eal_common_launch.c',\n 'eal_common_lcore.c',\n- 'eal_common_log.c',\n 'eal_common_mcfg.c',\n 'eal_common_memalloc.c',\n 'eal_common_memory.c',\ndiff --git a/lib/eal/include/meson.build b/lib/eal/include/meson.build\nindex fd6e844224..7de7244065 100644\n--- a/lib/eal/include/meson.build\n+++ b/lib/eal/include/meson.build\n@@ -27,7 +27,6 @@ headers += files(\n 'rte_keepalive.h',\n 'rte_launch.h',\n 'rte_lcore.h',\n- 'rte_log.h',\n 'rte_malloc.h',\n 'rte_mcslock.h',\n 'rte_memory.h',\ndiff --git a/lib/eal/linux/meson.build b/lib/eal/linux/meson.build\nindex 3cccfa36c0..1b913acc06 100644\n--- a/lib/eal/linux/meson.build\n+++ b/lib/eal/linux/meson.build\n@@ -11,7 +11,6 @@ sources += files(\n 'eal_hugepage_info.c',\n 'eal_interrupts.c',\n 'eal_lcore.c',\n- 'eal_log.c',\n 'eal_memalloc.c',\n 'eal_memory.c',\n 'eal_thread.c',\ndiff --git a/lib/eal/meson.build b/lib/eal/meson.build\nindex 056beb9461..af8c4eae4a 100644\n--- a/lib/eal/meson.build\n+++ b/lib/eal/meson.build\n@@ -22,7 +22,7 @@ subdir(exec_env)\n \n subdir(arch_subdir)\n \n-deps += ['kvargs']\n+deps += ['log', 'kvargs']\n if not is_windows\n deps += ['telemetry']\n endif\ndiff --git a/lib/eal/version.map b/lib/eal/version.map\nindex 1f293e768b..44e1712155 100644\n--- a/lib/eal/version.map\n+++ b/lib/eal/version.map\n@@ -133,20 +133,6 @@ DPDK_23 {\n \trte_lcore_iterate;\n \trte_lcore_to_cpu_id;\n \trte_lcore_to_socket_id;\n-\trte_log;\n-\trte_log_can_log;\n-\trte_log_cur_msg_loglevel;\n-\trte_log_cur_msg_logtype;\n-\trte_log_dump;\n-\trte_log_get_global_level;\n-\trte_log_get_level;\n-\trte_log_get_stream;\n-\trte_log_register;\n-\trte_log_register_type_and_pick_level;\n-\trte_log_set_global_level;\n-\trte_log_set_level;\n-\trte_log_set_level_pattern;\n-\trte_log_set_level_regexp;\n \trte_malloc;\n \trte_malloc_dump_heaps;\n \trte_malloc_dump_stats;\n@@ -218,7 +204,6 @@ DPDK_23 {\n \trte_mp_request_async;\n \trte_mp_request_sync;\n \trte_mp_sendmsg;\n-\trte_openlog_stream;\n \trte_rand;\n \trte_rand_max;\n \trte_realloc;\n@@ -291,7 +276,6 @@ DPDK_23 {\n \trte_vfio_noiommu_is_enabled; # WINDOWS_NO_EXPORT\n \trte_vfio_release_device; # WINDOWS_NO_EXPORT\n \trte_vfio_setup_device; # WINDOWS_NO_EXPORT\n-\trte_vlog;\n \trte_zmalloc;\n \trte_zmalloc_socket;\n \n@@ -394,7 +378,6 @@ EXPERIMENTAL {\n \t# added in 21.05\n \trte_devargs_reset;\n \trte_intr_callback_unregister_sync;\n-\trte_log_list_types;\n \trte_thread_key_create;\n \trte_thread_key_delete;\n \trte_thread_value_get;\ndiff --git a/lib/eal/windows/meson.build b/lib/eal/windows/meson.build\nindex e4b2427610..7756d417be 100644\n--- a/lib/eal/windows/meson.build\n+++ b/lib/eal/windows/meson.build\n@@ -12,7 +12,6 @@ sources += files(\n 'eal_hugepages.c',\n 'eal_interrupts.c',\n 'eal_lcore.c',\n- 'eal_log.c',\n 'eal_memalloc.c',\n 'eal_memory.c',\n 'eal_mp.c',\ndiff --git a/lib/kvargs/meson.build b/lib/kvargs/meson.build\nindex b746516965..7eae744a8f 100644\n--- a/lib/kvargs/meson.build\n+++ b/lib/kvargs/meson.build\n@@ -1,7 +1,6 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright(c) 2017 Intel Corporation\n \n-includes = [global_inc]\n-\n+deps += 'log'\n sources = files('rte_kvargs.c')\n headers = files('rte_kvargs.h')\ndiff --git a/lib/eal/common/eal_common_log.c b/lib/log/eal_common_log.c\nsimilarity index 99%\nrename from lib/eal/common/eal_common_log.c\nrename to lib/log/eal_common_log.c\nindex bd7b188ceb..895c4f2040 100644\n--- a/lib/eal/common/eal_common_log.c\n+++ b/lib/log/eal_common_log.c\n@@ -16,7 +16,6 @@\n #include <rte_per_lcore.h>\n \n #include \"eal_log.h\"\n-#include \"eal_private.h\"\n \n struct rte_log_dynamic_type {\n \tconst char *name;\ndiff --git a/lib/eal/common/eal_log.h b/lib/log/eal_log.h\nsimilarity index 80%\nrename from lib/eal/common/eal_log.h\nrename to lib/log/eal_log.h\nindex c784fa6043..5baf19df59 100644\n--- a/lib/eal/common/eal_log.h\n+++ b/lib/log/eal_log.h\n@@ -11,22 +11,33 @@\n /*\n * Initialize the default log stream.\n */\n+__rte_internal\n int eal_log_init(const char *id, int facility);\n \n /*\n * Determine where log data is written when no call to rte_openlog_stream.\n */\n+__rte_internal\n void eal_log_set_default(FILE *default_log);\n \n /*\n * Save a log option for later.\n */\n+__rte_internal\n int eal_log_save_regexp(const char *regexp, uint32_t level);\n+__rte_internal\n int eal_log_save_pattern(const char *pattern, uint32_t level);\n \n /*\n * Convert log level to string.\n */\n+__rte_internal\n const char *eal_log_level2str(uint32_t level);\n \n+/*\n+ * Close the default log stream\n+ */\n+__rte_internal\n+void rte_eal_log_cleanup(void);\n+\n #endif /* EAL_LOG_H */\ndiff --git a/lib/eal/linux/eal_log.c b/lib/log/eal_log_linux.c\nsimilarity index 100%\nrename from lib/eal/linux/eal_log.c\nrename to lib/log/eal_log_linux.c\ndiff --git a/lib/eal/windows/eal_log.c b/lib/log/eal_log_windows.c\nsimilarity index 100%\nrename from lib/eal/windows/eal_log.c\nrename to lib/log/eal_log_windows.c\ndiff --git a/lib/log/meson.build b/lib/log/meson.build\nnew file mode 100644\nindex 0000000000..02899c47b1\n--- /dev/null\n+++ b/lib/log/meson.build\n@@ -0,0 +1,8 @@\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright(c) 2022 Intel Corporation\n+\n+sources = files(\n+ 'eal_common_log.c',\n+ 'eal_log_' + exec_env + '.c'\n+)\n+headers = files('rte_log.h')\ndiff --git a/lib/eal/include/rte_log.h b/lib/log/rte_log.h\nsimilarity index 100%\nrename from lib/eal/include/rte_log.h\nrename to lib/log/rte_log.h\ndiff --git a/lib/log/version.map b/lib/log/version.map\nnew file mode 100644\nindex 0000000000..0ae3b7e55f\n--- /dev/null\n+++ b/lib/log/version.map\n@@ -0,0 +1,39 @@\n+DPDK_22 {\n+\tglobal:\n+\n+\trte_log;\n+\trte_log_cur_msg_loglevel;\n+\trte_log_cur_msg_logtype;\n+\trte_log_can_log;\n+\trte_log_dump;\n+\trte_log_get_global_level;\n+\trte_log_get_level;\n+\trte_log_get_stream;\n+\trte_log_register;\n+\trte_log_register_type_and_pick_level;\n+\trte_log_set_global_level;\n+\trte_log_set_level;\n+\trte_log_set_level_pattern;\n+\trte_log_set_level_regexp;\n+\trte_openlog_stream;\n+\trte_vlog;\n+\n+\tlocal: *;\n+};\n+\n+EXPERIMENTAL {\n+\tglobal:\n+\n+\trte_log_list_types; # added 21.05\n+};\n+\n+INTERNAL {\n+\tglobal:\n+\n+\teal_log_init;\n+\teal_log_level2str;\n+\teal_log_save_pattern;\n+\teal_log_save_regexp;\n+\teal_log_set_default;\n+\trte_eal_log_cleanup;\n+};\ndiff --git a/lib/meson.build b/lib/meson.build\nindex 7b61b2a5d7..1b8419d337 100644\n--- a/lib/meson.build\n+++ b/lib/meson.build\n@@ -10,6 +10,7 @@\n # core libs which are widely reused, so their deps are kept to a minimum.\n libraries = [\n 'os', # load os compatibility material\n+ 'log',\n 'kvargs', # eal depends on kvargs\n 'telemetry', # basic info querying\n 'eal', # everything depends on eal\ndiff --git a/lib/telemetry/meson.build b/lib/telemetry/meson.build\nindex f84c9aa3be..489d000047 100644\n--- a/lib/telemetry/meson.build\n+++ b/lib/telemetry/meson.build\n@@ -1,8 +1,7 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright(c) 2018 Intel Corporation\n \n-includes = [global_inc]\n-\n+deps += 'log'\n sources = files('telemetry.c', 'telemetry_data.c', 'telemetry_legacy.c')\n headers = files('rte_telemetry.h')\n includes += include_directories('../metrics')\n", "prefixes": [ "RFC", "2/3" ] }{ "id": 115610, "url": "