[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45E38048.3020705@hitachi.com>
Date: Tue, 27 Feb 2007 09:50:16 +0900
From: Tomoki Sekiyama <tomoki.sekiyama.qu@...achi.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
Cc: linux-kernel@...r.kernel.org, akpm@...ux-foundation.org,
miklos@...redi.hu, yumiko.sugita.yf@...achi.com,
masami.hiramatsu.pt@...achi.com, hidehiro.kawai.ez@...achi.com,
yuji.kakutani.uw@...achi.com, soshima@...hat.com, haoki@...hat.com,
nikita@...sterfs.com
Subject: Re: [RFC][PATCH 0/3] VM throttling: avoid blocking occasional writers
Hi Kamezawa-san,
thanks for your reply.
KAMEZAWA Hiroyuki wrote:
> Interesting, but how about adjust this parameter like below instead of
> adding new control knob ?(this kind of knob is not easy to use.)
>
> ==
> struct writeback_control wbc = {
> .bdi = bdi,
> .sync_mode = WB_SYNC_NONE,
> .older_than_this = NULL,
> .nr_to_write = 0,
> .range_cyclic = 1,
> };
> <snip>
> if (nr_reclaimable) {
> /* Just do what I can do */
> dirty_pages_on_device = count_dirty_pages_on_device_limited(bdi, writechunk);
> wbc.nr_to_write = dirty_pages_on_device.
> writeback_inodes(&wbc);
>
> ==
>
> count_dirty_pages_on_device_limited(bdi, writechunk) above returns
> dirty pages on bdi. if # of dirty_pages on bdi is larger than writechunk,
> just returns writechunk.
I think that way is not enough to control the total amount of
Dirty+Writeback.
In that way, while writeback_inodes() scans for dirty pages and writes
them back, the caller will be blocked only if the length of the write-
requests queue is longer than nr_requests. If so, Writeback may consume
tens MB memory for each queue, because nr_requests is 128 and the
maximum size of a request is 512KB. If you have several devices, it can
consume more than hundred MB memory.
I concerned about that, so I introduced dirty_limit_ratio to limit the
total amount of Dirty+Writeback pages.
Regards
--
Tomoki Sekiyama
Hitachi, Ltd., Systems Development Laboratory
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists