mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-28 07:13:34 +00:00
5981611d0a
Patch series "cleanup hugetlb_vmemmap". The word of "free" is not expressive enough to express the feature of optimizing vmemmap pages associated with each HugeTLB, rename this keywork to "optimize" is more clear. In this series, cheanup related codes to make it more clear and expressive. This is suggested by David. This patch (of 3): The word of "free" is not expressive enough to express the feature of optimizing vmemmap pages associated with each HugeTLB, rename this keywork to "optimize". And some function names are prefixed with "huge_page" instead of "hugetlb", it is easily to be confused with THP. In this patch, cheanup related functions to make code more clear and expressive. Link: https://lkml.kernel.org/r/20220404074652.68024-1-songmuchun@bytedance.com Link: https://lkml.kernel.org/r/20220404074652.68024-2-songmuchun@bytedance.com Signed-off-by: Muchun Song <songmuchun@bytedance.com> Cc: David Hildenbrand <david@redhat.com> Cc: Mike Kravetz <mike.kravetz@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* Optimize vmemmap pages associated with HugeTLB
|
|
*
|
|
* Copyright (c) 2020, Bytedance. All rights reserved.
|
|
*
|
|
* Author: Muchun Song <songmuchun@bytedance.com>
|
|
*/
|
|
#ifndef _LINUX_HUGETLB_VMEMMAP_H
|
|
#define _LINUX_HUGETLB_VMEMMAP_H
|
|
#include <linux/hugetlb.h>
|
|
|
|
#ifdef CONFIG_HUGETLB_PAGE_FREE_VMEMMAP
|
|
int hugetlb_vmemmap_alloc(struct hstate *h, struct page *head);
|
|
void hugetlb_vmemmap_free(struct hstate *h, struct page *head);
|
|
void hugetlb_vmemmap_init(struct hstate *h);
|
|
|
|
/*
|
|
* How many vmemmap pages associated with a HugeTLB page that can be
|
|
* optimized and freed to the buddy allocator.
|
|
*/
|
|
static inline unsigned int hugetlb_optimize_vmemmap_pages(struct hstate *h)
|
|
{
|
|
return h->optimize_vmemmap_pages;
|
|
}
|
|
#else
|
|
static inline int hugetlb_vmemmap_alloc(struct hstate *h, struct page *head)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline void hugetlb_vmemmap_free(struct hstate *h, struct page *head)
|
|
{
|
|
}
|
|
|
|
static inline void hugetlb_vmemmap_init(struct hstate *h)
|
|
{
|
|
}
|
|
|
|
static inline unsigned int hugetlb_optimize_vmemmap_pages(struct hstate *h)
|
|
{
|
|
return 0;
|
|
}
|
|
#endif /* CONFIG_HUGETLB_PAGE_FREE_VMEMMAP */
|
|
#endif /* _LINUX_HUGETLB_VMEMMAP_H */
|