On Tue, Jan 15, 2008 at 09:51:49PM -0800, Andrew Morton wrote:On Wed, 16 Jan 2008 12:55:07 +0800 Fengguang Wu <wfg@xxxxxxxxxxxxxxxx> wrote:
On Tue, Jan 15, 2008 at 08:42:36PM -0800, Andrew Morton wrote:Does "ordering" here refer to ordering bt time-of-first-dirty?On Wed, 16 Jan 2008 12:25:53 +0800 Fengguang Wu <wfg@xxxxxxxxxxxxxxxx> wrote:I totally agree with you. What I mean is to first do the split of
list_heads are OK if we use them for one and only function.Not really. They're inappropriate when you wish to remember your
position in the list while you dropped the lock (as we must do in
writeback).
A data structure which permits us to interate across the search key rather
than across the actual storage locations is more appropriate.
functions - into three: ordering, starvation prevention, and blockade
waiting.
Ordering by dirtied_when or i_ino, either is OK.
What is "blockade waiting"?
Some inodes/pages cannot be synced now for some reason and should be
retried after a while.
Then to do better ordering by adopting radix tree(or rbtreeordering of what?
if radix tree is not enough),
Switch from time to location.
and lastly get rid of the list_heads toI'd have thaought that replacing list_heads with another data structure
avoid locking. Does it sound like a good path?
would be a simgle commit.
That would be easy. s_more_io and s_more_io_wait can all be converted
to radix trees.
--
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/