Re: [PATCH 01/35] writeback: enabling gate limit for light dirtied bdi

Wu Fengguang
2011-01-13T03:58:40Z

> sigh.. I've been hassled a lot by the possible disharmonies between
> the bdi/global dirty limits.
>
> One example is the below graph, where the bdi dirty pages are
> constantly exceeding the bdi dirty limit. The root cause is,
> "(dirty + background) / 2" may be close to or even exceed
> bdi_dirty_limit.

When exceeded, the task will not get throttled at all at some time,
and get hard throttled at other times.

> http://www.kernel.org/pub/linux/kernel/people/wfg/writeback/tests/256M/ext3-2dd-1M-8p-191M-2.6.37-rc5+-2010-12-09-13-42/dirty-pages-200.png

This graph is more obvious. However I'm no longer sure they are the
exact graphs that are caused by "(dirty + background) / 2 > bdi_dirty_limit",
which evaluates to TRUE after I do "[PATCH 02/35] writeback: safety
margin for bdi stat error", which lowered bdi_dirty_limit by 1-2MB in
that test case.

http://www.kernel.org/pub/linux/kernel/people/wfg/writeback/tests/256M/btrfs-1dd-1M-8p-191M-2.6.37-rc5+-2010-12-09-14-35/dirty-pages-200.png

Thanks,
Fengguang