| To: | Lachlan McIlroy <lachlan@xxxxxxx> |
|---|---|
| Subject: | Re: TAKE 964002 - Don't wait for pending I/Os when purging blocks beyond eof. |
| From: | Christoph Hellwig <hch@xxxxxxxxxxxxx> |
| Date: | Tue, 11 Dec 2007 08:11:17 +0000 |
| Cc: | sgi.bugs.xfs@xxxxxxxxxxxx, xfs@xxxxxxxxxxx |
| In-reply-to: | <20071210055955.0F96358C4C34@chook.melbourne.sgi.com> |
| References: | <20071210055955.0F96358C4C34@chook.melbourne.sgi.com> |
| Sender: | xfs-bounce@xxxxxxxxxxx |
| User-agent: | Mutt/1.5.17 (2007-11-01) |
On Mon, Dec 10, 2007 at 04:59:55PM +1100, Lachlan McIlroy wrote:
> Don't wait for pending I/Os when purging blocks beyond eof.
>
> On last close of a file we purge blocks beyond eof. The same
> code is used when we truncate the file size down. In this case
> we need to wait for any pending I/Os for dirty pages beyond the
> new eof. For the last close case we are not changing the file
> size and therefore do not need to wait for any I/Os to complete.
> This fixes a performance bottleneck where writes into the page
> cache and cache flushes can become mutually exclusive.
I think I shortened from of this should be in the comment above
the conditional vn_iowait intead of the current
/* wait for the completion of any pending DIOs */
which is wrong given that we don't wait for all pending direct I/O
requests.. (and vn_iowait doesn't wait for direct I/O anyway)
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | PARTIAL TAKE 971186 - kill last 2.4 ifdef leftover, Tim Shimmin |
|---|---|
| Next by Date: | Zero-copy Block IO with XFS, Matthew Hodgson |
| Previous by Thread: | TAKE 964002 - Don't wait for pending I/Os when purging blocks beyond eof., Lachlan McIlroy |
| Next by Thread: | Re: TAKE 964002 - Don't wait for pending I/Os when purging blocks beyond eof., David Chinner |
| Indexes: | [Date] [Thread] [Top] [All Lists] |