]> git.karo-electronics.de Git - karo-tx-linux.git/commit
writeback: fix dirtied pages accounting on redirty
authorWu Fengguang <fengguang.wu@intel.com>
Mon, 8 Aug 2011 21:22:00 +0000 (15:22 -0600)
committerWu Fengguang <fengguang.wu@intel.com>
Mon, 5 Dec 2011 06:06:30 +0000 (14:06 +0800)
commit0d79928c77e4a9d6d728214960f10125ed1d7d9f
treec4bcb85e9d49902717693d61f2a9b849a40dd327
parentd35dbc99d9d7aca925ab532f579c6607e6315964
writeback: fix dirtied pages accounting on redirty

De-account the accumulative dirty counters on page redirty.

Page redirties (very common in ext4) will introduce mismatch between
counters (a) and (b)

a) NR_DIRTIED, BDI_DIRTIED, tsk->nr_dirtied
b) NR_WRITTEN, BDI_WRITTEN

This will introduce systematic errors in balanced_rate and result in
dirty page position errors (ie. the dirty pages are no longer balanced
around the global/bdi setpoints).

Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
include/linux/writeback.h
mm/page-writeback.c