[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210616094915.34432-1-songmuchun@bytedance.com>
Date: Wed, 16 Jun 2021 17:49:12 +0800
From: Muchun Song <songmuchun@...edance.com>
To: mike.kravetz@...cle.com, akpm@...ux-foundation.org,
osalvador@...e.de, mhocko@...e.com, song.bao.hua@...ilicon.com,
david@...hat.com, chenhuang5@...wei.com, bodeddub@...zon.com,
corbet@....net
Cc: duanxiongchun@...edance.com, fam.zheng@...edance.com,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-mm@...ck.org, Muchun Song <songmuchun@...edance.com>
Subject: [PATCH v3 0/3] Split huge PMD mapping of vmemmap pages
In order to reduce the difficulty of code review in series[1]. We disable
huge PMD mapping of vmemmap pages when that feature is enabled. In this
series, we do not disable huge PMD mapping of vmemmap pages anymore. We
will split huge PMD mapping when needed. When HugeTLB pages are freed from
the pool we do not attempt coalasce and move back to a PMD mapping because
it is much more complex.
[1] https://lore.kernel.org/linux-doc/20210510030027.56044-1-songmuchun@bytedance.com/
Changelog in v3:
1. Collect Review-by from Mike.
2. Rename 'walked_pte' to 'nr_walked'.
3. Update commit log in patch 1.
4. Add a comment above vmemmap_remap_range() called from vmemmap_remap_free().
Thanks Mike's suggestions and review.
Changelog in v2:
1. Collect Review-by from Mike.
2. Remove helpers used to preallocate/free page tables for HugeTLB pages.
Thanks Mike's suggestions. It really eliminate a lot of code.
Muchun Song (3):
mm: sparsemem: split the huge PMD mapping of vmemmap pages
mm: sparsemem: use huge PMD mapping for vmemmap pages
mm: hugetlb: introduce CONFIG_HUGETLB_PAGE_FREE_VMEMMAP_DEFAULT_ON
Documentation/admin-guide/kernel-parameters.txt | 10 +-
arch/x86/mm/init_64.c | 8 +-
fs/Kconfig | 10 ++
include/linux/hugetlb.h | 25 +---
include/linux/mm.h | 4 +-
mm/hugetlb_vmemmap.c | 11 +-
mm/memory_hotplug.c | 2 +-
mm/sparse-vmemmap.c | 163 ++++++++++++++++++------
8 files changed, 155 insertions(+), 78 deletions(-)
--
2.11.0
Powered by blists - more mailing lists