Show a cover letter.

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

{
    "id": 107583,
    "url": "http://patches.dpdk.org/api/covers/107583/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20220215123037.608981-1-sean.morrissey@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patches.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": "<20220215123037.608981-1-sean.morrissey@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220215123037.608981-1-sean.morrissey@intel.com",
    "date": "2022-02-15T12:29:47",
    "name": "[v9,00/50] introduce IWYU",
    "submitter": {
        "id": 1359,
        "url": "http://patches.dpdk.org/api/people/1359/?format=api",
        "name": "Sean Morrissey",
        "email": "sean.morrissey@intel.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/20220215123037.608981-1-sean.morrissey@intel.com/mbox/",
    "series": [
        {
            "id": 21680,
            "url": "http://patches.dpdk.org/api/series/21680/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=21680",
            "date": "2022-02-15T12:29:47",
            "name": "introduce IWYU",
            "version": 9,
            "mbox": "http://patches.dpdk.org/series/21680/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/107583/comments/",
    "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 29B94A00C5;\n\tTue, 15 Feb 2022 13:31:56 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 1841E410F3;\n\tTue, 15 Feb 2022 13:31:56 +0100 (CET)",
            "from mga11.intel.com (mga11.intel.com [192.55.52.93])\n by mails.dpdk.org (Postfix) with ESMTP id A138B40E78\n for <dev@dpdk.org>; Tue, 15 Feb 2022 13:31:54 +0100 (CET)",
            "from orsmga008.jf.intel.com ([10.7.209.65])\n by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 15 Feb 2022 04:31:53 -0800",
            "from silpixa00401215.ir.intel.com ([10.55.128.96])\n by orsmga008.jf.intel.com with ESMTP; 15 Feb 2022 04:31:52 -0800"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1644928314; x=1676464314;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=vhW0YFQKJWA5FppCfVYKuAKPcfM4nKT/eVs2wYAd97s=;\n b=UnCvciYW2YVeqTmfBPyEDmSlnQ6k3s7kv/20qSvXcUeE9rsDE1m+d7eP\n R+aDI/t1uu/Gvk/nVLYn8wyrX4BWLMBV3Yux9U548GSTKQWt3RBznp47O\n l48u5mb4eD3deqtZy3BAcn7uUQDd7dlaKo6sRWUCeAgjgAtoRdoltdoux\n VFgmimnWYZSevfZtt5FQMm6NZWUxPu1JwEd9V2CaxiEQELx2AmJr2PPg0\n V1Y+Vpli9YUmVUCP271xhBwqn65HobGomar0wnLbdGkz2dpRGc7AzXDpt\n Uj8bm/qwgp2R4VKVjkf4MkURMN8K2e+DqUox3E1Bhaj85P2/+ZnZDM0bR A==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6200,9189,10258\"; a=\"247936520\"",
            "E=Sophos;i=\"5.88,370,1635231600\"; d=\"scan'208\";a=\"247936520\"",
            "E=Sophos;i=\"5.88,370,1635231600\"; d=\"scan'208\";a=\"544280243\""
        ],
        "X-ExtLoop1": "1",
        "From": "Sean Morrissey <sean.morrissey@intel.com>",
        "To": "",
        "Cc": "dev@dpdk.org,\n\tSean Morrissey <sean.morrissey@intel.com>",
        "Subject": "[PATCH v9 00/50] introduce IWYU",
        "Date": "Tue, 15 Feb 2022 12:29:47 +0000",
        "Message-Id": "<20220215123037.608981-1-sean.morrissey@intel.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20220214144406.4192233-1-sean.morrissey@intel.com>",
        "References": "<20220214144406.4192233-1-sean.morrissey@intel.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "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": "This patchset introduces the include-what-you-use script which removes\nunused header includes. IWYU GitHub:\n\nhttps://github.com/include-what-you-use/include-what-you-use\n\nAlong with the script there are some patches which make a start on\nremoving unneeded headers.\n\nV4:\n* Re-added removed headers that are now needed in order to fix build\n  issues.\n* Removed other unused headers from other libraries\n\nV5:\n* Fix build issues for RHEL 7.\n* Squash commits for overlapping libraries.\n\nV6:\n* Fix some Windows build issues.\n* Fix some RHEL 8 build issues.\n\nV7:\n* Further RHEL 8 and FreeBSD build issues fixed.\n\nV8:\n* Fix apply issues.\n\nV9:\n* Reintroduce headers flagged by maintainers.\n\nSean Morrissey (50):\n  devtools: script to remove unused headers includes\n  telemetry: remove unneeded header includes\n  ring: remove unneeded header includes\n  kvargs: remove unneeded header includes\n  eal: remove unneeded header includes\n  vhost: remove unneeded header includes\n  timer: remove unneeded header includes\n  table: remove unneeded header includes\n  stack: remove unneeded header includes\n  security: remove unneeded header includes\n  sched: remove unneeded header includes\n  rib: remove unneeded header includes\n  reorder: remove unneeded header includes\n  regexdev: remove unneeded header includes\n  rcu: remove unneeded header includes\n  rawdev: remove unneeded header includes\n  power: remove unneeded header includes\n  port: remove unneeded header includes\n  pipeline: remove unneeded header includes\n  pdump: remove unneeded header includes\n  pci: remove unneeded header includes\n  pcapng: remove unneeded header includes\n  node: remove unneeded header includes\n  net: remove unneeded header includes\n  metrics: remove unneeded header includes\n  mempool: remove unneeded header includes\n  member: remove unneeded header includes\n  mbuf: remove unneeded header includes\n  lpm: remove unneeded header includes\n  latencystats: remove unneeded header includes\n  kni: remove unneeded header includes\n  jobstats: remove unneeded header includes\n  ipsec: remove unneeded header includes\n  ip_frag: remove unneeded header includes\n  hash: remove unneeded header includes\n  gro: remove unneeded header includes\n  graph: remove unneeded header includes\n  gpudev: remove unneeded header includes\n  flow_classify: remove unneeded header includes\n  fib: remove unneeded header includes\n  eventdev: remove unneeded header includes\n  efd: remove unneeded header includes\n  dmadev: remove unneeded header includes\n  distributor: remove unneeded header includes\n  compressdev: remove unneeded header includes\n  cmdline: remove unneeded header includes\n  bpf: remove unneeded header includes\n  bbdev: remove unneeded header includes\n  cryptodev: remove unneeded header includes\n  acl: remove unneeded header includes\n\n devtools/process_iwyu.py                    | 109 ++++++++++++++++++++\n examples/vm_power_manager/guest_cli/main.c  |   1 +\n lib/acl/rte_acl.c                           |   1 -\n lib/bbdev/rte_bbdev.c                       |   4 -\n lib/bbdev/rte_bbdev.h                       |   4 -\n lib/bpf/bpf.c                               |   4 -\n lib/bpf/bpf_exec.c                          |   6 --\n lib/bpf/bpf_jit_x86.c                       |   5 -\n lib/bpf/bpf_load.c                          |   8 --\n lib/bpf/bpf_pkt.c                           |  12 ---\n lib/bpf/bpf_validate.c                      |   3 -\n lib/cmdline/cmdline.c                       |   2 -\n lib/cmdline/cmdline_parse.c                 |   3 -\n lib/cmdline/cmdline_parse_portlist.c        |   3 -\n lib/cmdline/cmdline_parse_string.c          |   4 -\n lib/cmdline/cmdline_rdline.c                |   2 -\n lib/cmdline/cmdline_vt100.c                 |   3 -\n lib/compressdev/rte_comp.c                  |   1 -\n lib/compressdev/rte_comp.h                  |   1 -\n lib/compressdev/rte_compressdev.c           |   1 -\n lib/compressdev/rte_compressdev.h           |   1 -\n lib/compressdev/rte_compressdev_pmd.h       |   2 -\n lib/cryptodev/cryptodev_pmd.h               |   4 -\n lib/cryptodev/rte_cryptodev.c               |  11 --\n lib/cryptodev/rte_cryptodev.h               |   2 -\n lib/distributor/rte_distributor.c           |   2 -\n lib/distributor/rte_distributor_match_sse.c |   2 -\n lib/distributor/rte_distributor_single.c    |   2 -\n lib/dmadev/rte_dmadev.h                     |   1 -\n lib/eal/common/eal_common_dev.c             |   5 -\n lib/eal/common/eal_common_devargs.c         |   1 -\n lib/eal/common/eal_common_errno.c           |   4 -\n lib/eal/common/eal_common_fbarray.c         |   3 -\n lib/eal/common/eal_common_hexdump.c         |   3 -\n lib/eal/common/eal_common_launch.c          |   6 --\n lib/eal/common/eal_common_lcore.c           |   7 +-\n lib/eal/common/eal_common_log.c             |   1 -\n lib/eal/common/eal_common_memalloc.c        |   3 -\n lib/eal/common/eal_common_memory.c          |   4 -\n lib/eal/common/eal_common_memzone.c         |   4 -\n lib/eal/common/eal_common_options.c         |   2 -\n lib/eal/common/eal_common_proc.c            |   2 -\n lib/eal/common/eal_common_string_fns.c      |   2 -\n lib/eal/common/eal_common_tailqs.c          |  11 --\n lib/eal/common/eal_common_thread.c          |   3 -\n lib/eal/common/eal_common_timer.c           |   6 --\n lib/eal/common/eal_common_trace.c           |   1 -\n lib/eal/common/hotplug_mp.h                 |   1 -\n lib/eal/common/malloc_elem.c                |   6 --\n lib/eal/common/malloc_heap.c                |   5 -\n lib/eal/common/malloc_mp.c                  |   1 -\n lib/eal/common/malloc_mp.h                  |   2 -\n lib/eal/common/rte_malloc.c                 |   5 -\n lib/eal/common/rte_random.c                 |   3 -\n lib/eal/common/rte_service.c                |   6 --\n lib/eal/include/rte_version.h               |   2 -\n lib/eal/linux/eal.c                         |  10 --\n lib/eal/linux/eal_alarm.c                   |   7 --\n lib/eal/linux/eal_cpuflags.c                |   2 -\n lib/eal/linux/eal_debug.c                   |   5 -\n lib/eal/linux/eal_dev.c                     |   4 -\n lib/eal/linux/eal_hugepage_info.c           |   7 --\n lib/eal/linux/eal_interrupts.c              |   8 --\n lib/eal/linux/eal_lcore.c                   |   7 --\n lib/eal/linux/eal_log.c                     |   9 --\n lib/eal/linux/eal_memalloc.c                |   8 --\n lib/eal/linux/eal_memory.c                  |   9 --\n lib/eal/linux/eal_thread.c                  |   6 --\n lib/eal/linux/eal_timer.c                   |  15 ---\n lib/eal/linux/eal_vfio_mp_sync.c            |   1 -\n lib/eal/unix/eal_file.c                     |   1 -\n lib/eal/unix/rte_thread.c                   |   1 -\n lib/eal/x86/rte_cycles.c                    |   1 -\n lib/efd/rte_efd.c                           |   3 -\n lib/eventdev/rte_event_ring.c               |   6 --\n lib/eventdev/rte_event_ring.h               |   2 -\n lib/eventdev/rte_event_timer_adapter.c      |   5 -\n lib/eventdev/rte_event_timer_adapter.h      |   2 -\n lib/eventdev/rte_eventdev.c                 |  11 --\n lib/eventdev/rte_eventdev.h                 |   2 -\n lib/fib/dir24_8.c                           |   4 -\n lib/fib/rte_fib.c                           |   2 -\n lib/fib/rte_fib.h                           |   1 -\n lib/fib/rte_fib6.c                          |   2 -\n lib/fib/rte_fib6.h                          |   1 -\n lib/fib/trie.c                              |   5 -\n lib/fib/trie.h                              |   2 -\n lib/flow_classify/rte_flow_classify.c       |   3 -\n lib/flow_classify/rte_flow_classify.h       |   4 -\n lib/flow_classify/rte_flow_classify_parse.c |   1 -\n lib/flow_classify/rte_flow_classify_parse.h |   1 -\n lib/gpudev/gpudev.c                         |   1 -\n lib/graph/graph_debug.c                     |   2 -\n lib/graph/graph_ops.c                       |   1 -\n lib/graph/graph_populate.c                  |   2 -\n lib/graph/node.c                            |   1 -\n lib/gro/gro_tcp4.c                          |   1 -\n lib/gro/gro_tcp4.h                          |   2 -\n lib/gro/gro_udp4.c                          |   1 -\n lib/gro/gro_udp4.h                          |   2 -\n lib/gro/gro_vxlan_tcp4.c                    |   1 -\n lib/gro/gro_vxlan_udp4.c                    |   1 -\n lib/gro/rte_gro.c                           |   1 -\n lib/hash/rte_cuckoo_hash.c                  |   4 -\n lib/hash/rte_fbk_hash.c                     |   6 --\n lib/hash/rte_fbk_hash.h                     |   1 -\n lib/hash/rte_thash.c                        |   1 -\n lib/hash/rte_thash.h                        |   1 -\n lib/ip_frag/rte_ip_frag_common.c            |   1 -\n lib/ip_frag/rte_ipv4_fragmentation.c        |   2 -\n lib/ipsec/esp_inb.c                         |   1 -\n lib/ipsec/esp_outb.c                        |   1 -\n lib/ipsec/ipsec_sad.c                       |   1 -\n lib/ipsec/sa.c                              |   3 -\n lib/ipsec/sa.h                              |   1 -\n lib/jobstats/rte_jobstats.c                 |   3 -\n lib/kni/rte_kni.c                           |   2 -\n lib/kni/rte_kni.h                           |   2 -\n lib/kvargs/rte_kvargs.c                     |   1 -\n lib/latencystats/rte_latencystats.c         |   4 -\n lib/lpm/rte_lpm.c                           |   7 --\n lib/lpm/rte_lpm.h                           |   4 -\n lib/lpm/rte_lpm6.c                          |   7 --\n lib/lpm/rte_lpm6.h                          |   1 -\n lib/mbuf/rte_mbuf.c                         |  11 --\n lib/mbuf/rte_mbuf.h                         |   2 -\n lib/mbuf/rte_mbuf_dyn.h                     |   2 -\n lib/mbuf/rte_mbuf_pool_ops.c                |   1 -\n lib/mbuf/rte_mbuf_pool_ops.h                |   1 -\n lib/member/rte_member.c                     |   2 -\n lib/member/rte_member.h                     |   1 -\n lib/member/rte_member_vbf.c                 |   1 -\n lib/mempool/rte_mempool.c                   |   7 --\n lib/mempool/rte_mempool.h                   |   4 -\n lib/metrics/rte_metrics.c                   |   3 -\n lib/net/net_crc_avx512.c                    |   3 -\n lib/net/net_crc_sse.c                       |   1 -\n lib/net/rte_arp.c                           |   1 -\n lib/net/rte_ether.h                         |   1 -\n lib/net/rte_net_crc.c                       |   2 -\n lib/node/ethdev_ctrl.c                      |   2 -\n lib/node/ethdev_rx.c                        |   1 -\n lib/node/ethdev_tx.c                        |   1 -\n lib/node/ip4_lookup.c                       |   5 -\n lib/node/ip4_rewrite.c                      |   4 -\n lib/node/pkt_cls.c                          |   4 -\n lib/node/pkt_drop.c                         |   1 -\n lib/pcapng/rte_pcapng.c                     |   1 -\n lib/pcapng/rte_pcapng.h                     |   2 -\n lib/pci/rte_pci.c                           |  15 +--\n lib/pci/rte_pci.h                           |   1 -\n lib/pdump/rte_pdump.c                       |   1 -\n lib/pdump/rte_pdump.h                       |   2 -\n lib/pipeline/rte_pipeline.c                 |   4 -\n lib/pipeline/rte_port_in_action.c           |   2 -\n lib/pipeline/rte_swx_ctl.h                  |   2 -\n lib/pipeline/rte_swx_pipeline.c             |   1 -\n lib/pipeline/rte_swx_pipeline.h             |   1 -\n lib/pipeline/rte_swx_pipeline_spec.c        |   1 -\n lib/pipeline/rte_table_action.c             |   2 -\n lib/port/rte_port_fd.h                      |   1 -\n lib/port/rte_port_frag.c                    |   2 -\n lib/port/rte_port_frag.h                    |   1 -\n lib/port/rte_port_kni.c                     |   1 -\n lib/port/rte_port_kni.h                     |   1 -\n lib/port/rte_port_ras.c                     |   1 -\n lib/port/rte_port_ras.h                     |   1 -\n lib/port/rte_port_ring.h                    |   1 -\n lib/port/rte_port_sched.c                   |   1 -\n lib/port/rte_port_source_sink.c             |   1 -\n lib/port/rte_swx_port_fd.c                  |   1 -\n lib/port/rte_swx_port_fd.h                  |   1 -\n lib/port/rte_swx_port_ring.h                |   1 -\n lib/power/guest_channel.c                   |   2 -\n lib/power/power_acpi_cpufreq.c              |   7 --\n lib/power/power_acpi_cpufreq.h              |   4 -\n lib/power/power_common.h                    |   1 -\n lib/power/power_cppc_cpufreq.c              |   1 -\n lib/power/power_cppc_cpufreq.h              |   4 -\n lib/power/power_kvm_vm.c                    |   1 -\n lib/power/power_kvm_vm.h                    |   4 -\n lib/power/power_pstate_cpufreq.c            |   6 --\n lib/power/power_pstate_cpufreq.h            |   4 -\n lib/power/rte_power.c                       |   1 -\n lib/power/rte_power.h                       |   2 -\n lib/power/rte_power_empty_poll.c            |   2 -\n lib/rawdev/rte_rawdev.c                     |  14 ---\n lib/rcu/rte_rcu_qsbr.c                      |   4 -\n lib/rcu/rte_rcu_qsbr.h                      |   4 -\n lib/regexdev/rte_regexdev.c                 |   2 -\n lib/regexdev/rte_regexdev.h                 |   3 -\n lib/reorder/rte_reorder.c                   |   1 -\n lib/rib/rte_rib.c                           |   2 -\n lib/rib/rte_rib.h                           |   1 -\n lib/rib/rte_rib6.c                          |   2 -\n lib/rib/rte_rib6.h                          |   1 -\n lib/ring/rte_ring.c                         |   9 --\n lib/sched/rte_pie.c                         |   2 -\n lib/sched/rte_red.h                         |   1 -\n lib/sched/rte_sched.c                       |   1 -\n lib/sched/rte_sched.h                       |   1 -\n lib/security/rte_security.c                 |   2 -\n lib/security/rte_security.h                 |   3 -\n lib/stack/rte_stack.c                       |   2 -\n lib/stack/rte_stack.h                       |   1 -\n lib/table/rte_swx_table_em.c                |   1 -\n lib/table/rte_swx_table_em.h                |   1 -\n lib/table/rte_swx_table_learner.c           |   1 -\n lib/table/rte_swx_table_learner.h           |   1 -\n lib/table/rte_swx_table_selector.c          |   1 -\n lib/table/rte_swx_table_wm.c                |   2 -\n lib/table/rte_swx_table_wm.h                |   1 -\n lib/table/rte_table_acl.c                   |   3 -\n lib/table/rte_table_array.c                 |   2 -\n lib/table/rte_table_hash_cuckoo.c           |   2 -\n lib/table/rte_table_hash_ext.c              |   2 -\n lib/table/rte_table_hash_key16.c            |   2 -\n lib/table/rte_table_hash_key32.c            |   2 -\n lib/table/rte_table_hash_key8.c             |   2 -\n lib/table/rte_table_hash_lru.c              |   2 -\n lib/table/rte_table_lpm.c                   |   2 -\n lib/table/rte_table_lpm_ipv6.c              |   3 -\n lib/table/rte_table_stub.c                  |   1 -\n lib/table/rte_table_stub.h                  |   1 -\n lib/telemetry/telemetry.c                   |   1 -\n lib/telemetry/telemetry_data.h              |   1 -\n lib/timer/rte_timer.c                       |   6 --\n lib/vhost/fd_man.c                          |   6 --\n lib/vhost/fd_man.h                          |   1 -\n lib/vhost/socket.c                          |   1 -\n lib/vhost/vdpa.c                            |   1 -\n lib/vhost/vhost.c                           |   4 -\n lib/vhost/vhost.h                           |   2 -\n lib/vhost/vhost_user.c                      |   2 -\n 234 files changed, 112 insertions(+), 681 deletions(-)\n create mode 100755 devtools/process_iwyu.py"
}