Re: [PATCH V8 00/33] loop: Issue O_DIRECT aio using bio_vec

From: Dave Kleikamp
Date: Wed Aug 21 2013 - 12:30:39 EST


Ben,
First, let me apologize for neglecting to copy you and linux-aio on the
applicable patches. I've been carrying along this patchset, assuming I
had gotten the proper cc's correct a while back, but I somehow missed
the aio pieces.

On 08/21/2013 08:02 AM, Benjamin LaHaise wrote:
> Hello Dave,
>
> On Thu, Jul 25, 2013 at 12:50:26PM -0500, Dave Kleikamp wrote:
>> This patch series adds a kernel interface to fs/aio.c so that kernel code can
>> issue concurrent asynchronous IO to file systems. It adds an aio command and
>> file system methods which specify io memory with pages instead of userspace
>> addresses.
>
> First off, have you tested that this series actually works when merged with
> the pending AIO changes from Kent? There a git tree with those pending
> changes at git://git.kvack.org/~bcrl/aio-next.git , and they're in
> linux-next.

I've lightly tested the patchset against the linux-next tree, running a
fio job on loop-mounted filesystems of different fs types.

> One of the major problems your changeset continues to carry is that your
> new read_iter/write_iter operations permit blocking (implicitely), which
> really isn't what we want for aio. If you're going to introduce a new api,
> it should be made non-blocking, and enforce that non-blocking requirement
> (ie warn when read_iter/write_iter methods perform blockin operations,
> similar to the warnings when scheduling in atomic mode). This means more
> changes for some filesystem code involved, something that people have been
> avoiding for years, but which really needs to be done.

I'm not really sure how the read_iter and write_iter operations are more
likely to block than the current aio_read and aio_write operations. Am I
missing something?

Thanks,
Dave
--
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/