From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxim Patlasov Subject: [ATTEND][LSF/MM TOPIC] kernel AIO support and block loop device improvements Date: Thu, 11 Dec 2014 13:23:11 -0800 Message-ID: <548A0B3F.5040608@parallels.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Cc: To: Return-path: Received: from mx2.parallels.com ([199.115.105.18]:40085 "EHLO mx2.parallels.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933337AbaLKVXQ (ORCPT ); Thu, 11 Dec 2014 16:23:16 -0500 Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Hello, I would like to have a discussion about current state of kernel AIO - an interface that lets kernel callers submit aio iocbs without going through the user space syscalls. The patches implementing the feature were developed and sent to mailing lists many times by Zach Brown and Dave Kleikamp long while ago. Then, after LSF/MM 2014, Alexander Viro made significant progress wiring ITER_BVEC into VFS call paths. His efforts made adding support of kernel AIO much easier as was recently demonstrated by Ming Lei's patches converting loop driver to blk-mq, but for some reasons the feature is still out of tree. An interesting aspect of the problem to be discussed is blocking/nonblocking behavior of aio_kernel_submit: even if it blocks only in rare cases, the caller (e.g. loop driver) must always use a separate thread for processing - extra overhead that can be avoided. Thanks, Maxim