Re: [PATCH 00/13] writeback bug fixes and simplifications take 2

From: Michael Rubin
Date: Fri Jan 18 2008 - 02:52:19 EST


On Jan 15, 2008 4:36 AM, Fengguang Wu <wfg@xxxxxxxxxxxxxxxx> wrote:
> Andrew,
>
> This patchset mainly polishes the writeback queuing policies.
> The main goals are:
>
> (1) small files should not be starved by big dirty files
> (2) sync as fast as possible for not-blocked inodes/pages
> - don't leave them out; no congestion_wait() in between them
> (3) avoid busy iowait for blocked inodes
> - retry them in the next go of s_io(maybe at the next wakeup of pdflush)
>
> The role of the queues:
>
> s_dirty: park for dirtied_when expiration
> s_io: park for io submission
> s_more_io: for big dirty inodes, they will be retried in this run of pdflush
> (it ensures fairness between small/large files)
> s_more_io_wait: for blocked inodes, they will be picked up in next run of s_io

Quick question to make sure I get this. Each queue is sorted as such:

s_dirty - sorted by the dirtied_when field
s_io - sorted by no explicit key but by the order we want to process
in sync_sb_inodes
s_more_io - held for later they are sorted in the same manner as s_io

Is that it?

mrubin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/