Received: by 2002:a05:6358:7058:b0:131:369:b2a3 with SMTP id 24csp9440324rwp; Thu, 20 Jul 2023 05:09:41 -0700 (PDT) X-Google-Smtp-Source: APBJJlEF7E8t8wmfGZXumlvbMrp0pB1NB3eJmMZrFligG7vOrpNBYk0AsQ/nK+euhFaFlh8D9WRt X-Received: by 2002:a05:6a20:7487:b0:126:92de:b893 with SMTP id p7-20020a056a20748700b0012692deb893mr25299836pzd.31.1689854981192; Thu, 20 Jul 2023 05:09:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689854981; cv=none; d=google.com; s=arc-20160816; b=MWyUNvgD8uS54KW4q1ByeTfOD71DnxdEQkx6MXBBEO1fSlJqhwKoIG5lIcxNcUnzih qglRq4CukQs/bdzhEIKjsm3amowmez+fJX06LXAwQ+BYpKqruiG6r8tuRpKcuQxVagne HeJNaT6YAfmKUVRA/hpAe+FZsYHAh1KdDKlp2oq1lPVdJi+BpYTp6PzCr+xX6NGPfYVE 8zmct+IpQdk+c6W/XKBE1ugnrL8zKto4OkQIbrru+GQ6O5YgczcTbozJg/vvk1wABc15 ZXqW1p1ViUTOfxKcLgQIK5Jcm5icmaO1xD8NIMkI+9dQj+wovTnb/29Sq/NzLjlty0qb HgPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=hNL1y3SfunmfxSUTvIEH48/V1tE9GSr47MXZQeskAHk=; fh=THi7eKCjaWcVibUnyL3CTjC3PwRMYqk9JChFkSe1vn0=; b=g0xiFwCd8xU7P5A6zKiVxcFqFVQ51WwzSt2qUANd7jWAFl7w8K5VB4Ox3Gwhv/QxnP LR5oYbosihFtiE3lzyooTA2AQh9y+fBwDx4mHst5qkezqFaKEwosxpTlPuamso+owSx3 wnF1JaoiX051i6jE8MPasK0eEXW/ayiUzVG49fiyUChv5J3qhHLvHnc6WcKrrgxUovQU NEohwwJXA9pFxtAAvTVq4S6eMKqD9yy7lCuCOt8J0zkjUSgcI5P2t/vRMm1rKT64mPNu LOyeEGVxO7mxWx3ujl2ot/9kOz1aLM0o1PWzsNkAYGAsmOuA+lF1o0XmzksqctITNry/ cC0w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y1-20020a634b01000000b0055392732f64si742756pga.498.2023.07.20.05.09.18; Thu, 20 Jul 2023 05:09:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231347AbjGTLaM (ORCPT + 99 others); Thu, 20 Jul 2023 07:30:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37064 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231338AbjGTLaL (ORCPT ); Thu, 20 Jul 2023 07:30:11 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 816F4B7 for ; Thu, 20 Jul 2023 04:30:10 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 8F7172F4; Thu, 20 Jul 2023 04:30:53 -0700 (PDT) Received: from e125769.cambridge.arm.com (e125769.cambridge.arm.com [10.1.196.26]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id AD2953F6C4; Thu, 20 Jul 2023 04:30:08 -0700 (PDT) From: Ryan Roberts To: Andrew Morton , Matthew Wilcox , Yin Fengwei , David Hildenbrand , Yu Zhao , Yang Shi , "Huang, Ying" , Zi Yan Cc: Ryan Roberts , linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH v3 1/3] mm: Allow deferred splitting of arbitrary large anon folios Date: Thu, 20 Jul 2023 12:29:53 +0100 Message-Id: <20230720112955.643283-2-ryan.roberts@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230720112955.643283-1-ryan.roberts@arm.com> References: <20230720112955.643283-1-ryan.roberts@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In preparation for the introduction of large folios for anonymous memory, we would like to be able to split them when they have unmapped subpages, in order to free those unused pages under memory pressure. So remove the artificial requirement that the large folio needed to be at least PMD-sized. Reviewed-by: Yu Zhao Reviewed-by: Yin Fengwei Reviewed-by: Matthew Wilcox (Oracle) Reviewed-by: David Hildenbrand Signed-off-by: Ryan Roberts --- mm/rmap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/rmap.c b/mm/rmap.c index 0c0d8857dfce..eb0bb00dae34 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -1426,11 +1426,11 @@ void page_remove_rmap(struct page *page, struct vm_area_struct *vma, __lruvec_stat_mod_folio(folio, idx, -nr); /* - * Queue anon THP for deferred split if at least one + * Queue anon large folio for deferred split if at least one * page of the folio is unmapped and at least one page * is still mapped. */ - if (folio_test_pmd_mappable(folio) && folio_test_anon(folio)) + if (folio_test_large(folio) && folio_test_anon(folio)) if (!compound || nr < nr_pmdmapped) deferred_split_folio(folio); } -- 2.25.1