On Fri, Mar 12, 2010 at 09:03:26AM +0900, KAMEZAWA Hiroyuki wrote: > On Fri, 12 Mar 2010 00:59:22 +0100 > Andrea Righi <arighi@xxxxxxxxxxx> wrote: > > > On Thu, Mar 11, 2010 at 01:07:53PM -0500, Vivek Goyal wrote: > > > On Wed, Mar 10, 2010 at 12:00:31AM +0100, Andrea Righi wrote: > > > mmmh.. strange, on my side I get something as expected: > > > > <root cgroup> > > $ dd if=/dev/zero of=test bs=1M count=500 > > 500+0 records in > > 500+0 records out > > 524288000 bytes (524 MB) copied, 6.28377 s, 83.4 MB/s > > > > <child cgroup with 100M memory.limit_in_bytes> > > $ dd if=/dev/zero of=test bs=1M count=500 > > 500+0 records in > > 500+0 records out > > 524288000 bytes (524 MB) copied, 11.8884 s, 44.1 MB/s > > > > Did you change the global /proc/sys/vm/dirty_* or memcg dirty > > parameters? > > > what happens when bs=4k count=1000000 under 100M ? no changes ? OK, I confirm the results found by Vivek. Repeating the tests 10 times: root cgroup ~= 34.05 MB/s average child cgroup (100M) ~= 38.80 MB/s average So, actually the child cgroup with the 100M limit seems to perform better in terms of throughput. IIUC, with the large write and the 100M memory limit it happens that direct write-out is enforced more frequently and a single write chunk is enough to meet the bdi_thresh or the global background_thresh + dirty_thresh limits. This means the task is never (or less) throttled with io_schedule_timeout() in the balance_dirty_pages() loop. And the child cgroup gets better performance over the root cgroup. -Andrea -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>