Lines Matching refs:xas

70 	XA_STATE_ORDER(xas, xa, index, order);  in xa_store_order()
74 xas_lock(&xas); in xa_store_order()
75 curr = xas_store(&xas, entry); in xa_store_order()
76 xas_unlock(&xas); in xa_store_order()
77 } while (xas_nomem(&xas, gfp)); in xa_store_order()
100 XA_STATE(xas, xa, 0); in check_xas_retry()
107 XA_BUG_ON(xa, xas_find(&xas, ULONG_MAX) != xa_mk_value(0)); in check_xas_retry()
109 XA_BUG_ON(xa, !xa_is_retry(xas_reload(&xas))); in check_xas_retry()
110 XA_BUG_ON(xa, xas_retry(&xas, NULL)); in check_xas_retry()
111 XA_BUG_ON(xa, xas_retry(&xas, xa_mk_value(0))); in check_xas_retry()
112 xas_reset(&xas); in check_xas_retry()
113 XA_BUG_ON(xa, xas.xa_node != XAS_RESTART); in check_xas_retry()
114 XA_BUG_ON(xa, xas_next_entry(&xas, ULONG_MAX) != xa_mk_value(0)); in check_xas_retry()
115 XA_BUG_ON(xa, xas.xa_node != NULL); in check_xas_retry()
121 XA_BUG_ON(xa, !xa_is_internal(xas_reload(&xas))); in check_xas_retry()
122 xas.xa_node = XAS_RESTART; in check_xas_retry()
123 XA_BUG_ON(xa, xas_next_entry(&xas, ULONG_MAX) != xa_mk_value(0)); in check_xas_retry()
127 xas_lock(&xas); in check_xas_retry()
128 xas_set(&xas, 0); in check_xas_retry()
129 xas_store(&xas, XA_RETRY_ENTRY); in check_xas_retry()
130 xas_set(&xas, 1); in check_xas_retry()
131 xas_store(&xas, XA_RETRY_ENTRY); in check_xas_retry()
133 xas_set(&xas, 0); in check_xas_retry()
134 xas_for_each(&xas, entry, ULONG_MAX) { in check_xas_retry()
135 xas_store(&xas, xa_mk_index(xas.xa_index)); in check_xas_retry()
137 xas_unlock(&xas); in check_xas_retry()
216 XA_STATE(xas, xa, i); in check_xa_mark_1()
226 xas_for_each(&xas, entry, ULONG_MAX) in check_xa_mark_1()
232 xas_set(&xas, 0); in check_xa_mark_1()
235 xas_for_each_marked(&xas, entry, ULONG_MAX, XA_MARK_0) in check_xa_mark_1()
252 XA_STATE(xas, xa, 0); in check_xa_mark_2()
259 xas_lock(&xas); in check_xa_mark_2()
260 xas_load(&xas); in check_xa_mark_2()
261 xas_init_marks(&xas); in check_xa_mark_2()
262 xas_unlock(&xas); in check_xa_mark_2()
270 xas_reset(&xas); in check_xa_mark_2()
272 xas_for_each_marked(&xas, entry, ULONG_MAX, XA_MARK_0) in check_xa_mark_2()
277 xas_lock(&xas); in check_xa_mark_2()
278 xas_for_each(&xas, entry, ULONG_MAX) { in check_xa_mark_2()
279 xas_init_marks(&xas); in check_xa_mark_2()
280 XA_BUG_ON(xa, !xa_get_mark(xa, xas.xa_index, XA_MARK_0)); in check_xa_mark_2()
281 XA_BUG_ON(xa, !xas_get_mark(&xas, XA_MARK_0)); in check_xa_mark_2()
283 xas_unlock(&xas); in check_xa_mark_2()
300 XA_STATE(xas, xa, 1); in check_xa_shrink()
313 xas_lock(&xas); in check_xa_shrink()
314 XA_BUG_ON(xa, xas_load(&xas) != xa_mk_value(1)); in check_xa_shrink()
315 node = xas.xa_node; in check_xa_shrink()
317 XA_BUG_ON(xa, xas_store(&xas, NULL) != xa_mk_value(1)); in check_xa_shrink()
319 XA_BUG_ON(xa, xas.xa_node != XAS_BOUNDS); in check_xa_shrink()
321 XA_BUG_ON(xa, xas_load(&xas) != NULL); in check_xa_shrink()
322 xas_unlock(&xas); in check_xa_shrink()
465 XA_STATE(xas, xa, 0); in check_xas_erase()
471 xas_set(&xas, j); in check_xas_erase()
473 xas_lock(&xas); in check_xas_erase()
474 xas_store(&xas, xa_mk_index(j)); in check_xas_erase()
475 xas_unlock(&xas); in check_xas_erase()
476 } while (xas_nomem(&xas, GFP_KERNEL)); in check_xas_erase()
479 xas_set(&xas, ULONG_MAX); in check_xas_erase()
481 xas_lock(&xas); in check_xas_erase()
482 xas_store(&xas, xa_mk_value(0)); in check_xas_erase()
483 xas_unlock(&xas); in check_xas_erase()
484 } while (xas_nomem(&xas, GFP_KERNEL)); in check_xas_erase()
486 xas_lock(&xas); in check_xas_erase()
487 xas_store(&xas, NULL); in check_xas_erase()
489 xas_set(&xas, 0); in check_xas_erase()
491 xas_for_each(&xas, entry, ULONG_MAX) { in check_xas_erase()
493 xas_store(&xas, NULL); in check_xas_erase()
496 xas_unlock(&xas); in check_xas_erase()
505 XA_STATE(xas, xa, index); in check_multi_store_1()
515 xas_lock(&xas); in check_multi_store_1()
516 XA_BUG_ON(xa, xas_store(&xas, xa_mk_index(min)) != xa_mk_index(index)); in check_multi_store_1()
517 xas_unlock(&xas); in check_multi_store_1()
530 XA_STATE(xas, xa, index); in check_multi_store_2()
533 xas_lock(&xas); in check_multi_store_2()
534 XA_BUG_ON(xa, xas_store(&xas, xa_mk_value(1)) != xa_mk_value(0)); in check_multi_store_2()
535 XA_BUG_ON(xa, xas.xa_index != index); in check_multi_store_2()
536 XA_BUG_ON(xa, xas_store(&xas, NULL) != xa_mk_value(1)); in check_multi_store_2()
537 xas_unlock(&xas); in check_multi_store_2()
544 XA_STATE(xas, xa, 0); in check_multi_store_3()
550 xas_lock(&xas); in check_multi_store_3()
551 xas_for_each(&xas, entry, ULONG_MAX) { in check_multi_store_3()
556 xas_set(&xas, index + 1); in check_multi_store_3()
557 xas_for_each(&xas, entry, ULONG_MAX) { in check_multi_store_3()
562 xas_unlock(&xas); in check_multi_store_3()
841 XA_STATE_ORDER(xas, xa, start, order); in __check_store_iter()
846 xas_lock(&xas); in __check_store_iter()
847 xas_for_each_conflict(&xas, entry) { in __check_store_iter()
853 xas_store(&xas, xa_mk_index(start)); in __check_store_iter()
854 xas_unlock(&xas); in __check_store_iter()
855 if (xas_nomem(&xas, GFP_KERNEL)) { in __check_store_iter()
859 XA_BUG_ON(xa, xas_error(&xas)); in __check_store_iter()
940 XA_STATE(xas, xa, j + index); in check_multi_find_2()
945 xas_for_each(&xas, entry, ULONG_MAX) { in check_multi_find_2()
1026 XA_STATE(xas, xa, 0); in check_find_3()
1034 xas_set(&xas, j); in check_find_3()
1035 xas_for_each_marked(&xas, entry, k, XA_MARK_0) in check_find_3()
1039 xas.xa_node != XAS_RESTART); in check_find_3()
1061 XA_STATE(xas, xa, 0); in xa_find_entry()
1066 xas_for_each(&xas, entry, ULONG_MAX) { in xa_find_entry()
1067 if (xas_retry(&xas, entry)) in xa_find_entry()
1074 xas_pause(&xas); in xa_find_entry()
1078 return entry ? xas.xa_index : -1; in xa_find_entry()
1115 XA_STATE(xas, xa, 0); in check_move_tiny()
1119 XA_BUG_ON(xa, xas_next(&xas) != NULL); in check_move_tiny()
1120 XA_BUG_ON(xa, xas_next(&xas) != NULL); in check_move_tiny()
1124 xas_set(&xas, 0); in check_move_tiny()
1125 XA_BUG_ON(xa, xas_next(&xas) != xa_mk_index(0)); in check_move_tiny()
1126 XA_BUG_ON(xa, xas_next(&xas) != NULL); in check_move_tiny()
1127 xas_set(&xas, 0); in check_move_tiny()
1128 XA_BUG_ON(xa, xas_prev(&xas) != xa_mk_index(0)); in check_move_tiny()
1129 XA_BUG_ON(xa, xas_prev(&xas) != NULL); in check_move_tiny()
1137 XA_STATE(xas, xa, 0); in check_move_small()
1145 void *entry = xas_next(&xas); in check_move_small()
1147 XA_BUG_ON(xa, xas.xa_node == XAS_RESTART); in check_move_small()
1148 XA_BUG_ON(xa, xas.xa_index != i); in check_move_small()
1154 xas_next(&xas); in check_move_small()
1155 XA_BUG_ON(xa, xas.xa_index != i); in check_move_small()
1158 void *entry = xas_prev(&xas); in check_move_small()
1161 XA_BUG_ON(xa, xas.xa_node == XAS_RESTART); in check_move_small()
1162 XA_BUG_ON(xa, xas.xa_index != i); in check_move_small()
1169 xas_set(&xas, ULONG_MAX); in check_move_small()
1170 XA_BUG_ON(xa, xas_next(&xas) != NULL); in check_move_small()
1171 XA_BUG_ON(xa, xas.xa_index != ULONG_MAX); in check_move_small()
1172 XA_BUG_ON(xa, xas_next(&xas) != xa_mk_value(0)); in check_move_small()
1173 XA_BUG_ON(xa, xas.xa_index != 0); in check_move_small()
1174 XA_BUG_ON(xa, xas_prev(&xas) != NULL); in check_move_small()
1175 XA_BUG_ON(xa, xas.xa_index != ULONG_MAX); in check_move_small()
1185 XA_STATE(xas, xa, (1 << 16) - 1); in check_move()
1193 void *entry = xas_prev(&xas); in check_move()
1196 XA_BUG_ON(xa, i != xas.xa_index); in check_move()
1199 XA_BUG_ON(xa, xas_prev(&xas) != NULL); in check_move()
1200 XA_BUG_ON(xa, xas.xa_index != ULONG_MAX); in check_move()
1203 void *entry = xas_next(&xas); in check_move()
1205 XA_BUG_ON(xa, i != xas.xa_index); in check_move()
1213 i = xas.xa_index; in check_move()
1217 void *entry = xas_prev(&xas); in check_move()
1223 XA_BUG_ON(xa, i != xas.xa_index); in check_move()
1226 XA_BUG_ON(xa, xas_prev(&xas) != NULL); in check_move()
1227 XA_BUG_ON(xa, xas.xa_index != ULONG_MAX); in check_move()
1230 void *entry = xas_next(&xas); in check_move()
1235 XA_BUG_ON(xa, i != xas.xa_index); in check_move()
1254 XA_STATE_ORDER(xas, xa, index, order); in xa_store_many_order()
1258 xas_lock(&xas); in xa_store_many_order()
1259 XA_BUG_ON(xa, xas_find_conflict(&xas)); in xa_store_many_order()
1260 xas_create_range(&xas); in xa_store_many_order()
1261 if (xas_error(&xas)) in xa_store_many_order()
1264 XA_BUG_ON(xa, xas_store(&xas, xa_mk_index(index + i))); in xa_store_many_order()
1265 xas_next(&xas); in xa_store_many_order()
1268 xas_unlock(&xas); in xa_store_many_order()
1269 } while (xas_nomem(&xas, GFP_KERNEL)); in xa_store_many_order()
1271 XA_BUG_ON(xa, xas_error(&xas)); in xa_store_many_order()
1299 XA_STATE(xas, NULL, 0); in check_create_range_3()
1300 xas_set_err(&xas, -EEXIST); in check_create_range_3()
1301 xas_create_range(&xas); in check_create_range_3()
1302 XA_BUG_ON(NULL, xas_error(&xas) != -EEXIST); in check_create_range_3()
1308 XA_STATE_ORDER(xas, xa, index, order); in check_create_range_4()
1309 unsigned long base = xas.xa_index; in check_create_range_4()
1314 xas_lock(&xas); in check_create_range_4()
1315 xas_create_range(&xas); in check_create_range_4()
1316 if (xas_error(&xas)) in check_create_range_4()
1319 void *old = xas_store(&xas, xa_mk_index(base + i)); in check_create_range_4()
1320 if (xas.xa_index == index) in check_create_range_4()
1324 xas_next(&xas); in check_create_range_4()
1327 xas_unlock(&xas); in check_create_range_4()
1328 } while (xas_nomem(&xas, GFP_KERNEL)); in check_create_range_4()
1330 XA_BUG_ON(xa, xas_error(&xas)); in check_create_range_4()
1474 XA_STATE(xas, node->array, 0); in shadow_remove()
1477 xas.xa_node = xa_parent_locked(node->array, node); in shadow_remove()
1478 xas.xa_offset = node->offset; in shadow_remove()
1479 xas.xa_shift = node->shift + XA_CHUNK_SHIFT; in shadow_remove()
1480 xas_set_update(&xas, test_update_node); in shadow_remove()
1481 xas_store(&xas, NULL); in shadow_remove()
1488 XA_STATE(xas, xa, index); in check_workingset()
1489 xas_set_update(&xas, test_update_node); in check_workingset()
1492 xas_lock(&xas); in check_workingset()
1493 xas_store(&xas, xa_mk_value(0)); in check_workingset()
1494 xas_next(&xas); in check_workingset()
1495 xas_store(&xas, xa_mk_value(1)); in check_workingset()
1496 xas_unlock(&xas); in check_workingset()
1497 } while (xas_nomem(&xas, GFP_KERNEL)); in check_workingset()
1501 xas_lock(&xas); in check_workingset()
1502 xas_next(&xas); in check_workingset()
1503 xas_store(&xas, &xas); in check_workingset()
1506 xas_store(&xas, xa_mk_value(2)); in check_workingset()
1507 xas_unlock(&xas); in check_workingset()
1525 XA_STATE(xas, xa, 1 << order); in check_account()
1529 xas_load(&xas); in check_account()
1530 XA_BUG_ON(xa, xas.xa_node->count == 0); in check_account()
1531 XA_BUG_ON(xa, xas.xa_node->count > (1 << order)); in check_account()
1532 XA_BUG_ON(xa, xas.xa_node->nr_values != 0); in check_account()
1537 XA_BUG_ON(xa, xas.xa_node->count != xas.xa_node->nr_values * 2); in check_account()
1540 XA_BUG_ON(xa, xas.xa_node->nr_values != 0); in check_account()