Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S945348AbcJaR7b (ORCPT ); Mon, 31 Oct 2016 13:59:31 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:49221 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S945152AbcJaR73 (ORCPT ); Mon, 31 Oct 2016 13:59:29 -0400 From: Christoph Hellwig To: axboe@fb.com Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org Subject: block device direct I/O fast path Date: Mon, 31 Oct 2016 11:59:23 -0600 Message-Id: <1477936765-8828-1-git-send-email-hch@lst.de> X-Mailer: git-send-email 2.1.4 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 692 Lines: 12 Hi Jens, this small series adds a fasth path to the block device direct I/O code. It uses new magic created by Kent to avoid allocating an array for the pages, and as part of that allows small, non-aio direct I/O requests to be done without memory allocations or atomic ops and with a minimal cache footprint. It's basically a cut down version of the new iomap direct I/O code, and in the future it might also make sense to move the main direct I/O code to a similar model. But indepedent of that it's always worth to optimize the case of small, non-I/O requests as allocating the bio and biovec on stack and a trivial completion handler will always win over a full blown implementation.