All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anatoly Pugachev <matorola@gmail.com>
To: "Dmitry V. Levin" <ldv@altlinux.org>
Cc: Christoph Hellwig <hch@lst.de>,
	Khalid Aziz <khalid.aziz@oracle.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Sparc kernel list <sparclinux@vger.kernel.org>,
	linux-mm@kvack.org,
	Linux Kernel list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 09/16] sparc64: use the generic get_user_pages_fast code
Date: Fri, 9 Aug 2019 22:59:23 +0300	[thread overview]
Message-ID: <CADxRZqy61-JOYSv3xtdeW_wTDqKovqDg2G+a-=LH3w=mrf2zUQ@mail.gmail.com> (raw)
In-Reply-To: <20190717215956.GA30369@altlinux.org>

On Thu, Jul 18, 2019 at 12:59 AM Dmitry V. Levin <ldv@altlinux.org> wrote:
> On Tue, Jun 25, 2019 at 04:37:08PM +0200, Christoph Hellwig wrote:
> > The sparc64 code is mostly equivalent to the generic one, minus various
> > bugfixes and two arch overrides that this patch adds to pgtable.h.
> >
> > Signed-off-by: Christoph Hellwig <hch@lst.de>
> > Reviewed-by: Khalid Aziz <khalid.aziz@oracle.com>
> > ---
> >  arch/sparc/Kconfig                  |   1 +
> >  arch/sparc/include/asm/pgtable_64.h |  18 ++
> >  arch/sparc/mm/Makefile              |   2 +-
> >  arch/sparc/mm/gup.c                 | 340 ----------------------------
> >  4 files changed, 20 insertions(+), 341 deletions(-)
> >  delete mode 100644 arch/sparc/mm/gup.c
>
> So this ended up as commit 7b9afb86b6328f10dc2cad9223d7def12d60e505

I've tried to revert this commit on a current master branch , but i'm getting :

linux-2.6$ git show 7b9afb86b632 > /tmp/gup.patch
linux-2.6$ patch -p1 -R < /tmp/gup.patch
...
linux-2.6$ make -j && make -j modules
...
  CALL    scripts/atomic/check-atomics.sh
  CALL    scripts/checksyscalls.sh
<stdin>:1511:2: warning: #warning syscall clone3 not implemented [-Wcpp]
  CHK     include/generated/compile.h
  CHK     include/generated/autoksyms.h
  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  AR      init/built-in.a
  LD      vmlinux.o
ld: mm/gup.o: in function `__get_user_pages_fast':
gup.c:(.text+0x1bc0): multiple definition of `__get_user_pages_fast';
arch/sparc/mm/gup.o:gup.c:(.text+0x620): first defined here
ld: mm/gup.o: in function `get_user_pages_fast':
gup.c:(.text+0x1be0): multiple definition of `get_user_pages_fast';
arch/sparc/mm/gup.o:gup.c:(.text+0x740): first defined here
make: *** [Makefile:1060: vmlinux] Error 1

Can someone help me to revert this commit? Is it even possible? Since
it's not only futex strace calls getting killed and producing OOPS,
even util-linux.git 'make check' hangs machine/LDOM with multiple OOPS
in logs, while previous (before this commit) kernel passes tests ok
(and without kernel OOPS). I've already tried to compile current
master with gcc-6, gcc-7, gcc-8 debian versions, but all produce same
OOPS.

Thanks.

WARNING: multiple messages have this Message-ID (diff)
From: Anatoly Pugachev <matorola@gmail.com>
To: "Dmitry V. Levin" <ldv@altlinux.org>
Cc: Christoph Hellwig <hch@lst.de>,
	Khalid Aziz <khalid.aziz@oracle.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Sparc kernel list <sparclinux@vger.kernel.org>,
	linux-mm@kvack.org,
	Linux Kernel list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 09/16] sparc64: use the generic get_user_pages_fast code
