mbox

[v7,00/50] introduce IWYU

Message ID 20220214113632.3184921-1-sean.morrissey@intel.com (mailing list archive)
Headers

Message

Sean Morrissey Feb. 14, 2022, 11:35 a.m. UTC
This patchset introduces the include-what-you-use script which removes
unused header includes. IWYU GitHub:

https://github.com/include-what-you-use/include-what-you-use

Along with the script there are some patches which make a start on
removing unneeded headers.

V4:
* Re-added removed headers that are now needed in order to fix build
  issues.
* Removed other unused headers from other libraries

V5:
* Fix build issues for RHEL 7.
* Squash commits for overlapping libraries.

V6:
* Fix some Windows build issues.
* Fix some RHEL 8 build issues.

V7:
* Further RHEL 8 and FreeBSD build issues fixed.

Sean Morrissey (50):
  devtools: script to remove unused headers includes
  telemetry: remove unneeded header includes
  ring: remove unneeded header includes
  kvargs: remove unneeded header includes
  eal: remove unneeded header includes
  vhost: remove unneeded header includes
  timer: remove unneeded header includes
  table: remove unneeded header includes
  stack: remove unneeded header includes
  security: remove unneeded header includes
  sched: remove unneeded header includes
  rib: remove unneeded header includes
  reorder: remove unneeded header includes
  regexdev: remove unneeded header includes
  rcu: remove unneeded header includes
  rawdev: remove unneeded header includes
  power: remove unneeded header includes
  port: remove unneeded header includes
  pipeline: remove unneeded header includes
  pdump: remove unneeded header includes
  pci: remove unneeded header includes
  pcapng: remove unneeded header includes
  node: remove unneeded header includes
  net: remove unneeded header includes
  metrics: remove unneeded header includes
  mempool: remove unneeded header includes
  member: remove unneeded header includes
  mbuf: remove unneeded header includes
  lpm: remove unneeded header includes
  latencystats: remove unneeded header includes
  kni: remove unneeded header includes
  jobstats: remove unneeded header includes
  ipsec: remove unneeded header includes
  ip_frag: remove unneeded header includes
  hash: remove unneeded header includes
  gro: remove unneeded header includes
  graph: remove unneeded header includes
  gpudev: remove unneeded header includes
  flow_classify: remove unneeded header includes
  fib: remove unneeded header includes
  eventdev: remove unneeded header includes
  efd: remove unneeded header includes
  dmadev: remove unneeded header includes
  distributor: remove unneeded header includes
  compressdev: remove unneeded header includes
  cmdline: remove unneeded header includes
  bpf: remove unneeded header includes
  bbdev: remove unneeded header includes
  cryptodev: remove unneeded header includes
  acl: remove unneeded header includes

 devtools/process_iwyu.py                    | 109 ++++++++++++++++++++
 examples/vm_power_manager/guest_cli/main.c  |   1 +
 lib/acl/rte_acl.c                           |   1 -
 lib/bbdev/rte_bbdev.c                       |   4 -
 lib/bbdev/rte_bbdev.h                       |   4 -
 lib/bpf/bpf.c                               |   4 -
 lib/bpf/bpf_exec.c                          |   6 --
 lib/bpf/bpf_jit_x86.c                       |   5 -
 lib/bpf/bpf_load.c                          |   8 --
 lib/bpf/bpf_pkt.c                           |  12 ---
 lib/bpf/bpf_validate.c                      |   3 -
 lib/cmdline/cmdline.c                       |   2 -
 lib/cmdline/cmdline_parse.c                 |   3 -
 lib/cmdline/cmdline_parse_portlist.c        |   3 -
 lib/cmdline/cmdline_parse_string.c          |   4 -
 lib/cmdline/cmdline_rdline.c                |   2 -
 lib/cmdline/cmdline_vt100.c                 |   3 -
 lib/compressdev/rte_comp.c                  |   1 -
 lib/compressdev/rte_comp.h                  |   1 -
 lib/compressdev/rte_compressdev.c           |   1 -
 lib/compressdev/rte_compressdev.h           |   1 -
 lib/compressdev/rte_compressdev_pmd.h       |   2 -
 lib/cryptodev/cryptodev_pmd.h               |   4 -
 lib/cryptodev/rte_cryptodev.c               |  11 --
 lib/cryptodev/rte_cryptodev.h               |   2 -
 lib/distributor/rte_distributor.c           |   2 -
 lib/distributor/rte_distributor_match_sse.c |   2 -
 lib/distributor/rte_distributor_single.c    |   2 -
 lib/dmadev/rte_dmadev.h                     |   1 -
 lib/eal/common/eal_common_dev.c             |   5 -
 lib/eal/common/eal_common_devargs.c         |   1 -
 lib/eal/common/eal_common_errno.c           |   4 -
 lib/eal/common/eal_common_fbarray.c         |   3 -
 lib/eal/common/eal_common_hexdump.c         |   3 -
 lib/eal/common/eal_common_launch.c          |   6 --
 lib/eal/common/eal_common_lcore.c           |   7 +-
 lib/eal/common/eal_common_log.c             |   1 -
 lib/eal/common/eal_common_memalloc.c        |   3 -
 lib/eal/common/eal_common_memory.c          |   4 -
 lib/eal/common/eal_common_memzone.c         |   4 -
 lib/eal/common/eal_common_options.c         |   2 -
 lib/eal/common/eal_common_proc.c            |   2 -
 lib/eal/common/eal_common_string_fns.c      |   2 -
 lib/eal/common/eal_common_tailqs.c          |  11 --
 lib/eal/common/eal_common_thread.c          |   3 -
 lib/eal/common/eal_common_timer.c           |   6 --
 lib/eal/common/eal_common_trace.c           |   1 -
 lib/eal/common/hotplug_mp.h                 |   1 -
 lib/eal/common/malloc_elem.c                |   6 --
 lib/eal/common/malloc_heap.c                |   5 -
 lib/eal/common/malloc_mp.c                  |   1 -
 lib/eal/common/malloc_mp.h                  |   2 -
 lib/eal/common/rte_malloc.c                 |   5 -
 lib/eal/common/rte_random.c                 |   3 -
 lib/eal/common/rte_service.c                |   6 --
 lib/eal/include/rte_version.h               |   2 -
 lib/eal/linux/eal.c                         |  10 --
 lib/eal/linux/eal_alarm.c                   |   7 --
 lib/eal/linux/eal_cpuflags.c                |   2 -
 lib/eal/linux/eal_debug.c                   |   5 -
 lib/eal/linux/eal_dev.c                     |   4 -
 lib/eal/linux/eal_hugepage_info.c           |   7 --
 lib/eal/linux/eal_interrupts.c              |   8 --
 lib/eal/linux/eal_lcore.c                   |   7 --
 lib/eal/linux/eal_log.c                     |  11 +-
 lib/eal/linux/eal_memalloc.c                |   8 --
 lib/eal/linux/eal_memory.c                  |   9 --
 lib/eal/linux/eal_thread.c                  |   6 --
 lib/eal/linux/eal_timer.c                   |  15 ---
 lib/eal/linux/eal_vfio_mp_sync.c            |   1 -
 lib/eal/unix/eal_file.c                     |   1 -
 lib/eal/unix/rte_thread.c                   |   1 -
 lib/eal/x86/rte_cycles.c                    |   1 -
 lib/efd/rte_efd.c                           |   3 -
 lib/eventdev/rte_event_ring.c               |   6 --
 lib/eventdev/rte_event_ring.h               |   2 -
 lib/eventdev/rte_event_timer_adapter.c      |   5 -
 lib/eventdev/rte_event_timer_adapter.h      |   2 -
 lib/eventdev/rte_eventdev.c                 |  11 --
 lib/eventdev/rte_eventdev.h                 |   2 -
 lib/fib/dir24_8.c                           |   4 -
 lib/fib/rte_fib.c                           |   2 -
 lib/fib/rte_fib.h                           |   1 -
 lib/fib/rte_fib6.c                          |   2 -
 lib/fib/rte_fib6.h                          |   1 -
 lib/fib/trie.c                              |   5 -
 lib/fib/trie.h                              |   2 -
 lib/flow_classify/rte_flow_classify.c       |   3 -
 lib/flow_classify/rte_flow_classify.h       |   4 -
 lib/flow_classify/rte_flow_classify_parse.c |   1 -
 lib/flow_classify/rte_flow_classify_parse.h |   1 -
 lib/gpudev/gpudev.c                         |   1 -
 lib/graph/graph_debug.c                     |   2 -
 lib/graph/graph_ops.c                       |   1 -
 lib/graph/graph_populate.c                  |   2 -
 lib/graph/node.c                            |   1 -
 lib/gro/gro_tcp4.c                          |   1 -
 lib/gro/gro_tcp4.h                          |   2 -
 lib/gro/gro_udp4.c                          |   1 -
 lib/gro/gro_udp4.h                          |   2 -
 lib/gro/gro_vxlan_tcp4.c                    |   1 -
 lib/gro/gro_vxlan_udp4.c                    |   1 -
 lib/gro/rte_gro.c                           |   1 -
 lib/hash/rte_cuckoo_hash.c                  |   4 -
 lib/hash/rte_fbk_hash.c                     |   6 --
 lib/hash/rte_fbk_hash.h                     |   1 -
 lib/hash/rte_thash.c                        |   1 -
 lib/hash/rte_thash.h                        |   1 -
 lib/ip_frag/rte_ip_frag_common.c            |   1 -
 lib/ip_frag/rte_ipv4_fragmentation.c        |   2 -
 lib/ipsec/esp_inb.c                         |   1 -
 lib/ipsec/esp_outb.c                        |   1 -
 lib/ipsec/ipsec_sad.c                       |   1 -
 lib/ipsec/sa.c                              |   3 -
 lib/ipsec/sa.h                              |   1 -
 lib/jobstats/rte_jobstats.c                 |   3 -
 lib/kni/rte_kni.c                           |   2 -
 lib/kni/rte_kni.h                           |   2 -
 lib/kvargs/rte_kvargs.c                     |   1 -
 lib/latencystats/rte_latencystats.c         |   4 -
 lib/lpm/rte_lpm.c                           |   7 --
 lib/lpm/rte_lpm.h                           |   4 -
 lib/lpm/rte_lpm6.c                          |   7 --
 lib/lpm/rte_lpm6.h                          |   1 -
 lib/mbuf/rte_mbuf.c                         |  11 --
 lib/mbuf/rte_mbuf.h                         |   2 -
 lib/mbuf/rte_mbuf_dyn.h                     |   2 -
 lib/mbuf/rte_mbuf_pool_ops.c                |   1 -
 lib/mbuf/rte_mbuf_pool_ops.h                |   1 -
 lib/member/rte_member.c                     |   2 -
 lib/member/rte_member.h                     |   1 -
 lib/member/rte_member_vbf.c                 |   1 -
 lib/mempool/rte_mempool.c                   |   7 --
 lib/mempool/rte_mempool.h                   |   4 -
 lib/metrics/rte_metrics.c                   |   3 -
 lib/net/net_crc_avx512.c                    |   3 -
 lib/net/net_crc_sse.c                       |   1 -
 lib/net/rte_arp.c                           |   1 -
 lib/net/rte_ether.h                         |   1 -
 lib/net/rte_net.h                           |   1 -
 lib/net/rte_net_crc.c                       |   2 -
 lib/node/ethdev_ctrl.c                      |   2 -
 lib/node/ethdev_rx.c                        |   1 -
 lib/node/ethdev_tx.c                        |   1 -
 lib/node/ip4_lookup.c                       |   5 -
 lib/node/ip4_rewrite.c                      |   4 -
 lib/node/pkt_cls.c                          |   4 -
 lib/node/pkt_drop.c                         |   1 -
 lib/pcapng/rte_pcapng.c                     |   1 -
 lib/pcapng/rte_pcapng.h                     |   2 -
 lib/pci/rte_pci.c                           |  15 +--
 lib/pci/rte_pci.h                           |   1 -
 lib/pdump/rte_pdump.c                       |   1 -
 lib/pdump/rte_pdump.h                       |   2 -
 lib/pipeline/rte_pipeline.c                 |   4 -
 lib/pipeline/rte_port_in_action.c           |   2 -
 lib/pipeline/rte_swx_ctl.h                  |   2 -
 lib/pipeline/rte_swx_pipeline.c             |   1 -
 lib/pipeline/rte_swx_pipeline.h             |   1 -
 lib/pipeline/rte_swx_pipeline_spec.c        |   1 -
 lib/pipeline/rte_table_action.c             |   2 -
 lib/port/rte_port_fd.h                      |   1 -
 lib/port/rte_port_frag.c                    |   2 -
 lib/port/rte_port_frag.h                    |   1 -
 lib/port/rte_port_kni.c                     |   1 -
 lib/port/rte_port_kni.h                     |   1 -
 lib/port/rte_port_ras.c                     |   1 -
 lib/port/rte_port_ras.h                     |   1 -
 lib/port/rte_port_ring.h                    |   1 -
 lib/port/rte_port_sched.c                   |   1 -
 lib/port/rte_port_source_sink.c             |   1 -
 lib/port/rte_swx_port_fd.c                  |   1 -
 lib/port/rte_swx_port_fd.h                  |   1 -
 lib/port/rte_swx_port_ring.h                |   1 -
 lib/power/guest_channel.c                   |   2 -
 lib/power/power_acpi_cpufreq.c              |   7 --
 lib/power/power_acpi_cpufreq.h              |   4 -
 lib/power/power_common.h                    |   1 -
 lib/power/power_cppc_cpufreq.c              |   1 -
 lib/power/power_cppc_cpufreq.h              |   4 -
 lib/power/power_kvm_vm.c                    |   1 -
 lib/power/power_kvm_vm.h                    |   4 -
 lib/power/power_pstate_cpufreq.c            |   6 --
 lib/power/power_pstate_cpufreq.h            |   4 -
 lib/power/rte_power.c                       |   1 -
 lib/power/rte_power.h                       |   2 -
 lib/power/rte_power_empty_poll.c            |   2 -
 lib/rawdev/rte_rawdev.c                     |  14 ---
 lib/rcu/rte_rcu_qsbr.c                      |   4 -
 lib/rcu/rte_rcu_qsbr.h                      |   4 -
 lib/regexdev/rte_regexdev.c                 |   2 -
 lib/regexdev/rte_regexdev.h                 |   3 -
 lib/reorder/rte_reorder.c                   |   1 -
 lib/rib/rte_rib.c                           |   2 -
 lib/rib/rte_rib.h                           |   1 -
 lib/rib/rte_rib6.c                          |   2 -
 lib/rib/rte_rib6.h                          |   1 -
 lib/ring/rte_ring.c                         |   9 --
 lib/sched/rte_pie.c                         |   2 -
 lib/sched/rte_red.h                         |   1 -
 lib/sched/rte_sched.c                       |   1 -
 lib/sched/rte_sched.h                       |   1 -
 lib/security/rte_security.c                 |   2 -
 lib/security/rte_security.h                 |   3 -
 lib/stack/rte_stack.c                       |   2 -
 lib/stack/rte_stack.h                       |   1 -
 lib/table/rte_swx_table_em.c                |   1 -
 lib/table/rte_swx_table_em.h                |   1 -
 lib/table/rte_swx_table_learner.c           |   1 -
 lib/table/rte_swx_table_learner.h           |   1 -
 lib/table/rte_swx_table_selector.c          |   1 -
 lib/table/rte_swx_table_wm.c                |   2 -
 lib/table/rte_swx_table_wm.h                |   1 -
 lib/table/rte_table_acl.c                   |   3 -
 lib/table/rte_table_array.c                 |   2 -
 lib/table/rte_table_hash_cuckoo.c           |   2 -
 lib/table/rte_table_hash_ext.c              |   2 -
 lib/table/rte_table_hash_key16.c            |   2 -
 lib/table/rte_table_hash_key32.c            |   2 -
 lib/table/rte_table_hash_key8.c             |   2 -
 lib/table/rte_table_hash_lru.c              |   2 -
 lib/table/rte_table_lpm.c                   |   2 -
 lib/table/rte_table_lpm_ipv6.c              |   3 -
 lib/table/rte_table_stub.c                  |   1 -
 lib/table/rte_table_stub.h                  |   1 -
 lib/telemetry/telemetry.c                   |   1 -
 lib/telemetry/telemetry_data.h              |   1 -
 lib/timer/rte_timer.c                       |   6 --
 lib/vhost/fd_man.c                          |   6 --
 lib/vhost/fd_man.h                          |   1 -
 lib/vhost/socket.c                          |   1 -
 lib/vhost/vdpa.c                            |   1 -
 lib/vhost/vhost.c                           |   4 -
 lib/vhost/vhost.h                           |   2 -
 lib/vhost/vhost_user.c                      |   2 -
 235 files changed, 113 insertions(+), 683 deletions(-)
 create mode 100755 devtools/process_iwyu.py