Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp4561585pxf; Tue, 30 Mar 2021 10:42:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzY4VlkWm9KTK5WBmtkfdHbX6qmFA8WSDILCcTpGVn0FO9D22OKWHGPy/mCsBd6biggsWYv X-Received: by 2002:a17:906:c405:: with SMTP id u5mr34703182ejz.341.1617126179460; Tue, 30 Mar 2021 10:42:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617126179; cv=none; d=google.com; s=arc-20160816; b=hgFkH0H76BQNsczqoEc4Pcjf5I1bc01MSNc5NC/dQqU4pdEHCJDw4Q2TSt/abAFpPN lJ6P0wZG91kY6Ccd45jpAsP/T+8j5XvTdfAdPVQyM2iR6mLTdLftvywRpCxJ1MviysoS DH0J62inrtB+WGVIxemS3F6DSAouHhEUm5RPU/u4isdRu0Qbx1g2/hgcKeSVg7alT74K 69ZubEf08ZJ4oYoXFhCq7x4tDDosJcVw/s2GdGrcxLwwdiKQL5nu/FcCnDcMpRaqqCvp sopBR0VgknyjCd6wRoZRCvCwoRNadvRHQ2KrGWlotyXVRNeiXS7BLKgA0i8X2OCm6ngD LNzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:to:from:date:dkim-signature; bh=Aj3BBiJGkMf9HQ1Ip4ML4I8G/ZaA3wduTiGOb+gCee4=; b=TFEKxYLwQMAV/gI0Y9G89FmIoyFus7Ax/Tkv/opwCeqkzAJjA1pVitlFONCnXlMD/m EFhY6CmXX/sm2xgLl+E1tcTmknDbz8BL8Knjnqj3tDx8rC05YyaNIT6xFoDK3I0dYsoG 19SUfcUjDXlMZjUU83onu+YgQvt8xjKr707zb5GxbQqUvZZIYTVXkJNw0wBB4DbBxFER TwnWOuzFSGZpy91VAIGJHxOPZh2MM/j3Y3BF74La9kR5CeAgDQ+hQSl8b48UDZa58Shs kU65DEvoLqqtiSLHKibF0OiKCvgRYAZ5T8JbLwgTzjyUp3di4TXY1Y4kkTj7RR9v0Hmw dJGw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=casper.20170209 header.b=UWmFxra5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s17si15339975edd.576.2021.03.30.10.42.34; Tue, 30 Mar 2021 10:42:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=casper.20170209 header.b=UWmFxra5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231650AbhC3Rj2 (ORCPT + 99 others); Tue, 30 Mar 2021 13:39:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58806 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231701AbhC3RjD (ORCPT ); Tue, 30 Mar 2021 13:39:03 -0400 Received: from casper.infradead.org (casper.infradead.org [IPv6:2001:8b0:10b:1236::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2CD79C061762; Tue, 30 Mar 2021 10:39:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:To:From:Date:Sender:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description; bh=Aj3BBiJGkMf9HQ1Ip4ML4I8G/ZaA3wduTiGOb+gCee4=; b=UWmFxra5Xj/fLJEA/MZltsl/vV pQdMwQ9XpRSj4OLTmMYOJ4UoEyTBaUiyGKX1b7EUd5JyCWYinTlcQi+kvm4HgnWmRhO3xaJ8EfnL/ CyVKNTOUD8hWpm+rfFDvi/uq6l0L9UXyXwh/cUz6KSPWu1dsN4MCq8C++YpGWNs3ZKJp5A4mjBh+a h5lwtxmjhXDbSlXcTetAoPC5uk8idmYCVMtbQr0aR0JAMvfQLeMbYj6c9w/53dES/WJobtqarNcGb Q1kMV3QE2NcwiBY51Mt642yFXqh1jsI5GHh7AIpjNMZkyIAlkJW9SKLRhx1MiwYIUr7v9DgkXoJrd vD9h8SfQ==; Received: from willy by casper.infradead.org with local (Exim 4.94 #2 (Red Hat Linux)) id 1lRIKN-003NRv-0M; Tue, 30 Mar 2021 17:38:55 +0000 Date: Tue, 30 Mar 2021 18:38:54 +0100 From: Matthew Wilcox To: Chris Mason , Josef Bacik , David Sterba , linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: Re: [PATCH] btrfs: Use readahead_batch_length Message-ID: <20210330173854.GP351017@casper.infradead.org> References: <20210321210311.1803954-1-willy@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210321210311.1803954-1-willy@infradead.org> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ping? On Sun, Mar 21, 2021 at 09:03:11PM +0000, Matthew Wilcox (Oracle) wrote: > Implement readahead_batch_length() to determine the number of bytes in > the current batch of readahead pages and use it in btrfs. > > Signed-off-by: Matthew Wilcox (Oracle) > --- > fs/btrfs/extent_io.c | 6 ++---- > include/linux/pagemap.h | 9 +++++++++ > 2 files changed, 11 insertions(+), 4 deletions(-) > > diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c > index e9837562f7d6..97ac4ddb2857 100644 > --- a/fs/btrfs/extent_io.c > +++ b/fs/btrfs/extent_io.c > @@ -4875,10 +4875,8 @@ void extent_readahead(struct readahead_control *rac) > int nr; > > while ((nr = readahead_page_batch(rac, pagepool))) { > - u64 contig_start = page_offset(pagepool[0]); > - u64 contig_end = page_offset(pagepool[nr - 1]) + PAGE_SIZE - 1; > - > - ASSERT(contig_start + nr * PAGE_SIZE - 1 == contig_end); > + u64 contig_start = readahead_pos(rac); > + u64 contig_end = contig_start + readahead_batch_length(rac) - 1; > > contiguous_readpages(pagepool, nr, contig_start, contig_end, > &em_cached, &bio, &bio_flags, &prev_em_start); > diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h > index 2cbfd4c36026..92939afd4944 100644 > --- a/include/linux/pagemap.h > +++ b/include/linux/pagemap.h > @@ -1174,6 +1174,15 @@ static inline unsigned int readahead_count(struct readahead_control *rac) > return rac->_nr_pages; > } > > +/** > + * readahead_batch_length - The number of bytes in the current batch. > + * @rac: The readahead request. > + */ > +static inline loff_t readahead_batch_length(struct readahead_control *rac) > +{ > + return rac->_batch_count * PAGE_SIZE; > +} > + > static inline unsigned long dir_pages(struct inode *inode) > { > return (unsigned long)(inode->i_size + PAGE_SIZE - 1) >> > -- > 2.30.2 >