Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions | Variables
interval_tree.c File Reference
#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_chainanon_vma_interval_tree_iter_first (struct rb_root *root, unsigned long first, unsigned long last)
struct anon_vma_chainanon_vma_interval_tree_iter_next (struct anon_vma_chain *node, unsigned long first, unsigned long last)


struct vm_area_structprev
struct vm_area_struct struct
struct vm_area_structparent
unsigned long last = vma_last_pgoff(node)
 link = &parent->shared.linear.rb.rb_left
node shared linear rb_subtree_last = last
rb_link_node & node

Function Documentation

struct anon_vma_chain* anon_vma_interval_tree_iter_first ( struct rb_root root,
unsigned long  first,
unsigned long  last 

Definition at line 93 of file interval_tree.c.

struct anon_vma_chain* anon_vma_interval_tree_iter_next ( struct anon_vma_chain node,
unsigned long  first,
unsigned long  last 

Definition at line 100 of file interval_tree.c.

void anon_vma_interval_tree_remove ( struct anon_vma_chain node,
struct rb_root root 

Definition at line 86 of file interval_tree.c.

if ( !prev->shared.linear.rb.  rb_right)

Definition at line 39 of file interval_tree.c.

if ( )

Definition at line 45 of file interval_tree.c.

INTERVAL_TREE_DEFINE ( struct vm_area_struct  ,
shared.linear.  rb,
unsigned  long,
shared.linear.  rb_subtree_last,
vma_start_pgoff  ,
vma_last_pgoff  ,
INTERVAL_TREE_DEFINE ( struct anon_vma_chain  ,
rb  ,
unsigned  long,
rb_subtree_last  ,
avc_start_pgoff  ,
avc_last_pgoff  ,
static  inline,
VM_BUG_ON ( vma_start_pgoff(node)!  = vma_start_pgoff(prev))

Variable Documentation

Initial value:
parent = rb_entry(prev->shared.linear.rb.rb_right,
struct vm_area_struct, shared.linear.rb)

Definition at line 42 of file interval_tree.c.

unsigned long last = vma_last_pgoff(node)

Definition at line 35 of file interval_tree.c.

Definition at line 53 of file interval_tree.c.

rb_insert_augmented& node

Definition at line 57 of file interval_tree.c.

Definition at line 34 of file interval_tree.c.

Definition at line 30 of file interval_tree.c.

node shared linear rb_subtree_last = last

Definition at line 56 of file interval_tree.c.

struct rb_root* root
Initial value:
struct rb_node **link

Definition at line 32 of file interval_tree.c.