From patchwork Mon Jan 21 08:17:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ming Lei X-Patchwork-Id: 10773235 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 54DB717FB for ; Mon, 21 Jan 2019 08:21:26 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4693529EE6 for ; Mon, 21 Jan 2019 08:21:26 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3A1F629EEA; Mon, 21 Jan 2019 08:21: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=unavailable 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 D5F8C29EEC for ; Mon, 21 Jan 2019 08:21:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 11BC38E0030; Mon, 21 Jan 2019 03:21:25 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 0F2BF8E0025; Mon, 21 Jan 2019 03:21:25 -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 F00A28E0030; Mon, 21 Jan 2019 03:21:24 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by kanga.kvack.org (Postfix) with ESMTP id C19088E0025 for ; Mon, 21 Jan 2019 03:21:24 -0500 (EST) Received: by mail-qk1-f197.google.com with SMTP id c84so18685192qkb.13 for ; Mon, 21 Jan 2019 00:21: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=ukgDCmNFQyD4LwCRcNuNwpEm9zmc0kwhjZiKsCkqI5KW9C0oY6uoMTn+aYp5zKpaMZ Vgjefdy6E6+fyftLnCDBZh7az7yJiuySRV++CkEbc5sfaIEY9uLU2Q7a+HQU4iqc7J5u 2toxvd4b9WV33r88njk0NgKrHB+wa3VJgQpLjy89TwItP6FZEouJhLlwspFEOY0MM/BB 1ErLI9rDIMigYXm3d0PCcg5fRVCEcVMjxNCaoMb8dowhafoxNoG8u2f7EhM5ktgX65s+ XtCkrk+kS5XP4TGbZuHaSWhadadWKS7uQwa0DJUc5hp3qEl5cliD5T5qLYMbQ4BPuga6 BuPw== 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: AJcUukcR0MpZou/Ek/CSDWNbnbrPbJPnFgmmaZjMuZL4JM4UDnbdp3M1 QF8ubsvr589tyM8Ri4B5lAQHr1vEOKFr1pzzulGGYyu0kxcTy6MHJYQ80aAfVOfqZebA1gVpUfJ 77FmF88BMsvyfgB5/gVu71j4eYllk/7/W3MaprjI76SHzMtD0wWihtKkR5QxQg/bqpw== X-Received: by 2002:a37:7206:: with SMTP id n6mr23552746qkc.64.1548058884557; Mon, 21 Jan 2019 00:21:24 -0800 (PST) X-Google-Smtp-Source: ALg8bN51vw8z05wz5uWqiGtr1m6Rsh1IgLSjAcxwP7UDD3Vwtdt+iyU72VOnflFpRBOTAFFt0uID X-Received: by 2002:a37:7206:: with SMTP id n6mr23552726qkc.64.1548058884033; Mon, 21 Jan 2019 00:21:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548058884; cv=none; d=google.com; s=arc-20160816; b=zO5B+obAoZbObp1oZlMxAItxFIrRacn9/0DRBmp9/yaR5lsJDxOl04DgAnzjoir5rx N0F09QihcPpXq4BO1Jpcj8khNhAFkkFFFyOtPYeTJxcD7niiuM+D9HC69ojXHdMsL5J+ mH5og4uWVu7Ckk3qmJ5PVUwUdFhYHATEUbrBlZ2kfjH9Bo7WJ+P1vvbPmxuK8aSl34MP XQxjwp1VnM0IXs7Fa7UqWtw2egmQg/eoScgsXlIgLK2T2jitclFxK30bJKo6zwAb5PZa JKit+hIorv6sk56l/wxVSPDEODxkM8HA2np9TJYzjxWzXdpJB/PYD72e88os8QgR99ql iCGQ== 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=zeTtep7x27UtVtkXYS10pb36hnpFWb9B6AdDXFH7uMXmoyMiKRHwajap8C3WdcAJRv Y71bfXS8QZqUJ2vU1DvrkLfdtEK5a2E9qJc/tAuwMVb1QYE2lfmsu8+cPhODq0X8hSro RZZEl0s0eE7n/45+L2nykiL5O/EGTHovB9MrK7VswJtWRDacBzWaL4BoYErtYd7mPyEJ cLjfoPB/3YQZ5Yhb1s5ttZe4sgs6wmVtNakaQbHHXVktWHjqlOqGEZuqseeT73td40l8 VymbQaU+qHdo+2rkflsmyKePpFoju/xgUMBhhbdruyVE6xDqCKi4IAt/0In57ROvlFhC fv1g== 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 j6si4028533qkk.237.2019.01.21.00.21.23 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 21 Jan 2019 00:21:24 -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 F37228E5B4; Mon, 21 Jan 2019 08:21: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 2093B10027CE; Mon, 21 Jan 2019 08:21:02 +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 V14 12/18] bcache: avoid to use bio_for_each_segment_all() in bch_bio_alloc_pages() Date: Mon, 21 Jan 2019 16:17:59 +0800 Message-Id: <20190121081805.32727-13-ming.lei@redhat.com> In-Reply-To: <20190121081805.32727-1-ming.lei@redhat.com> References: <20190121081805.32727-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.28]); Mon, 21 Jan 2019 08:21: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)