Contributors: 17
	  
        
          | Author | 
          Tokens | 
          Token Proportion | 
          Commits | 
          Commit Proportion | 
        
	  
	  
        
        
          | Andrea Arcangeli | 
          115 | 
          38.85% | 
          4 | 
          13.33% | 
        
        
          | Song Liu | 
          47 | 
          15.88% | 
          1 | 
          3.33% | 
        
        
          | Linus Torvalds (pre-git) | 
          22 | 
          7.43% | 
          6 | 
          20.00% | 
        
        
          | Vijay Balakrishna | 
          20 | 
          6.76% | 
          1 | 
          3.33% | 
        
        
          | Zach O'Keefe | 
          18 | 
          6.08% | 
          1 | 
          3.33% | 
        
        
          | Johannes Weiner | 
          15 | 
          5.07% | 
          1 | 
          3.33% | 
        
        
          | Kirill A. Shutemov | 
          13 | 
          4.39% | 
          2 | 
          6.67% | 
        
        
          | David Rientjes | 
          10 | 
          3.38% | 
          2 | 
          6.67% | 
        
        
          | Yang Shi | 
          8 | 
          2.70% | 
          2 | 
          6.67% | 
        
        
          | Balbir Singh | 
          7 | 
          2.36% | 
          2 | 
          6.67% | 
        
        
          | Srivatsa Vaddagiri | 
          6 | 
          2.03% | 
          1 | 
          3.33% | 
        
        
          | Christoph Hellwig | 
          5 | 
          1.69% | 
          1 | 
          3.33% | 
        
        
          | Linus Torvalds | 
          4 | 
          1.35% | 
          1 | 
          3.33% | 
        
        
          | Mel Gorman | 
          3 | 
          1.01% | 
          2 | 
          6.67% | 
        
        
          | Dhaval Giani | 
          1 | 
          0.34% | 
          1 | 
          3.33% | 
        
        
          | Usama Arif | 
          1 | 
          0.34% | 
          1 | 
          3.33% | 
        
        
          | Greg Kroah-Hartman | 
          1 | 
          0.34% | 
          1 | 
          3.33% | 
        
	  
	  
        
          | Total | 
          296 | 
           | 
          30 | 
           | 
	    
	  
    
 
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _LINUX_KHUGEPAGED_H
#define _LINUX_KHUGEPAGED_H
extern unsigned int khugepaged_max_ptes_none __read_mostly;
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
extern 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,
				 unsigned long vm_flags);
extern void khugepaged_min_free_kbytes_update(void);
extern bool current_is_khugepaged(void);
#ifdef CONFIG_SHMEM
extern int collapse_pte_mapped_thp(struct mm_struct *mm, unsigned long addr,
				   bool install_pmd);
#else
static inline int collapse_pte_mapped_thp(struct mm_struct *mm,
					  unsigned long addr, bool install_pmd)
{
	return 0;
}
#endif
static inline void khugepaged_fork(struct mm_struct *mm, struct mm_struct *oldmm)
{
	if (test_bit(MMF_VM_HUGEPAGE, &oldmm->flags))
		__khugepaged_enter(mm);
}
static inline void khugepaged_exit(struct mm_struct *mm)
{
	if (test_bit(MMF_VM_HUGEPAGE, &mm->flags))
		__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,
					unsigned long vm_flags)
{
}
static inline int collapse_pte_mapped_thp(struct mm_struct *mm,
					  unsigned long addr, bool install_pmd)
{
	return 0;
}
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 */