[Devel] Re: [PATCH 15/28] io-controller: Allow CFQ specific extra preemptions

2009-09-25 Thread Gui Jianfeng
only preempts W when there are not any readers in that group. Thanks, Gui Jianfeng Same is true for meta data requests. If there is a meta data request and a reader is running inside a sibling group, preemption will be allowed. Note, following is not allowed

[Devel] Re: [PATCH] io-controller: Fix task hanging when there are more than one groups

2009-09-23 Thread Gui Jianfeng
Hi Vivek, Currently, we just set this flag when anticipating next request. So make sure we remove this flag also in this case. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/as-iosched.c |5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/block

[Devel] Re: [PATCH] io-controller: Fix task hanging when there are more than one groups

2009-09-17 Thread Gui Jianfeng
Vivek Goyal wrote: On Wed, Sep 16, 2009 at 10:58:10AM +0800, Gui Jianfeng wrote: [..] o Fixed the issue of not expiring the queue for single ioq schedulers. Reported and fixed by Gui. o If an AS queue is not expired for a long time and suddenly somebody decides to create a group

[Devel] Re: [PATCH] io-controller: Fix task hanging when there are more than one groups

2009-09-15 Thread Gui Jianfeng
Vivek Goyal wrote: On Fri, Sep 11, 2009 at 09:15:42AM +0800, Gui Jianfeng wrote: Vivek Goyal wrote: On Wed, Sep 09, 2009 at 03:38:25PM +0800, Gui Jianfeng wrote: Vivek Goyal wrote: On Mon, Sep 07, 2009 at 03:40:53PM +0800, Gui Jianfeng wrote: Hi Vivek, I happened to encount a bug when i

[Devel] Re: [PATCH] io-controller: Fix task hanging when there are more than one groups

2009-09-15 Thread Gui Jianfeng
Vivek Goyal wrote: On Fri, Sep 11, 2009 at 09:15:42AM +0800, Gui Jianfeng wrote: Vivek Goyal wrote: On Wed, Sep 09, 2009 at 03:38:25PM +0800, Gui Jianfeng wrote: Vivek Goyal wrote: On Mon, Sep 07, 2009 at 03:40:53PM +0800, Gui Jianfeng wrote: Hi Vivek, I happened to encount a bug when i

[Devel] [PATCH] io-controller: Fix task hanging when there are more than one groups

2009-09-10 Thread Gui Jianfeng
Vivek Goyal wrote: On Wed, Sep 09, 2009 at 03:38:25PM +0800, Gui Jianfeng wrote: Vivek Goyal wrote: On Mon, Sep 07, 2009 at 03:40:53PM +0800, Gui Jianfeng wrote: Hi Vivek, I happened to encount a bug when i test IO Controller V9. When there are three tasks to run concurrently in three group

[Devel] Re: [RFC] IO scheduler based IO controller V9

2009-09-09 Thread Gui Jianfeng
Vivek Goyal wrote: On Mon, Sep 07, 2009 at 03:40:53PM +0800, Gui Jianfeng wrote: Hi Vivek, I happened to encount a bug when i test IO Controller V9. When there are three tasks to run concurrently in three group, that is, one is parent group, and other two tasks are running in two different

[Devel] Re: [RFC] IO scheduler based IO controller V9

2009-09-09 Thread Gui Jianfeng
Vivek Goyal wrote: On Wed, Sep 09, 2009 at 03:38:25PM +0800, Gui Jianfeng wrote: Vivek Goyal wrote: On Mon, Sep 07, 2009 at 03:40:53PM +0800, Gui Jianfeng wrote: Hi Vivek, I happened to encount a bug when i test IO Controller V9. When there are three tasks to run concurrently in three group

[Devel] Re: [RFC] IO scheduler based IO controller V9

2009-09-07 Thread Gui Jianfeng
Hi Vivek, I happened to encount a bug when i test IO Controller V9. When there are three tasks to run concurrently in three group, that is, one is parent group, and other two tasks are running in two different child groups respectively to read or write files in some disk, say disk hdb, The task

[Devel] Re: [RFC] IO scheduler based IO controller V9

2009-09-06 Thread Gui Jianfeng
Hi Vivek, Here is the vanilla kernel and V9 comparision. Normal Read | Random Read | Normal Write | Random Write vanilla(Avg of 3 times) 67580 KiB/s 3540 KiB/s 61964 KiB/s 9823 KiB/s V9(Avg of 3 times)68954 KiB/s 3567 KiB/s

[Devel] Re: [RFC] IO scheduler based IO controller V9

2009-09-01 Thread Gui Jianfeng
Vivek Goyal wrote: Hi All, Here is the V9 of the IO controller patches generated on top of 2.6.31-rc7. For ease of patching, a consolidated patch is available here. http://people.redhat.com/~vgoyal/io-controller/io-scheduler-based-io-controller-v9.patch Changes from V8

