Something went wrong. Try again.
(I'm so sorry!) Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061/* SPDX-License-Identifier: GPL-2.0 */#ifndef _LINUX_KHUGEPAGED_H#define _LINUX_KHUGEPAGED_H
#include <linux/mm.h>
extern unsigned int khugepaged_max_ptes_none __read_mostly;#ifdef CONFIG_TRANSPARENT_HUGEPAGEextern struct attribute_group khugepaged_attr_group;
extern int khugepaged_init(void);extern void khugepaged_destroy(void);extern int start_stop_khugepaged(void);extern void __khugepaged_enter(struct mm_struct *mm);extern void __khugepaged_exit(struct mm_struct *mm);extern void khugepaged_enter_vma(struct vm_area_struct *vma, vm_flags_t vm_flags);extern void khugepaged_min_free_kbytes_update(void);extern bool current_is_khugepaged(void);void collapse_pte_mapped_thp(struct mm_struct *mm, unsigned long addr, bool install_pmd);
static inline void khugepaged_fork(struct mm_struct *mm, struct mm_struct *oldmm){ if (mm_flags_test(MMF_VM_HUGEPAGE, oldmm)) __khugepaged_enter(mm);}
static inline void khugepaged_exit(struct mm_struct *mm){ if (mm_flags_test(MMF_VM_HUGEPAGE, mm)) __khugepaged_exit(mm);}#else /* CONFIG_TRANSPARENT_HUGEPAGE */static inline void khugepaged_fork(struct mm_struct *mm, struct mm_struct *oldmm){}static inline void khugepaged_exit(struct mm_struct *mm){}static inline void khugepaged_enter_vma(struct vm_area_struct *vma, vm_flags_t vm_flags){}static inline void collapse_pte_mapped_thp(struct mm_struct *mm, unsigned long addr, bool install_pmd){}
static inline void khugepaged_min_free_kbytes_update(void){}
static inline bool current_is_khugepaged(void){ return false;}#endif /* CONFIG_TRANSPARENT_HUGEPAGE */
#endif /* _LINUX_KHUGEPAGED_H */