Re: [PATCH 7/9] aio: add aio_kernel_() interface

From: Zach Brown
Date: Wed Jul 23 2014 - 19:16:08 EST


On Thu, Jul 24, 2014 at 06:55:28AM +0800, Ming Lei wrote:
> From: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx>
>
> This adds an interface that lets kernel callers submit aio iocbs without
> going through the user space syscalls. This lets kernel callers avoid
> the management limits and overhead of the context. It will also let us
> integrate aio operations with other kernel apis that the user space
> interface doesn't have access to.
>
> This patch is based on Dave's posts in below links:
>
> https://lkml.org/lkml/2013/10/16/365
> https://groups.google.com/forum/#!topic/linux.kernel/l7mogGJZoKQ

This was originally written a billion years ago when dinosaurs roamed
the earth. Also, notably, before Kent and Ben reworked a bunch of the
aio core. I'd want them to take a look at this patch to make sure that
it doesn't rely on any assumptions that have changed.

> +/* opcode values not exposed to user space */
> +enum {
> + IOCB_CMD_READ_ITER = 0x10000,
> + IOCB_CMD_WRITE_ITER = 0x10001,
> +};

And I think the consensus was that this isn't good enough. Find a way
to encode the kernel caller ops without polluting the uiocb cmd name
space.

(I've now come to think that this entire approach of having loop use aio
is misguided and that the way forward is to have dio consume what loop
naturally produces -- bios, blk-mq rqs, whatever -- but I'm on to other
things these days.)

- z
--
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/