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 X-Spam-Level: X-Spam-Status: No, score=-13.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 25FA2C433ED for ; Wed, 19 May 2021 14:44:40 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 858786109F for ; Wed, 19 May 2021 14:44:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 858786109F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=bytedance.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 13F6B6B006E; Wed, 19 May 2021 10:44:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0EEEC6B0071; Wed, 19 May 2021 10:44:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E83296B0072; Wed, 19 May 2021 10:44:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0237.hostedemail.com [216.40.44.237]) by kanga.kvack.org (Postfix) with ESMTP id B050A6B006E for ; Wed, 19 May 2021 10:44:38 -0400 (EDT) Received: from smtpin01.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 56918AC0F for ; Wed, 19 May 2021 14:44:38 +0000 (UTC) X-FDA: 78158251836.01.69C75BF Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com [209.85.215.172]) by imf27.hostedemail.com (Postfix) with ESMTP id 04D5D801910F for ; Wed, 19 May 2021 14:44:35 +0000 (UTC) Received: by mail-pg1-f172.google.com with SMTP id t30so9604774pgl.8 for ; Wed, 19 May 2021 07:44:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=PQ207tTDtBZqiTJyVjjPk14vSj+OnERA+lKMgEJtpXM=; b=DmVjnx1ZjRs032XlqXxHAiloqsPT9uEgH+ZCFtXxO75WGMQ+yIVMOREjFBSfKdcPk6 amm9Jf9y8wOzehHucLNyu+hRK/3aPuEiUJZHLtoItHDP8fRVJSJFLUQ4P/YbAkjH3QMG UovuxGYqAl2oJRwqdws9IwP8HVB0wffHwkmBCTbVQRKN54vInasfK0ogNGskkt8WZ1MY 3CnXrbHOhI61yTSB8kdAVU/x1TgZfLanCDsTvPnZskzKsbHu5Z0i+C/Nmp0F3RiT0cYy /4XQhLpTJ9gQz6JnyVYEcZnNfGR4zZ/cWWomewk+lE9EebuhqHLpctOO4xH5PctsNoO/ yKAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=PQ207tTDtBZqiTJyVjjPk14vSj+OnERA+lKMgEJtpXM=; b=NeLsn61jCsIBIbBYewpFl7W77fWkLQgzkySrjYaGWHyeqhKE98E5vkh57/uOq2aSZ3 BKVPUDRV0aoOAggRaXpj3/MyDGZuPAA2KrzG1Pyw+ITBlkzN6hfHt3Wtauq2kcEUBZZk guq6H02F/ohsYQq3U/KlaYlOal9fwppCrTUHdgBKhGX1e26OnVKblCcItFNFL/9T+Ta1 w19x1o4rmNSOoq+HDRv6ka/m8ppXDx2Rp0/3V0vvRuK8YMgqXRtPbyvllavX0XO+aAuR /+sRkw0Uc/lvOYcU/F6XO1WGNQ5pWVgCBnrwzzK1nmeto6lVyhqMgtKpksK3HLYlH0uc jFBA== X-Gm-Message-State: AOAM533NTYh0XEQ2Qj2Oyf8ls2kUYbBSv4EB2DuSBboTCBk9VhaJkYU9 G+/j0dZZCIcRWu31XON+eQn/CXmfXCDwr5NXYqQwxg== X-Google-Smtp-Source: ABdhPJze7UFgGu+Z4sJ8Sncz473jeSL8WSIjg2sIlnLePNc1MquvL8NNJZ3sUN2wqRSjZXR6j3kclr8T/60SI2r5/Qc= X-Received: by 2002:a05:6a00:8c7:b029:20f:1cf4:d02 with SMTP id s7-20020a056a0008c7b029020f1cf40d02mr10985559pfu.49.1621435476007; Wed, 19 May 2021 07:44:36 -0700 (PDT) MIME-Version: 1.0 References: <20210518091826.36937-1-songmuchun@bytedance.com> <5ae7a4be-dfd5-faf6-a75c-a2adf5a344b2@arm.com> In-Reply-To: <5ae7a4be-dfd5-faf6-a75c-a2adf5a344b2@arm.com> From: Muchun Song Date: Wed, 19 May 2021 22:43:59 +0800 Message-ID: Subject: Re: [External] Re: [PATCH] arm64: mm: hugetlb: add support for free vmemmap pages of HugeTLB To: Anshuman Khandual Cc: Will Deacon , Andrew Morton , David Hildenbrand , "Bodeddula, Balasubramaniam" , Oscar Salvador , Mike Kravetz , David Rientjes , linux-arm-kernel@lists.infradead.org, LKML , Linux Memory Management List , Xiongchun duan , fam.zheng@bytedance.com, zhengqi.arch@bytedance.com Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 04D5D801910F Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=bytedance-com.20150623.gappssmtp.com header.s=20150623 header.b=DmVjnx1Z; spf=pass (imf27.hostedemail.com: domain of songmuchun@bytedance.com designates 209.85.215.172 as permitted sender) smtp.mailfrom=songmuchun@bytedance.com; dmarc=pass (policy=none) header.from=bytedance.com X-Rspamd-Server: rspam04 X-Stat-Signature: wdu49c5g4dx1a5y6q4pjunmz9hra4gxq X-HE-Tag: 1621435475-73162 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 Wed, May 19, 2021 at 8:35 PM Anshuman Khandual wrote: > > > On 5/18/21 2:48 PM, Muchun Song wrote: > > The preparation of supporting freeing vmemmap associated with each > > HugeTLB page is ready, so we can support this feature for arm64. > > > > Signed-off-by: Muchun Song > > --- > > arch/arm64/mm/mmu.c | 5 +++++ > > fs/Kconfig | 2 +- > > 2 files changed, 6 insertions(+), 1 deletion(-) > > > > diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c > > index 5d37e461c41f..967b01ce468d 100644 > > --- a/arch/arm64/mm/mmu.c > > +++ b/arch/arm64/mm/mmu.c > > @@ -23,6 +23,7 @@ > > #include > > #include > > #include > > +#include > > > > #include > > #include > > @@ -1134,6 +1135,10 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node, > > pmd_t *pmdp; > > > > WARN_ON((start < VMEMMAP_START) || (end > VMEMMAP_END)); > > + > > + if (is_hugetlb_free_vmemmap_enabled() && !altmap) > > + return vmemmap_populate_basepages(start, end, node, altmap); > > + > > do { > > next = pmd_addr_end(addr, end); > > > > diff --git a/fs/Kconfig b/fs/Kconfig > > index 6ce6fdac00a3..02c2d3bf1cb8 100644 > > --- a/fs/Kconfig > > +++ b/fs/Kconfig > > @@ -242,7 +242,7 @@ config HUGETLB_PAGE > > > > config HUGETLB_PAGE_FREE_VMEMMAP > > def_bool HUGETLB_PAGE > > - depends on X86_64 > > + depends on X86_64 || ARM64 > > depends on SPARSEMEM_VMEMMAP > > > > config MEMFD_CREATE > > > > How does this interact with HugeTLB migration as such which might iterate > over individual constituent struct pages (overriding the same struct page > for all tail pages when this feature is enabled). A simple test involving > madvise(ptr, size, MADV_SOFT_OFFLINE) fails on various HugeTLB page sizes, > with this patch applied. Although I have not debugged this any further. It is weird. Actually, I didn't change the behaviour of the page migration. This feature is default off. If you want to enable this feature, you can pass "hugetlb_free_vmemmap=on" to the boot cmdline. Do you mean that the success rate of page migration will decrease when you enable this feature? The rate will increase if disbale. Right? Thanks. > > Soft offlining pfn 0x101c00 at process virtual address 0xffff7fa00000 > soft offline: 0x101c00: hugepage migration failed 1, type bfffc0000010006 > (referenced|uptodate|head|node=0|zone=2|lastcpupid=0xffff) >