From patchwork Fri Jan 11 11:01:21 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ming Lei X-Patchwork-Id: 10757777 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 A430A1515 for ; Fri, 11 Jan 2019 11:05:09 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6D626297AD for ; Fri, 11 Jan 2019 11:05:09 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6103529BEE; Fri, 11 Jan 2019 11:05:09 +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 E8E0B297AD for ; Fri, 11 Jan 2019 11:05:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1ED7C8E000F; Fri, 11 Jan 2019 06:05:08 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 19BFF8E0001; Fri, 11 Jan 2019 06:05:08 -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 0B3128E000F; Fri, 11 Jan 2019 06:05:08 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by kanga.kvack.org (Postfix) with ESMTP id D67618E0001 for ; Fri, 11 Jan 2019 06:05:07 -0500 (EST) Received: by mail-qt1-f199.google.com with SMTP id p24so16262396qtl.2 for ; Fri, 11 Jan 2019 03:05:07 -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=FxYM2WJ94WbsVEYLMk8g+pQ9poCWv3dYDIICNdthtR3pfVKDv47hdxbMQ2msWIIkD8 d8DFLHFz8CTuqfTVMUIML91yrG4h2WoLeXQJLpwCmcmX9HtM+abGj3OqsMHRLE3rCiuo MQEkfPajXhnHg0ltB2AwhdaXCLOEBqMn9mTgri+PVa4aAE3JASM+AHHkZ3Tc65Rig5wp lNUARatjvc2APXekiCgkELFhCFpjW98xuazZOTWBaycwCpizaSLxiXgqd207w1PIiWfp fXp2WPBdUl1FG2FvSGgNVncGSVFX82nKSxCt+RFga9PJiJCgWqXMxram5YzaY3N4h+Oz DtxA== 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: AJcUukdj8TCmMNl2hg9lqsilghY0k0kLqPfS5cDpOu48aKU7t2c/l4Tn /K7qEb0DVl/gjuYI6Z5IhofbjZTGYm+YwIJAGGWy8eIS90BE7OFxTWvNEsi4iB1nTNUHcOxHpxo kQyzi2HvD0oiRlPz2shhN/UqsMvcr/C9GUNhR0mTDi6yzYBRfAIre2Q9hkM2/rnPibA== X-Received: by 2002:a37:c808:: with SMTP id c8mr11892899qkj.243.1547204707658; Fri, 11 Jan 2019 03:05:07 -0800 (PST) X-Google-Smtp-Source: ALg8bN6+pfS2NGut46CbI8d+kKr4S1X9D57iJULhP3gejbI9rnyisKdQ+W+LmsJq8naVKdPoT++D X-Received: by 2002:a37:c808:: with SMTP id c8mr11892871qkj.243.1547204707180; Fri, 11 Jan 2019 03:05:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1547204707; cv=none; d=google.com; s=arc-20160816; b=FKToe9lEYxfseWl1+CN6ELEAVOrgNzyykkP3ZzFZtp0/lzuFD4O586WZIgfmH1HmKT gex/oP0xUJT5mNgl43DqXxf7ebiqFZjvAem/iqDOLvqX6YEeIiEXlGi7X7DvLYgeKoJk 0HieOAuR25zpwTw4sg1zkJgg2+Wa0V0C00wwf4OX7S8Cv0P4/qAaRiaUjIZFSVQR7Lud DfN9dJUyxQz6jQeaOGiVgJr4g/BLaDSu820C3ZCpjVIjeu6W04dLoXhMaKMAuMSIwDOY y/qEqdkFW1ZzD+BWCcgbj8BVnLstWuXNFPTtxu6pzMNXYWN/Bv7wai8RbV8iEGs+TsRi il/A== 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=d62TAlePpE28GFD1fHBOF763EZWyuQkiVLGg5MX3948MeIocglvG1pWy3TNVpyI/D2 AxRKtpqDVaSPGc/5NqaeqrWygNyqXbSQY2HmSRtZFqTdeNOuijaomWgJOJ0utReSCGAl 2cw9u+oB+U0OYey0LEsQaG81KFebH4W98nL2AubYM1heewkL0TfIeckz/uy2MPJi9PaG SDeivHfzArWHYlGWq6oq1p9X5AfOyGF4h5cuyEktVNZR18qGDdkA24k94wfD3pCBgOny YulovhkVl/2YM7m13BRMRw6u2bDwmC5EkHmQNS7PaNlPQdEQ4loJN1bfyhcAVvLUU/cp a4Pg== 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 e3si2833726qkg.54.2019.01.11.03.05.07 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 03:05:07 -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-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EBD9BC7901; Fri, 11 Jan 2019 11:05:05 +0000 (UTC) Received: from localhost (ovpn-8-28.pek2.redhat.com [10.72.8.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 55BE45D9C8; Fri, 11 Jan 2019 11:04:52 +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 V13 13/19] bcache: avoid to use bio_for_each_segment_all() in bch_bio_alloc_pages() Date: Fri, 11 Jan 2019 19:01:21 +0800 Message-Id: <20190111110127.21664-14-ming.lei@redhat.com> In-Reply-To: <20190111110127.21664-1-ming.lei@redhat.com> References: <20190111110127.21664-1-ming.lei@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Fri, 11 Jan 2019 11:05:06 +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)