[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170301034606.GK16328@bombadil.infradead.org>
Date: Tue, 28 Feb 2017 19:46:06 -0800
From: Matthew Wilcox <willy@...radead.org>
To: Goldwyn Rodrigues <rgoldwyn@...e.de>
Cc: jack@...e.com, hch@...radead.org, linux-fsdevel@...r.kernel.org,
linux-block@...r.kernel.org, linux-btrfs@...r.kernel.org,
linux-ext4@...r.kernel.org, linux-xfs@...r.kernel.org,
Goldwyn Rodrigues <rgoldwyn@...e.com>
Subject: Re: [PATCH 3/8] nowait aio: return if direct write will trigger
writeback
On Tue, Feb 28, 2017 at 05:36:05PM -0600, Goldwyn Rodrigues wrote:
> Find out if the write will trigger a wait due to writeback. If yes,
> return -EAGAIN.
>
> This introduces a new function filemap_range_has_page() which
> returns true if the file's mapping has a page within the range
> mentioned.
Ugh, this is pretty inefficient. If that's all you want to know, then
using the radix tree directly will be far more efficient than spinning
up all the pagevec machinery only to discard the pages found.
But what's going to kick these pages out of cache? Shouldn't we rather
find the pages, kick them out if clean, start writeback if not, and *then*
return -EAGAIN?
So maybe we want to spin up the pagevec machinery after all so we can
do that extra work?
Powered by blists - more mailing lists