[Devel] Re: [RFC] IO scheduler based IO controller V9

2009-08-30 Thread Gui Jianfeng
controller patches. Gui, can you please test it and see if this version is better in terms of your buffered write tests. Ok, will do. -- Regards Gui Jianfeng ___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux

[Devel] Re: [PATCH 11/24] io-controller: Introduce group idling

2009-08-27 Thread Gui Jianfeng
); + goto done; + } + Hi Vivek, I think we shouldn't arm idle timer on iog again, if it's already on. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff

[Devel] Re: [PATCH 02/24] io-controller: Core of the elevator fair queuing

2009-08-26 Thread Gui Jianfeng
-min_vdisktime = max_vdisktime(st-min_vdisktime, vdisktime); +} block/elevator-fq.c: In function ‘elv_ioq_slice_expired’: block/elevator-fq.c:132: warning: ‘vdisktime’ may be used uninitialized in this function LD block/built-in.o We'd better initialize vdisktime at first. Signed-off-by: Gui Jianfeng

[Devel] Re: [PATCH 12/24] io-controller: Wait for requests to complete from last queue before new queue is scheduled

2009-08-23 Thread Gui Jianfeng
done; } + /* Wait for requests to finish from this queue */ + if (efqd-fairness ioq-dispatched) Since we have the routing to access to ioq-dispatched, why not to use it. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com

[Devel] Re: [PATCH] IO-Controller: clear ioq wait flag if a request goes into that ioq

2009-08-20 Thread Gui Jianfeng
Vivek Goyal wrote: On Thu, Aug 20, 2009 at 09:46:10AM +0800, Gui Jianfeng wrote: Vivek Goyal wrote: ... /* * Remember that we saw a request from this process, but @@ -1940,7 +2013,7 @@ void elv_ioq_request_add(struct request_queue *q, struct request *rq

[Devel] Re: [PATCH 02/24] io-controller: Core of the elevator fair queuing

2009-08-20 Thread Gui Jianfeng
-ioprio_changed)) { + dequeue_io_entity(entity); + io_entity_update_prio(entity); Hi Vivek, we don't need to update prio here for the following enqueue_io_entity() is already taking care of it. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator

[Devel] [PATCH] IO-Controller: clear ioq wait flag if a request goes into that ioq

2009-08-19 Thread Gui Jianfeng
request on ioq, it will go into this path every time when a request is enqueued. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/block/elevator-fq.c b/block/elevator-fq.c index b3c387d..201543e

[Devel] Re: [PATCH 03/24] io-controller: Common flat fair queuing code in elevaotor layer

2009-08-18 Thread Gui Jianfeng
that it will be selected next. + */ + + requeue_ioq(ioq); + ioq-slice_start = ioq-slice_end = 0; I think this assignment is redundant because these two members will be reset when this ioq is scheduled. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c

[Devel] Re: [RFC] IO scheduler based IO controller V7

2009-08-17 Thread Gui Jianfeng
Vivek Goyal wrote: On Tue, Aug 04, 2009 at 08:48:00AM +0800, Gui Jianfeng wrote: Vivek, Here are some test results with and without CONFIG_TRACK_ASYNC_CONTEXT for V7 ModeNormal read | Random read | Normal write | Random write | Direct read

[Devel] Re: [PATCH 02/24] io-controller: Core of the elevator fair queuing

2009-08-16 Thread Gui Jianfeng
-initialize the service tree as ioprio class of the + * entity might have changed. + */ + init_io_entity_service_tree(entity, parent_entity(entity)); + entity-ioprio_changed = 0; + } +} + -- Regards Gui Jianfeng

[Devel] Re: [PATCH 22/24] io-controller: Per io group bdi congestion interface

2009-08-08 Thread Gui Jianfeng
-nr_congestion_off = nr; Vivek, Since we determine whether io group is congenssed or not just by checking iog-nr_congestion_on, we can get rid of iog-nr_congestion_off here. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c |6 -- block/elevator-fq.h |3 +-- 2 files

[Devel] Re: [PATCH] io-controller: implement per group request allocation limitation

2009-08-04 Thread Gui Jianfeng
it. -- Regards Gui Jianfeng ___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/containers ___ Devel mailing list Devel@openvz.org https

[Devel] Re: [PATCH] io-controller: implement per group request allocation limitation

2009-08-04 Thread Gui Jianfeng
Munehiro Ikeda wrote: Gui Jianfeng wrote, on 07/09/2009 09:56 PM: Hi Vivek, This patch exports a cgroup based per group request limits interface. and removes the global one. Now we can use this interface to perform different request allocation limitation for different groups. Signed-off

[Devel] Re: [PATCH] io-controller: implement per group request allocation limitation

2009-08-04 Thread Gui Jianfeng
Munehiro Ikeda wrote: Gui Jianfeng wrote, on 07/09/2009 09:56 PM: Hi Vivek, This patch exports a cgroup based per group request limits interface. and removes the global one. Now we can use this interface to perform different request allocation limitation for different groups. Signed-off