Date: Fri, 09 Aug 2019 19:59:23 +0000	[thread overview]
Message-ID: <CADxRZqy61-JOYSv3xtdeW_wTDqKovqDg2G+a-=LH3w=mrf2zUQ@mail.gmail.com> (raw)
In-Reply-To: <20190717215956.GA30369@altlinux.org>

On Thu, Jul 18, 2019 at 12:59 AM Dmitry V. Levin <ldv@altlinux.org> wrote:
> On Tue, Jun 25, 2019 at 04:37:08PM +0200, Christoph Hellwig wrote:
> > The sparc64 code is mostly equivalent to the generic one, minus various
> > bugfixes and two arch overrides that this patch adds to pgtable.h.
> >
> > Signed-off-by: Christoph Hellwig <hch@lst.de>
> > Reviewed-by: Khalid Aziz <khalid.aziz@oracle.com>
> > ---
> >  arch/sparc/Kconfig                  |   1 +
> >  arch/sparc/include/asm/pgtable_64.h |  18 ++
> >  arch/sparc/mm/Makefile              |   2 +-
> >  arch/sparc/mm/gup.c                 | 340 ----------------------------
> >  4 files changed, 20 insertions(+), 341 deletions(-)
> >  delete mode 100644 arch/sparc/mm/gup.c
>
> So this ended up as commit 7b9afb86b6328f10dc2cad9223d7def12d60e505

I've tried to revert this commit on a current master branch , but i'm getting :

linux-2.6$ git show 7b9afb86b632 > /tmp/gup.patch
linux-2.6$ patch -p1 -R < /tmp/gup.patch
...
linux-2.6$ make -j && make -j modules
...
  CALL    scripts/atomic/check-atomics.sh
  CALL    scripts/checksyscalls.sh
<stdin>:1511:2: warning: #warning syscall clone3 not implemented [-Wcpp]
  CHK     include/generated/compile.h
  CHK     include/generated/autoksyms.h
  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  AR      init/built-in.a
  LD      vmlinux.o
ld: mm/gup.o: in function `__get_user_pages_fast':
gup.c:(.text+0x1bc0): multiple definition of `__get_user_pages_fast';
arch/sparc/mm/gup.o:gup.c:(.text+0x620): first defined here
ld: mm/gup.o: in function `get_user_pages_fast':
gup.c:(.text+0x1be0): multiple definition of `get_user_pages_fast';
arch/sparc/mm/gup.o:gup.c:(.text+0x740): first defined here
make: *** [Makefile:1060: vmlinux] Error 1

Can someone help me to revert this commit? Is it even possible? Since
it's not only futex strace calls getting killed and producing OOPS,
even util-linux.git 'make check' hangs machine/LDOM with multiple OOPS
in logs, while previous (before this commit) kernel passes tests ok
(and without kernel OOPS). I've already tried to compile current
master with gcc-6, gcc-7, gcc-8 debian versions, but all produce same
OOPS.

Thanks.

  parent reply	other threads:[~2019-08-09 19:59 UTC|newest]

