Show a cover letter.

GET /api/covers/52/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 52,
    "url": "http://patchwork.dpdk.org/api/covers/52/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/ci/cover/20230814151609.3077077-1-bruce.richardson@intel.com/",
    "project": {
        "id": 5,
        "url": "http://patchwork.dpdk.org/api/projects/5/?format=api",
        "name": "CI",
        "link_name": "ci",
        "list_id": "ci.dpdk.org",
        "list_email": "ci@dpdk.org",
        "web_url": "",
        "scm_url": "git://dpdk.org/tools/dpdk-ci",
        "webscm_url": "https://git.dpdk.org/tools/dpdk-ci/",
        "list_archive_url": "https://inbox.dpdk.org/ci",
        "list_archive_url_format": "https://inbox.dpdk.org/ci/{}",
        "commit_url_format": ""
    },
    "msgid": "<20230814151609.3077077-1-bruce.richardson@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/ci/20230814151609.3077077-1-bruce.richardson@intel.com",
    "date": "2023-08-14T15:16:01",
    "name": "[v2,0/8] expand list of optional libraries",
    "submitter": {
        "id": 20,
        "url": "http://patchwork.dpdk.org/api/people/20/?format=api",
        "name": "Bruce Richardson",
        "email": "bruce.richardson@intel.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/ci/cover/20230814151609.3077077-1-bruce.richardson@intel.com/mbox/",
    "series": [
        {
            "id": 29217,
            "url": "http://patchwork.dpdk.org/api/series/29217/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/ci/list/?series=29217",
            "date": "2023-08-14T15:16:01",
            "name": "expand list of optional libraries",
            "version": 2,
            "mbox": "http://patchwork.dpdk.org/series/29217/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/52/comments/",
    "headers": {
        "Return-Path": "<ci-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 DA83243063;\n\tMon, 14 Aug 2023 17:16:22 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id CAC974329B;\n\tMon, 14 Aug 2023 17:16:22 +0200 (CEST)",
            "from mgamail.intel.com (mgamail.intel.com [134.134.136.20])\n by mails.dpdk.org (Postfix) with ESMTP id 3093D40A7F;\n Mon, 14 Aug 2023 17:16:20 +0200 (CEST)",
            "from fmsmga004.fm.intel.com ([10.253.24.48])\n by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 14 Aug 2023 08:16:19 -0700",
            "from silpixa00401385.ir.intel.com ([10.237.214.14])\n by fmsmga004.fm.intel.com with ESMTP; 14 Aug 2023 08:16:17 -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=1692026180; x=1723562180;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=u5SOVpMgaQ3A96zpNxJcDAB+6+yBxdzje2zJz2VYsPY=;\n b=b1+Lf1bTEMLGDSV3dHBFQ+n2lfJc5vIu0N3cbWMWGD0xustaug2Rsnhu\n kMLaq+ZiQLkkQpzMj5j1Y/JA2ZZe0XxYdUY+KRpry+FzVWW8ijOr4BXP/\n maFWxLDqSKHSuse04eJ+MiLe/HIqlDXlIPCtWM1TB4NtnQGRzG7XKSTUA\n NfgejefXMy23DyAbVuCqJrp5IkS425w8uHe5xTWsHbr/DU54AxOIajnYi\n 2BMv8BpmpdlfysjCQLcXFLQKSmcep+ZZkuQbCsDo8gNfuSIEznhDO4xmo\n ZAGwdqVc+YjcUg+zrbJQPZvkESXxNwRZ0aF/HfYB430khGPoeUXudqtDp Q==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6600,9927,10802\"; a=\"362211241\"",
            "E=Sophos;i=\"6.01,172,1684825200\"; d=\"scan'208\";a=\"362211241\"",
            "E=McAfee;i=\"6600,9927,10802\"; a=\"803499898\"",
            "E=Sophos;i=\"6.01,172,1684825200\"; d=\"scan'208\";a=\"803499898\""
        ],
        "X-ExtLoop1": "1",
        "From": "Bruce Richardson <bruce.richardson@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "ci@dpdk.org,\n\tBruce Richardson <bruce.richardson@intel.com>",
        "Subject": "[PATCH v2 0/8] expand list of optional libraries",
        "Date": "Mon, 14 Aug 2023 16:16:01 +0100",
        "Message-Id": "<20230814151609.3077077-1-bruce.richardson@intel.com>",
        "X-Mailer": "git-send-email 2.39.2",
        "In-Reply-To": "<20230721115125.55137-1-bruce.richardson@intel.com>",
        "References": "<20230721115125.55137-1-bruce.richardson@intel.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "ci@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK CI discussions <ci.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/ci>,\n <mailto:ci-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/ci/>",
        "List-Post": "<mailto:ci@dpdk.org>",
        "List-Help": "<mailto:ci-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/ci>,\n <mailto:ci-request@dpdk.org?subject=subscribe>",
        "Errors-To": "ci-bounces@dpdk.org"
    },
    "content": "This patchset contains changes to DPDK to make the build more configurable\noverall. The changes can be grouped into two areas:\n\n* Firstly, there are changes to make the build of the unit tests more\n  flexible and maintainable. These 5 patches switch the unit tests from\n  having separate hard-coded lists of files and tests, with lots of\n  conditional logic to add/remove items from the list, to instead being\n  a single list of files and dependencies per-file. The actual lists of\n  test-suites are built up dynamically from the list of files whose\n  dependencies are met and therefore will be part of the build.\n  This rework enables...\n* The second set of patches which expands the list of libraries which\n  can be disabled at build-time, while still giving a successful build\n  of DPDK. Overall, after this set is applied, the list of optional\n  libraries in DPDK is approx doubled in size. [15 additions giving\n  31 optional libs]\n\nNOTES:\n* as stated in the RFC, the test binary moves in the build as a result\n  of this set - from app/test/dpdk-test to app/dpdk-test.\n* running the suites of tests no longer works after patch 4 until patch\n  5 is applied. If this is an issue, the two patches can be merged on\n  apply. However, the individual tests are still runnable through the\n  test binary - it's only through \"meson test\" that there are issues, so\n  I'm keeping the patches separate since each is relatively complex in its\n  own right.\n\nV2:\n- Changes since RFC:\n   -  merged two previous sets - reworking test build, and disabling\n      libs - into one, since they depend on each other\n   -  Reworked the list of dependencies for each file in the tests,\n      so that files that depend on other files have those deps called\n      out.\n   -  Added list of external dependencies to the test builds\n   -  For disabling libs, merged patches disabling individual libs\n      together into one patch, since all unit test build changes were\n      unnecessary. This made each patch a single-line addition to\n      the optional list in lib/meson.build.\n\nBruce Richardson (8):\n  app/test: add new macros for various test types\n  app/test: tag tests with the test type\n  app/test: make telemetry data test buildable on windows\n  app/test: build using per-file dependency matrix\n  app/test: define unit tests suites based on test macros\n  examples/l3fwd: make eventdev an optional dependency\n  build: make most device classes optional\n  build: expand list of optional libraries\n\n app/meson.build                               |  15 +-\n app/test/meson.build                          | 818 +++++-------------\n app/test/suites/meson.build                   |  76 ++\n app/test/test.h                               |   9 +-\n app/test/test_acl.c                           |   2 +-\n app/test/test_atomic.c                        |   2 +-\n app/test/test_barrier.c                       |   2 +-\n app/test/test_bitmap.c                        |   2 +-\n app/test/test_bitops.c                        |   2 +-\n app/test/test_bpf.c                           |   4 +-\n app/test/test_byteorder.c                     |   2 +-\n app/test/test_cksum.c                         |   2 +-\n app/test/test_cmdline.c                       |   2 +-\n app/test/test_common.c                        |   2 +-\n app/test/test_cpuflags.c                      |   2 +-\n app/test/test_crc.c                           |   2 +-\n app/test/test_cryptodev.c                     |  38 +-\n app/test/test_cryptodev_asym.c                |   2 +-\n app/test/test_cycles.c                        |   2 +-\n app/test/test_debug.c                         |   2 +-\n app/test/test_devargs.c                       |   2 +-\n app/test/test_distributor.c                   |   2 +-\n app/test/test_distributor_perf.c              |   2 +-\n app/test/test_dmadev.c                        |   2 +-\n app/test/test_eal_flags.c                     |  24 +-\n app/test/test_eal_fs.c                        |   2 +-\n app/test/test_efd.c                           |   2 +-\n app/test/test_efd_perf.c                      |   2 +-\n app/test/test_errno.c                         |   2 +-\n app/test/test_ethdev_link.c                   |   2 +-\n app/test/test_event_ring.c                    |   2 +-\n app/test/test_eventdev.c                      |   2 +-\n app/test/test_fbarray.c                       |   2 +-\n app/test/test_fib.c                           |   4 +-\n app/test/test_fib6.c                          |   4 +-\n app/test/test_fib6_perf.c                     |   2 +-\n app/test/test_fib_perf.c                      |   2 +-\n app/test/test_func_reentrancy.c               |   2 +-\n app/test/test_hash.c                          |   2 +-\n app/test/test_hash_functions.c                |   2 +-\n app/test/test_hash_multiwriter.c              |   2 +-\n app/test/test_hash_perf.c                     |   2 +-\n app/test/test_hash_readwrite.c                |   4 +-\n app/test/test_hash_readwrite_lf_perf.c        |   2 +-\n app/test/test_interrupts.c                    |   2 +-\n app/test/test_ipfrag.c                        |   2 +-\n app/test/test_ipsec.c                         |   2 +-\n app/test/test_ipsec_perf.c                    |   2 +-\n app/test/test_kvargs.c                        |   2 +-\n app/test/test_lcores.c                        |   2 +-\n app/test/test_logs.c                          |   2 +-\n app/test/test_lpm.c                           |   2 +-\n app/test/test_lpm6.c                          |   2 +-\n app/test/test_lpm6_perf.c                     |   2 +-\n app/test/test_lpm_perf.c                      |   2 +-\n app/test/test_malloc.c                        |   2 +-\n app/test/test_malloc_perf.c                   |   2 +-\n app/test/test_mbuf.c                          |   2 +-\n app/test/test_mcslock.c                       |   2 +-\n app/test/test_member.c                        |   2 +-\n app/test/test_member_perf.c                   |   2 +-\n app/test/test_memcpy.c                        |   2 +-\n app/test/test_memcpy_perf.c                   |   2 +-\n app/test/test_memory.c                        |   2 +-\n app/test/test_mempool.c                       |   2 +-\n app/test/test_mempool_perf.c                  |   2 +-\n app/test/test_memzone.c                       |   2 +-\n app/test/test_meter.c                         |   2 +-\n app/test/test_mp_secondary.c                  |   2 +-\n app/test/test_per_lcore.c                     |   2 +-\n app/test/test_pflock.c                        |   2 +-\n app/test/test_pie.c                           |   6 +-\n app/test/test_pmd_perf.c                      |   2 +-\n app/test/test_power.c                         |   2 +-\n app/test/test_power_cpufreq.c                 |   2 +-\n app/test/test_power_intel_uncore.c            |   2 +-\n app/test/test_power_kvm_vm.c                  |   2 +-\n app/test/test_prefetch.c                      |   2 +-\n app/test/test_rand_perf.c                     |   2 +-\n app/test/test_rcu_qsbr.c                      |   2 +-\n app/test/test_rcu_qsbr_perf.c                 |   2 +-\n app/test/test_reassembly_perf.c               |   2 +-\n app/test/test_reciprocal_division.c           |   2 +-\n app/test/test_reciprocal_division_perf.c      |   2 +-\n app/test/test_red.c                           |   4 +-\n app/test/test_reorder.c                       |   2 +-\n app/test/test_rib.c                           |   4 +-\n app/test/test_rib6.c                          |   4 +-\n app/test/test_ring.c                          |   2 +-\n app/test/test_ring_perf.c                     |   2 +-\n app/test/test_rwlock.c                        |   8 +-\n app/test/test_sched.c                         |   2 +-\n app/test/test_security.c                      |   2 +-\n app/test/test_seqlock.c                       |   2 +-\n app/test/test_service_cores.c                 |   4 +-\n app/test/test_spinlock.c                      |   2 +-\n app/test/test_stack.c                         |   4 +-\n app/test/test_stack_perf.c                    |   4 +-\n app/test/test_string_fns.c                    |   2 +-\n app/test/test_tailq.c                         |   2 +-\n app/test/test_telemetry_data.c                |  14 +-\n app/test/test_thash.c                         |   2 +-\n app/test/test_thash_perf.c                    |   2 +-\n app/test/test_threads.c                       |   2 +-\n app/test/test_ticketlock.c                    |   2 +-\n app/test/test_timer.c                         |   2 +-\n app/test/test_timer_perf.c                    |   2 +-\n app/test/test_timer_racecond.c                |   2 +-\n app/test/test_trace.c                         |   2 +-\n app/test/test_trace_perf.c                    |   2 +-\n app/test/test_version.c                       |   2 +-\n buildtools/get-test-suites.py                 |  33 +\n .../has-hugepages.py                          |   0\n buildtools/meson.build                        |   2 +\n examples/l3fwd/l3fwd_em.c                     |   2 +\n examples/l3fwd/l3fwd_em_hlm.h                 |   2 +\n examples/l3fwd/l3fwd_event.c                  |   2 +\n examples/l3fwd/l3fwd_event.h                  |   7 +-\n examples/l3fwd/l3fwd_event_generic.c          |   2 +\n examples/l3fwd/l3fwd_event_internal_port.c    |   2 +\n examples/l3fwd/l3fwd_fib.c                    |   2 +\n examples/l3fwd/l3fwd_lpm.c                    |   2 +\n examples/l3fwd/main.c                         |  65 +-\n examples/l3fwd/meson.build                    |   5 +-\n lib/meson.build                               |  15 +\n 125 files changed, 607 insertions(+), 766 deletions(-)\n create mode 100644 app/test/suites/meson.build\n create mode 100644 buildtools/get-test-suites.py\n rename app/test/has_hugepage.py => buildtools/has-hugepages.py (100%)\n\n--\n2.39.2"
}