[Devel] Re: [RFC] IO scheduler based IO controller V7

2009-08-03 Thread Gui Jianfeng
%-4.0% +2.0% Vivek Goyal wrote: On Fri, Jul 31, 2009 at 01:21:51PM +0800, Gui Jianfeng wrote: Hi Vivek, Here are some test results for normal reads and write for IO Controller V7 by fio. Tested with fairness == 0. It seems performance gets better comparing with V6. Mode

[Devel] Re: [RFC] IO scheduler based IO controller V7

2009-08-02 Thread Gui Jianfeng
Vivek Goyal wrote: On Fri, Jul 31, 2009 at 01:21:51PM +0800, Gui Jianfeng wrote: Hi Vivek, Here are some test results for normal reads and write for IO Controller V7 by fio. Tested with fairness == 0. It seems performance gets better comparing with V6. Mode Normal read

[Devel] Re: [PATCH 20/25] io-controller: map async requests to appropriate cgroup

2009-08-02 Thread Gui Jianfeng
, NULL, create); + return io_get_io_group(q, page, create); } EXPORT_SYMBOL(io_get_io_group_bio); +} +EXPORT_SYMBOL(io_get_io_group_bio); + -- Regards Gui Jianfeng ___ Containers mailing list contain...@lists.linux-foundation.org https

[Devel] Re: [PATCH 05/24] io-controller: Modify cfq to make use of flat elevator fair queuing

2009-07-30 Thread Gui Jianfeng
the check if (cfq_rq_close(cfqd, rq)) to see whether it should preempt the current cfqq. From fairness point of view, should we also check fairness value, if it's set fairness == 1, don't allow to preempt the current cfqq? -- Regards Gui Jianfeng

[Devel] Re: [RFC] IO scheduler based IO controller V7

2009-07-30 Thread Gui Jianfeng
field represents disk time in milliseconds and number of sectors transferred respectively. So disk time consumed by group1 is almost double of group2 in this case. Your feedback is welcome. Thanks Vivek -- Regards Gui Jianfeng

[Devel] Re: [RFC] IO scheduler based IO controller V6

2009-07-28 Thread Gui Jianfeng
Vivek Goyal wrote: On Mon, Jul 27, 2009 at 10:10:34AM +0800, Gui Jianfeng wrote: Hi, Here are some fio test results for IO Controller V6 built and not built. Iozone test results are also attached. Hi Gui, Thanks a lot for some performance numbers. It seems to be a mixed chart

[Devel] Re: [RFC] IO scheduler based IO controller V6

2009-07-27 Thread Gui Jianfeng
Vivek Goyal wrote: On Mon, Jul 27, 2009 at 08:55:03AM -0400, Vivek Goyal wrote: On Mon, Jul 27, 2009 at 10:10:34AM +0800, Gui Jianfeng wrote: Hi, Here are some fio test results for IO Controller V6 built and not built. Iozone test results are also attached. Hi Gui, Thanks a lot for some

[Devel] Re: [PATCH 21/25] io-controller: Per cgroup request descriptor support

2009-07-20 Thread Gui Jianfeng
becoming the bottle-neck of allocating requests, whether we can update nr_requests accordingly when allocating or removing a cgroup? -- Regards Gui Jianfeng ___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux

[Devel] Re: [PATCH] io-controller: implement per group request allocation limitation

2009-07-14 Thread Gui Jianfeng
Vivek Goyal wrote: On Fri, Jul 10, 2009 at 09:56:21AM +0800, Gui Jianfeng wrote: Hi Vivek, This patch exports a cgroup based per group request limits interface. and removes the global one. Now we can use this interface to perform different request allocation limitation for different groups

[Devel] Re: [PATCH] io-controller: implement per group request allocation limitation

2009-07-14 Thread Gui Jianfeng
Munehiro Ikeda wrote: Vivek Goyal wrote, on 07/13/2009 12:03 PM: On Fri, Jul 10, 2009 at 09:56:21AM +0800, Gui Jianfeng wrote: Hi Vivek, This patch exports a cgroup based per group request limits interface. and removes the global one. Now we can use this interface to perform different

[Devel] [PATCH] io-controller: implement per group request allocation limitation

2009-07-09 Thread Gui Jianfeng
Hi Vivek, This patch exports a cgroup based per group request limits interface. and removes the global one. Now we can use this interface to perform different request allocation limitation for different groups. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/blk-core.c

[Devel] Re: [PATCH 11/25] io-controller: Export disk time used and nr sectors dipatched through cgroups

2009-07-07 Thread Gui Jianfeng
conform with io.policy's. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c |8 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/block/elevator-fq.c b/block/elevator-fq.c index 7c83d1e..29392e7 100644 --- a/block/elevator-fq.c +++ b/block

[Devel] Re: [PATCH 21/25] io-controller: Per cgroup request descriptor support

2009-07-07 Thread Gui Jianfeng
-queue_lock); + return ret; +} +#endif Hi Vivek, Do we need to update the congestion thresholds for allocated io groups? Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/blk-sysfs.c | 15 +++ 1 files changed, 15 insertions(+), 0 deletions(-) diff --git a/block/blk

[Devel] [PATCH] io-controller: Get rid of css id from io cgroup

2009-07-06 Thread Gui Jianfeng
Get rid of css id from io cgroup since it's nothing more than keeping track of iocg. An alternative is caching iocg pointer in io group, just remove the complexity. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c | 36 block

[Devel] Re: [PATCH 09/25] io-controller: Common hierarchical fair queuing code in elevaotor layer

2009-07-05 Thread Gui Jianfeng
opinion? -- Regards Gui Jianfeng ___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/containers ___ Devel mailing list Devel@openvz.org https

[Devel] Re: [PATCH] cgroup: Fix indent for /proc/cgroups

2009-07-03 Thread Gui Jianfeng
Li Zefan wrote: CC: container list Gui Jianfeng wrote: Currently, /proc/cgroups outputs is fairly ugly as following, #subsys_namehierarchy num_cgroups enabled cpuset 0 1 1 debug 0 1 1 ns 0 1 1 indent it in a good-looking way

[Devel] Re: [PATCH] cgroup: Fix indent for /proc/cgroups

2009-07-03 Thread Gui Jianfeng
Li Zefan wrote: Gui Jianfeng wrote: Li Zefan wrote: CC: container list Gui Jianfeng wrote: Currently, /proc/cgroups outputs is fairly ugly as following, #subsys_namehierarchy num_cgroups enabled cpuset 0 1 1 debug 0 1 1 ns 0 1 1

[Devel] Re: [PATCH 02/20] io-controller: Common flat fair queuing code in elevaotor layer

2009-07-01 Thread Gui Jianfeng
the default cfq behavior. Am i missing something? -- Regards Gui Jianfeng ___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/containers ___ Devel

[Devel] Re: [PATCH 02/20] io-controller: Common flat fair queuing code in elevaotor layer

2009-06-30 Thread Gui Jianfeng
(q-queue_lock); + elv_log_ioq(efqd, ioq, slice expired); + + if (elv_ioq_wait_request(ioq)) + del_timer(efqd-idle_slice_timer); + + elv_clear_ioq_wait_request(ioq); + + /* -- Regards Gui Jianfeng ___ Containers

[Devel] [PATCH] io-controller: Don't expire an idle ioq if it's the only ioq in hierarchy

2009-06-30 Thread Gui Jianfeng
Hi Vivek, We don't expect expiring an idle ioq if it's the only ioq in the hierarchy. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c | 12 ++-- 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/block/elevator-fq.c b/block/elevator-fq.c

[Devel] Re: [PATCH] io-controller: Don't expire an idle ioq if it's the only ioq in hierarchy

2009-06-30 Thread Gui Jianfeng
Vivek Goyal wrote: On Tue, Jun 30, 2009 at 03:49:21PM +0800, Gui Jianfeng wrote: Hi Vivek, We don't expect expiring an idle ioq if it's the only ioq in the hierarchy. Hi Gui, This patch will avoid idle queue expiry for single ioq schedulers. But that's not an issue anyway as single

[Devel] [PATCH] io-controller: optimization for iog deletion when elevator exiting

2009-06-28 Thread Gui Jianfeng
. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c | 29 ++--- 1 files changed, 10 insertions(+), 19 deletions(-) diff --git a/block/elevator-fq.c b/block/elevator-fq.c index d779282..b26fe0f 100644 --- a/block/elevator-fq.c +++ b/block

[Devel] [PATCH 1/2] io-controller: Prepare a rt ioq list in efqd to keep track of busy rt ioqs

2009-06-26 Thread Gui Jianfeng
Maintain a busy rt ioq list in efqd so that we can easily keep track of all busy rt ioqs in system. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c |8 block/elevator-fq.h |6 ++ 2 files changed, 14 insertions(+), 0 deletions(-) diff --git

[Devel] [PATCH 2/2] io-controller: make rt preemption happen in the whole hierarchy

2009-06-26 Thread Gui Jianfeng
let rt queue preempt non-rt queue if needed. Make sure comparision happens at the same level. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c | 28 +++- 1 files changed, 27 insertions(+), 1 deletions(-) diff --git a/block/elevator-fq.c b

[Devel] [PATCH] io-controller: do some changes of io.policy interface

2009-06-25 Thread Gui Jianfeng
weight class 3:64300 2 Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c | 59 ++ block/elevator-fq.h |1 - 2 files changed, 40 insertions(+), 20 deletions(-) diff --git a/block/elevator-fq.c b/block

[Devel] Re: [PATCH] io-controller: do some changes of io.policy interface

2009-06-25 Thread Gui Jianfeng
switch to that. Sure, i'll post another patch to switch to that. Thanks Vivek -- Regards Gui Jianfeng ___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/containers

[Devel] Re: [PATCH] io-controller: do some changes of io.policy interface

2009-06-25 Thread Gui Jianfeng
weight now we are planning to use unsigned int. Can you please switch to that. Thanks Vivek -- Regards Gui Jianfeng ___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/containers

[Devel] Re: [PATCH] io-controller: Preempt a non-rt queue if a rt ioq is present in ancestor or sibling groups

2009-06-24 Thread Gui Jianfeng
Vivek Goyal wrote: On Tue, Jun 23, 2009 at 02:44:08PM +0800, Gui Jianfeng wrote: Vivek Goyal wrote: On Mon, Jun 22, 2009 at 03:44:08PM +0800, Gui Jianfeng wrote: Preempt the ongoing non-rt ioq if there are rt ioqs waiting for dispatching in ancestor or sibling groups. It will give other

[Devel] Re: [PATCH] io-controller: Preempt a non-rt queue if a rt ioq is present in ancestor or sibling groups

2009-06-23 Thread Gui Jianfeng
Vivek Goyal wrote: On Mon, Jun 22, 2009 at 03:44:08PM +0800, Gui Jianfeng wrote: Preempt the ongoing non-rt ioq if there are rt ioqs waiting for dispatching in ancestor or sibling groups. It will give other group's rt ioq an chance to dispatch ASAP. Hi Gui, Will new preempton logic

[Devel] Re: [PATCH 07/20] io-controller: Export disk time used and nr sectors dipatched through cgroups

2009-06-23 Thread Gui Jianfeng
(cgroup)) + return -ENODEV; + + iocg = cgroup_to_io_cgroup(cgroup); + + spin_lock_irq(iocg-lock); It's better to make use of rcu_read_lock instead since it's a read action. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c | 12 ++-- 1

[Devel] [PATCH] io-controller: Preempt a non-rt queue if a rt ioq is present in ancestor or sibling groups

2009-06-22 Thread Gui Jianfeng
Preempt the ongoing non-rt ioq if there are rt ioqs waiting for dispatching in ancestor or sibling groups. It will give other group's rt ioq an chance to dispatch ASAP. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c | 44

[Devel] Re: [PATCH 18/19] io-controller: Debug hierarchical IO scheduling

2009-06-19 Thread Gui Jianfeng
); Since cgroup path is already cached, why not use it. :) Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c | 12 1 files changed, 4 insertions(+), 8 deletions(-) diff --git a/block/elevator-fq.c b/block/elevator-fq.c index bfa79c9..1a397c3 100644

[Devel] Re: [PATCH 18/19] io-controller: Debug hierarchical IO scheduling

2009-06-18 Thread Gui Jianfeng
%d%c fmt, (ioq)-pid,\ elv_ioq_sync(ioq) ? 'S' : 'A', ##args) +#endif #define elv_log(efqd, fmt, args...) \ blk_add_trace_msg((efqd)-queue, elv fmt, ##args) -- Regards Gui Jianfeng ___ Containers mailing

[Devel] Re: [PATCH 15/19] io-controller: map async requests to appropriate cgroup

2009-06-17 Thread Gui Jianfeng
Vivek Goyal wrote: ... + +struct io_group *rq_iog(struct request_queue *q, struct request *rq) { return q-elevator-efqd.root_group; } There is no need for this function now. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c |5 - 1 files changed

[Devel] Re: [PATCH 04/19] io-controller: Modify cfq to make use of flat elevator fair queuing

2009-06-16 Thread Gui Jianfeng
Vivek Goyal wrote: This patch changes cfq to use fair queuing code from elevator layer. elevator_private2 isn't used to store cfqq now. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/cfq-iosched.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git

[Devel] Re: [PATCH 04/19] io-controller: Modify cfq to make use of flat elevator fair queuing

2009-06-15 Thread Gui Jianfeng
Vivek Goyal wrote: This patch changes cfq to use fair queuing code from elevator layer. Signed-off-by: Nauman Rafique nau...@google.com Signed-off-by: Fabio Checconi fa...@gandalf.sssup.it Signed-off-by: Paolo Valente paolo.vale...@unimore.it Signed-off-by: Gui Jianfeng guijianf

[Devel] Re: [PATCH 02/19] io-controller: Common flat fair queuing code in elevaotor layer

2009-06-15 Thread Gui Jianfeng
Vivek Goyal wrote: ... + +int elv_nr_busy_rt_ioq(struct elevator_queue *e) +{ + return e-efqd.busy_rt_queues; +} +EXPORT_SYMBOL(elv_nr_busy_rt_ioq); This function is no need now. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c |6 -- block

[Devel] Re: [PATCH 04/19] io-controller: Modify cfq to make use of flat elevator fair queuing

2009-06-11 Thread Gui Jianfeng
Vivek Goyal wrote: This patch changes cfq to use fair queuing code from elevator layer. last_end_request in cic is of no use anymore. Get rid of it. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/cfq-iosched.c |4 include/linux/iocontext.h |1 - 2 files

[Devel] Re: [PATCH 10/19] io-conroller: Prepare elevator layer for single queue schedulers

2009-06-11 Thread Gui Jianfeng
only root group by cgroup itself? Although there might be some impact if cgroup is built but no request goes into it. but i think this isn't a big deal. How about the following patch? Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c | 21

[Devel] Re: [PATCH 10/19] io-conroller: Prepare elevator layer for single queue schedulers

2009-06-11 Thread Gui Jianfeng
Vivek Goyal wrote: On Thu, Jun 11, 2009 at 04:10:55PM +0800, Gui Jianfeng wrote: Vivek Goyal wrote: ... /* @@ -1296,6 +1302,13 @@ void io_group_chain_link(struct request_queue *q, void *key, iog = io_cgroup_lookup_group(iocg, key); io_group_set_parent(prev, iog

[Devel] Re: [PATCH 17/19] io-controller: Support per cgroup per device weights and io class

2009-06-10 Thread Gui Jianfeng
in io.policy handling. IO Controller completely stops working when i use this interface. Make sure that we initialize entity after iog-dev is setting up properly. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c |3 ++- 1 files changed, 2 insertions(+), 1

[Devel] Re: [PATCH 08/18] io-controller: idle for sometime on sync queue before expiring it

2009-06-10 Thread Gui Jianfeng
Vivek Goyal wrote: On Wed, Jun 10, 2009 at 09:30:38AM +0800, Gui Jianfeng wrote: Vivek Goyal wrote: On Tue, Jun 09, 2009 at 03:56:38PM +0800, Gui Jianfeng wrote: Vivek Goyal wrote: ... +ssize_t elv_fairness_store(struct request_queue *q, const char *name, + size_t count

[Devel] Re: [PATCH 02/19] io-controller: Common flat fair queuing code in elevaotor layer

2009-06-09 Thread Gui Jianfeng
, p, 10); + + if (data 0) Hi Vivek, data can never be less than zero. Same problems also exist for other sysfs entry. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c | 40 +--- block/elevator-fq.h |6 +++--- 2 files

[Devel] Re: [RFC] IO scheduler based IO controller V4

2009-06-09 Thread Gui Jianfeng
Vivek Goyal wrote: On Tue, Jun 09, 2009 at 12:22:25PM +0800, Gui Jianfeng wrote: Vivek Goyal wrote: Hi All, Here is the V4 of the IO controller patches generated on top of 2.6.30-rc8. Hi Vivek, I can't apply the patchset. [r...@localhost linux-2.6.30-rc8-Vivek-V4]# git-am ../V4/1.eml

[Devel] Re: [PATCH 08/18] io-controller: idle for sometime on sync queue before expiring it

2009-06-09 Thread Gui Jianfeng
Vivek Goyal wrote: On Tue, Jun 09, 2009 at 03:56:38PM +0800, Gui Jianfeng wrote: Vivek Goyal wrote: ... +ssize_t elv_fairness_store(struct request_queue *q, const char *name, + size_t count) +{ + struct elv_fq_data *efqd; + unsigned int data; + unsigned long

[Devel] Re: [PATCH 02/20] io-controller: Common flat fair queuing code in elevaotor layer

2009-06-08 Thread Gui Jianfeng
*ioq) +{ + return ioq_sample_valid(ioq-ttime_samples); +} + These three functions are dead now, just remove them. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.h | 15 --- 1 files changed, 0 insertions(+), 15 deletions(-) diff --git a/block

[Devel] Re: [RFC] IO scheduler based IO controller V4

2009-06-08 Thread Gui Jianfeng
Vivek Goyal wrote: Hi All, Here is the V4 of the IO controller patches generated on top of 2.6.30-rc8. Hi Vivek, I can't apply the patchset. [r...@localhost linux-2.6.30-rc8-Vivek-V4]# git-am ../V4/1.eml Applying io-controller: Documentation [r...@localhost linux-2.6.30-rc8-Vivek-V4]#

[Devel] Re: [PATCH 02/20] io-controller: Common flat fair queuing code in elevaotor layer

2009-06-07 Thread Gui Jianfeng
-sched_data; + if (extract) + entity = bfq_lookup_next_entity(sd, 1); + else + entity = bfq_lookup_next_entity(sd, 0); This if and else branch is not needed. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c |5 + 1 files changed

[Devel] Re: [PATCH 10/20] io-conroller: Prepare elevator layer for single queue schedulers

2009-06-05 Thread Gui Jianfeng
; + } + } + + elv_init_ioq(e, ioq, iog, sched_q, IOPRIO_CLASS_BE, 4, 1); It's better to use IOPRIO_NORM here. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/block/elevator-fq.c b/block/elevator

[Devel] Re: [PATCH 02/18] io-controller: Common flat fair queuing code in elevaotor layer

2009-05-22 Thread Gui Jianfeng
) { + if (elv_ioq_slice_new(ioq)) { + elv_ioq_set_prio_slice(q, ioq); Hi Vivek, Would you explain a bit why slice_end should be set when first request completes. Why not set it just when an ioq gets active? Thanks. Gui Jianfeng

[Devel] Re: [PATCH 04/18] io-controller: Modify cfq to make use of flat elevator fair queuing

2009-05-22 Thread Gui Jianfeng
Hi Vivek, Since thinking time logic is moving to common layer, corresponding items in cic is not needed. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- diff --git a/include/linux/iocontext.h b/include/linux/iocontext.h index ed52a1f..1fe9d78 100644 --- a/include/linux/iocontext.h

[Devel] Re: [PATCH] IO Controller: Add per-device weight and ioprio_class handling

2009-05-19 Thread Gui Jianfeng
IKEDA, Munehiro wrote: Hi Gui, Gui Jianfeng wrote: Hi Vivek, This patch enables per-cgroup per-device weight and ioprio_class handling. A new cgroup interface policy is introduced. You can make use of this file to configure weight and ioprio_class for each device in a given cgroup

[Devel] Re: [PATCH] io-controller: Add io group reference handling for request

2009-05-15 Thread Gui Jianfeng
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

[Devel] Re: [PATCH] IO Controller: Add per-device weight and ioprio_class handling

2009-05-14 Thread Gui Jianfeng
unconditionally. - Fix policy setup bug when switching to another io scheduler. - If a policy is available for a specific device, don't update weight and io class when writing weight and iprio_class. - Fix a bug when parsing policy string. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block

[Devel] Re: [PATCH 07/18] io-controller: Export disk time used and nr sectors dipatched through cgroups

2009-05-14 Thread Gui Jianfeng
Vivek Goyal wrote: On Wed, May 13, 2009 at 10:39:07AM +0800, Gui Jianfeng wrote: Vivek Goyal wrote: ... +/* + * traverse through all the io_groups associated with this cgroup and calculate + * the aggr disk time received by all the groups on respective disks. + */ +static u64

[Devel] Re: [PATCH] io-controller: Add io group reference handling for request

2009-05-14 Thread Gui Jianfeng
@@ out: rcu_read_unlock(); return iog; } -- Regards Gui Jianfeng ___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/containers

[Devel] Re: [PATCH] IO Controller: Add per-device weight and ioprio_class handling

2009-05-13 Thread Gui Jianfeng
Vivek Goyal wrote: On Wed, May 13, 2009 at 10:00:21AM +0800, Gui Jianfeng wrote: Hi Vivek, This patch enables per-cgroup per-device weight and ioprio_class handling. A new cgroup interface policy is introduced. You can make use of this file to configure weight and ioprio_class for each

[Devel] Re: [PATCH] IO Controller: Add per-device weight and ioprio_class handling

2009-05-13 Thread Gui Jianfeng
Vivek Goyal wrote: On Wed, May 13, 2009 at 10:00:21AM +0800, Gui Jianfeng wrote: [..] @@ -2137,7 +2366,7 @@ void elv_fq_unset_request_ioq(struct request_queue *q, struct request *rq) void bfq_init_entity(struct io_entity *entity, struct io_group *iog) { entity-ioprio = entity

[Devel] Re: [PATCH] IO Controller: Add per-device weight and ioprio_class handling

2009-05-13 Thread Gui Jianfeng
] [8100bb2b] system_call_fastpath+0x16/0x1b Thanks Vivek -- Regards Gui Jianfeng ___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/containers

[Devel] Re: [PATCH] IO Controller: Add per-device weight and ioprio_class handling

2009-05-13 Thread Gui Jianfeng
Vivek Goyal wrote: On Wed, May 13, 2009 at 10:00:21AM +0800, Gui Jianfeng wrote: Hi Vivek, This patch enables per-cgroup per-device weight and ioprio_class handling. A new cgroup interface policy is introduced. You can make use of this file to configure weight and ioprio_class for each

[Devel] Re: [PATCH] IO Controller: Add per-device weight and ioprio_class handling

2009-05-13 Thread Gui Jianfeng
these per device. Hi Vivek, Actually, I did it also. FYI Examples: # cat io.disk_time dev:/dev/hdb time:4421 dev:others time:3741 # cat io.disk_sectors dev:/dev/hdb sectors:585696 dev:others sectors:2664 Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c | 104

[Devel] Re: [PATCH] IO Controller: Add per-device weight and ioprio_class handling

2009-05-13 Thread Gui Jianfeng
(); - return disk_time; + cgroup_unlock(); + + return 0; } -- Regards Gui Jianfeng ___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/containers

[Devel] [PATCH] IO Controller: Add per-device weight and ioprio_class handling

2009-05-12 Thread Gui Jianfeng
/hdb 300 2 Remove the policy for /dev/hda in this cgroup # echo /dev/hda:0:1 io.policy # cat io.policy dev weight class /dev/hdb 300 2 Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- block/elevator-fq.c | 239 +- block/elevator-fq.h

