From patchwork Fri Feb 15 11:13:18 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ming Lei X-Patchwork-Id: 10814677 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 8685717E0 for ; Fri, 15 Feb 2019 11:16:26 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7DFF02EAE8 for ; Fri, 15 Feb 2019 11:16:26 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 712212EE6D; Fri, 15 Feb 2019 11:16:26 +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 0EEE62EAE8 for ; Fri, 15 Feb 2019 11:16:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E77C08E000E; Fri, 15 Feb 2019 06:16:24 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id DFDEC8E0001; Fri, 15 Feb 2019 06:16:24 -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 C9F3F8E000E; Fri, 15 Feb 2019 06:16:24 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by kanga.kvack.org (Postfix) with ESMTP id 92E488E0001 for ; Fri, 15 Feb 2019 06:16:24 -0500 (EST) Received: by mail-qt1-f197.google.com with SMTP id k1so8689536qta.2 for ; Fri, 15 Feb 2019 03:16:24 -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=xr6DahF5ogf42oUHn8yO+xHUQepi7gnUCentUFTY6cc=; b=X5l0TNDHZtTMgqRkXfXuPZ2d481rhNCROl4943BuZI0aYdjW6oHvPpYmSMVf+Q97G0 WIEphz/L9hJtC2iiRvzadYCniED5RQ6FtxB/oDlmXAzRju5vvprnJuSsU8DOuhjnFqVQ 30eGc+SU31gZnUkw56J5jkbEb4gNLsN9QDxO97scp7wdj2A3a2xgKMP4sDwaZ8LCV1dn 0reP9s3Fr2z4c2SipPh0ihxyVBAc7uNdsCyta6D785fEaX2Hg33hMvUD2Jzl3ksSfdre RRkxGqKZ3LxpEWbwVThOW+5CyaLt/WpvlWQ5vywrVh3siNXJCK5xuqptTo47a7Or22+S rG5Q== 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: AHQUAuY2K3Cj+yPqqyZD5r59rszusV2Y7t7ufgz8yFpk2zQIOWOo3OuQ VMuZtnEbxG1iULtZdBIZdXUhRfcNv1L9d1HAeJCc12Qh7E6P6QRNPgN1gssKKZE+Tjz3CH7cue5 ht0YwxW3aNuXbPbsxddCT1uTYGKzJhgjMuE2qV4JL9rl+spFzUgCFKQu3RknQlfcFYA== X-Received: by 2002:ac8:1662:: with SMTP id x31mr6989876qtk.55.1550229384401; Fri, 15 Feb 2019 03:16:24 -0800 (PST) X-Google-Smtp-Source: AHgI3IagkkfK/wA1OZC34hE3FKhStjbhFBuZKvxUoQnrVXDOzNzsuuSBx3pIou8XR1067j/EhT/1 X-Received: by 2002:ac8:1662:: with SMTP id x31mr6989845qtk.55.1550229383911; Fri, 15 Feb 2019 03:16:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550229383; cv=none; d=google.com; s=arc-20160816; b=bccHXJuaNd6rPjAoCmDxGeindPbgsP7DcSkGQ7/faARTFN9d4kMNEa+M2JS3sVA2Lw mSTdJFuSA9e/T34vloPyI3E7uZ1PpcM+ZpOzXlonBgB9Hk+GEpCrQWkchkS7s2yZfVZm dLOXUDw89yMSETsglASUK/yBJe/NuSIcqxuB2sg7Ql067maxYaEH2ytVeeWOV19HK8iL 8R70YSFNt+z95WEtsfz4HdPe8YRCGhOyKkqTxj43CTGWYVhH2hgKEkmP1eAQe9zqF4sO Natsechh5IGWDxd5eQkOATJGwlfFmdcrOzh67dpYcUcqNcJdzRsxhEDTqrrXO7HJ6nW8 gadQ== 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=xr6DahF5ogf42oUHn8yO+xHUQepi7gnUCentUFTY6cc=; b=e/O/bOnTGSXRkNd70LwfDUPSF2KXcqB67WQ7zWj9Guu8//HBeBsPSvnToIJwU1N25K jIRZ3JyCehrygvnxdOcSqZopf82ayPCMSjHupWuRJPV+PAVmtRGowRJ5vb/qPfd9jvJX MZqNociFYlL/cPg6KLmYBWuphaiauq84FHQVjBSysHwHNh+hDakYLazf7TpIgo1tu+Vc e43kPGqZhXa4HkblBdgfoFYCHhtFjVnRxdW4h3euu7jQxdS6TCXd7X6Rpi9tdReb3RsU XN7j7R/LPOZtnmjIz5Xogmc9rjchSVQdbj23BIxJ0o4nH4xpfqHL6rKt4DAN0T4U7ZSN zSWw== 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 y5si2032823qtc.187.2019.02.15.03.16.23 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 15 Feb 2019 03:16:23 -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-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5204DC7857; Fri, 15 Feb 2019 11:16:22 +0000 (UTC) Received: from localhost (ovpn-8-22.pek2.redhat.com [10.72.8.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id 38D6A26E74; Fri, 15 Feb 2019 11:16:20 +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, 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 V15 12/18] bcache: avoid to use bio_for_each_segment_all() in bch_bio_alloc_pages() Date: Fri, 15 Feb 2019 19:13:18 +0800 Message-Id: <20190215111324.30129-13-ming.lei@redhat.com> In-Reply-To: <20190215111324.30129-1-ming.lei@redhat.com> References: <20190215111324.30129-1-ming.lei@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Fri, 15 Feb 2019 11:16:23 +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: Omar Sandoval Reviewed-by: Christoph Hellwig Signed-off-by: Ming Lei --- 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)