All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sowjanya Komatineni <skomatineni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
To: Dmitry Osipenko <digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org,
	frankc-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org,
	hverkuil-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org,
	sakari.ailus-X3B1VOXEql0@public.gmane.org,
	helen.koike-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org
Cc: sboyd-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [RFC PATCH v11 6/9] media: tegra: Add Tegra210 Video input driver
Date: Sat, 2 May 2020 17:03:11 -0700	[thread overview]
Message-ID: <b4b479ea-dd34-c78c-5813-46651d1cb4c7@nvidia.com> (raw)
In-Reply-To: <b5f6a4e0-6e97-05ae-f034-b84fc5a1129a-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>


On 5/2/20 3:46 PM, Sowjanya Komatineni wrote:
>
> On 5/2/20 1:48 PM, Dmitry Osipenko wrote:
>> 02.05.2020 19:55, Sowjanya Komatineni пишет:
>>> Also stop stream ioctl request happens during suspend where both 
>>> threads
>>> will be stopped properly. done thread stop happens only after finishing
>>> all outstanding buffers.
>> Do you mean that V4L core takes care of stopping the streami on suspend
>> and re-starting it on resume from suspend?
>>
>>> Stop stream request happens from streaming applications so even without
>>> driver suspend/resume implementation currently, streaming will be
>>> stopped prior to system  suspend where both threads will be stopped
>>> properly (after finishing out standing buffers) and will be resumed by
>>> application on system resume
>> All userspace is frozen on suspend. System suspension is transparent for
>> userspace applications. I'm not sure what you're meaning here.
>>
>>> Also tested suspending while streaming with this unconditional 
>>> freeze, I
>>> don't see any issue as application stops stream where v4l_streamoff 
>>> gets
>>> executed during suspend and on resume streaming starts where
>>> v4l_streamon happens.
>>>
>>> So, I don't see any issue with existing implementation of unconditional
>>> freeze.
>> I don't understand why freezing is needed at all if V4L core takes care
>> of stopping the stream on suspend, what is the point? If there is no
>> real point, then let's make threads non-freezable and done with that.
>
> video device fops unlocked_ioctl is set to video_ioctl2() in vi driver.
>
> video device fops unlocked_ioctl gets executed with stream off cmd 
> during suspend and stream on cmd during resume which eventually calls 
> v4l_streamoff and v4l_streamon during system suspend/resume.
>
> My understanding to have freezable threads is during system suspend 
> user space applications are frozen prior to kernel freeze and during 
> suspend when opened video character device node gets closed these 
> ioctl gets invoked and stream off during suspend and stream on during 
> resume happens. So probably we still need to use freezable threads to 
> sync with user space application when frozen before really entering 
> suspend.
>
> Will wait for Thierry/Hans comment to correct if my above 
> understanding is wrong and help clarify if we need freezable threads 
> at all in this case...
>
> Note: I see other drivers using freezable threads for capture drivers.

I see only couple of media drivers using freezable threads.

Also, referring to below article probably we don't need freezable threads.

https://lwn.net/Articles/662703/

Probably we can then remove thread as freezable...


>
>
> Assuming we use freezable threads, I was saying we don't need 
> conditional try_to_freeze() like you pointed because even if finish 
> thread freeze happens prior to frame capture initiated by start 
> thread, vi hardware will still continue to update this single ongoing 
> buffer and will finish max within 200ms and actually there is no 
> direct processing of this done by finish thread itself except that it 
> returns buffers back when done and in this case it returns back when 
> unfreeze/wake up happens.
>
> So, I don't see any issue of unconditional try_to_freeze() even with 
> freezable threads.
>
> Thanks
>
> Sowjanya
>
>

WARNING: multiple messages have this Message-ID (diff)
From: Sowjanya Komatineni <skomatineni@nvidia.com>
To: Dmitry Osipenko <digetx@gmail.com>, <thierry.reding@gmail.com>,
	<jonathanh@nvidia.com>, <frankc@nvidia.com>, <hverkuil@xs4all.nl>,
	<sakari.ailus@iki.fi>, <helen.koike@collabora.com>
