get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/115610/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 115610,
    "url": "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"
    ]
}