DPDK patches and discussions
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Serhii Iliushyk <sil-plv@napatech.com>
Cc: dev@dpdk.org, mko-plv@napatech.com, ckm@napatech.com
Subject: Re: [PATCH v1 00/24] Migrate threads to the DPDK service framework and refactor naming for exported symbols
Date: Mon, 20 Oct 2025 14:38:03 -0700	[thread overview]
Message-ID: <20251020143803.246bfe4e@phoenix.lan> (raw)
In-Reply-To: <20251020163620.282312-1-sil-plv@napatech.com>

On Mon, 20 Oct 2025 18:35:51 +0200
Serhii Iliushyk <sil-plv@napatech.com> wrote:

> This modification provides better resource (CPU) management for NTNIC PMD.
> 
> The following threads are migrated:
>         * FLM update thread
>         * Statistic thread
>         * Port event thread
>         * Adapter monitoring thread
> Additionally, a warning is added to inform users about the importance of
> dedicating lcores to the DPDK service framework when using the NTNIC PMD.
> The code is also cleaned up to use pthreads and rte_thread APIs.
> 
> After this patch series, an each application using NTNIC PMD should
> dedicate at least five(5) cores for DPDK service framework to ensure
> proper operation of the NTNIC PMD.
> 
> The service cores can be dedicated by EAL options:
>         * s SERVICE COREMASK Hexadecimal bitmask of cores to be used as service cores
>         * S SERVICE CORELIST List of cores to run services on
> Or with a special API by the application itself.
>         * rte_pmd_ntnic_service_set_lcore to map a service to a specific lcore
>         * rte_pmd_ntnic_service_get_id to get a service ID.
> 
> This patch series also includes aligning the naming of the exported symbols to avoid
> potential conflicts with other applications and libraries.
> The main change is to add the prefix "nthw_".
> 
> Serhii Iliushyk (24):
>   net/ntnic: introduce service API for NTNIC PMD
>   net/ntnic: migrate flm update thread to service
>   net/ntnic: migrate statistic thread to service
>   net/ntnic: migrate port event thread to service
>   net/ntnic: migrate adapter mon thread to service
>   net/ntnic: add warning about service cores
>   net/ntnic: avoid using thread API
>   net/ntnic: fix potential format overflow
>   net/ntnic: single file function as static
>   net/ntnic: remove unused functions
>   net/ntnic: move nthw to prefix part
>   net/ntnic: change prefix hw to prefix nthw
>   net/ntnic: modify prefix flow with prefix nthw
>   net/ntnic: change prefix flm to prefix nthw
>   net/ntnic: change prefix nt to prefix nthw
>   net/ntnic: change prefix ntlog to prefix nthw
>   net/ntnic: change prefix km to prefix nthw
>   net/ntnic: change prefix set to prefix nthw
>   net/ntnic: rename common hash and flow functions
>   net/ntnic: rename register ops function
>   net/ntnic: rename get ops functions
>   net/ntnic: rename ops init functions
>   net/ntnic: rename nim agx setup function
>   net/ntnic: rename table ID functions
> 
>  doc/guides/nics/ntnic.rst                     |  112 ++
>  drivers/net/ntnic/adapter/nt4ga_adapter.c     |   41 +-
>  .../net/ntnic/adapter/nt4ga_stat/nt4ga_stat.c |   10 +-
>  drivers/net/ntnic/dbsconfig/ntnic_dbsconfig.c |   54 +-
>  .../net/ntnic/include/common_adapter_defs.h   |   15 -
>  drivers/net/ntnic/include/create_elements.h   |    9 -
>  drivers/net/ntnic/include/flow_api.h          |   10 +-
>  drivers/net/ntnic/include/flow_api_engine.h   |   18 +-
>  drivers/net/ntnic/include/hw_mod_backend.h    |  281 ++--
>  drivers/net/ntnic/include/nt4ga_adapter.h     |    4 -
>  drivers/net/ntnic/include/ntdrv_4ga.h         |    4 -
>  drivers/net/ntnic/include/ntnic_dbs.h         |   22 +-
>  drivers/net/ntnic/include/ntnic_stat.h        |    2 +-
>  drivers/net/ntnic/include/ntos_drv.h          |    4 +-
>  .../link_mgmt/link_100g/nt4ga_link_100g.c     |  315 ++--
>  .../link_agx_100g/nt4ga_agx_link_100g.c       |  326 ++--
>  drivers/net/ntnic/link_mgmt/nt4ga_link.c      |    2 +-
>  drivers/net/ntnic/meson.build                 |    2 +
>  drivers/net/ntnic/nim/i2c_nim.c               |   10 +-
>  drivers/net/ntnic/nim/i2c_nim.h               |    2 +-
>  .../net/ntnic/nthw/core/include/nthw_fpga.h   |   14 +-
>  .../net/ntnic/nthw/core/include/nthw_hif.h    |   12 -
>  .../net/ntnic/nthw/core/include/nthw_iic.h    |    9 -
>  .../ntnic/nthw/core/include/nthw_mac_pcs.h    |    9 -
>  .../net/ntnic/nthw/core/include/nthw_pcie3.h  |   13 -
>  .../nthw/core/include/nthw_pcm_nt400dxx.h     |    1 -
>  .../ntnic/nthw/core/include/nthw_phy_tile.h   |    2 -
>  .../net/ntnic/nthw/core/include/nthw_rpf.h    |    2 -
>  .../net/ntnic/nthw/core/include/nthw_si5340.h |    2 -
>  .../clock_profiles/nthw_fpga_clk9563.c        |    4 +-
>  .../nthw/core/nt200a0x/nthw_fpga_nt200a0x.c   |    8 +-
>  .../core/nt200a0x/reset/nthw_fpga_rst9563.c   |    8 +-
>  .../nt200a0x/reset/nthw_fpga_rst_nt200a0x.c   |    6 +-
>  .../nthw/core/nt400dxx/nthw_fpga_nt400dxx.c   |    8 +-
>  .../core/nt400dxx/reset/nthw_fpga_rst9574.c   |   22 +-
>  .../nt400dxx/reset/nthw_fpga_rst_nt400dxx.c   |   36 +-
>  drivers/net/ntnic/nthw/core/nthw_fpga.c       |   22 +-
>  drivers/net/ntnic/nthw/core/nthw_hif.c        |   90 --
>  drivers/net/ntnic/nthw/core/nthw_i2cm.c       |    4 +-
>  drivers/net/ntnic/nthw/core/nthw_igam.c       |    4 +-
>  drivers/net/ntnic/nthw/core/nthw_iic.c        |  240 +--
>  drivers/net/ntnic/nthw/core/nthw_mac_pcs.c    |   67 +-
>  drivers/net/ntnic/nthw/core/nthw_pca9532.c    |    2 -
>  drivers/net/ntnic/nthw/core/nthw_pcal6416a.c  |    1 -
>  drivers/net/ntnic/nthw/core/nthw_pcie3.c      |   86 --
>  .../net/ntnic/nthw/core/nthw_pcm_nt400dxx.c   |    5 -
>  drivers/net/ntnic/nthw/core/nthw_phy_tile.c   |   51 +-
>  drivers/net/ntnic/nthw/core/nthw_rpf.c        |   14 -
>  .../net/ntnic/nthw/core/nthw_si5332_si5156.c  |    3 +-
>  drivers/net/ntnic/nthw/core/nthw_si5340.c     |    6 +-
>  drivers/net/ntnic/nthw/core/nthw_spi_v3.c     |   12 +-
>  drivers/net/ntnic/nthw/dbs/nthw_dbs.c         |   22 +-
>  drivers/net/ntnic/nthw/flow_api/flow_api.c    |  253 ++--
>  .../nthw/flow_api/flow_backend/flow_backend.c | 1342 ++++++++---------
>  drivers/net/ntnic/nthw/flow_api/flow_filter.c |    4 +-
>  .../net/ntnic/nthw/flow_api/flow_hsh_cfg.c    |   46 +-
>  .../net/ntnic/nthw/flow_api/flow_hsh_cfg.h    |    2 +-
>  .../net/ntnic/nthw/flow_api/flow_id_table.c   |   10 +-
>  .../net/ntnic/nthw/flow_api/flow_id_table.h   |   10 +-
>  drivers/net/ntnic/nthw/flow_api/flow_kcc.c    |    2 +-
>  drivers/net/ntnic/nthw/flow_api/flow_km.c     |  134 +-
>  .../nthw/flow_api/hw_mod/hw_mod_backend.c     |   18 +-
>  .../ntnic/nthw/flow_api/hw_mod/hw_mod_cat.c   |  356 ++---
>  .../ntnic/nthw/flow_api/hw_mod/hw_mod_flm.c   |   70 +-
>  .../ntnic/nthw/flow_api/hw_mod/hw_mod_hsh.c   |   14 +-
>  .../ntnic/nthw/flow_api/hw_mod/hw_mod_km.c    |  107 +-
>  .../ntnic/nthw/flow_api/hw_mod/hw_mod_pdb.c   |   40 +-
>  .../ntnic/nthw/flow_api/hw_mod/hw_mod_qsl.c   |   32 +-
>  .../nthw/flow_api/hw_mod/hw_mod_slc_lr.c      |   14 +-
>  .../ntnic/nthw/flow_api/hw_mod/hw_mod_tpe.c   |   80 +-
>  .../flow_api/profile_inline/flm_age_queue.c   |   22 +-
>  .../flow_api/profile_inline/flm_age_queue.h   |   20 +-
>  .../flow_api/profile_inline/flm_lrn_queue.c   |   12 +-
>  .../flow_api/profile_inline/flm_lrn_queue.h   |   12 +-
>  .../profile_inline/flow_api_hw_db_inline.c    | 1138 +++++++-------
>  .../profile_inline/flow_api_hw_db_inline.h    |   99 +-
>  .../profile_inline/flow_api_profile_inline.c  |  598 ++++----
>  .../profile_inline/flow_api_profile_inline.h  |   49 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_cat.c    |  230 +--
>  .../ntnic/nthw/flow_filter/flow_nthw_cat.h    |  230 +--
>  .../ntnic/nthw/flow_filter/flow_nthw_csu.c    |   22 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_csu.h    |   24 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_flm.c    |  278 ++--
>  .../ntnic/nthw/flow_filter/flow_nthw_flm.h    |  278 ++--
>  .../ntnic/nthw/flow_filter/flow_nthw_hfu.c    |   58 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_hfu.h    |   58 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_hsh.c    |   60 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_hsh.h    |   60 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_ifr.c    |   30 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_ifr.h    |   30 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_info.c   |   88 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_info.h   |   88 +-
>  .../net/ntnic/nthw/flow_filter/flow_nthw_km.c |  160 +-
>  .../net/ntnic/nthw/flow_filter/flow_nthw_km.h |  162 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_pdb.c    |   54 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_pdb.h    |   56 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_qsl.c    |   68 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_qsl.h    |   68 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_rpp_lr.c |   32 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_rpp_lr.h |   32 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_slc_lr.c |   28 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_slc_lr.h |   28 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_tx_cpy.c |   22 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_tx_cpy.h |   22 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_tx_ins.c |   20 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_tx_ins.h |   20 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_tx_rpl.c |   42 +-
>  .../ntnic/nthw/flow_filter/flow_nthw_tx_rpl.h |   46 +-
>  .../net/ntnic/nthw/model/nthw_fpga_model.c    |  577 +++----
>  .../net/ntnic/nthw/model/nthw_fpga_model.h    |   28 -
>  drivers/net/ntnic/nthw/nthw_platform.c        |    2 +-
>  drivers/net/ntnic/nthw/nthw_platform_drv.h    |    2 +-
>  drivers/net/ntnic/nthw/nthw_rac.c             |   28 +-
>  .../net/ntnic/nthw/ntnic_meter/ntnic_meter.c  |   20 +-
>  .../nthw/supported/nthw_fpga_mod_str_map.c    |    2 +-
>  .../nthw/supported/nthw_fpga_mod_str_map.h    |    2 +-
>  drivers/net/ntnic/ntlog/ntlog.c               |    6 +-
>  drivers/net/ntnic/ntlog/ntlog.h               |    6 +-
>  drivers/net/ntnic/ntnic_ethdev.c              |  617 ++++----
>  drivers/net/ntnic/ntnic_filter/ntnic_filter.c |   66 +-
>  drivers/net/ntnic/ntnic_mod_reg.c             |   96 +-
>  drivers/net/ntnic/ntnic_mod_reg.h             |  142 +-
>  drivers/net/ntnic/ntnic_vfio.c                |   18 +-
>  drivers/net/ntnic/ntnic_vfio.h                |   12 +-
>  drivers/net/ntnic/ntnic_xstats/ntnic_xstats.c |    4 +-
>  drivers/net/ntnic/ntutil/nt_service.c         |  127 ++
>  drivers/net/ntnic/ntutil/nt_service.h         |   62 +
>  drivers/net/ntnic/ntutil/nt_util.c            |   75 +-
>  drivers/net/ntnic/ntutil/nt_util.h            |   21 +-
>  drivers/net/ntnic/rte_pmd_ntnic.c             |  104 ++
>  drivers/net/ntnic/rte_pmd_ntnic.h             |   26 +
>  131 files changed, 5500 insertions(+), 5449 deletions(-)
>  delete mode 100644 drivers/net/ntnic/include/common_adapter_defs.h
>  create mode 100644 drivers/net/ntnic/ntutil/nt_service.c
>  create mode 100644 drivers/net/ntnic/ntutil/nt_service.h
>  create mode 100644 drivers/net/ntnic/rte_pmd_ntnic.c