Cc: <sboyd@kernel.org>, <linux-media@vger.kernel.org>,
	<devicetree@vger.kernel.org>, <linux-clk@vger.kernel.org>,
	<linux-tegra@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH v11 6/9] media: tegra: Add Tegra210 Video input driver
Date: Sat, 2 May 2020 17:03:11 -0700	[thread overview]
Message-ID: <b4b479ea-dd34-c78c-5813-46651d1cb4c7@nvidia.com> (raw)
In-Reply-To: <b5f6a4e0-6e97-05ae-f034-b84fc5a1129a@nvidia.com>


On 5/2/20 3:46 PM, Sowjanya Komatineni wrote:
>
> On 5/2/20 1:48 PM, Dmitry Osipenko wrote:
>> 02.05.2020 19:55, Sowjanya Komatineni пишет:
>>> Also stop stream ioctl request happens during suspend where both 
>>> threads
>>> will be stopped properly. done thread stop happens only after finishing
>>> all outstanding buffers.
>> Do you mean that V4L core takes care of stopping the streami on suspend
>> and re-starting it on resume from suspend?
>>
>>> Stop stream request happens from streaming applications so even without
>>> driver suspend/resume implementation currently, streaming will be
>>> stopped prior to system  suspend where both threads will be stopped
>>> properly (after finishing out standing buffers) and will be resumed by
>>> application on system resume
>> All userspace is frozen on suspend. System suspension is transparent for
>> userspace applications. I'm not sure what you're meaning here.
>>
>>> Also tested suspending while streaming with this unconditional 
>>> freeze, I
>>> don't see any issue as application stops stream where v4l_streamoff 
>>> gets
>>> executed during suspend and on resume streaming starts where
>>> v4l_streamon happens.
>>>
>>> So, I don't see any issue with existing implementation of unconditional
>>> freeze.
>> I don't understand why freezing is needed at all if V4L core takes care
>> of stopping the stream on suspend, what is the point? If there is no
>> real point, then let's make threads non-freezable and done with that.
>
> video device fops unlocked_ioctl is set to video_ioctl2() in vi driver.
>
> video device fops unlocked_ioctl gets executed with stream off cmd 
> during suspend and stream on cmd during resume which eventually calls 
> v4l_streamoff and v4l_streamon during system suspend/resume.
>
> My understanding to have freezable threads is during system suspend 
> user space applications are frozen prior to kernel freeze and during 
> suspend when opened video character device node gets closed these 
> ioctl gets invoked and stream off during suspend and stream on during 
> resume happens. So probably we still need to use freezable threads to 
> sync with user space application when frozen before really entering 
> suspend.
>
> Will wait for Thierry/Hans comment to correct if my above 
> understanding is wrong and help clarify if we need freezable threads 
> at all in this case...
>
> Note: I see other drivers using freezable threads for capture drivers.

I see only couple of media drivers using freezable threads.

Also, referring to below article probably we don't need freezable threads.

https://lwn.net/Articles/662703/

Probably we can then remove thread as freezable...


>
>
> Assuming we use freezable threads, I was saying we don't need 
> conditional try_to_freeze() like you pointed because even if finish 
> thread freeze happens prior to frame capture initiated by start 
> thread, vi hardware will still continue to update this single ongoing 
> buffer and will finish max within 200ms and actually there is no 
> direct processing of this done by finish thread itself except that it 
> returns buffers back when done and in this case it returns back when 
> unfreeze/wake up happens.
>
> So, I don't see any issue of unconditional try_to_freeze() even with 
> freezable threads.
>
> Thanks
>
> Sowjanya
>
>

  parent reply	other threads:[~2020-05-03  0:03 UTC|newest]

