From patchwork Mon Nov 26 16:35:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jens Axboe X-Patchwork-Id: 10698615 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 80D0613BF for ; Mon, 26 Nov 2018 16:36:03 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 710F729735 for ; Mon, 26 Nov 2018 16:36:03 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 64EA929B2B; Mon, 26 Nov 2018 16:36:03 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E642F29735 for ; Mon, 26 Nov 2018 16:36:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726312AbeK0Dai (ORCPT ); Mon, 26 Nov 2018 22:30:38 -0500 Received: from mail-io1-f42.google.com ([209.85.166.42]:43525 "EHLO mail-io1-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726253AbeK0Dai (ORCPT ); Mon, 26 Nov 2018 22:30:38 -0500 Received: by mail-io1-f42.google.com with SMTP id g8so14442248iop.10 for ; Mon, 26 Nov 2018 08:36:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id; bh=BabmGWQzqNAwdsICxbJ+D+vbOudaTWcl1/+nmNU0djA=; b=t2uaO7cN+NTJF6iwQ3T8Y88ttXsbfXXThlaNSFewcqBVqHn3qGmynj1RS+u9Kd+lEZ Xn7vcHU3dFPPe33AUyQMu5P7P0G0grszm0PuB85s5j7NUFHYVxdWIfucM4M40vIN96j9 L8giIKdHsyM3XRH2mjv0p805D6ri8d9qcZPWyqgbVNKjKZQ65o1f3InGL/jPD3HFfLl3 1tE7y1LftdmGzRr9/Snb8wBWP4cb2r6wUeTn3skkHbYOZwqQmO3iF0lV5TT2KUO5jr7K UkE/iyHXlkduxZduihKcwMpP3u9U0FWRoFeU5eM7BT+0H33tD7dyxiABLQmCkpRQH4pX F0wQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=BabmGWQzqNAwdsICxbJ+D+vbOudaTWcl1/+nmNU0djA=; b=BBGo0ctZBZcM6uJsrnw4fc5RxHqNpf9njuo6SMEPMyRb+AIbScCKd3Blw5Bt0nf9+P 3GEtZmAA1hd1HEnYPNRQc9pK6JsMR0UOr4rThCI77/xGan+lXdYXE1fk9B9ckL+usORt JW0VXtno5VV6B1huDpy+an8qcXw8Zy2GEdbTVCFRr3tkvQdu8NQ70b5tj0jqTDFREI+I 11JTOIrF4iuU1OrEt2IGBy31ZHBbRCoDHJZl8vjw3+5wpC3fuTaGcgD+a1CKvywmGMR1 FSQN3ySy1baWEpa0Hg0eyHzUhk4KG/rf+FSIBC+0ExNmJWuVhyNzcakSPg6mk7Ag48MB dWuA== X-Gm-Message-State: AA+aEWYeV02Dq8F4gf6ifz6Q9ec7Xwg4uFLotd78sfz8jGAIhUyPpj1V am05+Bv+90whk1M11gQBLi4ZRrwHuDg= X-Google-Smtp-Source: AFSGD/XAH2HT6I9f424HpJLFY6eU8yFCq0XAX26u6VWR3wuMLPfs8gC7yMzJ4yPpAfImsZCcR+SrKQ== X-Received: by 2002:a6b:b556:: with SMTP id e83mr11624271iof.195.1543250160676; Mon, 26 Nov 2018 08:36:00 -0800 (PST) Received: from localhost.localdomain ([216.160.245.98]) by smtp.gmail.com with ESMTPSA id r11sm263717iog.46.2018.11.26.08.35.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Nov 2018 08:35:59 -0800 (PST) From: Jens Axboe To: linux-block@vger.kernel.org, linux-nvme@lists.infradead.org Subject: [PATCHSET 0/8] block plugging improvements Date: Mon, 26 Nov 2018 09:35:48 -0700 Message-Id: <20181126163556.5181-1-axboe@kernel.dk> X-Mailer: git-send-email 2.17.1 Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Series improving plugging for fast devices, but some fixes in here too. 1-2 are improvements around plugging accounting. Changes the behavior a bit, but works fine for me. 3-6 add a ->commit_rqs() hook and implement it in drivers that use (or will use) bd->last to optimize IO submission. If a driver currently uses bd->last to know if it's needed to kick the hardware into action, there are cases where we flag bd->last == false, but then fail to submit any further IO due to other resource constraints. We probably get saved by the fact that this happens for the case where we have pending IO and that will eventually guarantee forward progress, but we really should kick IO into gear at that point. 7-8 improve plugging for blk-mq. In terms of improvements, for virtualized nvme, I've seen a 2-x IOPS improvement with proper handling of bd->last with this series.