From: Dhaval Giani <dhaval@linux.vnet.ibm.com>
To: Vivek Goyal <vgoyal@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
nauman@google.com, dpshah@google.com, lizf@cn.fujitsu.com,
mikew@google.com, fchecconi@gmail.com, paolo.valente@unimore.it,
jens.axboe@oracle.com, ryov@valinux.co.jp,
fernando@intellilink.co.jp, s-uchida@ap.jp.nec.com,
taka@valinux.co.jp, guijianfeng@cn.fujitsu.com,
arozansk@redhat.com, jmoyer@redhat.com, oz-kernel@redhat.com,
balbir@linux.vnet.ibm.com, linux-kernel@vger.kernel.org,
containers@lists.linux-foundation.org, menage@google.com,
peterz@infradead.org
Subject: Re: [PATCH 01/10] Documentation
Date: Fri, 17 Apr 2009 11:05:17 +0530 [thread overview]
Message-ID: <20090417053517.GC26437@linux.vnet.ibm.com> (raw)
In-Reply-To: <20090416183753.GE8896@redhat.com>
On Thu, Apr 16, 2009 at 02:37:53PM -0400, Vivek Goyal wrote:
> On Wed, Apr 08, 2009 at 10:37:59PM +0200, Andrea Righi wrote:
>
> [..]
> > >
> > > - I can think of atleast one usage of uppper limit controller where we
> > > might have spare IO resources still we don't want to give it to a
> > > cgroup because customer has not paid for that kind of service level. In
> > > those cases we need to implement uppper limit also.
> > >
> > > May be prportional weight and max bw controller can co-exist depending
> > > on what user's requirements are.
> > >
> > > If yes, then can't this control be done at the same layer/level where
> > > proportional weight control is being done? IOW, this set of patches is
> > > trying to do prportional weight control at IO scheduler level. I think
> > > we should be able to store another max rate as another feature in
> > > cgroup (apart from weight) and not dispatch requests from the queue if
> > > we have exceeded the max BW as specified by the user?
> >
> > The more I think about a "perfect" solution (at least for my
> > requirements), the more I'm convinced that we need both functionalities.
> >
hard limits vs work conserving argument again :). I agree, we need
both of the functionalities. I think first the aim should be to get the
proportional weight functionality and then look at doing hard limits.
[..]
> > >
> > > - Have you thought of doing hierarchical control?
> > >
> >
> > Providing hiearchies in cgroups is in general expensive, deeper
> > hierarchies imply checking all the way up to the root cgroup, so I think
> > we need to be very careful and be aware of the trade-offs before
> > providing such feature. For this particular case (IO controller)
> > wouldn't it be simpler and more efficient to just ignore hierarchies in
> > the kernel and opportunely handle them in userspace? for absolute
> > limiting rules this isn't difficult at all, just imagine a config file
> > and a script or a deamon that dynamically create the opportune cgroups
> > and configure them accordingly to what is defined in the configuration
> > file.
> >
> > I think we can simply define hierarchical dependencies in the
> > configuration file, translate them in absolute values and use the
> > absolute values to configure the cgroups' properties.
> >
> > For example, we can just check that the BW allocated for a particular
> > parent cgroup is not greater than the total BW allocated for the
> > children. And for each child just use the min(parent_BW, BW) or equally
> > divide the parent's BW among the children, etc.
>
> IIUC, you are saying that allow hiearchy in user space and then flatten it
> out and pass it to kernel?
>
> Hmm.., agree that handling hierarchies is hard and expensive. But at the
> same time rest of the controllers like cpu and memory are handling it in
> kernel so it probably makes sense to keep the IO controller also in line.
>
> In practice I am not expecting deep hiearchices. May be 2- 3 levels would
> be good for most of the people.
>
FWIW, even in the CPU controller having deep hierarchies is not a good idea.
I think this can be documented for IO Controller as well. Beyond that,
we realized that having a proportional system and doing it in userspace
is not a good idea. It would require a lot of calculations dependending
on the system load. (Because, the sub-group should be just the same as a
process in the parent group). Having hierarchy in the kernel just makes it way
more easier and way more accurate.
> >
> > > - What happens to the notion of CFQ task classes and task priority. Looks
> > > like max bw rule supercede everything. There is no way that an RT task
> > > get unlimited amount of disk BW even if it wants to? (There is no notion
> > > of RT cgroup etc)
> >
> > What about moving all the RT tasks in a separate cgroup with unlimited
> > BW?
>
> Hmm.., I think that should work. I have yet to look at your patches in
> detail but it looks like unlimited BW group will not be throttled at all
> hence RT tasks can just go right through without getting impacted.
>
This is where the cpu scheduler design helped a lot :). Having different
classes for differnet types of processes allowed us to handle them
separately.
thanks,
--
regards,
Dhaval
next prev parent reply other threads:[~2009-04-17 5:36 UTC|newest]
Thread overview: 190+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-12 1:56 [RFC] IO Controller Vivek Goyal
2009-03-12 1:56 ` Vivek Goyal
2009-03-12 1:56 ` [PATCH 02/10] Common flat fair queuing code in elevaotor layer Vivek Goyal
2009-03-19 6:27 ` Gui Jianfeng
2009-03-27 8:30 ` [PATCH] IO Controller: Don't store the pid in single queue circumstances Gui Jianfeng
[not found] ` <49CC8EBA.9040804-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-03-27 13:52 ` Vivek Goyal
2009-03-27 13:52 ` Vivek Goyal
2009-04-02 4:06 ` [PATCH 02/10] Common flat fair queuing code in elevaotor layer Divyesh Shah
2009-04-02 13:52 ` Vivek Goyal
[not found] ` <af41c7c40904012106h41d3cb50i2eeab2a02277a4c9-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-04-02 13:52 ` Vivek Goyal
[not found] ` <1236823015-4183-3-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-19 6:27 ` Gui Jianfeng
2009-03-27 8:30 ` [PATCH] IO Controller: Don't store the pid in single queue circumstances Gui Jianfeng
2009-04-02 4:06 ` [PATCH 02/10] Common flat fair queuing code in elevaotor layer Divyesh Shah
2009-03-12 1:56 ` [PATCH 03/10] Modify cfq to make use of flat elevator fair queuing Vivek Goyal
2009-03-12 1:56 ` [PATCH 07/10] Prepare elevator layer for single queue schedulers Vivek Goyal
[not found] ` <1236823015-4183-1-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-12 1:56 ` [PATCH 01/10] Documentation Vivek Goyal
2009-03-12 1:56 ` Vivek Goyal
[not found] ` <1236823015-4183-2-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-12 7:11 ` Andrew Morton
2009-03-12 7:11 ` Andrew Morton
2009-03-12 10:07 ` Ryo Tsuruta
[not found] ` <20090312001146.74591b9d.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2009-03-12 10:07 ` Ryo Tsuruta
2009-03-12 18:01 ` Vivek Goyal
2009-03-12 18:01 ` Vivek Goyal
2009-03-16 8:40 ` Ryo Tsuruta
[not found] ` <20090316.174043.193698189.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2009-03-16 13:39 ` Vivek Goyal
2009-03-16 13:39 ` Vivek Goyal
2009-04-05 15:15 ` Andrea Righi
2009-04-06 6:50 ` Nauman Rafique
[not found] ` <49D8CB17.7040501-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-04-06 6:50 ` Nauman Rafique
2009-04-07 6:40 ` Vivek Goyal
2009-04-07 6:40 ` Vivek Goyal
[not found] ` <20090407064046.GB20498-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-08 20:37 ` Andrea Righi
2009-04-08 20:37 ` Andrea Righi
2009-04-16 18:37 ` Vivek Goyal
2009-04-16 18:37 ` Vivek Goyal
2009-04-17 5:35 ` Dhaval Giani [this message]
[not found] ` <20090417053517.GC26437-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2009-04-17 13:49 ` IO Controller discussion (Was: Re: [PATCH 01/10] Documentation) Vivek Goyal
2009-04-17 13:49 ` Vivek Goyal
[not found] ` <20090416183753.GE8896-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-17 5:35 ` [PATCH 01/10] Documentation Dhaval Giani
2009-04-17 9:37 ` Andrea Righi
2009-04-17 9:37 ` Andrea Righi
2009-04-17 14:13 ` IO controller discussion (Was: Re: [PATCH 01/10] Documentation) Vivek Goyal
2009-04-17 14:13 ` Vivek Goyal
2009-04-17 18:09 ` Nauman Rafique
2009-04-18 8:13 ` Andrea Righi
[not found] ` <e98e18940904171109r17ccb054kb7879f8d02ac26b5-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-04-18 8:13 ` Andrea Righi
2009-04-19 12:59 ` Vivek Goyal
2009-04-19 12:59 ` Vivek Goyal
2009-04-19 13:08 ` Vivek Goyal
2009-04-19 13:08 ` Vivek Goyal
[not found] ` <20090417141358.GD29086-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-17 18:09 ` Nauman Rafique
2009-04-17 22:38 ` Andrea Righi
2009-04-18 13:19 ` Balbir Singh
2009-04-19 4:35 ` Nauman Rafique
2009-04-17 22:38 ` Andrea Righi
2009-04-19 13:21 ` Vivek Goyal
2009-04-19 13:21 ` Vivek Goyal
2009-04-18 13:19 ` Balbir Singh
[not found] ` <661de9470904180619k34e7998ch755a2ad3bed9ce5e-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-04-19 13:45 ` Vivek Goyal
2009-04-19 13:45 ` Vivek Goyal
2009-04-19 15:53 ` Andrea Righi
2009-04-21 1:16 ` KAMEZAWA Hiroyuki
2009-04-21 1:16 ` KAMEZAWA Hiroyuki
[not found] ` <20090419134508.GG8493-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-19 15:53 ` Andrea Righi
2009-04-19 4:35 ` Nauman Rafique
[not found] ` <20090312180126.GI10919-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-16 8:40 ` [PATCH 01/10] Documentation Ryo Tsuruta
2009-04-05 15:15 ` Andrea Righi
2009-03-12 7:45 ` Yang Hongyang
2009-03-12 7:45 ` Yang Hongyang
[not found] ` <49B8BDB3.40808-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-03-12 13:51 ` Vivek Goyal
2009-03-12 13:51 ` Vivek Goyal
2009-03-12 10:00 ` Dhaval Giani
2009-03-12 10:24 ` Peter Zijlstra
2009-03-12 10:24 ` Peter Zijlstra
2009-03-12 14:09 ` Vivek Goyal
2009-03-12 14:09 ` Vivek Goyal
2009-04-06 14:35 ` Balbir Singh
2009-04-06 14:35 ` Balbir Singh
[not found] ` <20090406143556.GK7082-SINUvgVNF2CyUtPGxGje5AC/G2K4zDHf@public.gmane.org>
2009-04-06 22:00 ` Nauman Rafique
2009-04-06 22:00 ` Nauman Rafique
2009-04-07 5:59 ` Gui Jianfeng
2009-04-13 13:40 ` Vivek Goyal
2009-04-07 5:59 ` Gui Jianfeng
2009-04-13 13:40 ` Vivek Goyal
[not found] ` <20090413134017.GC18007-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-05-01 22:04 ` IKEDA, Munehiro
2009-05-01 22:04 ` IKEDA, Munehiro
[not found] ` <49FB71F7.90309-MDRzhb/z0dd8UrSeD/g0lQ@public.gmane.org>
2009-05-01 22:45 ` IO Controller per cgroup request descriptors (Re: [PATCH 01/10] Documentation) Vivek Goyal
2009-05-01 22:45 ` Vivek Goyal
[not found] ` <20090501224506.GC6130-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-05-01 23:39 ` Nauman Rafique
2009-05-01 23:39 ` Nauman Rafique
[not found] ` <e98e18940905011639o63c048f1n79c7e7648441a06d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-04 17:18 ` IKEDA, Munehiro
2009-05-04 17:18 ` IKEDA, Munehiro
2009-03-12 10:00 ` [PATCH 01/10] Documentation Dhaval Giani
[not found] ` <20090312100054.GA8024-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2009-03-12 14:04 ` Vivek Goyal
2009-03-12 14:04 ` Vivek Goyal
[not found] ` <20090312140450.GE10919-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-12 14:48 ` Fabio Checconi
2009-03-12 14:48 ` Fabio Checconi
[not found] ` <20090312144842.GS12361-f9ZlEuEWxVeACYmtYXMKmw@public.gmane.org>
2009-03-12 15:03 ` Vivek Goyal
2009-03-12 15:03 ` Vivek Goyal
2009-03-18 7:23 ` Gui Jianfeng
2009-03-18 7:23 ` Gui Jianfeng
[not found] ` <49C0A171.8060009-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-03-18 21:55 ` Vivek Goyal
2009-03-18 21:55 ` Vivek Goyal
[not found] ` <20090318215529.GA3338-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-19 3:38 ` Gui Jianfeng
2009-03-24 5:32 ` Nauman Rafique
2009-03-19 3:38 ` Gui Jianfeng
2009-03-24 5:32 ` Nauman Rafique
[not found] ` <e98e18940903232232i432f62c5r9dfd74268e1b2684-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-03-24 12:58 ` Vivek Goyal
2009-03-24 12:58 ` Vivek Goyal
2009-03-24 18:14 ` Nauman Rafique
[not found] ` <e98e18940903241114u1e03ae7dhf654d7d8d0fc0302-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-03-24 18:29 ` Vivek Goyal
2009-03-24 18:29 ` Vivek Goyal
2009-03-24 18:41 ` Fabio Checconi
[not found] ` <20090324184101.GO18554-f9ZlEuEWxVeACYmtYXMKmw@public.gmane.org>
2009-03-24 18:35 ` Vivek Goyal
2009-03-24 18:35 ` Vivek Goyal
2009-03-24 18:49 ` Nauman Rafique
[not found] ` <20090324183532.GG21389-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-24 18:49 ` Nauman Rafique
2009-03-24 19:04 ` Fabio Checconi
2009-03-24 19:04 ` Fabio Checconi
[not found] ` <20090324182906.GF21389-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-24 18:41 ` Fabio Checconi
[not found] ` <20090324125842.GA21389-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-24 18:14 ` Nauman Rafique
2009-03-12 1:56 ` [PATCH 02/10] Common flat fair queuing code in elevaotor layer Vivek Goyal
2009-03-12 1:56 ` [PATCH 03/10] Modify cfq to make use of flat elevator fair queuing Vivek Goyal
2009-03-12 1:56 ` [PATCH 04/10] Common hierarchical fair queuing code in elevaotor layer Vivek Goyal
2009-03-12 1:56 ` Vivek Goyal
2009-03-12 1:56 ` [PATCH 05/10] cfq changes to use " Vivek Goyal
2009-03-12 1:56 ` Vivek Goyal
[not found] ` <1236823015-4183-6-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-16 5:25 ` [PATCH] IO-Controller: Fix kernel panic after moving a task Gui Jianfeng
2009-04-16 5:25 ` Gui Jianfeng
[not found] ` <49E6C14F.3090009-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-04-16 19:15 ` Vivek Goyal
2009-04-16 19:15 ` Vivek Goyal
2009-03-12 1:56 ` [PATCH 06/10] Separate out queue and data Vivek Goyal
2009-03-12 1:56 ` Vivek Goyal
2009-03-12 1:56 ` [PATCH 07/10] Prepare elevator layer for single queue schedulers Vivek Goyal
2009-03-12 1:56 ` [PATCH 08/10] noop changes for hierarchical fair queuing Vivek Goyal
2009-03-12 1:56 ` Vivek Goyal
2009-03-12 1:56 ` [PATCH 09/10] deadline " Vivek Goyal
2009-03-12 1:56 ` Vivek Goyal
2009-03-12 1:56 ` [PATCH 10/10] anticipatory " Vivek Goyal
2009-03-12 1:56 ` Vivek Goyal
2009-03-27 6:58 ` [PATCH] IO Controller: No need to stop idling in as Gui Jianfeng
[not found] ` <49CC791A.10008-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-03-27 14:05 ` Vivek Goyal
2009-03-27 14:05 ` Vivek Goyal
[not found] ` <20090327140530.GE30476-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-30 1:09 ` Gui Jianfeng
2009-03-30 1:09 ` Gui Jianfeng
[not found] ` <1236823015-4183-11-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-27 6:58 ` Gui Jianfeng
2009-03-12 3:27 ` [RFC] IO Controller Takuya Yoshikawa
2009-04-02 6:39 ` Gui Jianfeng
2009-04-10 9:33 ` Gui Jianfeng
2009-05-01 1:25 ` Divyesh Shah
2009-03-12 3:27 ` Takuya Yoshikawa
2009-03-12 6:40 ` anqin
2009-03-12 6:55 ` Li Zefan
2009-03-12 7:11 ` anqin
[not found] ` <d95d44a20903120011m4a7281enf17b31b9aaf7c937-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-03-12 14:57 ` Vivek Goyal
2009-03-12 14:57 ` Vivek Goyal
[not found] ` <49B8B1FB.1040506-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-03-12 7:11 ` anqin
[not found] ` <d95d44a20903112340s3c77807dt465e68901747ad89-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-03-12 6:55 ` Li Zefan
2009-03-12 13:46 ` Vivek Goyal
2009-03-12 13:46 ` Vivek Goyal
[not found] ` <49B8810B.7030603-gVGce1chcLdL9jVzuh4AOg@public.gmane.org>
2009-03-12 6:40 ` anqin
2009-03-12 13:43 ` Vivek Goyal
2009-03-12 13:43 ` Vivek Goyal
2009-04-02 6:39 ` Gui Jianfeng
[not found] ` <49D45DAC.2060508-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-04-02 14:00 ` Vivek Goyal
2009-04-02 14:00 ` Vivek Goyal
2009-04-07 1:40 ` Gui Jianfeng
[not found] ` <49DAAF25.8010702-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-04-07 6:40 ` Gui Jianfeng
2009-04-07 6:40 ` Gui Jianfeng
[not found] ` <20090402140037.GC12851-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-07 1:40 ` Gui Jianfeng
2009-04-10 9:33 ` Gui Jianfeng
2009-04-10 17:49 ` Nauman Rafique
2009-04-13 13:09 ` Vivek Goyal
[not found] ` <20090413130958.GB18007-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-22 3:04 ` Gui Jianfeng
2009-04-22 3:04 ` Gui Jianfeng
2009-04-22 3:10 ` Nauman Rafique
2009-04-22 13:23 ` Vivek Goyal
2009-04-30 19:38 ` Nauman Rafique
[not found] ` <49F9FE3C.3070000-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2009-05-05 3:18 ` Gui Jianfeng
2009-05-05 3:18 ` Gui Jianfeng
[not found] ` <20090422132307.GA23098-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-30 19:38 ` Nauman Rafique
[not found] ` <49EE895A.1060101-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-04-22 3:10 ` Nauman Rafique
2009-04-22 13:23 ` Vivek Goyal
[not found] ` <49DF1256.7080403-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-04-10 17:49 ` Nauman Rafique
2009-04-13 13:09 ` Vivek Goyal
2009-05-01 1:25 ` Divyesh Shah
2009-05-01 2:45 ` Vivek Goyal
[not found] ` <20090501024527.GA3730-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-05-01 3:00 ` Divyesh Shah
2009-05-01 3:00 ` Divyesh Shah
[not found] ` <49FA4F91.204-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2009-05-01 2:45 ` Vivek Goyal
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=20090417053517.GC26437@linux.vnet.ibm.com \
--to=dhaval@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=arozansk@redhat.com \
--cc=balbir@linux.vnet.ibm.com \
--cc=containers@lists.linux-foundation.org \
--cc=dpshah@google.com \
--cc=fchecconi@gmail.com \
--cc=fernando@intellilink.co.jp \
--cc=guijianfeng@cn.fujitsu.com \
--cc=jens.axboe@oracle.com \
--cc=jmoyer@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lizf@cn.fujitsu.com \
--cc=menage@google.com \
--cc=mikew@google.com \
--cc=nauman@google.com \
--cc=oz-kernel@redhat.com \
--cc=paolo.valente@unimore.it \
--cc=peterz@infradead.org \
--cc=ryov@valinux.co.jp \
--cc=s-uchida@ap.jp.nec.com \
--cc=taka@valinux.co.jp \
--cc=vgoyal@redhat.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.