Thread overview: 117+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-29 21:59 [RFC PATCH v11 0/9] Add Tegra driver for video capture Sowjanya Komatineni
2020-04-29 21:59 ` Sowjanya Komatineni
2020-04-29 21:59 ` [RFC PATCH v11 1/9] arm64: tegra: Fix sor powergate clocks and reset Sowjanya Komatineni
2020-04-29 21:59   ` Sowjanya Komatineni
2020-04-29 21:59 ` [RFC PATCH v11 2/9] arm64: tegra: Add reset-cells to mc Sowjanya Komatineni
2020-04-29 21:59   ` Sowjanya Komatineni
2020-04-29 22:00 ` [RFC PATCH v11 3/9] dt-bindings: clock: tegra: Add clk id for CSI TPG clock Sowjanya Komatineni
2020-04-29 22:00   ` Sowjanya Komatineni
2020-04-29 22:00 ` [RFC PATCH v11 4/9] clk: tegra: Add Tegra210 CSI TPG clock gate Sowjanya Komatineni
2020-04-29 22:00   ` Sowjanya Komatineni
2020-04-29 22:00 ` [RFC PATCH v11 5/9] dt-binding: tegra: Add VI and CSI bindings Sowjanya Komatineni
2020-04-29 22:00   ` Sowjanya Komatineni
2020-04-29 22:00 ` [RFC PATCH v11 6/9] media: tegra: Add Tegra210 Video input driver Sowjanya Komatineni
2020-04-29 22:00   ` Sowjanya Komatineni
2020-04-30 13:34   ` Dmitry Osipenko
2020-04-30 19:27     ` Sowjanya Komatineni
2020-04-30 19:27       ` Sowjanya Komatineni
2020-04-30 13:43   ` Dmitry Osipenko
     [not found]   ` <1588197606-32124-7-git-send-email-skomatineni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-30 13:38     ` Dmitry Osipenko
2020-04-30 13:38       ` Dmitry Osipenko
     [not found]       ` <34a49a30-71f2-5b24-20a4-7d98ae37cefa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-04-30 19:32         ` Sowjanya Komatineni
2020-04-30 19:32           ` Sowjanya Komatineni
2020-04-30 19:47           ` Dmitry Osipenko
2020-04-30 19:51             ` Sowjanya Komatineni
2020-04-30 19:51               ` Sowjanya Komatineni
2020-04-30 13:46     ` Dmitry Osipenko
2020-04-30 13:46       ` Dmitry Osipenko
2020-04-30 13:56     ` Dmitry Osipenko
2020-04-30 13:56       ` Dmitry Osipenko
     [not found]       ` <bacc4308-4b95-f566-b80e-096ff96407b5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-04-30 14:02         ` Dmitry Osipenko
2020-04-30 14:02           ` Dmitry Osipenko
     [not found]           ` <4da289e6-036f-853b-beb4-379d6462adb0-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-04-30 14:13             ` Dmitry Osipenko
2020-04-30 14:13               ` Dmitry Osipenko
     [not found]               ` <c6d54885-6f23-f60c-a17b-3481fc4d6adf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-04-30 16:04                 ` Sowjanya Komatineni
2020-04-30 16:04                   ` Sowjanya Komatineni
2020-04-30 16:29                   ` Sowjanya Komatineni
2020-04-30 16:29                     ` Sowjanya Komatineni
2020-04-30 17:06                     ` Sowjanya Komatineni
2020-04-30 17:06                       ` Sowjanya Komatineni
2020-04-30 18:18                       ` Sowjanya Komatineni
2020-04-30 18:18                         ` Sowjanya Komatineni
     [not found]                         ` <47873bbd-cf90-4595-5a99-7e9113327ecc-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-30 19:09                           ` Sowjanya Komatineni
2020-04-30 19:09                             ` Sowjanya Komatineni
     [not found]                             ` <f6088e0f-4ac7-a6be-3ede-0233dc88ef2c-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-30 19:33                               ` Dmitry Osipenko
2020-04-30 19:33                                 ` Dmitry Osipenko
2020-04-30 19:46                                 ` Sowjanya Komatineni
2020-04-30 19:46                                   ` Sowjanya Komatineni
     [not found]                                   ` <b3238987-5e8a-32f2-7ce7-924e86bc6e9e-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-30 19:53                                     ` Sowjanya Komatineni
2020-04-30 19:53                                       ` Sowjanya Komatineni
     [not found]                                       ` <298187f6-2425-4813-1ae1-f256c179623e-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-30 20:02                                         ` Sowjanya Komatineni
