xfs
[Top] [All Lists]

Re: XFS doesn't correctly account for IO-Wait for directory reading

To: Matthias Schniedermeyer <ms@xxxxxxx>
Subject: Re: XFS doesn't correctly account for IO-Wait for directory reading
From: David Chinner <dgc@xxxxxxx>
Date: Thu, 24 Jan 2008 11:31:14 +1100
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20080123110027.GA10366@citd.de>
References: <20080123110027.GA10366@citd.de>
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/1.4.2.1i
On Wed, Jan 23, 2008 at 12:00:27PM +0100, Matthias Schniedermeyer wrote:
> Hi
> 
> 
> Some days ago Mr. Chinner(?, don't have the e-mail anymore) said that 
> XFS fakes ( :-) ) it's way around IO-wait accounting for file-deletion 
> by deferring it to the log.
> 
> Today i thought again about the initial 'rm -rf'-isn't-accounted-properly
> "problem", and the bigger part of "rm -rf" is the 
> directory-traversal(IOW read) and not the actual "unlink"-part.
> 
> So what better test than a simple 'find'.
> 
> Situation: Cache is cold:
> find /<wherever> >/dev/null
> While running (which takes some time) it shows exactly 0.0%wa in top on 
> an otherwise completely idle system, where there should be a near 50%wa 
> (Dual-Core system) or 100% on a UP system.

XFS issues readahead on directories, so when the I/O has not completed,
it waits on semaphores in the xfs_buf layer, not on the I/O itself.
Hence we cannot account for the wait time as iowait as we cannot
tell the semaphore to call io_schedule() instead of schedule().

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group


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