| Date | Wed, 24 Nov 2010 18:43:32 +0800 | From | Wu Fengguang <> | Subject | Re: [PATCH 03/13] writeback: per-task rate limit on balance_dirty_pages() |
| |
On Wed, Nov 24, 2010 at 06:23:07PM +0800, Peter Zijlstra wrote: > On Wed, 2010-11-17 at 12:27 +0800, Wu Fengguang wrote: > > + if (unlikely(current->nr_dirtied >= current->nr_dirtied_pause || > > + bdi->dirty_exceeded)) { > > + balance_dirty_pages(mapping, current->nr_dirtied); > > + current->nr_dirtied = 0; > > } > > Was it a conscious choice to use > current->nr_dirtied = 0 > over > current->nr_dirtied -= current->nr_dirtied_pause > ? > > The former will cause a drift in pause times due to truncation of the > excess.
It should be fine in either way, as long as the "truncated" number is passed to balance_dirty_pages():
+ balance_dirty_pages(mapping, current->nr_dirtied); + current->nr_dirtied = 0;
or
+ balance_dirty_pages(mapping, current->nr_dirtied_pause); + current->nr_dirtied -= current->nr_dirtied_pause;
Thanks, Fengguang
|