2020-04-30 20:02                                           ` Sowjanya Komatineni
     [not found]                                           ` <9c942bc9-703e-3bbb-eeab-f37e69dc1ded-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-30 21:17                                             ` Dmitry Osipenko
2020-04-30 21:17                                               ` Dmitry Osipenko
     [not found]                                               ` <b72b9d5c-7d02-1b58-20f7-30f94e230d58-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-04-30 21:26                                                 ` Sowjanya Komatineni
2020-04-30 21:26                                                   ` Sowjanya Komatineni
2020-04-30 21:37                                                   ` Sowjanya Komatineni
2020-04-30 21:37                                                     ` Sowjanya Komatineni
     [not found]                                                     ` <289d9c92-383f-3257-de7b-46179724285a-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-30 21:53                                                       ` Sowjanya Komatineni
2020-04-30 21:53                                                         ` Sowjanya Komatineni
     [not found]                                                         ` <9aa64f21-7b23-7228-b5eb-d2ff092682ad-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-30 22:16                                                           ` Sowjanya Komatineni
2020-04-30 22:16                                                             ` Sowjanya Komatineni
     [not found]                                                             ` <668cc4a0-2c81-0d87-b801-9fbf64e19137-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-30 22:19                                                               ` Sowjanya Komatineni
2020-04-30 22:19                                                                 ` Sowjanya Komatineni
     [not found]                                                                 ` <bf3f654e-b8f8-d560-fc5e-03d73cb7eab0-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-30 23:14                                                                   ` Sowjanya Komatineni
2020-04-30 23:14                                                                     ` Sowjanya Komatineni
     [not found]                                                                     ` <fe7ebad6-0368-b1f0-4f58-648baa5e3f79@nvidia.com>
     [not found]                                                                       ` <4f095181-2338-3b71-316c-f8bbfc7865cc@nvidia.com>
     [not found]                                                                         ` <50e872bb-913a-7b47-3264-af6b1cedb0e2@nvidia.com>
     [not found]                                                                           ` <e17a8a49-be53-465d-f64c-3f4c77391d98@nvidia.com>
     [not found]                                                                             ` <da5154b4-85f9-3e56-a440-f75debaec3a8@nvidia.com>
     [not found]                                                                               ` <cbb047ae-97dc-8b9a-a5ba-8e2a5dab3771@nvidia.com>
     [not found]                                                                                 ` <6ae2d00d-7955-d12b-5b56-955ef72ece26@nvidia.com>
     [not found]                                                                                   ` <6ae2d00d-7955-d12b-5b56-955ef72ece26-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-05-02 15:16                                                                                     ` Dmitry Osipenko
2020-05-02 15:16                                                                                       ` Dmitry Osipenko
     [not found]                                                                                       ` <f9073b28-f1f1-636c-be53-764fb0a531a1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-05-02 15:38                                                                                         ` Sowjanya Komatineni
2020-05-02 15:38                                                                                           ` Sowjanya Komatineni
     [not found]                                                                                           ` <1767e50f-efb7-5e89-22f6-0917821b660d-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-05-02 16:03                                                                                             ` Sowjanya Komatineni
2020-05-02 16:03                                                                                               ` Sowjanya Komatineni
2020-05-02 16:14                                                                                               ` Sowjanya Komatineni
2020-05-02 16:14                                                                                                 ` Sowjanya Komatineni
2020-05-02 16:55                                                                                                 ` Sowjanya Komatineni
2020-05-02 16:55                                                                                                   ` Sowjanya Komatineni
2020-05-02 17:04                                                                                                   ` Sowjanya Komatineni
2020-05-02 17:04                                                                                                     ` Sowjanya Komatineni
     [not found]                                                                                                     ` <605fc688-7712-cdfd-9d12-5741b984bb68-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-05-02 19:14                                                                                                       ` Sowjanya Komatineni
2020-05-02 19:14                                                                                                         ` Sowjanya Komatineni
2020-05-02 20:48                                                                                                   ` Dmitry Osipenko
     [not found]                                                                                                     ` <4abf30e0-fed9-ba39-ae38-350789bce99d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-05-02 22:46                                                                                                       ` Sowjanya Komatineni
2020-05-02 22:46                                                                                                         ` Sowjanya Komatineni
     [not found]                                                                                                         ` <b5f6a4e0-6e97-05ae-f034-b84fc5a1129a-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-05-03  0:03                                                                                                           ` Sowjanya Komatineni [this message]
