From patchwork Mon Nov 26 02:17:14 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ming Lei X-Patchwork-Id: 10697401 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 12C4D16B1 for ; Mon, 26 Nov 2018 02:20:33 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F1D0729A49 for ; Mon, 26 Nov 2018 02:20:32 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E5C1F29A90; Mon, 26 Nov 2018 02:20:32 +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=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7FD9129A4E for ; Mon, 26 Nov 2018 02:20:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 948D06B3F81; Sun, 25 Nov 2018 21:20:31 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 91D606B3F83; Sun, 25 Nov 2018 21:20:31 -0500 (EST) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 80DA06B3F84; Sun, 25 Nov 2018 21:20:31 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by kanga.kvack.org (Postfix) with ESMTP id 563446B3F81 for ; Sun, 25 Nov 2018 21:20:31 -0500 (EST) Received: by mail-qk1-f198.google.com with SMTP id c7so18000925qkg.16 for ; Sun, 25 Nov 2018 18:20:31 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :subject:date:message-id:in-reply-to:references; bh=J+Wkn7ss71nFXVcnKcca2rbr8+sm4+oaNEhSOc+cM7w=; b=MgDEefXIZzLAQekUec3M4rl3iV4j2e+YaQZgRHUN82SmSxM7gTNbzFQUGYOgkiEMvA +S/Gy7tlzGN4gHvzBQhSpmR/tF81O1XausVCBgJ1NOrI4bxiVPdKZkQ/jWgUF8DOnqBo oLPTCn+uE2Lf7ukLn53U1Ci8kh5dN8unDJQWTmiqJdVBTgxy2ia1ssI88QHx2wOx+hzY VYyifS7WvX3Ila/g4H+FZTz6HiUOiSXagFKV8PL3r+Ml7enz4iw/MSrQCfhEkDGs2h+l +WzOsB0kCRX72itoo2wBh++wdxuiWUZkkntteyTkjg3jfYg3KsQCFo+vliaND9deT60m Zqmg== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of ming.lei@redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=ming.lei@redhat.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com X-Gm-Message-State: AGRZ1gLFfMroN7TnOH9j7XS8iMVa7n4tKn0GK7PMKSBo/pc+15P2B8Ok ZrnpaprdFUaoymxwhK4C51bOy+H9EDZQMfxLUpYRYn7TQUv2vJdOhhgdQ4fvuNaRXELmETUSHFb QRqa9tnGE/RQzqssALgrVqz4nlp1XsM2+N+eUuDq89kp2CQbfTacycfeKCIQmQslitQ== X-Received: by 2002:ac8:3437:: with SMTP id u52mr23058092qtb.237.1543198831131; Sun, 25 Nov 2018 18:20:31 -0800 (PST) X-Google-Smtp-Source: AJdET5c70t84IZHEgVnyK9p+ppo4yTEzBQ/pBwTo0QePoqp6wSp/MiXn9ryvr5VB25UABH0aJxnn X-Received: by 2002:ac8:3437:: with SMTP id u52mr23058068qtb.237.1543198830497; Sun, 25 Nov 2018 18:20:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543198830; cv=none; d=google.com; s=arc-20160816; b=hhAuY3lR0uiAaNJKZL7UtANyY20YooHPuCrerzDLMbIg4VQKwmYhotXOT59UiGisuX 9IHUYZf5sGFyF8StgxF2cbwa83NF+uhnO5F0c1bWn2a4gMyfv61Wx7sl/VbjaRhi08Kq vF6W9eNacDBpC18W0qJJ5pmu3IkGoR6HFqzwmfAnpSYW4m8LkYnNI8SSt/uDF+rDSNkD c1c3NdJQKP9HNcUTwsYSfZpDHCZT0P6OSgbD+6d+hKK4FlmPyYYdIOGyXYx+5wkMP5jr dHWNgxAgOkGJpfcOsTPcbrCKRfDfw48ZlTQ56/VQ2XoZU4yBgEWrg7KBprxke06hKwPx UjBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from; bh=J+Wkn7ss71nFXVcnKcca2rbr8+sm4+oaNEhSOc+cM7w=; b=IDG9113YSmvAN5ZAzpaCIgrQkkwRftSKP93BA53gOzPkZfeDtt1NOjh+AYc2+A5/hI tU5exEORvFRYFW4DRpOOkIzGh+P9w++ZGb+EphpQAOc7VfzUmIDqiyKRUzK5Aew7etuN cNTejsz8hXFyZMA3IZvHCVOXm90o/V51pPy2OVQ04D6nRfQirzfj2fHI+XFk8f0p6PcV OazH4IetuSHpPuXi0pQLzlwZEeNUJi5dCRmK+AkXtZpUpY9IjCLHIFpV1N7eKWaiaGpG 66XOGHC9nJwh7KnZcBvWGNEJyt7a13J+IKu+jRkOFc5uBLWHrKbdUmeSRZKgG0oAF2OX 2mhw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ming.lei@redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=ming.lei@redhat.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from mx1.redhat.com (mx1.redhat.com. [209.132.183.28]) by mx.google.com with ESMTPS id z8si209012qto.268.2018.11.25.18.20.30 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 25 Nov 2018 18:20:30 -0800 (PST) Received-SPF: pass (google.com: domain of ming.lei@redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ming.lei@redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=ming.lei@redhat.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7159030A3143; Mon, 26 Nov 2018 02:20:29 +0000 (UTC) Received: from localhost (ovpn-8-19.pek2.redhat.com [10.72.8.19]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2A0321054FBA; Mon, 26 Nov 2018 02:20:17 +0000 (UTC) From: Ming Lei To: Jens Axboe Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Theodore Ts'o , Omar Sandoval , Sagi Grimberg , Dave Chinner , Kent Overstreet , Mike Snitzer , dm-devel@redhat.com, Alexander Viro , linux-fsdevel@vger.kernel.org, Shaohua Li , linux-raid@vger.kernel.org, David Sterba , linux-btrfs@vger.kernel.org, "Darrick J . Wong" , linux-xfs@vger.kernel.org, Gao Xiang , Christoph Hellwig , linux-ext4@vger.kernel.org, Coly Li , linux-bcache@vger.kernel.org, Boaz Harrosh , Bob Peterson , cluster-devel@redhat.com, Ming Lei Subject: [PATCH V12 14/20] bcache: avoid to use bio_for_each_segment_all() in bch_bio_alloc_pages() Date: Mon, 26 Nov 2018 10:17:14 +0800 Message-Id: <20181126021720.19471-15-ming.lei@redhat.com> In-Reply-To: <20181126021720.19471-1-ming.lei@redhat.com> References: <20181126021720.19471-1-ming.lei@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Mon, 26 Nov 2018 02:20:29 +0000 (UTC) X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP bch_bio_alloc_pages() is always called on one new bio, so it is safe to access the bvec table directly. Given it is the only kind of this case, open code the bvec table access since bio_for_each_segment_all() will be changed to support for iterating over multipage bvec. Acked-by: Coly Li Reviewed-by: Christoph Hellwig Signed-off-by: Ming Lei Reviewed-by: Omar Sandoval --- drivers/md/bcache/util.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/md/bcache/util.c b/drivers/md/bcache/util.c index 20eddeac1531..62fb917f7a4f 100644 --- a/drivers/md/bcache/util.c +++ b/drivers/md/bcache/util.c @@ -270,7 +270,11 @@ int bch_bio_alloc_pages(struct bio *bio, gfp_t gfp_mask) int i; struct bio_vec *bv; - bio_for_each_segment_all(bv, bio, i) { + /* + * This is called on freshly new bio, so it is safe to access the + * bvec table directly. + */ + for (i = 0, bv = bio->bi_io_vec; i < bio->bi_vcnt; bv++, i++) { bv->bv_page = alloc_page(gfp_mask); if (!bv->bv_page) { while (--bv >= bio->bi_io_vec)