Updated to this version in next-net

  parent reply	other threads:[~2025-10-20 21:38 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-08 11:04 [PATCH v1 0/7] migrate threads to DPDK service framework Serhii Iliushyk
2025-09-08 11:04 ` [PATCH v1 1/7] net/ntnic: introduce service API for NTNIC PMD Serhii Iliushyk
2025-09-24 20:27   ` Stephen Hemminger
2025-09-08 11:04 ` [PATCH v1 2/7] net/ntnic: migrate flm update thread to service Serhii Iliushyk
2025-09-08 11:04 ` [PATCH v1 3/7] net/ntnic: migrate statistic " Serhii Iliushyk
2025-09-08 11:04 ` [PATCH v1 4/7] net/ntnic: migrate port event " Serhii Iliushyk
2025-09-08 11:04 ` [PATCH v1 5/7] net/ntnic: migrate adapter mon " Serhii Iliushyk
2025-09-08 11:04 ` [PATCH v1 6/7] net/ntnic: add warning about service cores Serhii Iliushyk
2025-09-08 11:04 ` [PATCH v1 7/7] net/ntnic: cleanup using pthreads and rte_thread Serhii Iliushyk
2025-09-08 14:17   ` [PATCH v2 0/7] migrate threads to DPDK service framework Serhii Iliushyk
2025-09-08 14:17     ` [PATCH v2 1/7] net/ntnic: introduce service API for NTNIC PMD Serhii Iliushyk
2025-09-13 16:23       ` Stephen Hemminger
2025-09-15 10:10         ` Serhii Iliushyk
2025-09-15 15:46       ` Stephen Hemminger
2025-09-24 14:41       ` [PATCH v1 00/24] Migrate threads to the DPDK service framework and refactor naming for exported symbols Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 01/24] net/ntnic: introduce service API for NTNIC PMD Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 02/24] net/ntnic: migrate flm update thread to service Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 03/24] net/ntnic: migrate statistic " Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 04/24] net/ntnic: migrate port event " Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 05/24] net/ntnic: migrate adapter mon " Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 06/24] net/ntnic: add warning about service cores Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 07/24] net/ntnic: avoid using thread API Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 08/24] net/ntnic: fix potential format overflow Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 09/24] net/ntnic: single file function as static Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 10/24] net/ntnic: remove unused functions Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 11/24] net/ntnic: move nthw to prefix part Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 12/24] net/ntnic: change prefix hw to prefix nthw Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 13/24] net/ntnic: modify prefix flow with " Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 14/24] net/ntnic: change prefix flm to " Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 15/24] net/ntnic: change prefix nt " Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 16/24] net/ntnic: change prefix ntlog " Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 17/24] net/ntnic: change prefix km " Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 18/24] net/ntnic: change prefix set " Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 19/24] net/ntnic: rename common hash and flow functions Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 20/24] net/ntnic: rename register ops function Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 21/24] net/ntnic: rename get ops functions Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 22/24] net/ntnic: rename ops init functions Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 23/24] net/ntnic: rename nim agx setup function Serhii Iliushyk
2025-09-24 14:41         ` [PATCH v1 24/24] net/ntnic: rename table ID functions Serhii Iliushyk
2025-10-20 16:35       ` [PATCH v1 00/24] Migrate threads to the DPDK service framework and refactor naming for exported symbols Serhii Iliushyk
2025-10-20 16:35         ` [PATCH v1 01/24] net/ntnic: introduce service API for NTNIC PMD Serhii Iliushyk
2025-10-20 16:35         ` [PATCH v1 02/24] net/ntnic: migrate flm update thread to service Serhii Iliushyk
2025-10-20 16:35         ` [PATCH v1 03/24] net/ntnic: migrate statistic " Serhii Iliushyk
2025-10-20 16:35         ` [PATCH v1 04/24] net/ntnic: migrate port event " Serhii Iliushyk
2025-10-20 16:35         ` [PATCH v1 05/24] net/ntnic: migrate adapter mon " Serhii Iliushyk
2025-10-20 16:35         ` [PATCH v1 06/24] net/ntnic: add warning about service cores Serhii Iliushyk
2025-10-20 16:35         ` [PATCH v1 07/24] net/ntnic: avoid using thread API Serhii Iliushyk
2025-10-20 16:35         ` [PATCH v1 08/24] net/ntnic: fix potential format overflow Serhii Iliushyk
2025-10-20 16:36         ` [PATCH v1 09/24] net/ntnic: single file function as static Serhii Iliushyk
2025-10-20 16:36         ` [PATCH v1 10/24] net/ntnic: remove unused functions Serhii Iliushyk
2025-10-20 16:36         ` [PATCH v1 11/24] net/ntnic: move nthw to prefix part Serhii Iliushyk
2025-10-20 16:36         ` [PATCH v1 12/24] net/ntnic: change prefix hw to prefix nthw Serhii Iliushyk
2025-10-20 16:36         ` [PATCH v1 13/24] net/ntnic: modify prefix flow with " Serhii Iliushyk
2025-10-20 16:36         ` [PATCH v1 14/24] net/ntnic: change prefix flm to " Serhii Iliushyk
2025-10-20 16:36         ` [PATCH v1 15/24] net/ntnic: change prefix nt " Serhii Iliushyk
2025-10-20 16:36         ` [PATCH v1 16/24] net/ntnic: change prefix ntlog " Serhii Iliushyk
2025-10-20 16:36         ` [PATCH v1 17/24] net/ntnic: change prefix km " Serhii Iliushyk
2025-10-20 16:36         ` [PATCH v1 18/24] net/ntnic: change prefix set " Serhii Iliushyk
2025-10-20 16:36         ` [PATCH v1 19/24] net/ntnic: rename common hash and flow functions Serhii Iliushyk
2025-10-20 16:36         ` [PATCH v1 20/24] net/ntnic: rename register ops function Serhii Iliushyk
2025-10-20 16:36         ` [PATCH v1 21/24] net/ntnic: rename get ops functions Serhii Iliushyk
2025-10-20 16:36         ` [PATCH v1 22/24] net/ntnic: rename ops init functions Serhii Iliushyk
2025-10-20 16:36         ` [PATCH v1 23/24] net/ntnic: rename nim agx setup function Serhii Iliushyk
2025-10-20 16:36         ` [PATCH v1 24/24] net/ntnic: rename table ID functions Serhii Iliushyk
2025-10-20 21:17         ` [PATCH v1 00/24] Migrate threads to the DPDK service framework and refactor naming for exported symbols Stephen Hemminger
2025-10-20 21:38         ` Stephen Hemminger [this message]
2025-09-08 14:17     ` [PATCH v2 2/7] net/ntnic: migrate flm update thread to service Serhii Iliushyk
2025-09-08 14:17     ` [PATCH v2 3/7] net/ntnic: migrate statistic " Serhii Iliushyk
2025-09-08 14:17     ` [PATCH v2 4/7] net/ntnic: migrate port event " Serhii Iliushyk
2025-09-08 14:17     ` [PATCH v2 5/7] net/ntnic: migrate adapter mon " Serhii Iliushyk
2025-09-08 14:17     ` [PATCH v2 6/7] net/ntnic: add warning about service cores Serhii Iliushyk
2025-09-08 14:17     ` [PATCH v2 7/7] net/ntnic: cleanup using pthreads and rte_thread Serhii Iliushyk
2025-09-23 14:47     ` [PATCH v2 0/7] migrate threads to DPDK service framework Stephen Hemminger
2025-09-08 20:08 ` [PATCH v1 " Stephen Hemminger
2025-09-10 12:13   ` Serhii Iliushyk

Reply instructions:

You may reply publicly 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=20251020143803.246bfe4e@phoenix.lan \
    --to=stephen@networkplumber.org \
    --cc=ckm@napatech.com \
    --cc=dev@dpdk.org \
    --cc=mko-plv@napatech.com \
    --cc=sil-plv@napatech.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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).