#include <linux/mm.h>
#include <linux/fs.h>
#include <linux/rmap.h>
#include <linux/interval_tree_generic.h>
Go to the source code of this file.
|
| INTERVAL_TREE_DEFINE (struct vm_area_struct, shared.linear.rb, unsigned long, shared.linear.rb_subtree_last, vma_start_pgoff, vma_last_pgoff,, vma_interval_tree) void vma_interval_tree_insert_after(struct vm_area_struct *node |
|
| VM_BUG_ON (vma_start_pgoff(node)!=vma_start_pgoff(prev)) |
|
| if (!prev->shared.linear.rb.rb_right) |
|
| if () |
|
| INTERVAL_TREE_DEFINE (struct anon_vma_chain, rb, unsigned long, rb_subtree_last, avc_start_pgoff, avc_last_pgoff, static inline, __anon_vma_interval_tree) void anon_vma_interval_tree_insert(struct anon_vma_chain *node |
|
void | anon_vma_interval_tree_remove (struct anon_vma_chain *node, struct rb_root *root) |
|
struct anon_vma_chain * | anon_vma_interval_tree_iter_first (struct rb_root *root, unsigned long first, unsigned long last) |
|
struct anon_vma_chain * | anon_vma_interval_tree_iter_next (struct anon_vma_chain *node, unsigned long first, unsigned long last) |
|
if |
( |
!prev->shared.linear.rb. |
rb_right | ) |
|
INTERVAL_TREE_DEFINE |
( |
struct vm_area_struct |
, |
|
|
shared.linear. |
rb, |
|
|
unsigned |
long, |
|
|
shared.linear. |
rb_subtree_last, |
|
|
vma_start_pgoff |
, |
|
|
vma_last_pgoff |
, |
|
|
vma_interval_tree |
|
|
) |
| |
VM_BUG_ON |
( |
vma_start_pgoff(node)! |
= vma_start_pgoff(prev) | ) |
|
unsigned long last = vma_last_pgoff(node) |
rb_insert_augmented& node |