Re: [PATCH v3 1/4] fs: kiocb: introduce IOCB_DONT_DIRTY_PAGE flag for direct IO

From: Christoph Hellwig
Date: Tue May 12 2015 - 03:24:16 EST


On Mon, May 11, 2015 at 09:02:54PM +0800, Ming Lei wrote:
> > But those would be user pages. Anyone who passes a kernel page doesn't
>
> Inside kernel it is hard to say one page in page cache is kernel or
> user page, :-)

Inside the kernel it's easy to say that it's the caller business to
make sure we don't need to carry through hacks like this.

> > expect it do be dirtied for normal kernel interfaces.
>
> Currently the coming direct IO introduced for loop should be the 1st direct
> read inside kernel, so there isn't the case of passing kernel pages, and
> obviously ITER_BVEC/ITER_KVEC doesn't mean the page is 'kernel' page.
>
> Another direct IO inside kernel is __swap_writepage(), and it is still
> ITER_BVEC and user page. Maybe in the future swap_readpage()
> can use direct IO with BVEC too.


Swap will have very different rules to deal with page dirtying as it's
part of the VM subsystem. Again, the caller will now better.
--
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/