On Thu, 2007-10-04 at 17:48 -0700, Andrew Morton wrote:
te:
But it
ch
I'm thinking the really_congested thing will also fix this. By only
allowing a limited amount of extra writeback.
ck
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
00 +0200
NULL, NULL);
();
age
iters
zone
As it stand 110% of dirty limit can already be larger than say zone_dma
(and likely is), so that is not a new bug - and I don't think its the
thing Miklos runs into.
The problem Miklos is seeing (and I, just in a different form), is that
throttle_vm_writeout() gets stuck because balance_dirty_pages() gets
called once every ratelimit_pages (per cpu). So we can have nr_cpus *
ratelimit_pages extra.....
/me thinks
ok I confused myself.
by calling balance_dirty_pages() once every ratelimit_pages (per cpu)
allows for nr_cpus() * ratelimit_pages extra _dirty_ pages. But
balance_dirty_pages() will make it:
nr_dirty + nr_unstable + nr_writeback < thresh
So even if it writes out all of the dirty pages, we still have:
nr_unstable + nr_writeback < thresh
So at any one time nr_writeback should not exceed thresh. But it does!?
So how do we end up with more writeback pages than that? should we teach
pdflush about these limits as well?