Re: [PATCH 02/11] mm/sparse-vmemmap: factor out shared vmemmap tail page allocation
Qi Zheng <[email protected]>
| Newsgroups | gmane.linux.ports.ppc.embedded |
|---|---|
| Message-ID | <b59449c6-d2b5-4b0b-ada4-7630e060ee7a__46743.5802494705$1788231972$gmane$org@linux.dev> |
On 8/31/26 3:53 PM, Muchun Song wrote: > HugeTLB and sparse-vmemmap each have their own helper to allocate the > shared vmemmap tail page used by vmemmap optimization. > > Factor that logic into a common vmemmap_shared_tail_page() helper. It > allocates the page through vmemmap_alloc_block(), and uses cmpxchg() > to install the per-zone shared page. > > Expose zone->vmemmap_tails under CONFIG_SPARSEMEM_VMEMMAP to match the > shared helper's build condition. This avoids a > !CONFIG_SPARSEMEM_VMEMMAP_OPTIMIZATION stub; when optimization is > disabled, the array has no entries and the compiler folds away the unused > paths, so no storage or runtime overhead is added. > > This removes duplicate allocation logic while still handling both the > early boot and runtime paths through the same helper. > > Signed-off-by: Muchun Song <[email protected]> > --- > include/linux/mmzone.h | 2 +- > mm/hugetlb_vmemmap.c | 28 +--------------- > mm/sparse-vmemmap.c | 74 +++++++++++++++++------------------------- > mm/sparse.h | 1 + > 4 files changed, 33 insertions(+), 72 deletions(-) > Acked-by: Qi Zheng <[email protected]> Thanks, Qi