Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp2887959ybv; Mon, 24 Feb 2020 13:44:06 -0800 (PST) X-Google-Smtp-Source: APXvYqyGWiwgfWon04tFErkZM0M/7gBK1lJbYcTGKsLqmBRDrDHsTgc4U+4SmfP/FtIi8ncCBSmn X-Received: by 2002:a05:6808:8ca:: with SMTP id k10mr906159oij.164.1582580646700; Mon, 24 Feb 2020 13:44:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582580646; cv=none; d=google.com; s=arc-20160816; b=DmwjuxW7DEPGLeVaQ/9nSrLJsTjkEhMYdc3eWofDQdV1wqucw7N1iMgCe+C7vW0vnZ 3dLhu/AUDBqv9dqKndIdnuAX+I1MYdIaB/MS8OcooLOpzEi4bWxwlF9rLYwC2wO0/ZYM x0yxFu+mL9tXx+JFEyNQ6xBFtkBYtItfWrnRL+8QR/25c5gSphdKCun/T2pyMHXwzzip ZiSRH9BUu4oFv+zRkHG9YBb709dGynoBkMq8eUID9oK7a7eIGQtibQ17lG7VmiTKZw7+ 6qob1lqyjqSwHkNdUF71Lok30siZP2dH3BAbbi6QKx8nNqq/82Y2b+e6VDlRTEnL2DoJ Cb/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=IBmpdg54DdbeZAoJdfQydcGyDg8H1e/FIpFw/vfYtE4=; b=IRDTsi3B8e+tHEJbbLLXo7SDzM8icn7r7ev9NsDfShFRHjWhLL6Q3XkYWJ8lH+UVQE cxEyyR35Ntwkg82fg1oypHq1VffWappC5+JxGmgWf3OLaEMUpZLd7oBK38onDhPUQXia szRdMIBfryoFG+N8mlbkWMU5kFcMWiosn/quHIFPGhJQTgG0aTC1HlatQuCXueZXfcc0 72qb0lIsytS+lQaQUN+VU+inLlTWrhY98Ys+GQfqBLzK0Ds0sMEOw6dwvsWapYt7M4RX hUBnp/D/eszpHD/Q1S82/ZyufN3l2Kr3mxZhLnkqkDpzaPoew5C9OZTPd8w1MWY5e2AC Dhlg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=WER6q6aM; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b3si4774841oie.180.2020.02.24.13.43.54; Mon, 24 Feb 2020 13:44:06 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=WER6q6aM; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728178AbgBXVnt (ORCPT + 99 others); Mon, 24 Feb 2020 16:43:49 -0500 Received: from bombadil.infradead.org ([198.137.202.133]:34554 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727976AbgBXVns (ORCPT ); Mon, 24 Feb 2020 16:43:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=In-Reply-To:Content-Transfer-Encoding :Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=IBmpdg54DdbeZAoJdfQydcGyDg8H1e/FIpFw/vfYtE4=; b=WER6q6aMIxiEGc+j/HGcg87kgh fzNH5dUAX47ArvTEcqOgiOSjadyzvjYxi7Z+MNemow4AoVsB97AsbXwMFCWorXOXLyW4/Bi/1vxFR pekPIkO1XBmskg8wIjbG1r89NfDd26q/hqyfaI2g/8EolO9JVp55Al1+R5Mb9Co/yj7iles1i8y0+ Ogbq4hrGehMtbChyDWTVLnLZK/CEUdmMF6F7w+67mUpRFsUbz1BetpuyOeDRb0R9UTQUnw/MfxN4t On18RaxEjiVcVeDM/VtvaYZgSM8WH7HCFrdX8QnSdbWbJyOTtLdDJc38/NHqwAQoFYGr30to44pf+ HaIFogKQ==; Received: from hch by bombadil.infradead.org with local (Exim 4.92.3 #3 (Red Hat Linux)) id 1j6LVz-0007sB-AO; Mon, 24 Feb 2020 21:43:47 +0000 Date: Mon, 24 Feb 2020 13:43:47 -0800 From: Christoph Hellwig To: Matthew Wilcox Cc: Christoph Hellwig , Johannes Thumshirn , "linux-fsdevel@vger.kernel.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , "linux-btrfs@vger.kernel.org" , "linux-erofs@lists.ozlabs.org" , "linux-ext4@vger.kernel.org" , "linux-f2fs-devel@lists.sourceforge.net" , "cluster-devel@redhat.com" , "ocfs2-devel@oss.oracle.com" , "linux-xfs@vger.kernel.org" Subject: Re: [PATCH v7 14/24] btrfs: Convert from readpages to readahead Message-ID: <20200224214347.GH13895@infradead.org> References: <20200219210103.32400-1-willy@infradead.org> <20200219210103.32400-15-willy@infradead.org> <20200220134849.GV24185@bombadil.infradead.org> <20200220154658.GA19577@infradead.org> <20200220155452.GX24185@bombadil.infradead.org> <20200220155727.GA32232@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20200220155727.GA32232@infradead.org> X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Feb 20, 2020 at 07:57:27AM -0800, Christoph Hellwig wrote: > On Thu, Feb 20, 2020 at 07:54:52AM -0800, Matthew Wilcox wrote: > > On Thu, Feb 20, 2020 at 07:46:58AM -0800, Christoph Hellwig wrote: > > > On Thu, Feb 20, 2020 at 05:48:49AM -0800, Matthew Wilcox wrote: > > > > btrfs: Convert from readpages to readahead > > > > > > > > Implement the new readahead method in btrfs. Add a readahead_page_batch() > > > > to optimise fetching a batch of pages at once. > > > > > > Shouldn't this readahead_page_batch heper go into a separate patch so > > > that it clearly stands out? > > > > I'll move it into 'Put readahead pages in cache earlier' for v8 (the > > same patch where we add readahead_page()) > > One argument for keeping it in a patch of its own is that btrfs appears > to be the only user, and Goldwyn has a WIP conversion of btrfs to iomap, > so it might go away pretty soon and we could just revert the commit. > > But this starts to get into really minor details, so I'll shut up now :) So looking at this again I have another comment and a question. First I think the implicit ARRAY_SIZE in readahead_page_batch is highly dangerous, as it will do the wrong thing when passing a pointer or function argument. Second I wonder іf it would be worth to also switch to a batched operation in iomap if the xarray overhead is high enough. That should be pretty trivial, but we don't really need to do it in this series.