From patchwork Thu Jul 27 14:18:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ryan Roberts X-Patchwork-Id: 126990 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp1137324vqo; Thu, 27 Jul 2023 07:24:38 -0700 (PDT) X-Google-Smtp-Source: APBJJlEIjyuzPTY2Wv1YkDS1oYooHOQKdxH0yXpZPYjm3fw1HlPcLS1Xe+G+/ynnrWWOuIgdH3Kq X-Received: by 2002:a17:902:ecd1:b0:1ac:3605:97ec with SMTP id a17-20020a170902ecd100b001ac360597ecmr4341853plh.62.1690467877756; Thu, 27 Jul 2023 07:24:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690467877; cv=none; d=google.com; s=arc-20160816; b=O/KDTlpAK7gIHy6nmxIvw17JHKbSfr34qYRbLqChV4u0IpHKOhAKJE7ajzV53d6QN4 v5T/qWwGFsGbXFSxWCL/V/QNsDZLDfqs7Hw//9eXlQ5SUrul7ItsXRDayDN4j6rjHtnX 8DtU/oUDAT0RJKawwHxnpOetgXRyEB9JCM05yIgbxne4ULcIA1zrbVi+uCXJQvGiBZzb YyzDCKRpk3TXxFhtHo8olncKWuZQ0aCmtL6rC2aEV/j1hx+0WKFtKpxAJ3MQw67dfCJZ 6N9cglbzLEGnab8secOiBSiWT8cdhFSHwez3YwOqzr/Ht4BUAayH8CnDe+yFaAwu9Rn9 siPg== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t5-20020a1709027fc500b001aaed82c2afsi1394323plb.171.2023.07.27.07.24.13; Thu, 27 Jul 2023 07:24:37 -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 S233558AbjG0OSz (ORCPT + 99 others); Thu, 27 Jul 2023 10:18:55 -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 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772584045375689149 X-GMAIL-MSGID: 1772584045375689149 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); }