Lines Matching full:shared

57  * That's why some trick involving shared.vm_set.parent is used for identifying
62 * vma->shared.vm_set.parent != NULL ==> a tree node
63 * vma->shared.vm_set.head != NULL ==> list of others mapping same range
64 * vma->shared.vm_set.head == NULL ==> no others map the same range
66 * vma->shared.vm_set.parent == NULL
67 * vma->shared.vm_set.head != NULL ==> list head of vmas mapping same range
68 * vma->shared.vm_set.head == NULL ==> a list node
82 vma->shared.vm_set.head = NULL; in vma_prio_tree_add()
83 vma->shared.vm_set.parent = NULL; in vma_prio_tree_add()
85 if (!old->shared.vm_set.parent) in vma_prio_tree_add()
86 list_add(&vma->shared.vm_set.list, in vma_prio_tree_add()
87 &old->shared.vm_set.list); in vma_prio_tree_add()
88 else if (old->shared.vm_set.head) in vma_prio_tree_add()
89 list_add_tail(&vma->shared.vm_set.list, in vma_prio_tree_add()
90 &old->shared.vm_set.head->shared.vm_set.list); in vma_prio_tree_add()
92 INIT_LIST_HEAD(&vma->shared.vm_set.list); in vma_prio_tree_add()
93 vma->shared.vm_set.head = old; in vma_prio_tree_add()
94 old->shared.vm_set.head = vma; in vma_prio_tree_add()
104 vma->shared.vm_set.head = NULL; in vma_prio_tree_insert()
106 ptr = raw_prio_tree_insert(root, &vma->shared.prio_tree_node); in vma_prio_tree_insert()
107 if (ptr != (struct prio_tree_node *) &vma->shared.prio_tree_node) { in vma_prio_tree_insert()
109 shared.prio_tree_node); in vma_prio_tree_insert()
119 if (!vma->shared.vm_set.head) { in vma_prio_tree_remove()
120 if (!vma->shared.vm_set.parent) in vma_prio_tree_remove()
121 list_del_init(&vma->shared.vm_set.list); in vma_prio_tree_remove()
123 raw_prio_tree_remove(root, &vma->shared.prio_tree_node); in vma_prio_tree_remove()
126 BUG_ON(vma->shared.vm_set.head->shared.vm_set.head != vma); in vma_prio_tree_remove()
127 if (vma->shared.vm_set.parent) { in vma_prio_tree_remove()
128 head = vma->shared.vm_set.head; in vma_prio_tree_remove()
129 if (!list_empty(&head->shared.vm_set.list)) { in vma_prio_tree_remove()
131 head->shared.vm_set.list.next, in vma_prio_tree_remove()
133 shared.vm_set.list); in vma_prio_tree_remove()
134 list_del_init(&head->shared.vm_set.list); in vma_prio_tree_remove()
138 raw_prio_tree_replace(root, &vma->shared.prio_tree_node, in vma_prio_tree_remove()
139 &head->shared.prio_tree_node); in vma_prio_tree_remove()
140 head->shared.vm_set.head = new_head; in vma_prio_tree_remove()
142 new_head->shared.vm_set.head = head; in vma_prio_tree_remove()
145 node = vma->shared.vm_set.head; in vma_prio_tree_remove()
146 if (!list_empty(&vma->shared.vm_set.list)) { in vma_prio_tree_remove()
148 vma->shared.vm_set.list.next, in vma_prio_tree_remove()
150 shared.vm_set.list); in vma_prio_tree_remove()
151 list_del_init(&vma->shared.vm_set.list); in vma_prio_tree_remove()
152 node->shared.vm_set.head = new_head; in vma_prio_tree_remove()
153 new_head->shared.vm_set.head = node; in vma_prio_tree_remove()
155 node->shared.vm_set.head = NULL; in vma_prio_tree_remove()
178 shared.prio_tree_node); in vma_prio_tree_next()
179 prefetch(next->shared.vm_set.head); in vma_prio_tree_next()
185 if (vma->shared.vm_set.parent) { in vma_prio_tree_next()
186 if (vma->shared.vm_set.head) { in vma_prio_tree_next()
187 next = vma->shared.vm_set.head; in vma_prio_tree_next()
188 prefetch(next->shared.vm_set.list.next); in vma_prio_tree_next()
192 next = list_entry(vma->shared.vm_set.list.next, in vma_prio_tree_next()
193 struct vm_area_struct, shared.vm_set.list); in vma_prio_tree_next()
194 if (!next->shared.vm_set.head) { in vma_prio_tree_next()
195 prefetch(next->shared.vm_set.list.next); in vma_prio_tree_next()
203 shared.prio_tree_node); in vma_prio_tree_next()
204 prefetch(next->shared.vm_set.head); in vma_prio_tree_next()