2020-05-03  0:03                                                                                                             ` Sowjanya Komatineni
2020-05-04 12:18                                                                                                           ` Hans Verkuil
2020-05-04 12:18                                                                                                             ` Hans Verkuil
2020-05-04 14:50                                                                                                             ` Sowjanya Komatineni
2020-05-04 14:50                                                                                                               ` Sowjanya Komatineni
2020-04-30 21:22                                       ` Sowjanya Komatineni
2020-04-30 21:22                                         ` Sowjanya Komatineni
     [not found]                                 ` <960d2715-a717-0cc3-df19-ff78dc426535@nvidia.com>
     [not found]                                   ` <960d2715-a717-0cc3-df19-ff78dc426535-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-05-04 15:53                                     ` Dmitry Osipenko
2020-05-04 15:53                                       ` Dmitry Osipenko
     [not found]                                       ` <23520fa4-4d8f-b083-0ad3-b249339ee032-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-05-04 15:56                                         ` Sowjanya Komatineni
2020-05-04 15:56                                           ` Sowjanya Komatineni
2020-04-30 14:25     ` Dmitry Osipenko
2020-04-30 14:25       ` Dmitry Osipenko
2020-04-30 14:26   ` Dmitry Osipenko
2020-04-30 20:06   ` Dmitry Osipenko
2020-04-30 20:08     ` Sowjanya Komatineni
2020-04-30 20:08       ` Sowjanya Komatineni
     [not found]       ` <bfd82642-9648-96f1-737d-4b9a869d34a3-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-30 20:09         ` Sowjanya Komatineni
2020-04-30 20:09           ` Sowjanya Komatineni
2020-04-30 20:21           ` Dmitry Osipenko
     [not found]             ` <8da0929d-4a58-75b8-381c-511ce66f8d9d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-04-30 20:21               ` Sowjanya Komatineni
2020-04-30 20:21                 ` Sowjanya Komatineni
2020-05-04  7:44   ` Dmitry Osipenko
     [not found]     ` <f1cbb602-163e-a539-aaa5-c7e947a8945b-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-05-04 14:36       ` Sowjanya Komatineni
2020-05-04 14:36         ` Sowjanya Komatineni
2020-04-29 22:00 ` [RFC PATCH v11 7/9] MAINTAINERS: Add Tegra Video driver section Sowjanya Komatineni
2020-04-29 22:00   ` Sowjanya Komatineni
     [not found] ` <1588197606-32124-1-git-send-email-skomatineni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-29 22:00   ` [RFC PATCH v11 8/9] dt-bindings: reset: Add ID for Tegra210 VI reset Sowjanya Komatineni
2020-04-29 22:00     ` Sowjanya Komatineni
2020-04-29 22:00 ` [RFC PATCH v11 9/9] arm64: tegra: Add Tegra VI CSI support in device tree Sowjanya Komatineni
2020-04-29 22:00   ` Sowjanya Komatineni
2020-04-30  9:59 ` [RFC PATCH v11 0/9] Add Tegra driver for video capture Hans Verkuil
     [not found]   ` <4c66453f-d514-8667-a326-cd01f75a17b9-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2020-04-30 17:02     ` Sowjanya Komatineni
2020-04-30 17:02       ` Sowjanya Komatineni

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=b4b479ea-dd34-c78c-5813-46651d1cb4c7@nvidia.com \
    --to=skomatineni-ddmlm1+adcrqt0dzr+alfa@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=frankc-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=helen.koike-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org \
    --cc=hverkuil-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org \
    --cc=jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=sakari.ailus-X3B1VOXEql0@public.gmane.org \
    --cc=sboyd-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    /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.