So the root cause is, the bdi_dirty is well under nr_dirty due to
accounting errors. They should be very close because there is only one
heavy dirtied bdi in the system. This can be fixed by using
bdi_stat_sum(), however that's costly on large NUMA machines. So do a
less costly fix of lowering the bdi limit, so that the accounting
errors won't lead to the absurd situation "global limit exceeded but
bdi limit not exceeded".
CC: Rik van Riel<riel@xxxxxxxxxx>
CC: Peter Zijlstra<a.p.zijlstra@xxxxxxxxx>
Signed-off-by: Wu Fengguang<fengguang.wu@xxxxxxxxx>