mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-16 10:17:32 +00:00
writeback: do strict bdi dirty_exceeded
This helps to reduce dirty throttling polls and hence CPU overheads. bdi->dirty_exceeded typically only helps when suddenly starting 100+ dd's on a disk, in which case the dd's may need to poll balance_dirty_pages() earlier than tsk->nr_dirtied_pause. CC: Jan Kara <jack@suse.cz> CC: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
This commit is contained in:
parent
5b9b357435
commit
8279194054
@ -1160,7 +1160,7 @@ static void balance_dirty_pages(struct address_space *mapping,
|
||||
bdi_stat(bdi, BDI_WRITEBACK);
|
||||
}
|
||||
|
||||
dirty_exceeded = (bdi_dirty > bdi_thresh) ||
|
||||
dirty_exceeded = (bdi_dirty > bdi_thresh) &&
|
||||
(nr_dirty > dirty_thresh);
|
||||
if (dirty_exceeded && !bdi->dirty_exceeded)
|
||||
bdi->dirty_exceeded = 1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user