Linux-RDMA Archive on lore.kernel.org
 help / color / Atom feed
From: "Toke Høiland-Jørgensen" <toke@redhat.com>
To: Alexei Starovoitov <ast@kernel.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>,
	Martin KaFai Lau <kafai@fb.com>, Song Liu <songliubraving@fb.com>,
	Yonghong Song <yhs@fb.com>, Andrii Nakryiko <andriin@fb.com>,
	Doug Ledford <dledford@redhat.com>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	"David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <jakub.kicinski@netronome.com>,
	Jesper Dangaard Brouer <brouer@redhat.com>,
	John Fastabend <john.fastabend@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	Shuah Khan <shuah@kernel.org>,
	netdev@vger.kernel.org, bpf@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org,
	linux-kselftest@vger.kernel.org,
	clang-built-linux@googlegroups.com
Subject: [PATCH bpf-next v2 00/10] tools: Use consistent libbpf include paths everywhere
Date: Wed, 15 Jan 2020 15:12:48 +0100
Message-ID: <157909756858.1192265.6657542187065456112.stgit@toke.dk> (raw)

The recent commit 6910d7d3867a ("selftests/bpf: Ensure bpf_helper_defs.h are
taken from selftests dir") broke compilation against libbpf if it is installed
on the system, and $INCLUDEDIR/bpf is not in the include path.

Since having the bpf/ subdir of $INCLUDEDIR in the include path has never been a
requirement for building against libbpf before, this needs to be fixed. One
option is to just revert the offending commit and figure out a different way to
achieve what it aims for. However, this series takes a different approach:
Changing all in-tree users of libbpf to consistently use a bpf/ prefix in
#include directives for header files from libbpf.

This turns out to be a somewhat invasive change in the number of files touched;
however, the actual changes to files are fairly trivial (most of them are simply
made with 'sed'). Also, this approach has the advantage that it makes external
and internal users consistent with each other, and ensures no future changes
breaks things in the same way as the commit referenced above.

The series is split to make the change for one tool subdir at a time, while
trying not to break the build along the way. It is structured like this:

- Patch 1-2: Trivial fixes to Makefiles for issues I discovered while changing
  the include paths.

- Patch 3-7: Change the include directives to use the bpf/ prefix, and updates
  Makefiles to make sure tools/lib/ is part of the include path, but without
  removing tools/lib/bpf

- Patch 8: Change the bpf_helpers file in libbpf itself to use the bpf/ prefix
  when including (the original source of breakage).

- Patch 9-10: Remove tools/lib/bpf from include paths to make sure we don't
  inadvertently re-introduce includes without the bpf/ prefix.

---

Toke Høiland-Jørgensen (10):
      samples/bpf: Don't try to remove user's homedir on clean
      tools/bpf/runqslower: Fix override option for VMLINUX_BTF
      tools/runqslower: Use consistent include paths for libbpf
      selftests: Use consistent include paths for libbpf
      bpftool: Use consistent include paths for libbpf
      perf: Use consistent include paths for libbpf
      samples/bpf: Use consistent include paths for libbpf
      libbpf: Fix include of bpf_helpers.h when libbpf is installed on system
      selftests: Remove tools/lib/bpf from include path
      tools/runqslower: Remove tools/lib/bpf from include path


 samples/bpf/Makefile                               |    5 ++---
 samples/bpf/cpustat_kern.c                         |    2 +-
 samples/bpf/fds_example.c                          |    2 +-
 samples/bpf/hbm.c                                  |    4 ++--
 samples/bpf/hbm_kern.h                             |    4 ++--
 samples/bpf/ibumad_kern.c                          |    2 +-
 samples/bpf/ibumad_user.c                          |    2 +-
 samples/bpf/lathist_kern.c                         |    2 +-
 samples/bpf/lwt_len_hist_kern.c                    |    2 +-
 samples/bpf/map_perf_test_kern.c                   |    4 ++--
 samples/bpf/offwaketime_kern.c                     |    4 ++--
 samples/bpf/offwaketime_user.c                     |    2 +-
 samples/bpf/parse_ldabs.c                          |    2 +-
 samples/bpf/parse_simple.c                         |    2 +-
 samples/bpf/parse_varlen.c                         |    2 +-
 samples/bpf/sampleip_kern.c                        |    4 ++--
 samples/bpf/sampleip_user.c                        |    2 +-
 samples/bpf/sock_flags_kern.c                      |    2 +-
 samples/bpf/sockex1_kern.c                         |    2 +-
 samples/bpf/sockex1_user.c                         |    2 +-
 samples/bpf/sockex2_kern.c                         |    2 +-
 samples/bpf/sockex2_user.c                         |    2 +-
 samples/bpf/sockex3_kern.c                         |    2 +-
 samples/bpf/spintest_kern.c                        |    4 ++--
 samples/bpf/spintest_user.c                        |    2 +-
 samples/bpf/syscall_tp_kern.c                      |    2 +-
 samples/bpf/task_fd_query_kern.c                   |    2 +-
 samples/bpf/task_fd_query_user.c                   |    2 +-
 samples/bpf/tc_l2_redirect_kern.c                  |    2 +-
 samples/bpf/tcbpf1_kern.c                          |    2 +-
 samples/bpf/tcp_basertt_kern.c                     |    4 ++--
 samples/bpf/tcp_bufs_kern.c                        |    4 ++--
 samples/bpf/tcp_clamp_kern.c                       |    4 ++--
 samples/bpf/tcp_cong_kern.c                        |    4 ++--
 samples/bpf/tcp_dumpstats_kern.c                   |    4 ++--
 samples/bpf/tcp_iw_kern.c                          |    4 ++--
 samples/bpf/tcp_rwnd_kern.c                        |    4 ++--
 samples/bpf/tcp_synrto_kern.c                      |    4 ++--
 samples/bpf/tcp_tos_reflect_kern.c                 |    4 ++--
 samples/bpf/test_cgrp2_tc_kern.c                   |    2 +-
 samples/bpf/test_current_task_under_cgroup_kern.c  |    2 +-
 samples/bpf/test_lwt_bpf.c                         |    2 +-
 samples/bpf/test_map_in_map_kern.c                 |    4 ++--
 samples/bpf/test_overhead_kprobe_kern.c            |    4 ++--
 samples/bpf/test_overhead_raw_tp_kern.c            |    2 +-
 samples/bpf/test_overhead_tp_kern.c                |    2 +-
 samples/bpf/test_probe_write_user_kern.c           |    4 ++--
 samples/bpf/trace_event_kern.c                     |    4 ++--
 samples/bpf/trace_event_user.c                     |    2 +-
 samples/bpf/trace_output_kern.c                    |    2 +-
 samples/bpf/trace_output_user.c                    |    2 +-
 samples/bpf/tracex1_kern.c                         |    4 ++--
 samples/bpf/tracex2_kern.c                         |    4 ++--
 samples/bpf/tracex3_kern.c                         |    4 ++--
 samples/bpf/tracex4_kern.c                         |    4 ++--
 samples/bpf/tracex5_kern.c                         |    4 ++--
 samples/bpf/tracex6_kern.c                         |    2 +-
 samples/bpf/tracex7_kern.c                         |    2 +-
 samples/bpf/xdp1_kern.c                            |    2 +-
 samples/bpf/xdp1_user.c                            |    4 ++--
 samples/bpf/xdp2_kern.c                            |    2 +-
 samples/bpf/xdp2skb_meta_kern.c                    |    2 +-
 samples/bpf/xdp_adjust_tail_kern.c                 |    2 +-
 samples/bpf/xdp_adjust_tail_user.c                 |    4 ++--
 samples/bpf/xdp_fwd_kern.c                         |    2 +-
 samples/bpf/xdp_fwd_user.c                         |    2 +-
 samples/bpf/xdp_monitor_kern.c                     |    2 +-
 samples/bpf/xdp_redirect_cpu_kern.c                |    2 +-
 samples/bpf/xdp_redirect_cpu_user.c                |    2 +-
 samples/bpf/xdp_redirect_kern.c                    |    2 +-
 samples/bpf/xdp_redirect_map_kern.c                |    2 +-
 samples/bpf/xdp_redirect_map_user.c                |    2 +-
 samples/bpf/xdp_redirect_user.c                    |    2 +-
 samples/bpf/xdp_router_ipv4_kern.c                 |    2 +-
 samples/bpf/xdp_router_ipv4_user.c                 |    2 +-
 samples/bpf/xdp_rxq_info_kern.c                    |    2 +-
 samples/bpf/xdp_rxq_info_user.c                    |    4 ++--
 samples/bpf/xdp_sample_pkts_kern.c                 |    2 +-
 samples/bpf/xdp_sample_pkts_user.c                 |    2 +-
 samples/bpf/xdp_tx_iptunnel_kern.c                 |    2 +-
 samples/bpf/xdp_tx_iptunnel_user.c                 |    2 +-
 samples/bpf/xdpsock_kern.c                         |    2 +-
 samples/bpf/xdpsock_user.c                         |    6 +++---
 tools/bpf/bpftool/Documentation/bpftool-gen.rst    |    2 +-
 tools/bpf/bpftool/Makefile                         |    2 +-
 tools/bpf/bpftool/btf.c                            |    8 ++++----
 tools/bpf/bpftool/btf_dumper.c                     |    2 +-
 tools/bpf/bpftool/cgroup.c                         |    2 +-
 tools/bpf/bpftool/common.c                         |    4 ++--
 tools/bpf/bpftool/feature.c                        |    4 ++--
 tools/bpf/bpftool/gen.c                            |   10 +++++-----
 tools/bpf/bpftool/jit_disasm.c                     |    2 +-
 tools/bpf/bpftool/main.c                           |    4 ++--
 tools/bpf/bpftool/map.c                            |    4 ++--
 tools/bpf/bpftool/map_perf_ring.c                  |    4 ++--
 tools/bpf/bpftool/net.c                            |    8 ++++----
 tools/bpf/bpftool/netlink_dumper.c                 |    4 ++--
 tools/bpf/bpftool/perf.c                           |    2 +-
 tools/bpf/bpftool/prog.c                           |    6 +++---
 tools/bpf/bpftool/xlated_dumper.c                  |    2 +-
 tools/bpf/runqslower/Makefile                      |   21 ++++++++++++--------
 tools/bpf/runqslower/runqslower.bpf.c              |    2 +-
 tools/bpf/runqslower/runqslower.c                  |    4 ++--
 tools/lib/bpf/bpf_helpers.h                        |    2 +-
 tools/perf/examples/bpf/5sec.c                     |    2 +-
 tools/perf/examples/bpf/empty.c                    |    2 +-
 tools/perf/examples/bpf/sys_enter_openat.c         |    2 +-
 tools/perf/include/bpf/pid_filter.h                |    2 +-
 tools/perf/include/bpf/stdio.h                     |    2 +-
 tools/perf/include/bpf/unistd.h                    |    2 +-
 tools/testing/selftests/bpf/.gitignore             |    3 ++-
 tools/testing/selftests/bpf/Makefile               |   16 ++++++++-------
 tools/testing/selftests/bpf/bpf_tcp_helpers.h      |    4 ++--
 tools/testing/selftests/bpf/bpf_trace_helpers.h    |    2 +-
 tools/testing/selftests/bpf/bpf_util.h             |    2 +-
 tools/testing/selftests/bpf/prog_tests/cpu_mask.c  |    2 +-
 .../testing/selftests/bpf/prog_tests/perf_buffer.c |    2 +-
 tools/testing/selftests/bpf/progs/bpf_dctcp.c      |    2 +-
 tools/testing/selftests/bpf/progs/bpf_flow.c       |    4 ++--
 tools/testing/selftests/bpf/progs/connect4_prog.c  |    4 ++--
 tools/testing/selftests/bpf/progs/connect6_prog.c  |    4 ++--
 tools/testing/selftests/bpf/progs/dev_cgroup.c     |    2 +-
 tools/testing/selftests/bpf/progs/fentry_test.c    |    2 +-
 tools/testing/selftests/bpf/progs/fexit_bpf2bpf.c  |    2 +-
 .../selftests/bpf/progs/fexit_bpf2bpf_simple.c     |    2 +-
 tools/testing/selftests/bpf/progs/fexit_test.c     |    2 +-
 .../selftests/bpf/progs/get_cgroup_id_kern.c       |    2 +-
 tools/testing/selftests/bpf/progs/kfree_skb.c      |    4 ++--
 tools/testing/selftests/bpf/progs/loop1.c          |    4 ++--
 tools/testing/selftests/bpf/progs/loop2.c          |    4 ++--
 tools/testing/selftests/bpf/progs/loop3.c          |    4 ++--
 tools/testing/selftests/bpf/progs/loop4.c          |    2 +-
 tools/testing/selftests/bpf/progs/loop5.c          |    2 +-
 tools/testing/selftests/bpf/progs/netcnt_prog.c    |    2 +-
 tools/testing/selftests/bpf/progs/pyperf.h         |    2 +-
 .../testing/selftests/bpf/progs/sample_map_ret0.c  |    2 +-
 tools/testing/selftests/bpf/progs/sendmsg4_prog.c  |    4 ++--
 tools/testing/selftests/bpf/progs/sendmsg6_prog.c  |    4 ++--
 .../selftests/bpf/progs/socket_cookie_prog.c       |    4 ++--
 .../selftests/bpf/progs/sockmap_parse_prog.c       |    4 ++--
 .../selftests/bpf/progs/sockmap_tcp_msg_prog.c     |    4 ++--
 .../selftests/bpf/progs/sockmap_verdict_prog.c     |    4 ++--
 .../testing/selftests/bpf/progs/sockopt_inherit.c  |    2 +-
 tools/testing/selftests/bpf/progs/sockopt_multi.c  |    2 +-
 tools/testing/selftests/bpf/progs/sockopt_sk.c     |    2 +-
 tools/testing/selftests/bpf/progs/strobemeta.h     |    2 +-
 tools/testing/selftests/bpf/progs/tailcall1.c      |    2 +-
 tools/testing/selftests/bpf/progs/tailcall2.c      |    2 +-
 tools/testing/selftests/bpf/progs/tailcall3.c      |    2 +-
 tools/testing/selftests/bpf/progs/tailcall4.c      |    2 +-
 tools/testing/selftests/bpf/progs/tailcall5.c      |    2 +-
 tools/testing/selftests/bpf/progs/tcp_rtt.c        |    2 +-
 .../testing/selftests/bpf/progs/test_adjust_tail.c |    2 +-
 .../selftests/bpf/progs/test_attach_probe.c        |    2 +-
 tools/testing/selftests/bpf/progs/test_btf_haskv.c |    2 +-
 tools/testing/selftests/bpf/progs/test_btf_newkv.c |    2 +-
 tools/testing/selftests/bpf/progs/test_btf_nokv.c  |    2 +-
 .../testing/selftests/bpf/progs/test_core_extern.c |    2 +-
 .../selftests/bpf/progs/test_core_reloc_arrays.c   |    4 ++--
 .../bpf/progs/test_core_reloc_bitfields_direct.c   |    4 ++--
 .../bpf/progs/test_core_reloc_bitfields_probed.c   |    4 ++--
 .../bpf/progs/test_core_reloc_existence.c          |    4 ++--
 .../selftests/bpf/progs/test_core_reloc_flavors.c  |    4 ++--
 .../selftests/bpf/progs/test_core_reloc_ints.c     |    4 ++--
 .../selftests/bpf/progs/test_core_reloc_kernel.c   |    4 ++--
 .../selftests/bpf/progs/test_core_reloc_misc.c     |    4 ++--
 .../selftests/bpf/progs/test_core_reloc_mods.c     |    4 ++--
 .../selftests/bpf/progs/test_core_reloc_nesting.c  |    4 ++--
 .../bpf/progs/test_core_reloc_primitives.c         |    4 ++--
 .../bpf/progs/test_core_reloc_ptr_as_arr.c         |    4 ++--
 .../selftests/bpf/progs/test_core_reloc_size.c     |    4 ++--
 .../selftests/bpf/progs/test_get_stack_rawtp.c     |    2 +-
 .../testing/selftests/bpf/progs/test_global_data.c |    2 +-
 .../selftests/bpf/progs/test_global_func1.c        |    2 +-
 .../selftests/bpf/progs/test_global_func3.c        |    2 +-
 .../selftests/bpf/progs/test_global_func5.c        |    2 +-
 .../selftests/bpf/progs/test_global_func6.c        |    2 +-
 .../selftests/bpf/progs/test_global_func7.c        |    2 +-
 tools/testing/selftests/bpf/progs/test_l4lb.c      |    4 ++--
 .../selftests/bpf/progs/test_l4lb_noinline.c       |    4 ++--
 .../selftests/bpf/progs/test_lirc_mode2_kern.c     |    2 +-
 .../selftests/bpf/progs/test_lwt_ip_encap.c        |    4 ++--
 .../selftests/bpf/progs/test_lwt_seg6local.c       |    4 ++--
 .../testing/selftests/bpf/progs/test_map_in_map.c  |    2 +-
 tools/testing/selftests/bpf/progs/test_map_lock.c  |    2 +-
 tools/testing/selftests/bpf/progs/test_mmap.c      |    2 +-
 tools/testing/selftests/bpf/progs/test_obj_id.c    |    2 +-
 tools/testing/selftests/bpf/progs/test_overhead.c  |    4 ++--
 .../testing/selftests/bpf/progs/test_perf_buffer.c |    2 +-
 tools/testing/selftests/bpf/progs/test_pinning.c   |    2 +-
 .../selftests/bpf/progs/test_pinning_invalid.c     |    2 +-
 .../testing/selftests/bpf/progs/test_pkt_access.c  |    4 ++--
 .../selftests/bpf/progs/test_pkt_md_access.c       |    2 +-
 .../testing/selftests/bpf/progs/test_probe_user.c  |    4 ++--
 .../selftests/bpf/progs/test_queue_stack_map.h     |    2 +-
 .../testing/selftests/bpf/progs/test_rdonly_maps.c |    2 +-
 tools/testing/selftests/bpf/progs/test_seg6_loop.c |    4 ++--
 .../bpf/progs/test_select_reuseport_kern.c         |    4 ++--
 .../selftests/bpf/progs/test_send_signal_kern.c    |    2 +-
 .../selftests/bpf/progs/test_sk_lookup_kern.c      |    4 ++--
 .../selftests/bpf/progs/test_skb_cgroup_id_kern.c  |    2 +-
 tools/testing/selftests/bpf/progs/test_skb_ctx.c   |    2 +-
 tools/testing/selftests/bpf/progs/test_skeleton.c  |    2 +-
 .../selftests/bpf/progs/test_sock_fields_kern.c    |    4 ++--
 tools/testing/selftests/bpf/progs/test_spin_lock.c |    2 +-
 .../selftests/bpf/progs/test_stacktrace_build_id.c |    2 +-
 .../selftests/bpf/progs/test_stacktrace_map.c      |    2 +-
 .../selftests/bpf/progs/test_sysctl_loop1.c        |    2 +-
 .../selftests/bpf/progs/test_sysctl_loop2.c        |    2 +-
 .../testing/selftests/bpf/progs/test_sysctl_prog.c |    2 +-
 tools/testing/selftests/bpf/progs/test_tc_edt.c    |    4 ++--
 tools/testing/selftests/bpf/progs/test_tc_tunnel.c |    4 ++--
 .../bpf/progs/test_tcp_check_syncookie_kern.c      |    4 ++--
 .../testing/selftests/bpf/progs/test_tcp_estats.c  |    2 +-
 .../testing/selftests/bpf/progs/test_tcpbpf_kern.c |    4 ++--
 .../selftests/bpf/progs/test_tcpnotify_kern.c      |    4 ++--
 .../testing/selftests/bpf/progs/test_tracepoint.c  |    2 +-
 .../testing/selftests/bpf/progs/test_tunnel_kern.c |    4 ++--
 .../selftests/bpf/progs/test_verif_scale1.c        |    2 +-
 .../selftests/bpf/progs/test_verif_scale2.c        |    2 +-
 .../selftests/bpf/progs/test_verif_scale3.c        |    2 +-
 tools/testing/selftests/bpf/progs/test_xdp.c       |    4 ++--
 tools/testing/selftests/bpf/progs/test_xdp_loop.c  |    4 ++--
 tools/testing/selftests/bpf/progs/test_xdp_meta.c  |    2 +-
 .../selftests/bpf/progs/test_xdp_noinline.c        |    4 ++--
 .../selftests/bpf/progs/test_xdp_redirect.c        |    2 +-
 tools/testing/selftests/bpf/progs/test_xdp_vlan.c  |    4 ++--
 tools/testing/selftests/bpf/progs/xdp_dummy.c      |    2 +-
 .../testing/selftests/bpf/progs/xdp_redirect_map.c |    2 +-
 tools/testing/selftests/bpf/progs/xdp_tx.c         |    2 +-
 tools/testing/selftests/bpf/progs/xdping_kern.c    |    4 ++--
 tools/testing/selftests/bpf/test_cpp.cpp           |    6 +++---
 tools/testing/selftests/bpf/test_hashmap.c         |    2 +-
 tools/testing/selftests/bpf/test_progs.h           |    2 +-
 tools/testing/selftests/bpf/test_sock.c            |    2 +-
 tools/testing/selftests/bpf/test_sockmap_kern.h    |    4 ++--
 tools/testing/selftests/bpf/test_sysctl.c          |    2 +-
 tools/testing/selftests/bpf/trace_helpers.h        |    2 +-
 238 files changed, 359 insertions(+), 354 deletions(-)


             reply index

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-15 14:12 Toke Høiland-Jørgensen [this message]
2020-01-15 14:12 ` [PATCH bpf-next v2 01/10] samples/bpf: Don't try to remove user's homedir on clean Toke Høiland-Jørgensen
2020-01-15 15:21   ` Jesper Dangaard Brouer
2020-01-15 14:12 ` [PATCH bpf-next v2 02/10] tools/bpf/runqslower: Fix override option for VMLINUX_BTF Toke Høiland-Jørgensen
2020-01-15 16:59   ` Andrii Nakryiko
2020-01-15 22:06     ` Toke Høiland-Jørgensen
2020-01-15 22:31       ` Andrii Nakryiko
2020-01-16  9:05         ` Toke Høiland-Jørgensen
2020-01-16 17:14           ` Andrii Nakryiko
2020-01-15 14:12 ` [PATCH bpf-next v2 03/10] tools/runqslower: Use consistent include paths for libbpf Toke Høiland-Jørgensen
2020-01-15 14:12 ` [PATCH bpf-next v2 04/10] selftests: " Toke Høiland-Jørgensen
2020-01-15 14:12 ` [PATCH bpf-next v2 05/10] bpftool: " Toke Høiland-Jørgensen
2020-01-15 17:44   ` Andrii Nakryiko
2020-01-15 14:12 ` [PATCH bpf-next v2 06/10] perf: " Toke Høiland-Jørgensen
2020-01-15 14:12 ` [PATCH bpf-next v2 07/10] samples/bpf: " Toke Høiland-Jørgensen
2020-01-15 15:18   ` Jesper Dangaard Brouer
2020-01-15 15:41     ` Toke Høiland-Jørgensen
2020-01-15 14:12 ` [PATCH bpf-next v2 08/10] libbpf: Fix include of bpf_helpers.h when libbpf is installed on system Toke Høiland-Jørgensen
2020-01-15 14:12 ` [PATCH bpf-next v2 09/10] selftests: Remove tools/lib/bpf from include path Toke Høiland-Jørgensen
2020-01-15 17:22   ` Andrii Nakryiko
2020-01-15 14:12 ` [PATCH bpf-next v2 10/10] tools/runqslower: " Toke Høiland-Jørgensen
2020-01-15 18:06 ` [PATCH bpf-next v2 00/10] tools: Use consistent libbpf include paths everywhere Andrii Nakryiko
2020-01-15 22:10   ` Toke Høiland-Jørgensen
2020-01-15 21:19 ` Alexei Starovoitov
2020-01-15 22:09   ` Toke Høiland-Jørgensen

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=157909756858.1192265.6657542187065456112.stgit@toke.dk \
    --to=toke@redhat.com \
    --cc=acme@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=andriin@fb.com \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=brouer@redhat.com \
    --cc=clang-built-linux@googlegroups.com \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=dledford@redhat.com \
    --cc=jakub.kicinski@netronome.com \
    --cc=jgg@ziepe.ca \
    --cc=john.fastabend@gmail.com \
    --cc=jolsa@redhat.com \
    --cc=kafai@fb.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=shuah@kernel.org \
    --cc=songliubraving@fb.com \
    --cc=yhs@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-RDMA Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-rdma/0 linux-rdma/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-rdma linux-rdma/ https://lore.kernel.org/linux-rdma \
		linux-rdma@vger.kernel.org
	public-inbox-index linux-rdma

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-rdma


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git