summaryrefslogtreecommitdiffstats
path: root/include/linux/mm.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mm.h')
-rw-r--r--include/linux/mm.h30
1 files changed, 17 insertions, 13 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 5ddb11b2b4bb..0f671ef09eba 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -10,7 +10,6 @@
10#include <linux/list.h> 10#include <linux/list.h>
11#include <linux/mmzone.h> 11#include <linux/mmzone.h>
12#include <linux/rbtree.h> 12#include <linux/rbtree.h>
13#include <linux/prio_tree.h>
14#include <linux/atomic.h> 13#include <linux/atomic.h>
15#include <linux/debug_locks.h> 14#include <linux/debug_locks.h>
16#include <linux/mm_types.h> 15#include <linux/mm_types.h>
@@ -1355,22 +1354,27 @@ extern void zone_pcp_reset(struct zone *zone);
1355extern atomic_long_t mmap_pages_allocated; 1354extern atomic_long_t mmap_pages_allocated;
1356extern int nommu_shrink_inode_mappings(struct inode *, size_t, size_t); 1355extern int nommu_shrink_inode_mappings(struct inode *, size_t, size_t);
1357 1356
1358/* prio_tree.c */ 1357/* interval_tree.c */
1359void vma_prio_tree_add(struct vm_area_struct *, struct vm_area_struct *old); 1358void vma_interval_tree_add(struct vm_area_struct *vma,
1360void vma_prio_tree_insert(struct vm_area_struct *, struct prio_tree_root *); 1359 struct vm_area_struct *old,
1361void vma_prio_tree_remove(struct vm_area_struct *, struct prio_tree_root *); 1360 struct address_space *mapping);
1362struct vm_area_struct *vma_prio_tree_next(struct vm_area_struct *vma, 1361void vma_interval_tree_insert(struct vm_area_struct *node,
1363 struct prio_tree_iter *iter); 1362 struct rb_root *root);
1364 1363void vma_interval_tree_remove(struct vm_area_struct *node,
1365#define vma_prio_tree_foreach(vma, iter, root, begin, end) \ 1364 struct rb_root *root);
1366 for (prio_tree_iter_init(iter, root, begin, end), vma = NULL; \ 1365struct vm_area_struct *vma_interval_tree_iter_first(struct rb_root *root,
1367 (vma = vma_prio_tree_next(vma, iter)); ) 1366 unsigned long start, unsigned long last);
1367struct vm_area_struct *vma_interval_tree_iter_next(struct vm_area_struct *node,
1368 unsigned long start, unsigned long last);
1369
1370#define vma_interval_tree_foreach(vma, root, start, last) \
1371 for (vma = vma_interval_tree_iter_first(root, start, last); \
1372 vma; vma = vma_interval_tree_iter_next(vma, start, last))
1368 1373
1369static inline void vma_nonlinear_insert(struct vm_area_struct *vma, 1374static inline void vma_nonlinear_insert(struct vm_area_struct *vma,
1370 struct list_head *list) 1375 struct list_head *list)
1371{ 1376{
1372 vma->shared.vm_set.parent = NULL; 1377 list_add_tail(&vma->shared.nonlinear, list);
1373 list_add_tail(&vma->shared.vm_set.list, list);
1374} 1378}
1375 1379
1376/* mmap.c */ 1380/* mmap.c */