xfs
[Top] [All Lists]

Re: [PATCH 0/4] XFS: replace the mount inode list with radix tree traver

To: Mark Goodwin <markgw@xxxxxxx>
Subject: Re: [PATCH 0/4] XFS: replace the mount inode list with radix tree traversals V2
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Wed, 23 Jul 2008 14:33:43 +1000
Cc: xfs@xxxxxxxxxxx
In-reply-to: <48869628.8010201@xxxxxxx>
Mail-followup-to: Mark Goodwin <markgw@xxxxxxx>, xfs@xxxxxxxxxxx
References: <1216773673-3620-1-git-send-email-david@xxxxxxxxxxxxx> <48869628.8010201@xxxxxxx>
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/1.5.18 (2008-05-17)
On Wed, Jul 23, 2008 at 12:23:36PM +1000, Mark Goodwin wrote:
>
>
> Dave Chinner wrote:
>> The list of all inodes on a mount is superfluous. We can traverse
>> all inodes now by walking the per-AG inode radix trees without
>> needing a separate list. This enables us to remove a bunch of
>> complex list traversal code and remove another two pointers from
>> the xfs_inode.
>
> sounds like a good move.
>
>> Also, by replacing the sync traversal with an ascending inode
>> number traversal, we will issue better inode I/O patterns for
>> writeback triggered by xfssyncd or unmount.
>
> Dave, have you made any performance measurements showing this to
> be the case?  If so, what is the improvement?

I don't have a test rig I can use to measure it sufficiently
accurately.

> Or should we just assume
> such traversals will be more naturally sequential and therefore more
> efficient?

Not an assumption - I've verified this occurs with blktrace. I'm
seeing ascending order dispatch and a reduction in the number and
distance of seeks as well as I/Os being issued to "disk" during such
events (like unmount, for example)....

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx


<Prev in Thread] Current Thread [Next in Thread>