Merge branch 'akpm' (patches from Andrew)
Merge more updates from Andrew Morton: "More mm/ work, plenty more to come Subsystems affected by this patch series: slub, memcg, gup, kasan, pagealloc, hugetlb, vmscan, tools, mempolicy, memblock, hugetlbfs, thp, mmap, kconfig" * akpm: (131 commits) arm64: mm: use ARCH_HAS_DEBUG_WX instead of arch defined x86: mm: use ARCH_HAS_DEBUG_WX instead of arch defined riscv: support DEBUG_WX mm: add DEBUG_WX support drivers/base/memory.c: cache memory blocks in xarray to accelerate lookup mm/thp: rename pmd_mknotpresent() as pmd_mkinvalid() powerpc/mm: drop platform defined pmd_mknotpresent() mm: thp: don't need to drain lru cache when splitting and mlocking THP hugetlbfs: get unmapped area below TASK_UNMAPPED_BASE for hugetlbfs sparc32: register memory occupied by kernel as memblock.memory include/linux/memblock.h: fix minor typo and unclear comment mm, mempolicy: fix up gup usage in lookup_node tools/vm/page_owner_sort.c: filter out unneeded line mm: swap: memcg: fix memcg stats for huge pages mm: swap: fix vmstats for huge pages mm: vmscan: limit the range of LRU type balancing mm: vmscan: reclaim writepage is IO cost mm: vmscan: determine anon/file pressure balance at the reclaim root mm: balance LRU lists based on relative thrashing mm: only count actual rotations as LRU reclaim cost ...
This commit is contained in:
@@ -518,8 +518,8 @@ int huge_add_to_page_cache(struct page *page, struct address_space *mapping,
|
||||
int __init __alloc_bootmem_huge_page(struct hstate *h);
|
||||
int __init alloc_bootmem_huge_page(struct hstate *h);
|
||||
|
||||
void __init hugetlb_bad_size(void);
|
||||
void __init hugetlb_add_hstate(unsigned order);
|
||||
bool __init arch_hugetlb_valid_size(unsigned long size);
|
||||
struct hstate *size_to_hstate(unsigned long size);
|
||||
|
||||
#ifndef HUGE_MAX_HSTATE
|
||||
@@ -590,6 +590,20 @@ static inline unsigned int blocks_per_huge_page(struct hstate *h)
|
||||
|
||||
#include <asm/hugetlb.h>
|
||||
|
||||
#ifndef is_hugepage_only_range
|
||||
static inline int is_hugepage_only_range(struct mm_struct *mm,
|
||||
unsigned long addr, unsigned long len)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#define is_hugepage_only_range is_hugepage_only_range
|
||||
#endif
|
||||
|
||||
#ifndef arch_clear_hugepage_flags
|
||||
static inline void arch_clear_hugepage_flags(struct page *page) { }
|
||||
#define arch_clear_hugepage_flags arch_clear_hugepage_flags
|
||||
#endif
|
||||
|
||||
#ifndef arch_make_huge_pte
|
||||
static inline pte_t arch_make_huge_pte(pte_t entry, struct vm_area_struct *vma,
|
||||
struct page *page, int writable)
|
||||
|
Reference in New Issue
Block a user