From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id F0A72CD379F for ; Fri, 15 Sep 2023 19:45:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7A0F66B03DA; Fri, 15 Sep 2023 15:45:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 72A186B03DC; Fri, 15 Sep 2023 15:45:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5CA906B03DE; Fri, 15 Sep 2023 15:45:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 489E86B03DA for ; Fri, 15 Sep 2023 15:45:32 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 22175C0546 for ; Fri, 15 Sep 2023 19:45:32 +0000 (UTC) X-FDA: 81239861304.21.73C2D8C Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf04.hostedemail.com (Postfix) with ESMTP id 757DE4001E for ; Fri, 15 Sep 2023 19:45:30 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="of/bPBGM"; dmarc=none; spf=none (imf04.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694807130; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=162ByQtUEtKATklSugznQjq/HmritqoY8YxWx3GTMHQ=; b=Tue4verEOgZQXA84fFbigc3x+Mzy5uuYB9zzhFH5IPCXJp7qnknTnPmQ/9PV1syWKsM3n7 8+W4H9HbjUBpdiaIIkrW3mLGjwvBQObYgdpIsajFzbxrWxU94mczkACPRRXjOVss+iVpQ7 qgK+CAPMSGMNKyKNwrVBERDuxQfsmEc= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="of/bPBGM"; dmarc=none; spf=none (imf04.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694807130; a=rsa-sha256; cv=none; b=0+OgMuWsJj9E1cqc08+fheOMpXTHBtD+9v1gnB6HdQ7D6ekeQuJND18pH2IwyVH5GD+PK4 phEfYjQ8DtVU9FERp9jx3wNsai3eD5b4mX/5+sKoITYu4g5xufFyx4CFvXgGIj4FX4qwUR MaZATZEKJ/YLSHiXCuduYeqFXJ9RyLA= 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:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=162ByQtUEtKATklSugznQjq/HmritqoY8YxWx3GTMHQ=; b=of/bPBGMK23VCoRz50gjg0FFj9 D0Xt0uivezxGMsBBQORMb0znYbWzkWTWghVEB/Va32s5RBV2XqK6OBrCoHQKMFc+9K4ubLa2FXFJM c9mtRmD6BsvrBTdSj/0oiahRyIAqlXP0UDEbTEGo5vNpng9yKOdH+h05CxVd6v9mxCdEtxrUsSW1G 5Nu1zdE9k288+9TFHnrWmcXc7SDzJ8Pl0RCtWwS8KTx8xE4GQI/leEBab3Ix0St5Vjy1KzXSv6sj7 mYiIj/vlMUKZfuZNS072Vr6LEq1jSaXP6rx2xvCvvMALzpHWgITaNHGpo/TchrLTPjZVMojqDfg0o MaM8TaDQ==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qhEki-00Bg0a-Q4; Fri, 15 Sep 2023 19:45:20 +0000 Date: Fri, 15 Sep 2023 20:45:20 +0100 From: Matthew Wilcox To: Pankaj Raghav Cc: linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, p.raghav@samsung.com, david@fromorbit.com, da.gomez@samsung.com, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, djwong@kernel.org, linux-mm@kvack.org, chandan.babu@oracle.com, mcgrof@kernel.org, gost.dev@samsung.com Subject: Re: [RFC 05/23] filemap: align index to mapping_min_order in filemap_range_has_page() Message-ID: References: <20230915183848.1018717-1-kernel@pankajraghav.com> <20230915183848.1018717-6-kernel@pankajraghav.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230915183848.1018717-6-kernel@pankajraghav.com> X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 757DE4001E X-Stat-Signature: fo5uebnk5gjcewzyqzz1utpspj5e6ny8 X-Rspam-User: X-HE-Tag: 1694807130-82868 X-HE-Meta: U2FsdGVkX19Qv4V7ZD1KIPiQLUCHuGePp8l0zvmO+Np7elL4zfjtR+t+w0+LK9QKW/YCBZier+SAI7sHnjW2J7yOUcRastkdnXbNvTlNxh7xlAJ8mPSkcNRdkoZGbTMGoQHUB3fqTJc1HIpDnjebyoQ5fLDVf2wLD3Q9aN58ZlqqRAt1MOG8jHeLX6r1dS2pjFWgeE9Rn+8EgBsOk7pDNhHUV/CTOBw6bNPjBcXnQAXFGy+DHZK+Mx7DV8xGYiHztDe/ixvWTQLTSpb2zhti3hdZhltgzNUBaaSV6Us9tNzpLVK+duc6b0YkCmmtCoQnStZBkoKHIpZsuRZgt+ogxsw1fB1ElUNVmJ7dpnFN2S+MfEEaLUyeGgJ11/VOYJvpoM2nYZ5wM3pMMiZXvTt03mf9X/ViVYa1jDxwKDW2fLGdlXgo+q2gx0K+xRlDfqahurPTJTGr+aTkykEh5eEBDfD+rNZnFfGSEVWPKpmoFCI1HSZ7/cbzepORtbwmNK7Jw7nCV9fQ1kZlYU4MVvqTTjlwPXxcsIS2E/BJLjDPTIxnNOGgxjE4OnAYWGguBO1vAsu9pvF0ZxYJ13LKknGV3H1Dkd9aER+L2YvW0B2fStCWg6WPXoerhnStUPgevJweIHocZNtm7gsErqTy+kCf6IPa5IxPm+3NtWQ4BCgDKm0MxVwsLekm41+iWp8+sdq5tIL3dpaJ9seZEO0TGC1Nyhzvps3YOKsazTOXIQAJY9ahZjN64/hX9JgEfSRKQP25l8v7aCmymCNhPzY8c4oCbBw6AbNpBDBEsEP3d3S6HDuNz0l6iLVtUGPP3ud7ecBldb1KJ+dNfGBDuALj+qTorb22HuMCNw9U2MWqrOnoNtVoHeRRjs7aDlg3DOUL8hNcZ+6MQlCFVrVD+65MLbwfu7m16sN/cbOZDEXiWPDRHcO3HaJOXXlM6ko16hU/Kt2SZX9rsChezOusjskwQqd te99l5XV N5oiga1Q2fdxqCnbMp+Nre5sb1ENA74DzfPIenOxYfSPD2oQa+/0nsRd4JSa6vb1Qack7+kb8C6Tqs0dGxlvIoug6IVOUcNkvlfgEr5PiocWbti16AKQCryZmAErztwtE5sFAQ8V87CJmxodtrH2G6lzo5bs/QHcuQeeBkDG1CIopR/U3wOULFcQJ/Rzi/QmRwUC4x3BlFdh8hPVDQl6ApTmQbG9xIqAhQv2JrvPz0xJMT8MnRH6ncPCdpw== 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: On Fri, Sep 15, 2023 at 08:38:30PM +0200, Pankaj Raghav wrote: > From: Luis Chamberlain > > page cache is mapping min_folio_order aligned. Use mapping min_folio_order > to align the start_byte and end_byte in filemap_range_has_page(). What goes wrong if you don't? Seems to me like it should work. > Signed-off-by: Luis Chamberlain > --- > mm/filemap.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/mm/filemap.c b/mm/filemap.c > index 2c47729dc8b0..4dee24b5b61c 100644 > --- a/mm/filemap.c > +++ b/mm/filemap.c > @@ -477,9 +477,12 @@ EXPORT_SYMBOL(filemap_flush); > bool filemap_range_has_page(struct address_space *mapping, > loff_t start_byte, loff_t end_byte) > { > + unsigned int min_order = mapping_min_folio_order(mapping); > + unsigned int nrpages = 1UL << min_order; > + pgoff_t index = round_down(start_byte >> PAGE_SHIFT, nrpages); > struct folio *folio; > - XA_STATE(xas, &mapping->i_pages, start_byte >> PAGE_SHIFT); > - pgoff_t max = end_byte >> PAGE_SHIFT; > + XA_STATE(xas, &mapping->i_pages, index); > + pgoff_t max = round_down(end_byte >> PAGE_SHIFT, nrpages); > > if (end_byte < start_byte) > return false; > -- > 2.40.1 >