Thread overview: 249+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-11 14:40 switch the remaining architectures to use generic GUP v3 Christoph Hellwig
2019-06-11 14:40 ` Christoph Hellwig
2019-06-11 14:40 ` Christoph Hellwig
2019-06-11 14:40 ` [PATCH 01/16] mm: use untagged_addr() for get_user_pages_fast addresses Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 19:22   ` Khalid Aziz
2019-06-11 19:22     ` Khalid Aziz
2019-06-11 19:22     ` Khalid Aziz
2019-06-21 13:16   ` Jason Gunthorpe
2019-06-21 13:16     ` Jason Gunthorpe
2019-06-21 13:16     ` Jason Gunthorpe
2019-06-21 13:39   ` Jason Gunthorpe
2019-06-21 13:39     ` Jason Gunthorpe
2019-06-21 13:39     ` Jason Gunthorpe
2019-06-21 15:35     ` Khalid Aziz
2019-06-21 15:35       ` Khalid Aziz
2019-06-21 15:35       ` Khalid Aziz
2019-06-21 15:54       ` Jason Gunthorpe
2019-06-21 15:54         ` Jason Gunthorpe
2019-06-21 15:54         ` Jason Gunthorpe
2019-06-25  7:41     ` Christoph Hellwig
2019-06-25  7:41       ` Christoph Hellwig
2019-06-25  7:41       ` Christoph Hellwig
2019-06-25  7:43     ` Christoph Hellwig
2019-06-25  7:43       ` Christoph Hellwig
2019-06-25  7:43       ` Christoph Hellwig
2019-06-11 14:40 ` [PATCH 02/16] mm: simplify gup_fast_permitted Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-21 13:40   ` Jason Gunthorpe
2019-06-21 13:40     ` Jason Gunthorpe
2019-06-21 13:40     ` Jason Gunthorpe
2019-06-11 14:40 ` [PATCH 03/16] mm: lift the x86_32 PAE version of gup_get_pte to common code Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-21 13:45   ` Jason Gunthorpe
2019-06-21 13:45     ` Jason Gunthorpe
2019-06-21 13:45     ` Jason Gunthorpe
2019-06-11 14:40 ` [PATCH 04/16] MIPS: use the generic get_user_pages_fast code Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-21 14:05   ` Jason Gunthorpe
2019-06-21 14:05     ` Jason Gunthorpe
2019-06-21 14:05     ` Jason Gunthorpe
2019-06-25  7:46     ` Christoph Hellwig
2019-06-25  7:46       ` Christoph Hellwig
2019-06-25  7:46       ` Christoph Hellwig
2019-06-11 14:40 ` [PATCH 05/16] sh: add the missing pud_page definition Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 14:40 ` [PATCH 06/16] sh: use the generic get_user_pages_fast code Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 14:40 ` [PATCH 07/16] sparc64: add the missing pgd_page definition Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 14:40 ` [PATCH 08/16] sparc64: define untagged_addr() Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 19:23   ` Khalid Aziz
2019-06-11 19:23     ` Khalid Aziz
2019-06-11 19:23     ` Khalid Aziz
2019-06-11 14:40 ` [PATCH 09/16] sparc64: use the generic get_user_pages_fast code Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 19:35   ` Khalid Aziz
2019-06-11 19:35     ` Khalid Aziz
2019-06-11 19:35     ` Khalid Aziz
2019-06-11 14:40 ` [PATCH 10/16] mm: rename CONFIG_HAVE_GENERIC_GUP to CONFIG_HAVE_FAST_GUP Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 19:35   ` Khalid Aziz
2019-06-11 19:35     ` Khalid Aziz
2019-06-11 19:35     ` Khalid Aziz
2019-06-21 14:28   ` Jason Gunthorpe
2019-06-21 14:28     ` Jason Gunthorpe
2019-06-21 14:28     ` Jason Gunthorpe
2019-06-25  7:50     ` Christoph Hellwig
2019-06-25  7:50       ` Christoph Hellwig
2019-06-25  7:50       ` Christoph Hellwig
2019-06-11 14:40 ` [PATCH 11/16] mm: consolidate the get_user_pages* implementations Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-21 14:41   ` Jason Gunthorpe
2019-06-21 14:41     ` Jason Gunthorpe
2019-06-21 14:41     ` Jason Gunthorpe
2019-06-25  7:56     ` Christoph Hellwig
2019-06-25  7:56       ` Christoph Hellwig
2019-06-25  7:56       ` Christoph Hellwig
2019-06-25 11:56       ` Jason Gunthorpe
2019-06-25 11:56         ` Jason Gunthorpe
2019-06-25 11:56         ` Jason Gunthorpe
2019-06-11 14:40 ` [PATCH 12/16] mm: validate get_user_pages_fast flags Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 14:40 ` [PATCH 13/16] mm: move the powerpc hugepd code to mm/gup.c Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 14:40   ` Christoph Hellwig
2019-06-11 14:41 ` [PATCH 14/16] mm: switch gup_hugepte to use try_get_compound_head Christoph Hellwig
2019-06-11 14:41   ` Christoph Hellwig
2019-06-11 14:41   ` Christoph Hellwig
2019-06-11 14:41 ` [PATCH 15/16] mm: mark the page referenced in gup_hugepte Christoph Hellwig
2019-06-11 14:41   ` Christoph Hellwig
2019-06-11 14:41   ` Christoph Hellwig
2019-06-11 14:41 ` [PATCH 16/16] mm: pass get_user_pages_fast iterator arguments in a structure Christoph Hellwig
2019-06-11 14:41   ` Christoph Hellwig
2019-06-11 14:41   ` Christoph Hellwig
2019-06-12  0:52   ` Nicholas Piggin
2019-06-12  0:52     ` Nicholas Piggin
2019-06-12  0:52     ` Nicholas Piggin
2019-06-12  1:09     ` Linus Torvalds
2019-06-12  1:09       ` Linus Torvalds
2019-06-12  1:09       ` Linus Torvalds
2019-06-12  1:09       ` Linus Torvalds
2019-06-20 12:18       ` Nicholas Piggin
2019-06-20 12:18         ` Nicholas Piggin
2019-06-20 12:18         ` Nicholas Piggin
2019-06-20 17:21         ` Linus Torvalds
2019-06-20 17:21           ` Linus Torvalds
2019-06-20 17:21           ` Linus Torvalds
2019-06-20 17:21           ` Linus Torvalds
2019-06-21  8:15           ` Christoph Hellwig
2019-06-21  8:15             ` Christoph Hellwig
2019-06-21  8:15             ` Christoph Hellwig
2019-06-21 23:55             ` Nicholas Piggin
2019-06-21 23:55               ` Nicholas Piggin
2019-06-21 23:55               ` Nicholas Piggin
2019-06-21  8:29           ` Nicholas Piggin
2019-06-21  8:29             ` Nicholas Piggin
2019-06-21  8:29             ` Nicholas Piggin
2019-06-12  1:27     ` Nadav Amit
2019-06-12  1:27       ` Nadav Amit
2019-06-12  1:27       ` Nadav Amit
2019-06-20 11:45 ` switch the remaining architectures to use generic GUP v3 Christoph Hellwig
2019-06-20 11:45   ` Christoph Hellwig
2019-06-20 11:45   ` Christoph Hellwig
2019-06-21 14:43 ` Jason Gunthorpe
2019-06-21 14:43   ` Jason Gunthorpe
2019-06-21 14:43   ` Jason Gunthorpe
2019-06-25 14:36 ` switch the remaining architectures to use generic GUP v4 Christoph Hellwig
2019-06-25 14:36   ` Christoph Hellwig
2019-06-25 14:36   ` Christoph Hellwig
2019-06-25 14:37   ` [PATCH 01/16] mm: use untagged_addr() for get_user_pages_fast addresses Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37   ` [PATCH 02/16] mm: simplify gup_fast_permitted Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37   ` [PATCH 03/16] mm: lift the x86_32 PAE version of gup_get_pte to common code Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37   ` [PATCH 04/16] MIPS: use the generic get_user_pages_fast code Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-29 14:37     ` Guenter Roeck
2019-06-29 14:37       ` Guenter Roeck
2019-06-29 14:37       ` Guenter Roeck
2019-06-25 14:37   ` [PATCH 05/16] sh: add the missing pud_page definition Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37   ` [PATCH 06/16] sh: use the generic get_user_pages_fast code Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-29 15:15     ` Guenter Roeck
2019-06-29 15:15       ` Guenter Roeck
2019-06-29 15:15       ` Guenter Roeck
2019-06-25 14:37   ` [PATCH 07/16] sparc64: add the missing pgd_page definition Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37   ` [PATCH 08/16] sparc64: define untagged_addr() Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37   ` [PATCH 09/16] sparc64: use the generic get_user_pages_fast code Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-07-17 21:59     ` Dmitry V. Levin
2019-07-17 21:59       ` Dmitry V. Levin
2019-07-17 22:04       ` Linus Torvalds
2019-07-17 22:04         ` Linus Torvalds
2019-07-17 22:04         ` Linus Torvalds
2019-07-17 23:30         ` Dmitry V. Levin
2019-07-17 23:30           ` Dmitry V. Levin
2019-07-18  0:17           ` Linus Torvalds
2019-07-18  0:17             ` Linus Torvalds
2019-07-18  0:17             ` Linus Torvalds
2019-07-18  1:21             ` David Miller
2019-07-18  1:21               ` David Miller
2019-07-18 21:43             ` David Miller
2019-07-18 21:43               ` David Miller
2019-07-18 21:14       ` David Miller
2019-07-18 21:14         ` David Miller
2019-07-19  6:00         ` Christoph Hellwig
2019-07-19  6:00           ` Christoph Hellwig
2019-07-24 19:32         ` Anatoly Pugachev
2019-07-24 19:32           ` Anatoly Pugachev
2019-07-24 19:32           ` Anatoly Pugachev
2019-07-24 20:13           ` David Miller
2019-07-24 20:13             ` David Miller
2019-07-25 18:33             ` Anatoly Pugachev
2019-07-25 18:33               ` Anatoly Pugachev
2019-07-25 18:33               ` Anatoly Pugachev
2019-07-25 22:52               ` David Miller
2019-07-25 22:52                 ` David Miller
2019-07-28  2:09               ` David Miller
2019-07-28  2:09                 ` David Miller
2019-07-28 20:00                 ` Anatoly Pugachev
2019-07-28 20:00                   ` Anatoly Pugachev
2019-07-28 20:00                   ` Anatoly Pugachev
2019-07-26 17:58       ` Khalid Aziz
2019-07-26 17:58         ` Khalid Aziz
2019-08-09 19:59       ` Anatoly Pugachev [this message]
2019-08-09 19:59         ` Anatoly Pugachev
2019-08-09 19:59         ` Anatoly Pugachev
2019-08-10  7:17         ` Christoph Hellwig
2019-08-10  7:17           ` Christoph Hellwig
2019-08-10 19:36           ` Mikael Pettersson
2019-08-10 19:36             ` Mikael Pettersson
2019-08-10 19:36             ` Mikael Pettersson
2019-08-11 20:30             ` Anatoly Pugachev
2019-08-11 20:30               ` Anatoly Pugachev
2019-08-11 20:30               ` Anatoly Pugachev
2019-06-25 14:37   ` [PATCH 10/16] mm: rename CONFIG_HAVE_GENERIC_GUP to CONFIG_HAVE_FAST_GUP Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37   ` [PATCH 11/16] mm: reorder code blocks in gup.c Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37   ` [PATCH 12/16] mm: consolidate the get_user_pages* implementations Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37   ` [PATCH 13/16] mm: validate get_user_pages_fast flags Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37   ` [PATCH 14/16] mm: move the powerpc hugepd code to mm/gup.c Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 19:37     ` Andrew Morton
2019-06-25 19:37       ` Andrew Morton
2019-06-25 19:37       ` Andrew Morton
2019-06-26  5:49       ` Christoph Hellwig
2019-06-26  5:49         ` Christoph Hellwig
2019-06-26  5:49         ` Christoph Hellwig
2019-06-25 14:37   ` [PATCH 15/16] mm: switch gup_hugepte to use try_get_compound_head Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37   ` [PATCH 16/16] mm: mark the page referenced in gup_hugepte Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig
2019-06-25 14:37     ` Christoph Hellwig

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='CADxRZqy61-JOYSv3xtdeW_wTDqKovqDg2G+a-=LH3w=mrf2zUQ@mail.gmail.com' \
    --to=matorola@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=davem@davemloft.net \
    --cc=hch@lst.de \
    --cc=khalid.aziz@oracle.com \
    --cc=ldv@altlinux.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=torvalds@linux-foundation.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.