Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758411AbaGWXQF (ORCPT ); Wed, 23 Jul 2014 19:16:05 -0400 Received: from tetsuo.zabbo.net ([50.193.208.193]:39759 "EHLO tetsuo.zabbo.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758370AbaGWXQA (ORCPT ); Wed, 23 Jul 2014 19:16:00 -0400 Date: Wed, 23 Jul 2014 16:16:00 -0700 From: Zach Brown To: Ming Lei Cc: Jens Axboe , linux-kernel@vger.kernel.org, Andrew Morton , Dave Kleikamp , Benjamin LaHaise , Alexander Viro , linux-fsdevel@vger.kernel.org, "open list:AIO" Subject: Re: [PATCH 7/9] aio: add aio_kernel_() interface Message-ID: <20140723231600.GE17798@lenny.home.zabbo.net> References: <1406156130-15575-1-git-send-email-ming.lei@canonical.com> <1406156130-15575-8-git-send-email-ming.lei@canonical.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1406156130-15575-8-git-send-email-ming.lei@canonical.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jul 24, 2014 at 06:55:28AM +0800, Ming Lei wrote: > From: Dave Kleikamp > > 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/