From: Reinette Chatre <reinette.chatre@intel.com>
To: "Drew Fustini" <fustini@kernel.org>,
"Paul Walmsley" <pjw@kernel.org>,
"Palmer Dabbelt" <palmer@dabbelt.com>,
"Albert Ou" <aou@eecs.berkeley.edu>,
"Alexandre Ghiti" <alex@ghiti.fr>,
"Radim Krčmář" <rkrcmar@ventanamicro.com>,
"Samuel Holland" <samuel.holland@sifive.com>,
"Adrien Ricciardi" <aricciardi@baylibre.com>,
"Nicolas Pitre" <npitre@baylibre.com>,
"Kornel Dulęba" <mindal@semihalf.com>,
"Atish Patra" <atish.patra@linux.dev>,
"Atish Kumar Patra" <atishp@rivosinc.com>,
"Vasudevan Srinivasan" <vasu@rivosinc.com>,
"Ved Shanbhogue" <ved@rivosinc.com>,
"yunhui cui" <cuiyunhui@bytedance.com>,
"Chen Pei" <cp0613@linux.alibaba.com>,
"Liu Zhiwei" <zhiwei_liu@linux.alibaba.com>,
"Weiwei Li" <liwei1518@gmail.com>,
guo.wenjia23@zte.com.cn, liu.qingtao2@zte.com.cn,
"Tony Luck" <tony.luck@intel.com>,
"Babu Moger" <babu.moger@amd.com>,
"Peter Newman" <peternewman@google.com>,
"Fenghua Yu" <fenghua.yu@intel.com>,
"James Morse" <james.morse@arm.com>,
"Ben Horgan" <ben.horgan@arm.com>,
"Dave Martin" <Dave.Martin@arm.com>,
linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org,
x86@kernel.org, "Rob Herring" <robh@kernel.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Len Brown" <lenb@kernel.org>,
"Robert Moore" <robert.moore@intel.com>,
"Sunil V L" <sunilvl@ventanamicro.com>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>
Cc: Paul Walmsley <paul.walmsley@sifive.com>,
<linux-acpi@vger.kernel.org>, <acpica-devel@lists.linux.dev>,
<devicetree@vger.kernel.org>
Subject: Re: [PATCH RFC v2 07/17] RISC-V: QoS: define prototypes for resctrl interface
Date: Fri, 13 Feb 2026 15:21:37 -0800 [thread overview]
Message-ID: <01d57303-059d-4025-bb31-56d552a149e3@intel.com> (raw)
In-Reply-To: <20260128-ssqosid-cbqri-v2-7-dca586b091b9@kernel.org>
Hi Drew,
On 1/28/26 12:27 PM, Drew Fustini wrote:
> Define the prototypes for the resctrl interface functions that are
> implemented on RISC-V.
>
> Co-developed-by: Adrien Ricciardi <aricciardi@baylibre.com>
> Signed-off-by: Adrien Ricciardi <aricciardi@baylibre.com>
> [fustini: rebased on current upstream]
> Signed-off-by: Drew Fustini <fustini@kernel.org>
> ---
> include/linux/riscv_qos.h | 44 ++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 44 insertions(+)
>
> diff --git a/include/linux/riscv_qos.h b/include/linux/riscv_qos.h
> index 51c3a96bbcd0..0c551ed85fe1 100644
> --- a/include/linux/riscv_qos.h
> +++ b/include/linux/riscv_qos.h
> @@ -3,6 +3,7 @@
> #ifndef __LINUX_RISCV_QOS_H
> #define __LINUX_RISCV_QOS_H
>
> +#include <linux/resctrl_types.h>
> #include <linux/iommu.h>
> #include <linux/types.h>
>
> @@ -31,4 +32,47 @@ struct cbqri_controller_info {
>
> extern struct list_head cbqri_controllers;
>
> +bool resctrl_arch_alloc_capable(void);
> +bool resctrl_arch_mon_capable(void);
> +bool resctrl_arch_is_llc_occupancy_enabled(void);
> +bool resctrl_arch_is_mbm_local_enabled(void);
> +bool resctrl_arch_is_mbm_total_enabled(void);
These individual event checks are no longer needed. Please refer to commit
d257cc2e5c8b ("x86,fs/resctrl: Replace architecture event enabled checks")
that can be found in your base commit.
> +
> +struct rdt_resource;
> +/*
> + * Note about terminology between x86 (Intel RDT/AMD QoS) and RISC-V:
> + * CLOSID on x86 is RCID on RISC-V
> + * RMID on x86 is MCID on RISC-V
> + * CDP on x86 is AT (access type) on RISC-V
> + */
> +u32 resctrl_arch_rmid_idx_encode(u32 closid, u32 rmid);
> +void resctrl_arch_rmid_idx_decode(u32 idx, u32 *closid, u32 *rmid);
> +void resctrl_arch_set_cpu_default_closid_rmid(int cpu, u32 closid, u32 pmg);
nit: the x86 and RISC-V terms are already plenty. It should not be necessary to add
MPAM terms (pmg) to the mix?
> +void resctrl_arch_sched_in(struct task_struct *tsk);
> +void resctrl_arch_set_closid_rmid(struct task_struct *tsk, u32 closid, u32 rmid);
> +bool resctrl_arch_match_closid(struct task_struct *tsk, u32 closid);
> +bool resctrl_arch_match_rmid(struct task_struct *tsk, u32 closid, u32 rmid);
> +void resctrl_arch_reset_resources(void);
hmmm ... the baseline of this work is v6.19-rc4 that contains the resctrl fs/arch
split. resctrl_arch_reset_resources() seems to be based on some earlier version of
the split work that did not make it upstream.
> +void *resctrl_arch_mon_ctx_alloc(struct rdt_resource *r, enum resctrl_event_id evtid);
> +void resctrl_arch_mon_ctx_free(struct rdt_resource *r, enum resctrl_event_id evtid,
> + void *arch_mon_ctx);
> +struct rdt_domain_hdr *resctrl_arch_find_domain(struct list_head *domain_list, int id);
resctrl_arch_find_domain() does not exist in resctrl. Would resctrl's resctrl_find_domain()
suffice?
> +
> +static inline bool resctrl_arch_event_is_free_running(enum resctrl_event_id evt)
resctrl_arch_event_is_free_running() also does not exist in resctrl.
> +{
> + /* must be true for resctrl L3 monitoring files to be created */
> + return true;
> +}
> +
> +static inline unsigned int resctrl_arch_round_mon_val(unsigned int val)
> +{
> + return val;
> +}
> +
> +/* Not needed for RISC-V */
> +static inline void resctrl_arch_enable_mon(void) { }
> +static inline void resctrl_arch_disable_mon(void) { }
> +static inline void resctrl_arch_enable_alloc(void) { }
> +static inline void resctrl_arch_disable_alloc(void) { }
> +
> #endif /* __LINUX_RISCV_QOS_H */
>
Reinette
WARNING: multiple messages have this Message-ID (diff)
From: Reinette Chatre <reinette.chatre@intel.com>
To: "Drew Fustini" <fustini@kernel.org>,
"Paul Walmsley" <pjw@kernel.org>,
"Palmer Dabbelt" <palmer@dabbelt.com>,
"Albert Ou" <aou@eecs.berkeley.edu>,
"Alexandre Ghiti" <alex@ghiti.fr>,
"Radim Krčmář" <rkrcmar@ventanamicro.com>,
"Samuel Holland" <samuel.holland@sifive.com>,
"Adrien Ricciardi" <aricciardi@baylibre.com>,
"Nicolas Pitre" <npitre@baylibre.com>,
"Kornel Dulęba" <mindal@semihalf.com>,
"Atish Patra" <atish.patra@linux.dev>,
"Atish Kumar Patra" <atishp@rivosinc.com>,
"Vasudevan Srinivasan" <vasu@rivosinc.com>,
"Ved Shanbhogue" <ved@rivosinc.com>,
"yunhui cui" <cuiyunhui@bytedance.com>,
"Chen Pei" <cp0613@linux.alibaba.com>,
"Liu Zhiwei" <zhiwei_liu@linux.alibaba.com>,
"Weiwei Li" <liwei1518@gmail.com>,
guo.wenjia23@zte.com.cn, liu.qingtao2@zte.com.cn,
"Tony Luck" <tony.luck@intel.com>,
"Babu Moger" <babu.moger@amd.com>,
"Peter Newman" <peternewman@google.com>,
"Fenghua Yu" <fenghua.yu@intel.com>,
"James Morse" <james.morse@arm.com>,
"Ben Horgan" <ben.horgan@arm.com>,
"Dave Martin" <Dave.Martin@arm.com>,
linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org,
x86@kernel.org, "Rob Herring" <robh@kernel.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Len Brown" <lenb@kernel.org>,
"Robert Moore" <robert.moore@intel.com>,
"Sunil V L" <sunilvl@ventanamicro.com>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>
Cc: Paul Walmsley <paul.walmsley@sifive.com>,
<linux-acpi@vger.kernel.org>, <acpica-devel@lists.linux.dev>,
<devicetree@vger.kernel.org>
Subject: Re: [PATCH RFC v2 07/17] RISC-V: QoS: define prototypes for resctrl interface
Date: Fri, 13 Feb 2026 15:21:37 -0800 [thread overview]
Message-ID: <01d57303-059d-4025-bb31-56d552a149e3@intel.com> (raw)
In-Reply-To: <20260128-ssqosid-cbqri-v2-7-dca586b091b9@kernel.org>
Hi Drew,
On 1/28/26 12:27 PM, Drew Fustini wrote:
> Define the prototypes for the resctrl interface functions that are
> implemented on RISC-V.
>
> Co-developed-by: Adrien Ricciardi <aricciardi@baylibre.com>
> Signed-off-by: Adrien Ricciardi <aricciardi@baylibre.com>
> [fustini: rebased on current upstream]
> Signed-off-by: Drew Fustini <fustini@kernel.org>
> ---
> include/linux/riscv_qos.h | 44 ++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 44 insertions(+)
>
> diff --git a/include/linux/riscv_qos.h b/include/linux/riscv_qos.h
> index 51c3a96bbcd0..0c551ed85fe1 100644
> --- a/include/linux/riscv_qos.h
> +++ b/include/linux/riscv_qos.h
> @@ -3,6 +3,7 @@
> #ifndef __LINUX_RISCV_QOS_H
> #define __LINUX_RISCV_QOS_H
>
> +#include <linux/resctrl_types.h>
> #include <linux/iommu.h>
> #include <linux/types.h>
>
> @@ -31,4 +32,47 @@ struct cbqri_controller_info {
>
> extern struct list_head cbqri_controllers;
>
> +bool resctrl_arch_alloc_capable(void);
> +bool resctrl_arch_mon_capable(void);
> +bool resctrl_arch_is_llc_occupancy_enabled(void);
> +bool resctrl_arch_is_mbm_local_enabled(void);
> +bool resctrl_arch_is_mbm_total_enabled(void);
These individual event checks are no longer needed. Please refer to commit
d257cc2e5c8b ("x86,fs/resctrl: Replace architecture event enabled checks")
that can be found in your base commit.
> +
> +struct rdt_resource;
> +/*
> + * Note about terminology between x86 (Intel RDT/AMD QoS) and RISC-V:
> + * CLOSID on x86 is RCID on RISC-V
> + * RMID on x86 is MCID on RISC-V
> + * CDP on x86 is AT (access type) on RISC-V
> + */
> +u32 resctrl_arch_rmid_idx_encode(u32 closid, u32 rmid);
> +void resctrl_arch_rmid_idx_decode(u32 idx, u32 *closid, u32 *rmid);
> +void resctrl_arch_set_cpu_default_closid_rmid(int cpu, u32 closid, u32 pmg);
nit: the x86 and RISC-V terms are already plenty. It should not be necessary to add
MPAM terms (pmg) to the mix?
> +void resctrl_arch_sched_in(struct task_struct *tsk);
> +void resctrl_arch_set_closid_rmid(struct task_struct *tsk, u32 closid, u32 rmid);
> +bool resctrl_arch_match_closid(struct task_struct *tsk, u32 closid);
> +bool resctrl_arch_match_rmid(struct task_struct *tsk, u32 closid, u32 rmid);
> +void resctrl_arch_reset_resources(void);
hmmm ... the baseline of this work is v6.19-rc4 that contains the resctrl fs/arch
split. resctrl_arch_reset_resources() seems to be based on some earlier version of
the split work that did not make it upstream.
> +void *resctrl_arch_mon_ctx_alloc(struct rdt_resource *r, enum resctrl_event_id evtid);
> +void resctrl_arch_mon_ctx_free(struct rdt_resource *r, enum resctrl_event_id evtid,
> + void *arch_mon_ctx);
> +struct rdt_domain_hdr *resctrl_arch_find_domain(struct list_head *domain_list, int id);
resctrl_arch_find_domain() does not exist in resctrl. Would resctrl's resctrl_find_domain()
suffice?
> +
> +static inline bool resctrl_arch_event_is_free_running(enum resctrl_event_id evt)
resctrl_arch_event_is_free_running() also does not exist in resctrl.
> +{
> + /* must be true for resctrl L3 monitoring files to be created */
> + return true;
> +}
> +
> +static inline unsigned int resctrl_arch_round_mon_val(unsigned int val)
> +{
> + return val;
> +}
> +
> +/* Not needed for RISC-V */
> +static inline void resctrl_arch_enable_mon(void) { }
> +static inline void resctrl_arch_disable_mon(void) { }
> +static inline void resctrl_arch_enable_alloc(void) { }
> +static inline void resctrl_arch_disable_alloc(void) { }
> +
> #endif /* __LINUX_RISCV_QOS_H */
>
Reinette
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2026-02-13 23:21 UTC|newest]
Thread overview: 120+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-28 20:27 [PATCH RFC v2 00/17] RISC-V: QoS: add CBQRI resctrl interface Drew Fustini
2026-01-28 20:27 ` Drew Fustini
2026-01-28 20:27 ` [PATCH RFC v2 01/17] dt-bindings: riscv: Add Ssqosid extension description Drew Fustini
2026-01-28 20:27 ` Drew Fustini
2026-01-28 20:27 ` [PATCH RFC v2 02/17] RISC-V: Detect the Ssqosid extension Drew Fustini
2026-01-28 20:27 ` Drew Fustini
2026-01-28 20:27 ` [PATCH RFC v2 03/17] RISC-V: Add support for srmcfg CSR from Ssqosid ext Drew Fustini
2026-01-28 20:27 ` Drew Fustini
2026-02-02 3:17 ` [External] " yunhui cui
2026-02-02 3:17 ` yunhui cui
2026-02-08 1:31 ` Drew Fustini
2026-02-08 1:31 ` Drew Fustini
2026-02-09 3:36 ` yunhui cui
2026-02-09 3:36 ` yunhui cui
2026-02-02 4:27 ` yunhui cui
2026-02-02 4:27 ` yunhui cui
2026-02-03 19:43 ` Drew Fustini
2026-02-03 19:43 ` Drew Fustini
2026-01-28 20:27 ` [PATCH RFC v2 04/17] RISC-V: QoS: define properties of CBQRI controllers Drew Fustini
2026-01-28 20:27 ` Drew Fustini
2026-01-28 20:27 ` [PATCH RFC v2 05/17] RISC-V: QoS: define CBQRI capacity and bandwidth capabilities Drew Fustini
2026-01-28 20:27 ` Drew Fustini
2026-02-13 23:13 ` Reinette Chatre
2026-02-13 23:13 ` Reinette Chatre
2026-02-14 16:25 ` Drew Fustini
2026-02-14 16:25 ` Drew Fustini
2026-02-17 16:32 ` Reinette Chatre
2026-02-17 16:32 ` Reinette Chatre
2026-02-17 18:28 ` Drew Fustini
2026-02-17 18:28 ` Drew Fustini
2026-02-17 19:02 ` Reinette Chatre
2026-02-17 19:02 ` Reinette Chatre
2026-02-17 22:36 ` Drew Fustini
2026-02-17 22:36 ` Drew Fustini
2026-01-28 20:27 ` [PATCH RFC v2 06/17] RISC-V: QoS: define CBQRI resctrl resources and domains Drew Fustini
2026-01-28 20:27 ` Drew Fustini
2026-02-13 23:15 ` Reinette Chatre
2026-02-13 23:15 ` Reinette Chatre
2026-02-14 16:34 ` Drew Fustini
2026-02-14 16:34 ` Drew Fustini
2026-03-25 2:31 ` [External] " yunhui cui
2026-03-25 2:31 ` yunhui cui
2026-03-25 6:49 ` Drew Fustini
2026-03-25 6:49 ` Drew Fustini
2026-03-26 8:32 ` yunhui cui
2026-03-26 8:32 ` yunhui cui
2026-03-29 5:58 ` Drew Fustini
2026-03-29 5:58 ` Drew Fustini
2026-01-28 20:27 ` [PATCH RFC v2 07/17] RISC-V: QoS: define prototypes for resctrl interface Drew Fustini
2026-01-28 20:27 ` Drew Fustini
2026-02-13 23:21 ` Reinette Chatre [this message]
2026-02-13 23:21 ` Reinette Chatre
2026-01-28 20:27 ` [PATCH RFC v2 08/17] RISC-V: QoS: add resctrl interface for CBQRI controllers Drew Fustini
2026-01-28 20:27 ` Drew Fustini
2026-02-02 4:12 ` [External] " yunhui cui
2026-02-02 4:12 ` yunhui cui
2026-02-20 19:54 ` Drew Fustini
2026-02-20 19:54 ` Drew Fustini
2026-02-09 7:20 ` Gong Shuai
2026-02-09 10:07 ` Gong Shuai
2026-02-09 14:16 ` Gong Shuai
2026-02-09 14:16 ` Gong Shuai
2026-02-11 0:57 ` Drew Fustini
2026-02-11 0:57 ` Drew Fustini
2026-02-13 23:30 ` Reinette Chatre
2026-02-13 23:30 ` Reinette Chatre
2026-02-18 21:49 ` Drew Fustini
2026-02-18 21:49 ` Drew Fustini
2026-02-18 23:18 ` Reinette Chatre
2026-02-18 23:18 ` Reinette Chatre
2026-03-25 2:09 ` [External] " yunhui cui
2026-03-25 2:09 ` yunhui cui
2026-03-25 6:37 ` Drew Fustini
2026-03-25 6:37 ` Drew Fustini
2026-03-29 10:27 ` guo.wenjia23
2026-03-29 10:27 ` guo.wenjia23
2026-03-31 17:48 ` Radim Krčmář
2026-03-31 17:48 ` Radim Krčmář
2026-04-02 2:44 ` Drew Fustini
2026-04-02 2:44 ` Drew Fustini
2026-01-28 20:27 ` [PATCH RFC v2 09/17] RISC-V: QoS: expose implementation to resctrl Drew Fustini
2026-01-28 20:27 ` Drew Fustini
2026-01-28 20:27 ` [PATCH RFC v2 10/17] RISC-V: QoS: add late_initcall to setup resctrl interface Drew Fustini
2026-01-28 20:27 ` Drew Fustini
2026-01-28 20:27 ` [PATCH RFC v2 11/17] RISC-V: QoS: add to build when CONFIG_RISCV_ISA_SSQOSID set Drew Fustini
2026-01-28 20:27 ` Drew Fustini
2026-01-28 20:27 ` [PATCH RFC v2 12/17] RISC-V: QoS: make CONFIG_RISCV_ISA_SSQOSID select resctrl Drew Fustini
2026-01-28 20:27 ` Drew Fustini
2026-01-28 20:27 ` [PATCH RFC v2 13/17] acpi: pptt: Add helper to find a cache from id Drew Fustini
2026-01-28 20:27 ` Drew Fustini
2026-03-25 1:34 ` [External] " yunhui cui
2026-03-25 1:34 ` yunhui cui
2026-01-28 20:27 ` [PATCH RFC v2 14/17] include: acpi: actbl2: Add structs for RQSC table Drew Fustini
2026-01-28 20:27 ` Drew Fustini
2026-01-28 20:31 ` Rafael J. Wysocki
2026-01-28 20:31 ` Rafael J. Wysocki
2026-01-28 20:44 ` Drew Fustini
2026-01-28 20:44 ` Drew Fustini
2026-01-28 20:50 ` Rafael J. Wysocki
2026-01-28 20:50 ` Rafael J. Wysocki
2026-03-25 1:43 ` [External] " yunhui cui
2026-03-25 1:43 ` yunhui cui
2026-03-25 7:09 ` Drew Fustini
2026-03-25 7:09 ` Drew Fustini
2026-03-25 1:48 ` yunhui cui
2026-03-25 1:48 ` yunhui cui
2026-03-25 7:14 ` Drew Fustini
2026-03-25 7:14 ` Drew Fustini
2026-01-28 20:27 ` [PATCH RFC v2 15/17] RISC-V: QoS: add Cache ID and Prox Dom to CBQRI controllers Drew Fustini
2026-01-28 20:27 ` Drew Fustini
2026-01-28 20:27 ` [PATCH RFC v2 16/17] acpi: riscv: Parse RISC-V Quality of Service Controller (RQSC) table Drew Fustini
2026-01-28 20:27 ` Drew Fustini
2026-02-02 11:08 ` [External] " yunhui cui
2026-02-02 11:08 ` yunhui cui
2026-02-03 20:00 ` Drew Fustini
2026-02-03 20:00 ` Drew Fustini
2026-02-14 4:48 ` Drew Fustini
2026-02-14 4:48 ` Drew Fustini
2026-01-28 20:27 ` [PATCH RFC v2 17/17] acpi: riscv: Add support for RISC-V Quality of Service Controller (RQSC) Drew Fustini
2026-01-28 20:27 ` Drew Fustini
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=01d57303-059d-4025-bb31-56d552a149e3@intel.com \
--to=reinette.chatre@intel.com \
--cc=Dave.Martin@arm.com \
--cc=acpica-devel@lists.linux.dev \
--cc=alex@ghiti.fr \
--cc=aou@eecs.berkeley.edu \
--cc=aricciardi@baylibre.com \
--cc=atish.patra@linux.dev \
--cc=atishp@rivosinc.com \
--cc=babu.moger@amd.com \
--cc=ben.horgan@arm.com \
--cc=conor+dt@kernel.org \
--cc=cp0613@linux.alibaba.com \
--cc=cuiyunhui@bytedance.com \
--cc=devicetree@vger.kernel.org \
--cc=fenghua.yu@intel.com \
--cc=fustini@kernel.org \
--cc=guo.wenjia23@zte.com.cn \
--cc=james.morse@arm.com \
--cc=krzk+dt@kernel.org \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=liu.qingtao2@zte.com.cn \
--cc=liwei1518@gmail.com \
--cc=mindal@semihalf.com \
--cc=npitre@baylibre.com \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=peternewman@google.com \
--cc=pjw@kernel.org \
--cc=rafael@kernel.org \
--cc=rkrcmar@ventanamicro.com \
--cc=robert.moore@intel.com \
--cc=robh@kernel.org \
--cc=samuel.holland@sifive.com \
--cc=sunilvl@ventanamicro.com \
--cc=tony.luck@intel.com \
--cc=vasu@rivosinc.com \
--cc=ved@rivosinc.com \
--cc=x86@kernel.org \
--cc=zhiwei_liu@linux.alibaba.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.