Received: by 2002:a05:6358:c692:b0:131:369:b2a3 with SMTP id fe18csp2458540rwb; Thu, 27 Jul 2023 07:31:56 -0700 (PDT) X-Google-Smtp-Source: APBJJlF4D1UZRW51QofeEM97nbXV2o3n42OxsA6RqHL7XCE5OxxLWoJZwLljRkITxaUPCEb6AZX8 X-Received: by 2002:a2e:8883:0:b0:2b9:b693:c906 with SMTP id k3-20020a2e8883000000b002b9b693c906mr1847151lji.27.1690468316220; Thu, 27 Jul 2023 07:31:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690468316; cv=none; d=google.com; s=arc-20160816; b=CPNNeSfShfyiKYumMagQhc0G3ptvwaJ225h1XjwgdWxWOEe8a0THTguaNH5HwdgIjp 9tdC+feKY0BFP17tgz0Jf9eZBBj7TpEcUokp1hEW4J3kiswbUqYmHqP+wfSdk5E2f2ng MkubkmEDW6ag08S1/OQqov5XzRTOMkRtVsvw5mP5xVw42JjKa4dzo7SrVhbD2b8ZYmxI iCwt97veG9RrO4DNJyRaCeLaGQfTlTgNGDqi7U+BmDsCRsF/ym4cMdWK3w0wYqMKDNla ySdMdewNHcpFOvh18mx2kK2LWGWMi2ID59bYBInIbtLQme6JOt2jUWuGo5hM7oxSeoyv J9QA== 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=rUOdZ1rV05MjXD37NRPw+6Wt+asmOiidzfpNzlU6HPE=; b=pgBnW5v00GNtkaHzgqzViPhgw+/pIMmpXjFVV3q5tvlALAuP4OZdj2bjm4TziyDv3+ UyEc9N2ryo7XG+ODlk58Dm3/B6nVjhXY3p32S+slgHJhHiv4tB+Px74JXEIsbKpuwT5r JRTPKfXgWhFB8tUDcRkFr2+SdlOgUf5krLcGRTdZS4CxoQiJ1QNDeoggWZlCK9UyRQN2 JfQVL/X1oU35d4+4ekiwOqjkxwl1+aZP+27ch2Q4TkCCqxiX6Lqg+xQpjFyz0SatINev Z1CV/0eUnRh+JyLEEQZ04i121hf6yk+PcshRqWjo5ifqifJR4oXfaRgKpKRHA5spWBA6 odfw== 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 qk29-20020a170906d9dd00b0098e422d6759si1072367ejb.554.2023.07.27.07.31.30; Thu, 27 Jul 2023 07:31:56 -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 S233537AbjG0OSy (ORCPT + 99 others); Thu, 27 Jul 2023 10:18:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52854 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233509AbjG0OSw (ORCPT ); Thu, 27 Jul 2023 10:18:52 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id E59BC122 for ; Thu, 27 Jul 2023 07:18:51 -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 92B98FEC; Thu, 27 Jul 2023 07:19:34 -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 8D9823F6C4; Thu, 27 Jul 2023 07:18:49 -0700 (PDT) From: Ryan Roberts To: Andrew Morton , Matthew Wilcox , Yin Fengwei , David Hildenbrand , Yu Zhao , Yang Shi , "Huang, Ying" , Zi Yan , Nathan Chancellor , Alexander Gordeev , Gerald Schaefer Cc: Ryan Roberts , linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH v4 1/3] mm: Allow deferred splitting of arbitrary large anon folios Date: Thu, 27 Jul 2023 15:18:35 +0100 Message-Id: <20230727141837.3386072-2-ryan.roberts@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230727141837.3386072-1-ryan.roberts@arm.com> References: <20230727141837.3386072-1-ryan.roberts@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, 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