Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef __LINUX_VMACACHE_H
0003 #define __LINUX_VMACACHE_H
0004 
0005 #include <linux/sched.h>
0006 #include <linux/mm.h>
0007 
0008 static inline void vmacache_flush(struct task_struct *tsk)
0009 {
0010     memset(tsk->vmacache.vmas, 0, sizeof(tsk->vmacache.vmas));
0011 }
0012 
0013 extern void vmacache_update(unsigned long addr, struct vm_area_struct *newvma);
0014 extern struct vm_area_struct *vmacache_find(struct mm_struct *mm,
0015                             unsigned long addr);
0016 
0017 #ifndef CONFIG_MMU
0018 extern struct vm_area_struct *vmacache_find_exact(struct mm_struct *mm,
0019                           unsigned long start,
0020                           unsigned long end);
0021 #endif
0022 
0023 static inline void vmacache_invalidate(struct mm_struct *mm)
0024 {
0025     mm->vmacache_seqnum++;
0026 }
0027 
0028 #endif /* __LINUX_VMACACHE_H */