From: Vivek Goyal <vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> To: Andrea Righi <righi.andrea-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Cc: dhaval-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org, snitzer-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, dm-devel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, jens.axboe-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org, agk-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, balbir-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org, paolo.valente-rcYM44yAMweonA0d6jMUrA@public.gmane.org, fernando-gVGce1chcLdL9jVzuh4AOg@public.gmane.org, jmoyer-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, fchecconi-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org Subject: Re: [PATCH] io-controller: Add io group reference handling for request Date: Mon, 18 May 2009 10:01:14 -0400 [thread overview] Message-ID: <20090518140114.GB27080@redhat.com> (raw) In-Reply-To: <20090517102604.GA4255@linux> On Sun, May 17, 2009 at 12:26:06PM +0200, Andrea Righi wrote: > On Fri, May 15, 2009 at 10:06:43AM -0400, Vivek Goyal wrote: > > On Fri, May 15, 2009 at 09:48:40AM +0200, Andrea Righi wrote: > > > On Fri, May 15, 2009 at 01:15:24PM +0800, Gui Jianfeng wrote: > > > > Vivek Goyal wrote: > > > > ... > > > > > } > > > > > @@ -1462,20 +1462,27 @@ struct io_cgroup *get_iocg_from_bio(stru > > > > > /* > > > > > * Find the io group bio belongs to. > > > > > * If "create" is set, io group is created if it is not already present. > > > > > + * If "curr" is set, io group is information is searched for current > > > > > + * task and not with the help of bio. > > > > > + * > > > > > + * FIXME: Can we assume that if bio is NULL then lookup group for current > > > > > + * task and not create extra function parameter ? > > > > > * > > > > > - * Note: There is a narrow window of race where a group is being freed > > > > > - * by cgroup deletion path and some rq has slipped through in this group. > > > > > - * Fix it. > > > > > */ > > > > > -struct io_group *io_get_io_group_bio(struct request_queue *q, struct bio *bio, > > > > > - int create) > > > > > +struct io_group *io_get_io_group(struct request_queue *q, struct bio *bio, > > > > > + int create, int curr) > > > > > > > > Hi Vivek, > > > > > > > > IIUC we can get rid of curr, and just determine iog from bio. If bio is not NULL, > > > > get iog from bio, otherwise get it from current task. > > > > > > Consider also that get_cgroup_from_bio() is much more slow than > > > task_cgroup() and need to lock/unlock_page_cgroup() in > > > get_blkio_cgroup_id(), while task_cgroup() is rcu protected. > > > > > > > True. > > > > > BTW another optimization could be to use the blkio-cgroup functionality > > > only for dirty pages and cut out some blkio_set_owner(). For all the > > > other cases IO always occurs in the same context of the current task, > > > and you can use task_cgroup(). > > > > > > > Yes, may be in some cases we can avoid setting page owner. I will get > > to it once I have got functionality going well. In the mean time if > > you have a patch for it, it will be great. > > > > > However, this is true only for page cache pages, for IO generated by > > > anonymous pages (swap) you still need the page tracking functionality > > > both for reads and writes. > > > > > > > Right now I am assuming that all the sync IO will belong to task > > submitting the bio hence use task_cgroup() for that. Only for async > > IO, I am trying to use page tracking functionality to determine the owner. > > Look at elv_bio_sync(bio). > > > > You seem to be saying that there are cases where even for sync IO, we > > can't use submitting task's context and need to rely on page tracking > > functionlity? In case of getting page (read) from swap, will it not happen > > in the context of process who will take a page fault and initiate the > > swap read? > > No, for example in read_swap_cache_async(): > > @@ -308,6 +309,7 @@ struct page *read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask, > */ > __set_page_locked(new_page); > SetPageSwapBacked(new_page); > + blkio_cgroup_set_owner(new_page, current->mm); > err = add_to_swap_cache(new_page, entry, gfp_mask & GFP_KERNEL); > if (likely(!err)) { > /* > > This is a read, but the current task is not always the owner of this > swap cache page, because it's a readahead operation. > But will this readahead be not initiated in the context of the task taking the page fault? handle_pte_fault() do_swap_page() swapin_readahead() read_swap_cache_async() If yes, then swap reads issued will still be in the context of process and we should be fine? > Anyway, this is a minor corner case I think. And probably it is safe to > consider this like any other read IO and get rid of the > blkio_cgroup_set_owner(). Agreed. > > I wonder if it would be better to attach the blkio_cgroup to the > anonymous page only when swap-out occurs. Swap seems to be an interesting case in general. Somebody raised this question on lwn io controller article also. A user process never asked for swap activity. It is something enforced by kernel. So while doing some swap outs, it does not seem too fair to charge the write out to the process page belongs to and the fact of the matter may be that there is some other memory hungry application which is forcing these swap outs. Keeping this in mind, should swap activity be considered as system activity and be charged to root group instead of to user tasks in other cgroups? > I mean, just put the > blkio_cgroup_set_owner() hook in try_to_umap() in order to keep track of > the IO generated by direct reclaim of anon memory. For all the other > cases we can simply use the submitting task's context. > > BTW, O_DIRECT is another case that is possible to optimize, because all > the bios generated by direct IO occur in the same context of the current > task. Agreed about the direct IO optimization. Ryo, what do you think? would you like to do include these optimizations by the Andrea in next version of IO tracking patches? Thanks Vivek
WARNING: multiple messages have this Message-ID (diff)
From: Vivek Goyal <vgoyal@redhat.com> To: Andrea Righi <righi.andrea@gmail.com> Cc: Gui Jianfeng <guijianfeng@cn.fujitsu.com>, Nauman Rafique <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@oss.ntt.co.jp, s-uchida@ap.jp.nec.com, taka@valinux.co.jp, jmoyer@redhat.com, dhaval@linux.vnet.ibm.com, balbir@linux.vnet.ibm.com, linux-kernel@vger.kernel.org, containers@lists.linux-foundation.org, agk@redhat.com, dm-devel@redhat.com, snitzer@redhat.com, m-ikeda@ds.jp.nec.com, akpm@linux-foundation.org Subject: Re: [PATCH] io-controller: Add io group reference handling for request Date: Mon, 18 May 2009 10:01:14 -0400 [thread overview] Message-ID: <20090518140114.GB27080@redhat.com> (raw) In-Reply-To: <20090517102604.GA4255@linux> On Sun, May 17, 2009 at 12:26:06PM +0200, Andrea Righi wrote: > On Fri, May 15, 2009 at 10:06:43AM -0400, Vivek Goyal wrote: > > On Fri, May 15, 2009 at 09:48:40AM +0200, Andrea Righi wrote: > > > On Fri, May 15, 2009 at 01:15:24PM +0800, Gui Jianfeng wrote: > > > > Vivek Goyal wrote: > > > > ... > > > > > } > > > > > @@ -1462,20 +1462,27 @@ struct io_cgroup *get_iocg_from_bio(stru > > > > > /* > > > > > * Find the io group bio belongs to. > > > > > * If "create" is set, io group is created if it is not already present. > > > > > + * If "curr" is set, io group is information is searched for current > > > > > + * task and not with the help of bio. > > > > > + * > > > > > + * FIXME: Can we assume that if bio is NULL then lookup group for current > > > > > + * task and not create extra function parameter ? > > > > > * > > > > > - * Note: There is a narrow window of race where a group is being freed > > > > > - * by cgroup deletion path and some rq has slipped through in this group. > > > > > - * Fix it. > > > > > */ > > > > > -struct io_group *io_get_io_group_bio(struct request_queue *q, struct bio *bio, > > > > > - int create) > > > > > +struct io_group *io_get_io_group(struct request_queue *q, struct bio *bio, > > > > > + int create, int curr) > > > > > > > > Hi Vivek, > > > > > > > > IIUC we can get rid of curr, and just determine iog from bio. If bio is not NULL, > > > > get iog from bio, otherwise get it from current task. > > > > > > Consider also that get_cgroup_from_bio() is much more slow than > > > task_cgroup() and need to lock/unlock_page_cgroup() in > > > get_blkio_cgroup_id(), while task_cgroup() is rcu protected. > > > > > > > True. > > > > > BTW another optimization could be to use the blkio-cgroup functionality > > > only for dirty pages and cut out some blkio_set_owner(). For all the > > > other cases IO always occurs in the same context of the current task, > > > and you can use task_cgroup(). > > > > > > > Yes, may be in some cases we can avoid setting page owner. I will get > > to it once I have got functionality going well. In the mean time if > > you have a patch for it, it will be great. > > > > > However, this is true only for page cache pages, for IO generated by > > > anonymous pages (swap) you still need the page tracking functionality > > > both for reads and writes. > > > > > > > Right now I am assuming that all the sync IO will belong to task > > submitting the bio hence use task_cgroup() for that. Only for async > > IO, I am trying to use page tracking functionality to determine the owner. > > Look at elv_bio_sync(bio). > > > > You seem to be saying that there are cases where even for sync IO, we > > can't use submitting task's context and need to rely on page tracking > > functionlity? In case of getting page (read) from swap, will it not happen > > in the context of process who will take a page fault and initiate the > > swap read? > > No, for example in read_swap_cache_async(): > > @@ -308,6 +309,7 @@ struct page *read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask, > */ > __set_page_locked(new_page); > SetPageSwapBacked(new_page); > + blkio_cgroup_set_owner(new_page, current->mm); > err = add_to_swap_cache(new_page, entry, gfp_mask & GFP_KERNEL); > if (likely(!err)) { > /* > > This is a read, but the current task is not always the owner of this > swap cache page, because it's a readahead operation. > But will this readahead be not initiated in the context of the task taking the page fault? handle_pte_fault() do_swap_page() swapin_readahead() read_swap_cache_async() If yes, then swap reads issued will still be in the context of process and we should be fine? > Anyway, this is a minor corner case I think. And probably it is safe to > consider this like any other read IO and get rid of the > blkio_cgroup_set_owner(). Agreed. > > I wonder if it would be better to attach the blkio_cgroup to the > anonymous page only when swap-out occurs. Swap seems to be an interesting case in general. Somebody raised this question on lwn io controller article also. A user process never asked for swap activity. It is something enforced by kernel. So while doing some swap outs, it does not seem too fair to charge the write out to the process page belongs to and the fact of the matter may be that there is some other memory hungry application which is forcing these swap outs. Keeping this in mind, should swap activity be considered as system activity and be charged to root group instead of to user tasks in other cgroups? > I mean, just put the > blkio_cgroup_set_owner() hook in try_to_umap() in order to keep track of > the IO generated by direct reclaim of anon memory. For all the other > cases we can simply use the submitting task's context. > > BTW, O_DIRECT is another case that is possible to optimize, because all > the bios generated by direct IO occur in the same context of the current > task. Agreed about the direct IO optimization. Ryo, what do you think? would you like to do include these optimizations by the Andrea in next version of IO tracking patches? Thanks Vivek
next prev parent reply other threads:[~2009-05-18 14:01 UTC|newest] Thread overview: 295+ messages / expand[flat|nested] mbox.gz Atom feed top 2009-05-05 19:58 IO scheduler based IO Controller V2 Vivek Goyal 2009-05-05 19:58 ` [PATCH 01/18] io-controller: Documentation Vivek Goyal 2009-05-06 3:16 ` Gui Jianfeng [not found] ` <4A0100F4.4040400-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2009-05-06 13:31 ` Vivek Goyal 2009-05-06 13:31 ` Vivek Goyal [not found] ` <1241553525-28095-2-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-06 3:16 ` Gui Jianfeng 2009-05-05 19:58 ` Vivek Goyal 2009-05-05 19:58 ` [PATCH 02/18] io-controller: Common flat fair queuing code in elevaotor layer Vivek Goyal 2009-05-05 19:58 ` [PATCH 03/18] io-controller: Charge for time slice based on average disk rate Vivek Goyal 2009-05-05 19:58 ` Vivek Goyal 2009-05-05 19:58 ` [PATCH 04/18] io-controller: Modify cfq to make use of flat elevator fair queuing Vivek Goyal [not found] ` <1241553525-28095-5-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-22 8:54 ` Gui Jianfeng 2009-05-22 8:54 ` Gui Jianfeng [not found] ` <4A166829.6070608-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2009-05-22 12:33 ` Vivek Goyal 2009-05-22 12:33 ` Vivek Goyal 2009-05-05 19:58 ` Vivek Goyal 2009-05-05 19:58 ` [PATCH 05/18] io-controller: Common hierarchical fair queuing code in elevaotor layer Vivek Goyal 2009-05-05 19:58 ` Vivek Goyal 2009-05-07 7:42 ` Gui Jianfeng 2009-05-07 8:05 ` Li Zefan [not found] ` <4A0290ED.7080506-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2009-05-07 8:05 ` Li Zefan 2009-05-08 12:45 ` Vivek Goyal 2009-05-08 12:45 ` Vivek Goyal [not found] ` <1241553525-28095-6-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-07 7:42 ` Gui Jianfeng 2009-05-08 21:09 ` Andrea Righi 2009-05-08 21:09 ` Andrea Righi 2009-05-08 21:17 ` Vivek Goyal 2009-05-08 21:17 ` Vivek Goyal 2009-05-05 19:58 ` [PATCH 06/18] io-controller: cfq changes to use " Vivek Goyal 2009-05-05 19:58 ` Vivek Goyal 2009-05-05 19:58 ` [PATCH 07/18] io-controller: Export disk time used and nr sectors dipatched through cgroups Vivek Goyal 2009-05-05 19:58 ` Vivek Goyal 2009-05-13 2:39 ` Gui Jianfeng [not found] ` <4A0A32CB.4020609-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2009-05-13 14:51 ` Vivek Goyal 2009-05-13 14:51 ` Vivek Goyal 2009-05-14 7:53 ` Gui Jianfeng [not found] ` <20090513145127.GB7696-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-14 7:53 ` Gui Jianfeng [not found] ` <1241553525-28095-8-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-13 2:39 ` Gui Jianfeng 2009-05-05 19:58 ` [PATCH 08/18] io-controller: idle for sometime on sync queue before expiring it Vivek Goyal 2009-05-05 19:58 ` Vivek Goyal 2009-05-13 15:00 ` Vivek Goyal 2009-05-13 15:00 ` Vivek Goyal 2009-06-09 7:56 ` Gui Jianfeng 2009-06-09 17:51 ` Vivek Goyal 2009-06-09 17:51 ` Vivek Goyal [not found] ` <20090609175131.GB13476-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-06-10 1:30 ` Gui Jianfeng 2009-06-10 1:30 ` Gui Jianfeng 2009-06-10 1:30 ` Gui Jianfeng 2009-06-10 13:26 ` Vivek Goyal 2009-06-10 13:26 ` Vivek Goyal 2009-06-11 1:22 ` Gui Jianfeng 2009-06-11 1:22 ` Gui Jianfeng [not found] ` <20090610132638.GB19680-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-06-11 1:22 ` Gui Jianfeng [not found] ` <4A2F0CBE.8030208-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2009-06-10 13:26 ` Vivek Goyal [not found] ` <4A2E15B6.8030001-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2009-06-09 17:51 ` Vivek Goyal [not found] ` <1241553525-28095-9-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-13 15:00 ` Vivek Goyal 2009-06-09 7:56 ` Gui Jianfeng 2009-05-05 19:58 ` [PATCH 09/18] io-controller: Separate out queue and data Vivek Goyal 2009-05-05 19:58 ` Vivek Goyal 2009-05-05 19:58 ` [PATCH 10/18] io-conroller: Prepare elevator layer for single queue schedulers Vivek Goyal 2009-05-05 19:58 ` [PATCH 11/18] io-controller: noop changes for hierarchical fair queuing Vivek Goyal 2009-05-05 19:58 ` Vivek Goyal 2009-05-05 19:58 ` [PATCH 12/18] io-controller: deadline " Vivek Goyal 2009-05-05 19:58 ` Vivek Goyal 2009-05-05 19:58 ` [PATCH 13/18] io-controller: anticipatory " Vivek Goyal 2009-05-05 19:58 ` Vivek Goyal 2009-05-05 19:58 ` [PATCH 14/18] blkio_cgroup patches from Ryo to track async bios Vivek Goyal 2009-05-05 19:58 ` Vivek Goyal 2009-05-05 19:58 ` [PATCH 15/18] io-controller: map async requests to appropriate cgroup Vivek Goyal 2009-05-05 19:58 ` Vivek Goyal 2009-05-05 19:58 ` [PATCH 16/18] io-controller: Per cgroup request descriptor support Vivek Goyal 2009-05-05 19:58 ` Vivek Goyal 2009-05-05 19:58 ` [PATCH 17/18] io-controller: IO group refcounting support Vivek Goyal 2009-05-05 19:58 ` Vivek Goyal [not found] ` <1241553525-28095-18-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-08 2:59 ` Gui Jianfeng 2009-05-08 2:59 ` Gui Jianfeng 2009-05-08 12:44 ` Vivek Goyal [not found] ` <4A03A013.9000405-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2009-05-08 12:44 ` Vivek Goyal 2009-05-05 19:58 ` [PATCH 18/18] io-controller: Debug hierarchical IO scheduling Vivek Goyal 2009-05-05 19:58 ` Vivek Goyal 2009-05-06 21:40 ` IKEDA, Munehiro [not found] ` <4A0203DB.1090809-MDRzhb/z0dd8UrSeD/g0lQ@public.gmane.org> 2009-05-06 21:58 ` Vivek Goyal 2009-05-06 21:58 ` Vivek Goyal [not found] ` <20090506215833.GK8180-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-06 22:19 ` IKEDA, Munehiro 2009-05-06 22:19 ` IKEDA, Munehiro [not found] ` <4A020CD5.2000308-MDRzhb/z0dd8UrSeD/g0lQ@public.gmane.org> 2009-05-06 22:24 ` Vivek Goyal 2009-05-06 22:24 ` Vivek Goyal [not found] ` <20090506222458.GM8180-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-06 23:01 ` IKEDA, Munehiro 2009-05-06 23:01 ` IKEDA, Munehiro [not found] ` <1241553525-28095-19-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-06 21:40 ` IKEDA, Munehiro [not found] ` <1241553525-28095-1-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-05 19:58 ` [PATCH 01/18] io-controller: Documentation Vivek Goyal 2009-05-05 19:58 ` [PATCH 02/18] io-controller: Common flat fair queuing code in elevaotor layer Vivek Goyal 2009-05-05 19:58 ` Vivek Goyal 2009-05-22 6:43 ` Gui Jianfeng 2009-05-22 12:32 ` Vivek Goyal 2009-05-23 20:04 ` Jens Axboe [not found] ` <20090522123231.GA14972-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-23 20:04 ` Jens Axboe [not found] ` <4A164978.1020604-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2009-05-22 12:32 ` Vivek Goyal [not found] ` <1241553525-28095-3-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-22 6:43 ` Gui Jianfeng 2009-05-05 19:58 ` [PATCH 03/18] io-controller: Charge for time slice based on average disk rate Vivek Goyal 2009-05-05 19:58 ` [PATCH 04/18] io-controller: Modify cfq to make use of flat elevator fair queuing Vivek Goyal 2009-05-05 19:58 ` [PATCH 05/18] io-controller: Common hierarchical fair queuing code in elevaotor layer Vivek Goyal 2009-05-05 19:58 ` [PATCH 06/18] io-controller: cfq changes to use " Vivek Goyal 2009-05-05 19:58 ` [PATCH 07/18] io-controller: Export disk time used and nr sectors dipatched through cgroups Vivek Goyal 2009-05-05 19:58 ` [PATCH 08/18] io-controller: idle for sometime on sync queue before expiring it Vivek Goyal 2009-05-05 19:58 ` [PATCH 09/18] io-controller: Separate out queue and data Vivek Goyal 2009-05-05 19:58 ` [PATCH 10/18] io-conroller: Prepare elevator layer for single queue schedulers Vivek Goyal 2009-05-05 19:58 ` Vivek Goyal 2009-05-05 19:58 ` [PATCH 11/18] io-controller: noop changes for hierarchical fair queuing Vivek Goyal 2009-05-05 19:58 ` [PATCH 12/18] io-controller: deadline " Vivek Goyal 2009-05-05 19:58 ` [PATCH 13/18] io-controller: anticipatory " Vivek Goyal 2009-05-05 19:58 ` [PATCH 14/18] blkio_cgroup patches from Ryo to track async bios Vivek Goyal 2009-05-05 19:58 ` [PATCH 15/18] io-controller: map async requests to appropriate cgroup Vivek Goyal 2009-05-05 19:58 ` [PATCH 16/18] io-controller: Per cgroup request descriptor support Vivek Goyal 2009-05-05 19:58 ` [PATCH 17/18] io-controller: IO group refcounting support Vivek Goyal 2009-05-05 19:58 ` [PATCH 18/18] io-controller: Debug hierarchical IO scheduling Vivek Goyal 2009-05-05 20:24 ` IO scheduler based IO Controller V2 Andrew Morton 2009-05-05 20:24 ` Andrew Morton 2009-05-05 22:20 ` Peter Zijlstra 2009-05-06 3:42 ` Balbir Singh 2009-05-06 3:42 ` Balbir Singh 2009-05-06 10:20 ` Fabio Checconi 2009-05-06 17:10 ` Balbir Singh 2009-05-06 17:10 ` Balbir Singh [not found] ` <20090506102030.GB20544-f9ZlEuEWxVeACYmtYXMKmw@public.gmane.org> 2009-05-06 17:10 ` Balbir Singh 2009-05-06 18:47 ` Divyesh Shah [not found] ` <20090506034254.GD4416-SINUvgVNF2CyUtPGxGje5AC/G2K4zDHf@public.gmane.org> 2009-05-06 10:20 ` Fabio Checconi 2009-05-06 18:47 ` Divyesh Shah 2009-05-06 20:42 ` Andrea Righi 2009-05-06 20:42 ` Andrea Righi 2009-05-06 2:33 ` Vivek Goyal 2009-05-06 17:59 ` Nauman Rafique 2009-05-06 20:07 ` Andrea Righi 2009-05-06 21:21 ` Vivek Goyal 2009-05-06 21:21 ` Vivek Goyal [not found] ` <20090506212121.GI8180-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-06 22:02 ` Andrea Righi 2009-05-06 22:02 ` Andrea Righi 2009-05-06 22:17 ` Vivek Goyal 2009-05-06 22:17 ` Vivek Goyal [not found] ` <20090506023332.GA1212-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-06 17:59 ` Nauman Rafique 2009-05-06 20:07 ` Andrea Righi 2009-05-06 20:32 ` Vivek Goyal 2009-05-07 0:18 ` Ryo Tsuruta 2009-05-06 20:32 ` Vivek Goyal [not found] ` <20090506203228.GH8180-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-06 21:34 ` Andrea Righi 2009-05-06 21:34 ` Andrea Righi 2009-05-06 21:52 ` Vivek Goyal 2009-05-06 21:52 ` Vivek Goyal 2009-05-06 22:35 ` Andrea Righi 2009-05-07 1:48 ` Ryo Tsuruta 2009-05-07 1:48 ` Ryo Tsuruta [not found] ` <20090506215235.GJ8180-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-06 22:35 ` Andrea Righi 2009-05-07 9:04 ` Andrea Righi 2009-05-07 9:04 ` Andrea Righi 2009-05-07 12:22 ` Andrea Righi 2009-05-07 12:22 ` Andrea Righi 2009-05-07 14:11 ` Vivek Goyal 2009-05-07 14:11 ` Vivek Goyal [not found] ` <20090507141126.GA9463-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-07 14:45 ` Vivek Goyal 2009-05-07 14:45 ` Vivek Goyal [not found] ` <20090507144501.GB9463-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-07 15:36 ` Vivek Goyal 2009-05-07 15:36 ` Vivek Goyal [not found] ` <20090507153642.GC9463-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-07 15:42 ` Vivek Goyal 2009-05-07 15:42 ` Vivek Goyal 2009-05-07 22:19 ` Andrea Righi 2009-05-07 22:19 ` Andrea Righi 2009-05-08 18:09 ` Vivek Goyal 2009-05-08 20:05 ` Andrea Righi 2009-05-08 21:56 ` Vivek Goyal 2009-05-08 21:56 ` Vivek Goyal 2009-05-09 9:22 ` Peter Zijlstra 2009-05-14 10:31 ` Andrea Righi [not found] ` <20090508215618.GJ7293-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-09 9:22 ` Peter Zijlstra 2009-05-14 10:31 ` Andrea Righi 2009-05-14 16:43 ` Dhaval Giani 2009-05-14 16:43 ` Dhaval Giani [not found] ` <20090508180951.GG7293-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-08 20:05 ` Andrea Righi 2009-05-08 18:09 ` Vivek Goyal 2009-05-07 22:40 ` Andrea Righi 2009-05-07 22:40 ` Andrea Righi 2009-05-07 0:18 ` Ryo Tsuruta [not found] ` <20090507.091858.226775723.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org> 2009-05-07 1:25 ` Vivek Goyal 2009-05-07 1:25 ` Vivek Goyal [not found] ` <20090507012559.GC4187-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-11 11:23 ` Ryo Tsuruta 2009-05-11 11:23 ` Ryo Tsuruta [not found] ` <20090511.202309.112614168.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org> 2009-05-11 12:49 ` Vivek Goyal 2009-05-11 12:49 ` Vivek Goyal 2009-05-08 14:24 ` Rik van Riel 2009-05-08 14:24 ` Rik van Riel [not found] ` <4A0440B2.7040300-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-11 10:11 ` Ryo Tsuruta 2009-05-11 10:11 ` Ryo Tsuruta [not found] ` <20090505132441.1705bfad.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org> 2009-05-05 22:20 ` Peter Zijlstra 2009-05-06 2:33 ` Vivek Goyal 2009-05-06 3:41 ` Balbir Singh 2009-05-06 3:41 ` Balbir Singh 2009-05-06 13:28 ` Vivek Goyal 2009-05-06 13:28 ` Vivek Goyal [not found] ` <20090506034118.GC4416-SINUvgVNF2CyUtPGxGje5AC/G2K4zDHf@public.gmane.org> 2009-05-06 13:28 ` Vivek Goyal 2009-05-06 8:11 ` Gui Jianfeng 2009-05-08 9:45 ` [PATCH] io-controller: Add io group reference handling for request Gui Jianfeng 2009-05-13 2:00 ` [PATCH] IO Controller: Add per-device weight and ioprio_class handling Gui Jianfeng 2009-05-06 8:11 ` IO scheduler based IO Controller V2 Gui Jianfeng [not found] ` <4A014619.1040000-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2009-05-06 16:10 ` Vivek Goyal 2009-05-06 16:10 ` Vivek Goyal 2009-05-07 5:36 ` Li Zefan [not found] ` <4A027348.6000808-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2009-05-08 13:37 ` Vivek Goyal 2009-05-08 13:37 ` Vivek Goyal 2009-05-11 2:59 ` Gui Jianfeng [not found] ` <20090508133740.GD7293-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-11 2:59 ` Gui Jianfeng 2009-05-07 5:47 ` Gui Jianfeng [not found] ` <20090506161012.GC8180-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-07 5:36 ` Li Zefan 2009-05-07 5:47 ` Gui Jianfeng 2009-05-08 9:45 ` [PATCH] io-controller: Add io group reference handling for request Gui Jianfeng [not found] ` <4A03FF3C.4020506-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2009-05-08 13:57 ` Vivek Goyal 2009-05-08 13:57 ` Vivek Goyal [not found] ` <20090508135724.GE7293-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-08 17:41 ` Nauman Rafique 2009-05-08 17:41 ` Nauman Rafique 2009-05-08 17:41 ` Nauman Rafique 2009-05-08 18:56 ` Vivek Goyal [not found] ` <20090508185644.GH7293-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-08 19:06 ` Nauman Rafique 2009-05-08 19:06 ` Nauman Rafique 2009-05-08 19:06 ` Nauman Rafique 2009-05-11 1:33 ` Gui Jianfeng 2009-05-11 15:41 ` Vivek Goyal [not found] ` <20090511154127.GD6036-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-15 5:15 ` Gui Jianfeng 2009-05-15 5:15 ` Gui Jianfeng 2009-05-15 7:48 ` Andrea Righi 2009-05-15 8:16 ` Gui Jianfeng 2009-05-15 8:16 ` Gui Jianfeng [not found] ` <4A0D24E6.6010807-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2009-05-15 14:09 ` Vivek Goyal 2009-05-15 14:09 ` Vivek Goyal 2009-05-15 14:06 ` Vivek Goyal 2009-05-15 14:06 ` Vivek Goyal 2009-05-17 10:26 ` Andrea Righi 2009-05-18 14:01 ` Vivek Goyal [this message] 2009-05-18 14:01 ` Vivek Goyal 2009-05-18 14:39 ` Andrea Righi 2009-05-26 11:34 ` Ryo Tsuruta 2009-05-26 11:34 ` Ryo Tsuruta 2009-05-27 6:56 ` Ryo Tsuruta 2009-05-27 6:56 ` Ryo Tsuruta 2009-05-27 8:17 ` Andrea Righi 2009-05-27 8:17 ` Andrea Righi 2009-05-27 11:53 ` Ryo Tsuruta 2009-05-27 11:53 ` Ryo Tsuruta 2009-05-27 17:32 ` Vivek Goyal 2009-05-27 17:32 ` Vivek Goyal [not found] ` <20090527.155631.226800550.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org> 2009-05-27 8:17 ` Andrea Righi 2009-05-27 17:32 ` Vivek Goyal [not found] ` <20090526.203424.39179999.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org> 2009-05-27 6:56 ` Ryo Tsuruta 2009-05-19 12:18 ` Ryo Tsuruta [not found] ` <20090518140114.GB27080-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-18 14:39 ` Andrea Righi 2009-05-19 12:18 ` Ryo Tsuruta [not found] ` <20090515140643.GB19350-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-17 10:26 ` Andrea Righi [not found] ` <4A0CFA6C.3080609-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2009-05-15 7:48 ` Andrea Righi 2009-05-15 7:40 ` Gui Jianfeng 2009-05-15 7:40 ` Gui Jianfeng 2009-05-15 14:01 ` Vivek Goyal [not found] ` <4A0D1C55.9040700-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2009-05-15 14:01 ` Vivek Goyal [not found] ` <4A078051.5060702-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2009-05-11 15:41 ` Vivek Goyal [not found] ` <e98e18940905081041r386e52a5q5a2b1f13f1e8c634-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2009-05-08 18:56 ` Vivek Goyal 2009-05-11 1:33 ` Gui Jianfeng 2009-05-13 2:00 ` [PATCH] IO Controller: Add per-device weight and ioprio_class handling Gui Jianfeng 2009-05-13 14:44 ` Vivek Goyal [not found] ` <20090513144432.GA7696-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-14 0:59 ` Gui Jianfeng 2009-05-14 0:59 ` Gui Jianfeng 2009-05-13 15:29 ` Vivek Goyal 2009-05-14 1:02 ` Gui Jianfeng [not found] ` <20090513152909.GD7696-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-14 1:02 ` Gui Jianfeng 2009-05-13 15:59 ` Vivek Goyal 2009-05-14 1:51 ` Gui Jianfeng [not found] ` <20090513155900.GA15623-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-14 1:51 ` Gui Jianfeng 2009-05-14 2:25 ` Gui Jianfeng 2009-05-14 2:25 ` Gui Jianfeng [not found] ` <4A0A29B5.7030109-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2009-05-13 14:44 ` Vivek Goyal 2009-05-13 15:29 ` Vivek Goyal 2009-05-13 15:59 ` Vivek Goyal 2009-05-13 17:17 ` Vivek Goyal 2009-05-13 19:09 ` Vivek Goyal 2009-05-13 17:17 ` Vivek Goyal [not found] ` <20090513171734.GA18371-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-14 1:24 ` Gui Jianfeng 2009-05-14 1:24 ` Gui Jianfeng 2009-05-13 19:09 ` Vivek Goyal 2009-05-14 1:35 ` Gui Jianfeng [not found] ` <20090513190929.GB18371-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2009-05-14 1:35 ` Gui Jianfeng 2009-05-14 7:26 ` Gui Jianfeng 2009-05-14 7:26 ` Gui Jianfeng 2009-05-14 15:15 ` Vivek Goyal 2009-05-18 22:33 ` IKEDA, Munehiro 2009-05-20 1:44 ` Gui Jianfeng [not found] ` <4A136090.5090705-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2009-05-20 15:41 ` IKEDA, Munehiro 2009-05-20 15:41 ` IKEDA, Munehiro [not found] ` <4A11E244.2000305-MDRzhb/z0dd8UrSeD/g0lQ@public.gmane.org> 2009-05-20 1:44 ` Gui Jianfeng [not found] ` <4A0BC7AB.8030703-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2009-05-14 15:15 ` Vivek Goyal 2009-05-18 22:33 ` IKEDA, Munehiro
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=20090518140114.GB27080@redhat.com \ --to=vgoyal-h+wxahxf7alqt0dzr+alfa@public.gmane.org \ --cc=agk-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \ --cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \ --cc=balbir-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \ --cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \ --cc=dhaval-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \ --cc=dm-devel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \ --cc=fchecconi-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \ --cc=fernando-gVGce1chcLdL9jVzuh4AOg@public.gmane.org \ --cc=jens.axboe-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org \ --cc=jmoyer-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \ --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ --cc=paolo.valente-rcYM44yAMweonA0d6jMUrA@public.gmane.org \ --cc=righi.andrea-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \ --cc=snitzer-H+wXaHxf7aLQT0dZR+AlfA@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: linkBe 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.