From: Ingo Molnar <mingo@elte.hu>
To: Davide Libenzi <davidel@xmailserver.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Arjan van de Ven <arjan@infradead.org>,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
Date: Fri, 2 Mar 2007 21:29:31 +0100 [thread overview]
Message-ID: <20070302202931.GA5101@elte.hu> (raw)
In-Reply-To: <Pine.LNX.4.64.0703021212140.2381@alien.or.mcafeemobile.com>
* Davide Libenzi <davidel@xmailserver.org> wrote:
> I think that the "dirty" FPU context must, at least, follow the new
> head. That's what the userspace sees, and you don't want an async_exec
> to re-emerge with a different FPU context.
well. I think there's some confusion about terminology, so please let me
describe everything in detail. This is how execution goes:
outer loop() {
call_threadlet();
}
this all runs in the 'head' context. call_threadlet() always switches to
the 'threadlet stack'. The 'outer context' runs in the 'head stack'. If,
while executing the threadlet function, we block, then the
threadlet-thread gets to keep the task (the threadlet stack and also the
FPU), and blocks - and we pick a 'new head' from the thread pool and
continue executing in that context - right after the call_threadlet()
function, in the 'old' head's stack. I.e. it's as if we returned
immediately from call_threadlet(), with a return code that signals that
the 'threadlet went async'.
now, the FPU state that was when the threadlet blocked is totally
meaningless to the 'new head' - that FPU state is from the middle of the
threadlet execution.
and here is where thinking about threadlets as a function call and not
as an asynchronous context helps alot: the classic gcc convention for
FPU use & function calls should apply: gcc does not call an external
function with an in-use FPU stack/register, it always neatly unuses it,
as no FPU register is callee-saved, all are caller-saved.
> So, IMO, if the USEDFPU bit is set, we need to sync the dirty FPU
> context with an early unlazy_fpu(), *and* copy the sync'd FPU context
> to the new head. This should really be a fork of the dirty FPU context
> IMO, and should only happen if the USEDFPU bit is set.
why? The only effect this will have is a slowdown :) The FPU context
from the middle of the threadlet function is totally meaningless to the
'new head'. It might be anything. (although in practice system calls are
almost never called with a truly in-use FPU.)
Ingo
next prev parent reply other threads:[~2007-03-02 20:37 UTC|newest]
Thread overview: 353+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-21 21:13 [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 Ingo Molnar
2007-02-21 21:14 ` [patch 01/13] syslets: add async.h include file, kernel-side API definitions Ingo Molnar
2007-02-21 21:15 ` [patch 02/13] syslets: add syslet.h include file, user API/ABI definitions Ingo Molnar
2007-02-21 21:15 ` [patch 03/13] syslets: generic kernel bits Ingo Molnar
2007-02-21 21:15 ` [patch 04/13] syslets: core code Ingo Molnar
2007-02-23 23:08 ` Davide Libenzi
2007-02-24 7:04 ` Ingo Molnar
2007-02-24 21:10 ` Davide Libenzi
2007-02-24 22:08 ` Kyle Moffett
2007-02-24 22:25 ` Davide Libenzi
2007-02-25 7:59 ` Ingo Molnar
2007-02-21 21:15 ` [patch 05/13] syslets: core, documentation Ingo Molnar
2007-02-26 21:32 ` Randy Dunlap
2007-02-27 6:20 ` Ingo Molnar
2007-02-21 21:15 ` [patch 06/13] x86: split FPU state from task state Ingo Molnar
2007-02-21 21:15 ` [patch 07/13] syslets: x86, add create_async_thread() method Ingo Molnar
2007-02-21 21:15 ` [patch 08/13] syslets: x86, add move_user_context() method Ingo Molnar
2007-02-21 23:03 ` Davide Libenzi
2007-02-21 23:20 ` Ingo Molnar
2007-02-22 4:10 ` Davide Libenzi
2007-02-21 21:15 ` [patch 09/13] syslets: x86, mark async unsafe syscalls Ingo Molnar
2007-02-21 21:15 ` [patch 10/13] syslets: x86: enable ASYNC_SUPPORT Ingo Molnar
2007-02-21 21:15 ` [patch 11/13] syslets: x86, wire up the syslet system calls Ingo Molnar
2007-02-21 21:15 ` [patch 12/13] syslets: x86: optimized copy_uatom() Ingo Molnar
2007-02-21 21:16 ` [patch 13/13] syslets: x86: optimized sys_umem_add() Ingo Molnar
2007-02-21 22:46 ` [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 Michael K. Edwards
2007-02-21 22:57 ` Ingo Molnar
2007-02-22 0:53 ` Michael K. Edwards
2007-02-22 1:33 ` Michael K. Edwards
2007-02-22 6:51 ` Ingo Molnar
2007-02-22 8:59 ` Michael K. Edwards
2007-02-22 19:52 ` x86 hardware and transputers (Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3) Oleg Verych
2007-02-22 20:45 ` Michael K. Edwards
2007-02-21 23:03 ` [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 Ingo Molnar
2007-02-21 23:24 ` Ingo Molnar
2007-02-22 0:55 ` Michael K. Edwards
2007-02-21 23:31 ` Ingo Molnar
2007-02-21 23:46 ` Ulrich Drepper
2007-02-22 7:40 ` Ingo Molnar
2007-02-22 11:31 ` Evgeniy Polyakov
2007-02-22 11:52 ` Arjan van de Ven
2007-02-22 12:39 ` Evgeniy Polyakov
2007-02-22 13:41 ` David Miller
2007-02-22 14:31 ` Ingo Molnar
2007-02-22 14:47 ` David Miller
2007-02-22 15:02 ` Evgeniy Polyakov
2007-02-22 15:15 ` Ingo Molnar
2007-02-22 15:29 ` Ingo Molnar
2007-02-22 17:17 ` David Miller
2007-02-23 11:12 ` Ingo Molnar
2007-02-22 20:13 ` Davide Libenzi
2007-02-22 21:30 ` Zach Brown
2007-02-22 14:59 ` Ingo Molnar
2007-02-22 21:42 ` Michael K. Edwards
2007-02-22 14:53 ` Avi Kivity
2007-02-22 12:59 ` Ingo Molnar
2007-02-22 13:32 ` Evgeniy Polyakov
2007-02-22 19:46 ` Davide Libenzi
2007-02-23 12:15 ` Evgeniy Polyakov
2007-02-23 17:43 ` Davide Libenzi
2007-02-23 18:01 ` Evgeniy Polyakov
2007-02-23 20:43 ` Davide Libenzi
2007-02-23 11:51 ` Ingo Molnar
2007-02-23 12:22 ` Evgeniy Polyakov
2007-02-23 12:41 ` Evgeniy Polyakov
2007-02-25 17:45 ` Ingo Molnar
2007-02-25 18:09 ` Evgeniy Polyakov
2007-02-25 19:04 ` Ingo Molnar
2007-02-25 19:42 ` Evgeniy Polyakov
2007-02-25 20:38 ` Ingo Molnar
2007-02-26 12:39 ` Ingo Molnar
2007-02-26 14:05 ` Evgeniy Polyakov
2007-02-26 14:15 ` Ingo Molnar
2007-02-26 16:55 ` Evgeniy Polyakov
2007-02-26 20:35 ` Ingo Molnar
2007-02-26 22:06 ` Bill Huey
2007-02-27 10:09 ` Evgeniy Polyakov
2007-02-27 17:13 ` Pavel Machek
2007-02-27 2:18 ` Davide Libenzi
2007-02-27 10:13 ` Evgeniy Polyakov
2007-02-27 16:01 ` Davide Libenzi
2007-02-27 16:21 ` Evgeniy Polyakov
2007-02-27 16:58 ` Eric Dumazet
2007-02-27 17:06 ` Evgeniy Polyakov
2007-02-27 19:20 ` Davide Libenzi
2007-02-26 19:47 ` Davide Libenzi
2007-02-25 23:14 ` Michael K. Edwards
2007-02-22 14:17 ` Suparna Bhattacharya
2007-02-22 14:36 ` Ingo Molnar
2007-02-23 14:23 ` Suparna Bhattacharya
2007-02-22 21:24 ` Michael K. Edwards
2007-02-23 0:30 ` Alan
2007-02-23 2:47 ` Michael K. Edwards
2007-02-23 8:31 ` Michael K. Edwards
2007-02-23 10:22 ` Ingo Molnar
2007-02-23 12:37 ` Alan
2007-02-23 23:49 ` Michael K. Edwards
2007-02-24 1:08 ` Alan
2007-02-24 0:51 ` Michael K. Edwards
2007-02-24 2:17 ` Michael K. Edwards
2007-02-24 3:25 ` Michael K. Edwards
2007-02-23 12:17 ` Ingo Molnar
2007-02-24 19:52 ` Michael K. Edwards
2007-02-24 21:04 ` Davide Libenzi
2007-02-24 23:01 ` Michael K. Edwards
2007-02-25 22:44 ` Linus Torvalds
2007-02-26 13:11 ` Ingo Molnar
2007-02-26 17:37 ` Evgeniy Polyakov
2007-02-26 18:19 ` Arjan van de Ven
2007-02-26 18:38 ` Evgeniy Polyakov
2007-02-26 18:56 ` Chris Friesen
2007-02-26 19:20 ` Evgeniy Polyakov
2007-02-26 17:28 ` Evgeniy Polyakov
2007-02-26 17:57 ` Linus Torvalds
2007-02-26 18:32 ` Evgeniy Polyakov
2007-02-26 19:22 ` Linus Torvalds
2007-02-26 19:30 ` Evgeniy Polyakov
2007-02-26 20:04 ` Linus Torvalds
2007-02-27 8:09 ` Evgeniy Polyakov
2007-02-26 19:54 ` Ingo Molnar
2007-02-27 10:28 ` Evgeniy Polyakov
2007-02-27 11:52 ` Theodore Tso
2007-02-27 12:11 ` Evgeniy Polyakov
2007-02-27 12:13 ` Ingo Molnar
2007-02-27 12:40 ` Evgeniy Polyakov
2007-02-28 16:14 ` Pavel Machek
2007-03-01 8:18 ` Evgeniy Polyakov
2007-03-01 9:26 ` Pavel Machek
2007-03-01 9:47 ` Evgeniy Polyakov
2007-03-01 9:54 ` Ingo Molnar
2007-03-01 10:59 ` Evgeniy Polyakov
2007-03-01 11:00 ` Ingo Molnar
2007-03-01 11:16 ` Evgeniy Polyakov
2007-03-01 11:27 ` Ingo Molnar
2007-03-01 11:36 ` Evgeniy Polyakov
2007-03-01 11:41 ` Ingo Molnar
2007-03-01 11:47 ` Ingo Molnar
2007-03-01 12:10 ` Evgeniy Polyakov
2007-03-01 12:43 ` Ingo Molnar
2007-03-01 13:01 ` Evgeniy Polyakov
2007-03-01 13:11 ` Ingo Molnar
2007-03-01 13:30 ` Evgeniy Polyakov
2007-03-01 14:19 ` Eric Dumazet
2007-03-01 14:16 ` Ingo Molnar
2007-03-01 14:31 ` Eric Dumazet
2007-03-01 14:27 ` Ingo Molnar
2007-03-01 14:54 ` Evgeniy Polyakov
2007-03-01 15:09 ` Ingo Molnar
2007-03-01 15:36 ` Evgeniy Polyakov
2007-03-02 10:57 ` Ingo Molnar
2007-03-02 11:48 ` Evgeniy Polyakov
2007-03-02 17:32 ` Davide Libenzi
2007-03-02 19:39 ` Ingo Molnar
2007-03-02 20:18 ` Davide Libenzi
2007-03-02 20:29 ` Ingo Molnar [this message]
2007-03-02 20:53 ` Davide Libenzi
2007-03-02 21:21 ` Michael K. Edwards
2007-03-02 21:43 ` Nicholas Miell
2007-03-03 0:52 ` Davide Libenzi
2007-03-03 1:36 ` Nicholas Miell
2007-03-03 1:48 ` Benjamin LaHaise
2007-03-03 2:19 ` Davide Libenzi
2007-03-03 7:19 ` Ingo Molnar
2007-03-03 7:20 ` Ingo Molnar
2007-03-03 9:02 ` Davide Libenzi
2007-03-01 19:31 ` Davide Libenzi
2007-03-02 8:10 ` Evgeniy Polyakov
2007-03-02 17:13 ` Davide Libenzi
2007-03-02 19:13 ` Davide Libenzi
2007-03-03 10:06 ` Evgeniy Polyakov
2007-03-03 18:46 ` Davide Libenzi
2007-03-03 20:31 ` Evgeniy Polyakov
2007-03-03 21:57 ` Davide Libenzi
2007-03-03 22:10 ` Davide Libenzi
2007-03-04 16:23 ` Kirk Kuchov
2007-03-04 17:46 ` Kyle Moffett
2007-03-05 5:23 ` Michael K. Edwards
2007-03-04 21:17 ` Davide Libenzi
2007-03-04 22:49 ` Kirk Kuchov
2007-03-04 22:57 ` Davide Libenzi
2007-03-05 4:46 ` Magnus Naeslund(k)
2007-03-06 8:19 ` Pavel Machek
2007-03-07 12:02 ` Kirk Kuchov
2007-03-07 17:26 ` Linus Torvalds
2007-03-07 17:39 ` Ingo Molnar
2007-03-07 18:21 ` Kirk Kuchov
2007-03-07 18:24 ` Jens Axboe
2007-03-07 18:32 ` Evgeniy Polyakov
2007-03-01 12:01 ` Evgeniy Polyakov
2007-03-01 11:14 ` Eric Dumazet
2007-03-01 11:20 ` Evgeniy Polyakov
2007-03-01 11:28 ` Eric Dumazet
2007-03-01 11:47 ` Evgeniy Polyakov
2007-03-01 13:12 ` Eric Dumazet
2007-03-01 14:43 ` Evgeniy Polyakov
2007-03-01 14:47 ` Ingo Molnar
2007-03-01 15:23 ` Evgeniy Polyakov
2007-03-01 15:32 ` Eric Dumazet
2007-03-01 15:41 ` Eric Dumazet
2007-03-01 15:51 ` Evgeniy Polyakov
2007-03-01 15:47 ` Evgeniy Polyakov
2007-03-01 19:47 ` Davide Libenzi
2007-03-01 14:57 ` Evgeniy Polyakov
2007-03-01 12:19 ` Evgeniy Polyakov
2007-03-01 12:34 ` Ingo Molnar
2007-03-01 13:26 ` Evgeniy Polyakov
2007-03-01 13:32 ` Ingo Molnar
2007-03-01 14:24 ` Evgeniy Polyakov
2007-03-01 16:56 ` David Lang
2007-03-01 17:56 ` Evgeniy Polyakov
2007-03-01 18:41 ` David Lang
2007-03-01 19:19 ` Davide Libenzi
2007-03-01 10:11 ` Pavel Machek
2007-03-01 10:19 ` Ingo Molnar
2007-03-01 11:18 ` Evgeniy Polyakov
2007-03-02 10:27 ` Pavel Machek
2007-03-02 10:37 ` Evgeniy Polyakov
2007-03-02 10:56 ` Ingo Molnar
2007-03-02 11:08 ` Evgeniy Polyakov
2007-03-02 17:28 ` Davide Libenzi
2007-03-03 10:27 ` Evgeniy Polyakov
2007-03-01 19:24 ` Johann Borck
2007-03-01 19:37 ` David Lang
2007-03-01 20:34 ` Johann Borck
2007-02-27 12:34 ` Ingo Molnar
2007-02-27 13:14 ` Evgeniy Polyakov
2007-02-27 13:32 ` Avi Kivity
2007-02-28 3:03 ` Michael K. Edwards
2007-02-28 8:02 ` Evgeniy Polyakov
2007-02-28 17:01 ` Michael K. Edwards
2007-03-05 2:16 ` Discussing LKML community [OT from the Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3] Oleg Verych
2007-02-28 16:38 ` [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 Phillip Susi
2007-02-22 19:38 ` Davide Libenzi
2007-02-28 9:45 ` Ingo Molnar
2007-02-28 16:17 ` Davide Libenzi
2007-02-28 16:42 ` Linus Torvalds
2007-02-28 17:26 ` Ingo Molnar
2007-02-28 18:22 ` Davide Libenzi
2007-02-28 18:42 ` Linus Torvalds
2007-02-28 18:50 ` Davide Libenzi
2007-02-28 19:03 ` Chris Friesen
2007-02-28 19:42 ` Davide Libenzi
2007-03-01 8:38 ` Evgeniy Polyakov
2007-03-01 9:28 ` Evgeniy Polyakov
2007-02-28 23:12 ` Ingo Molnar
2007-03-01 1:33 ` Andrea Arcangeli
2007-03-01 9:15 ` Evgeniy Polyakov
2007-03-01 21:27 ` Linus Torvalds
2007-02-28 20:21 ` Ingo Molnar
2007-02-28 21:09 ` Davide Libenzi
2007-02-28 21:23 ` Ingo Molnar
2007-02-28 21:46 ` Davide Libenzi
2007-02-28 22:22 ` Ingo Molnar
2007-02-28 22:47 ` Davide Libenzi
2007-02-22 21:23 ` Zach Brown
2007-02-22 21:32 ` Benjamin LaHaise
2007-02-22 21:44 ` Zach Brown
2007-02-22 1:04 ` Michael K. Edwards
2007-02-22 7:00 ` Ingo Molnar
2007-02-22 9:29 ` Michael K. Edwards
2007-02-22 10:01 ` Suparna Bhattacharya
2007-02-22 11:20 ` Ingo Molnar
2007-02-23 12:52 ` A quick fio test (was Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3) Jens Axboe
2007-02-23 13:55 ` Suparna Bhattacharya
2007-02-23 14:58 ` Ingo Molnar
2007-02-23 15:15 ` Suparna Bhattacharya
2007-02-23 16:25 ` Jens Axboe
2007-02-23 17:13 ` Suparna Bhattacharya
2007-02-23 18:35 ` Jens Axboe
2007-02-26 13:57 ` Jens Axboe
2007-02-26 14:13 ` Suparna Bhattacharya
2007-02-26 14:18 ` Ingo Molnar
2007-02-26 14:45 ` Jens Axboe
2007-02-27 4:33 ` Suparna Bhattacharya
2007-02-27 9:42 ` Jens Axboe
2007-02-27 11:12 ` Evgeniy Polyakov
2007-02-27 11:29 ` Jens Axboe
2007-02-27 12:19 ` Evgeniy Polyakov
2007-02-27 18:45 ` Jens Axboe
2007-02-27 19:08 ` Evgeniy Polyakov
2007-02-27 19:25 ` Jens Axboe
2007-02-27 12:39 ` Suparna Bhattacharya
2007-02-28 8:31 ` Jens Axboe
2007-02-28 8:38 ` Ingo Molnar
2007-02-28 9:07 ` Jens Axboe
2007-02-27 13:54 ` Avi Kivity
2007-02-27 15:25 ` Ingo Molnar
2007-02-27 16:15 ` Avi Kivity
2007-02-27 16:16 ` Ingo Molnar
2007-02-27 16:26 ` Avi Kivity
2007-02-27 18:49 ` Jens Axboe
2007-02-26 21:40 ` Davide Libenzi
2007-02-23 16:59 ` Ingo Molnar
2007-02-23 22:31 ` Joel Becker
2007-02-24 12:18 ` Jens Axboe
2007-02-24 7:41 ` [patchset] Syslets/threadlets, generic AIO support, v4 Ingo Molnar
2007-02-24 18:34 ` [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 Evgeniy Polyakov
2007-02-25 17:23 ` Ingo Molnar
2007-02-25 17:44 ` Evgeniy Polyakov
2007-02-25 17:54 ` Ingo Molnar
2007-02-25 18:21 ` Evgeniy Polyakov
2007-02-25 18:22 ` Ingo Molnar
2007-02-25 18:37 ` Evgeniy Polyakov
2007-02-25 18:34 ` Ingo Molnar
2007-02-25 20:01 ` Frederik Deweerdt
2007-02-25 19:21 ` Ingo Molnar
[not found] ` <20070225194645.GB1353@2ka.mipt.ru>
[not found] ` <20070225195308.GC15681@elte.hu>
[not found] ` <Pine.LNX.4.64.0702251232350.6011@alien.or.mcafeemobile.com>
2007-02-25 21:34 ` threadlets as 'naive pool of threads', epoll, some measurements Ingo Molnar
2007-02-26 10:45 ` Ingo Molnar
2007-02-26 11:48 ` Ingo Molnar
2007-02-26 12:25 ` Evgeniy Polyakov
2007-02-26 12:50 ` Ingo Molnar
2007-02-26 14:32 ` Evgeniy Polyakov
2007-02-26 20:23 ` Ingo Molnar
2007-02-27 8:16 ` Evgeniy Polyakov
2007-02-27 8:27 ` Ingo Molnar
2007-02-27 10:37 ` Evgeniy Polyakov
2007-02-27 12:15 ` Ingo Molnar
2007-02-27 12:22 ` Evgeniy Polyakov
2007-02-26 21:22 ` Davide Libenzi
2007-02-26 8:16 ` [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 Ingo Molnar
2007-02-26 9:25 ` Evgeniy Polyakov
2007-02-26 9:55 ` Ingo Molnar
2007-02-26 10:31 ` Ingo Molnar
2007-02-26 10:43 ` Evgeniy Polyakov
2007-02-26 20:02 ` Davide Libenzi
2007-02-26 10:33 ` Evgeniy Polyakov
2007-02-26 10:35 ` Ingo Molnar
2007-02-26 10:47 ` Evgeniy Polyakov
2007-02-26 12:51 ` Ingo Molnar
2007-02-26 16:46 ` Evgeniy Polyakov
2007-02-27 6:24 ` Ingo Molnar
2007-02-27 10:41 ` Evgeniy Polyakov
2007-02-27 10:49 ` Ingo Molnar
2007-02-25 18:25 ` Evgeniy Polyakov
2007-02-25 18:24 ` Ingo Molnar
2007-02-25 14:33 ` Threadlet/syslet v4 bug report Evgeniy Polyakov
2007-02-25 15:24 ` Evgeniy Polyakov
-- strict thread matches above, loose matches on Subject: below --
2007-02-22 12:27 [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 linux
2007-02-22 13:40 ` David Miller
2007-02-22 23:52 ` linux
2007-02-25 19:10 Al Boldi
2007-02-25 19:11 Al Boldi
2007-02-27 14:15 Al Boldi
2007-02-27 19:22 ` Theodore Tso
2007-03-01 10:21 ` Pavel Machek
2007-02-27 14:15 Al Boldi
[not found] <efa6f5910703021120ia0b8d18ne0c806eb2e73da4c@mail.gmail.com>
[not found] ` <20070303103427.GC22557@2ka.mipt.ru>
2007-03-03 10:58 ` Ihar `Philips` Filipau
2007-03-03 11:03 ` Evgeniy Polyakov
2007-03-03 11:51 ` Ihar `Philips` Filipau
2007-03-03 21:12 ` Ray Lee
2007-03-03 22:14 ` Ihar `Philips` Filipau
2007-03-03 23:54 ` Ray Lee
2007-03-04 9:33 ` Michael K. Edwards
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=20070302202931.GA5101@elte.hu \
--to=mingo@elte.hu \
--cc=arjan@infradead.org \
--cc=davidel@xmailserver.org \
--cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox