login
Header Space

 
 

RE: [RFC][v2][patch 0/12][CFQ-cgroup]Yet another I/O bandwidth controlling subsystem for CGroups based on CFQ

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: 'Ryo Tsuruta' <ryov@...>, <vtaras@...>
Cc: <linux-kernel@...>, <containers@...>, <axboe@...>, <tom-sugawara@...>, <m-takahashi@...>, <devel@...>
Date: Friday, May 9, 2008 - 6:17 am

Hi, Ryo-San.
Thank you for your test results.

In the test #2 and #3, did you use direct write?
I guess you have used the non-direct write I/O (using cache).

CFQ I/O scheduler was extended in my and Vasily's controllers so that both controllers inherit the features of CFQ.

The current CFQ I/O scheduler cannot control non-direct write I/Os.
This main cause is a cache system.
Bio data is created by special daemon process, such as pdflush or kswapd, for the write I/O using cache.
Therefore, many non-direct write I/Os will belong to one of cgroup (perhaps, root of cgroup).

We consider that this problem should be resolved by fixing cache system.
Specifically, I/Os created by collection of cache pages belong to I/O-context for task which wrote data to cache.
This resolution has a problem.
 * Who is the owner of cache page?
     Cache is reused by many tasks.
     Therefore, it is difficult to decide owner.

In the test #3, It seems that system could control I/Os only among read (sdc2 and sdc3).
Therefore, your test shows that our controller can control I/O without above problem.


Meanwhile, I'm very interested in the result of your test #2.
In the non-direct write I/O, performance will be influenced to task scheduling and sequence of output pages.
Therefore, non-direct write I/O will be fair in the current default task scheduler.
However, your result shows almost fair in Vasilly's controller, whereas non fair in ours. 
I'm just wondering if this is an accidental result or an usual result.


Thanks,
   Satoshi UCHIDA.



--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC][patch 8/11][CFQ-cgroup] Control cfq_data per cgroup, Satoshi UCHIDA, (Tue Apr 1, 5:38 am)
[RFC][patch 7/11][CFQ-cgroup] Control cfq_data per driver, Satoshi UCHIDA, (Tue Apr 1, 5:37 am)
[RFC][patch 3/11][CFQ-cgroup] Introduce cgroup subsystem, Satoshi UCHIDA, (Tue Apr 1, 5:32 am)
RE: [RFC][v2][patch 0/12][CFQ-cgroup]Yet another I/O bandwid..., Satoshi UCHIDA, (Fri May 9, 6:17 am)
[RFC][patch 9/12][CFQ-cgroup] Control cfq_data per cgroup, Satoshi UCHIDA, (Thu Apr 3, 3:16 am)
[RFC][patch 8/12][CFQ-cgroup] Control cfq_data per driver, Satoshi UCHIDA, (Thu Apr 3, 3:15 am)
[PATCH] [RFC][patch 4/12][CFQ-cgroup] Add ioprio entry, Satoshi UCHIDA, (Thu Apr 3, 3:13 am)
[RFC][patch 3/12][CFQ-cgroup] Introduce cgroup subsystem, Satoshi UCHIDA, (Thu Apr 3, 3:12 am)
[RFC][patch 2/11][CFQ-cgroup] Move header file, Satoshi UCHIDA, (Thu Apr 3, 3:12 am)
[PATCH] [RFC][patch 1/12][CFQ-cgroup] Add Configuration, Satoshi UCHIDA, (Thu Apr 3, 3:11 am)
[RFC][patch 2/11][CFQ-cgroup] Move header file, Satoshi UCHIDA, (Tue Apr 1, 5:30 am)
[RFC][patch 1/11][CFQ-cgroup] Add Configuration, Satoshi UCHIDA, (Tue Apr 1, 5:27 am)
speck-geostationary