[Devel] Re: [PATCH 07/18] io-controller: Export disk time used and nr sectors dipatched through cgroups

2009-05-12 Thread Gui Jianfeng
(); + + return disk_time; +} + -- Regards Gui Jianfeng ___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/containers ___ Devel mailing list

[Devel] Re: [PATCH] io-controller: Add io group reference handling for request

2009-05-10 Thread Gui Jianfeng
Nauman Rafique wrote: On Fri, May 8, 2009 at 6:57 AM, Vivek Goyal vgo...@redhat.com wrote: On Fri, May 08, 2009 at 05:45:32PM +0800, Gui Jianfeng wrote: Hi Vivek, This patch adds io group reference handling when allocating and removing a request. Hi Gui, Thanks for the patch. We were

[Devel] Re: IO scheduler based IO Controller V2

2009-05-10 Thread Gui Jianfeng
. Hi Vivek, I'v tried this patch, and seems the problem is addressed. Thanks. -- Regards Gui Jianfeng ___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/containers

[Devel] [PATCH] io-controller: Add io group reference handling for request

2009-05-08 Thread Gui Jianfeng
Hi Vivek, This patch adds io group reference handling when allocating and removing a request. Signed-off-by: Gui Jianfeng guijianf...@cn.fujitsu.com --- elevator-fq.c | 15 ++- elevator-fq.h |5 + elevator.c|2 ++ 3 files changed, 21 insertions(+), 1 deletion

[Devel] Re: [PATCH 05/18] io-controller: Common hierarchical fair queuing code in elevaotor layer

2009-05-07 Thread Gui Jianfeng
, efqd-group_list, + elv_data_node) { + hlist_del(iog-elv_data_node); + -- Regards Gui Jianfeng ___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux-foundation.org/mailman

[Devel] Re: [PATCH 17/18] io-controller: IO group refcounting support

2009-05-07 Thread Gui Jianfeng
reference on io group */ We'd better to reset iog-iocg_id here since the cgroup is going to destroy. + elv_put_iog(iog); } -/** -- Regards Gui Jianfeng ___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux

[Devel] Re: IO scheduler based IO Controller V2

2009-05-06 Thread Gui Jianfeng
] ? kernel_thread_helper+0x7/0x10 Code: c0 84 c0 74 0e 89 d8 e8 7c e9 fd ff eb 05 bf fd ff ff ff e8 c0 ea ff ff 8 EIP: [c0448c24] cgroup_path+0xc/0x97 SS:ESP 0068:f709fdf0 CR2: 011c ---[ end trace 2d4bc25a2c33e394 ]--- -- Regards Gui Jianfeng

[Devel] Re: IO scheduler based IO Controller V2

2009-05-06 Thread Gui Jianfeng
/group going away. Hopefully in next version they all should be fixed up. But still, it is nice to hear back... -- Regards Gui Jianfeng inline: rwio.c___ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux-foundation.org

[Devel] Re: [PATCH 01/18] io-controller: Documentation

2009-05-05 Thread Gui Jianfeng
group + dispatched to the disk. We provide fairness in terms of disk time, so + ideally io.disk_time of cgroups should be in proportion to the weight. + (It is hard to achieve though :-)). -- Regards Gui Jianfeng ___ Containers mailing list contain

[Devel] Re: [PATCH 5/7] kiothrottled: throttle buffered (writeback) IO

2009-04-24 Thread Gui Jianfeng
Andrea Righi wrote: On Thu, Apr 23, 2009 at 03:53:51PM +0800, Gui Jianfeng wrote: Andrea Righi wrote: Together with cgroup_io_throttle() the kiothrottled kernel thread represents the core of the io-throttle subsystem. All the writeback IO requests that need to be throttled

[Devel] Re: [PATCH 3/7] page_cgroup: provide a generic page tracking infrastructure

2009-04-24 Thread Gui Jianfeng
Andrea Righi wrote: On Fri, Apr 24, 2009 at 10:11:09AM +0800, Gui Jianfeng wrote: Andrea Righi wrote: Dirty pages in the page cache can be processed asynchronously by kernel threads (pdflush) using a writeback policy. For this reason the real writes to the underlying block devices occur

[Devel] Re: [PATCH 5/7] kiothrottled: throttle buffered (writeback) IO

2009-04-23 Thread Gui Jianfeng
and submit the bunch of selected requests to the underlying block devices using generic_make_request(). Hi Andrea, What if an user issues sync, will the bios still be buffered in the rb-tree? Do we need to flush the whole tree? -- Regards Gui Jianfeng

  1   2   >