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 E0BC0C38142 for ; Tue, 24 Jan 2023 16:01:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7E2416B0071; Tue, 24 Jan 2023 11:01:45 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 791B96B0072; Tue, 24 Jan 2023 11:01:45 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6336C6B0073; Tue, 24 Jan 2023 11:01:45 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 511786B0071 for ; Tue, 24 Jan 2023 11:01:45 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 0B4C81A0BE4 for ; Tue, 24 Jan 2023 16:01:45 +0000 (UTC) X-FDA: 80390158170.03.390AF8D Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf02.hostedemail.com (Postfix) with ESMTP id 15B2E80066 for ; Tue, 24 Jan 2023 16:01:40 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=VTgexlAC; dmarc=none; spf=none (imf02.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=1674576101; 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=Hkh5K4jyAqgzmiFmFW2WqeTxVkkPEbaiESIFph5SX84=; b=RWHMQe4JPAZvOcwI63Ptm9i0dZQpnWaknpRrii06ZeDMsSzjrrBFNXkV8hftkMGcnt7+cp QKda4SS8YBN8kdmlRZYg3D2ME2k8YVXwp7DP3PZ/wrRUhpSl8GacVKrnbsDkC8V1MDV3To cOPlpcGFZxsbVOviCjgghhHaktilthk= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=VTgexlAC; dmarc=none; spf=none (imf02.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=1674576101; a=rsa-sha256; cv=none; b=Gs/qAn3AeR5zbXbCE01NPCvqx/BdSfHmP/6ei+ZxbhaNXtzQcL160IuKJOMYOxa7CR7seV RIhpHYOiceJiDR+inJzLUj3qYHSxdVs8XFE8ye1/MDmrA12vNzk88vH+1/B33xVPFX8jdQ EFn7j0uBfUJVU282GdCJC3cVkWedol8= 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=Hkh5K4jyAqgzmiFmFW2WqeTxVkkPEbaiESIFph5SX84=; b=VTgexlACJsRFoRVYF+HcNVD6vI Jfq7HG/1/yy9FJxu+FsgoHh7PziiZO+mPlmav5vO3e19WDSCFjNteLwdBwMeGdYO0ysTqJyWn4eSR DFec/qTuOJXWGal4t/DjpOVR5div5KjuaCpSOmR5YeQxuIYtJR4ceJyA5bgcyCp2EXjChcav2bzEG 0I8oGuiQnacigcIPfuKwySh7rE9jCdCBAho0lzxIPK+svC5i9BYNQoHDw1ZPhqyplJ+StoWxzF4sa NLrgKl7Oytdpn/7WK/wGtMydRkurhykTTccY90Nj95Sg0DwDzdCVHlSJ4bJnBR8BP+0Y/oPoZJx72 MJ+u+NXg==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1pKLjl-005AlI-Tb; Tue, 24 Jan 2023 16:01:30 +0000 Date: Tue, 24 Jan 2023 16:01:29 +0000 From: Matthew Wilcox To: Charan Teja Kalla Cc: akpm@linux-foundation.org, markhemm@googlemail.com, hughd@google.com, rientjes@google.com, surenb@google.com, shakeelb@google.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH RESEND V5,2/2] mm: shmem: implement POSIX_FADV_[WILL|DONT]NEED for shmem Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 15B2E80066 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: ctbnpf5aurgfaoo9kxq3skiqet7pn537 X-HE-Tag: 1674576100-606512 X-HE-Meta: U2FsdGVkX19U2sgrznSfV2MyZ58gNeSVcLpIi0O4BBSdZxDkwhAStUa/U4UK2ONYglO2GbAugIRb4nd0ARVQFJCmH3PWzsv6uVN3SU5y0hMAqP/+dCKWWf/pwjCcyTZiXJl2rTZWhbt4siCGZ631oQcxm/m2g6qKP5Gda77GXWC1PX10LvbKgPvDjI6u/aMor6U5PlwY+FMqIqhOm+j7mBWrTRUeLBaUBToeo5XKGTtXCPGjvxGNIIztkjqCZrHCfYy/6rBTl9BsxKCfGQIFTofIp26YzNWimw5DGcX5jxaIrSgDTeuUXE0A1bXy+omgX+xFrSB9sfeOy8uuofl74REaQb3R3sT+yq8+Pv0mQO4xC9aMjewjadyuoCHWIKVwOASmG8Gr/joALO3heu7bYGMnmoY1tlH9aYhx6Jqwfflnhue7+cPPaPLIvEGFtWbZPVGlTHMXPo9HR6XK2pu3dpxmKbNGyjz3NWC+XDHJI3wnmBoROySd4SfiUaQBlGQ0poCwbHo1GDJv4czP0R7N2dg9EhxaL+81wBshuw+1wfsscaGjL4aw7LEKeTmfPtx43Q61C3E9+R77VNJbZ63Cc8X6yrSozrT78nut+62kuwf2+7tJcLQGaa92qoJni2dspdUfsPr+QjdsKK1u4yOziILfj8WfvEya7kHYeOYVba/7aFBbAXUK9Y6wSEeDdVUF98mmrMV4cQak6KBHKmWYsnKHNwqmvqQMCsDJWxRuFjs0+SzGTrEc4lZv1wAw7+LDOFXYd5V7fEQK1C6njA1+zK0M1IJlp8FWqcsk7oTQ0P/jdYTIflcp2nHzXqrt0vnSwP4Omg2FK21VMp8aMaLdvnUxt6/WoHdYrFyDLFwKFgTQFtRid2O1vuVxqU+gSe7SN+vcqWYZetPCFVefJLQqHgmRMVk3G+cbjUr8jiq5FKaFmIKWhqCdbACMNV9M6Z4Kcw8RrJLVOZLZYF8vPM6 664K+Vxz zNowrsj+LMHJNMpAlxnj/YcW8xvba35n2OJ+M1dpmgyb9KRPSTW6kvQoQTh9F7LprlTNmHKeOT+qFjHKEk6suTQNhSzHgopEowFNd2grbLJm9hYTqTRyJ7AYWCT2ALfNWoi/D6dy1LRFhgGzC75TPPxVx0FZtdxSka0JfVANW6euPkdxipabt8NxjefB/Q8ydpLTdT230rqYOtWs= 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 Thu, Mar 31, 2022 at 12:08:21PM +0530, Charan Teja Kalla wrote: > +static void shmem_isolate_pages_range(struct address_space *mapping, loff_t start, > + loff_t end, struct list_head *list) > +{ > + XA_STATE(xas, &mapping->i_pages, start); > + struct page *page; > + > + rcu_read_lock(); > + xas_for_each(&xas, page, end) { > + if (xas_retry(&xas, page)) > + continue; > + if (xa_is_value(page)) > + continue; > + > + if (!get_page_unless_zero(page)) > + continue; > + if (isolate_lru_page(page)) { > + put_page(page); > + continue; > + } > + put_page(page); > + > + if (PageUnevictable(page) || page_mapcount(page) > 1) { > + putback_lru_page(page); > + continue; > + } > + > + /* > + * Prepare the page to be passed to the reclaim_pages(). > + * VM couldn't reclaim the page unless we clear PG_young. > + * Also, to ensure that the pages are written before > + * reclaiming, page is set to dirty. > + * Since we are not clearing the pte_young in the mapped > + * page pte's, its reclaim may not be attempted. > + */ > + ClearPageReferenced(page); > + test_and_clear_page_young(page); > + list_add(&page->lru, list); > + if (need_resched()) { > + xas_pause(&xas); > + cond_resched_rcu(); > + } > + } > + rcu_read_unlock(); > +} This entire function needs to be converted to use folios instead of pages if you're refreshing this patchset for current kernels.