Lines Matching refs:xas

74 	XA_STATE_ORDER(xas, xa, index, order);  in xa_store_order()
78 xas_lock(&xas); in xa_store_order()
79 curr = xas_store(&xas, entry); in xa_store_order()
80 xas_unlock(&xas); in xa_store_order()
81 } while (xas_nomem(&xas, gfp)); in xa_store_order()
104 XA_STATE(xas, xa, 0); in check_xas_retry()
111 XA_BUG_ON(xa, xas_find(&xas, ULONG_MAX) != xa_mk_value(0)); in check_xas_retry()
113 XA_BUG_ON(xa, !xa_is_retry(xas_reload(&xas))); in check_xas_retry()
114 XA_BUG_ON(xa, xas_retry(&xas, NULL)); in check_xas_retry()
115 XA_BUG_ON(xa, xas_retry(&xas, xa_mk_value(0))); in check_xas_retry()
116 xas_reset(&xas); in check_xas_retry()
117 XA_BUG_ON(xa, xas.xa_node != XAS_RESTART); in check_xas_retry()
118 XA_BUG_ON(xa, xas_next_entry(&xas, ULONG_MAX) != xa_mk_value(0)); in check_xas_retry()
119 XA_BUG_ON(xa, xas.xa_node != NULL); in check_xas_retry()
125 XA_BUG_ON(xa, !xa_is_internal(xas_reload(&xas))); in check_xas_retry()
126 xas.xa_node = XAS_RESTART; in check_xas_retry()
127 XA_BUG_ON(xa, xas_next_entry(&xas, ULONG_MAX) != xa_mk_value(0)); in check_xas_retry()
131 xas_lock(&xas); in check_xas_retry()
132 xas_set(&xas, 0); in check_xas_retry()
133 xas_store(&xas, XA_RETRY_ENTRY); in check_xas_retry()
134 xas_set(&xas, 1); in check_xas_retry()
135 xas_store(&xas, XA_RETRY_ENTRY); in check_xas_retry()
137 xas_set(&xas, 0); in check_xas_retry()
138 xas_for_each(&xas, entry, ULONG_MAX) { in check_xas_retry()
139 xas_store(&xas, xa_mk_index(xas.xa_index)); in check_xas_retry()
141 xas_unlock(&xas); in check_xas_retry()
220 XA_STATE(xas, xa, i); in check_xa_mark_1()
230 xas_for_each(&xas, entry, ULONG_MAX) in check_xa_mark_1()
236 xas_set(&xas, 0); in check_xa_mark_1()
239 xas_for_each_marked(&xas, entry, ULONG_MAX, XA_MARK_0) in check_xa_mark_1()
256 XA_STATE(xas, xa, 0); in check_xa_mark_2()
263 xas_lock(&xas); in check_xa_mark_2()
264 xas_load(&xas); in check_xa_mark_2()
265 xas_init_marks(&xas); in check_xa_mark_2()
266 xas_unlock(&xas); in check_xa_mark_2()
274 xas_reset(&xas); in check_xa_mark_2()
276 xas_for_each_marked(&xas, entry, ULONG_MAX, XA_MARK_0) in check_xa_mark_2()
281 xas_lock(&xas); in check_xa_mark_2()
282 xas_for_each(&xas, entry, ULONG_MAX) { in check_xa_mark_2()
283 xas_init_marks(&xas); in check_xa_mark_2()
284 XA_BUG_ON(xa, !xa_get_mark(xa, xas.xa_index, XA_MARK_0)); in check_xa_mark_2()
285 XA_BUG_ON(xa, !xas_get_mark(&xas, XA_MARK_0)); in check_xa_mark_2()
287 xas_unlock(&xas); in check_xa_mark_2()
295 XA_STATE(xas, xa, 0x41); in check_xa_mark_3()
303 xas_for_each_marked(&xas, entry, ULONG_MAX, XA_MARK_0) { in check_xa_mark_3()
326 XA_STATE(xas, xa, 1); in check_xa_shrink()
339 xas_lock(&xas); in check_xa_shrink()
340 XA_BUG_ON(xa, xas_load(&xas) != xa_mk_value(1)); in check_xa_shrink()
341 node = xas.xa_node; in check_xa_shrink()
343 XA_BUG_ON(xa, xas_store(&xas, NULL) != xa_mk_value(1)); in check_xa_shrink()
345 XA_BUG_ON(xa, xas.xa_node != XAS_BOUNDS); in check_xa_shrink()
347 XA_BUG_ON(xa, xas_load(&xas) != NULL); in check_xa_shrink()
348 xas_unlock(&xas); in check_xa_shrink()
494 XA_STATE(xas, xa, 0); in check_xas_erase()
500 xas_set(&xas, j); in check_xas_erase()
502 xas_lock(&xas); in check_xas_erase()
503 xas_store(&xas, xa_mk_index(j)); in check_xas_erase()
504 xas_unlock(&xas); in check_xas_erase()
505 } while (xas_nomem(&xas, GFP_KERNEL)); in check_xas_erase()
508 xas_set(&xas, ULONG_MAX); in check_xas_erase()
510 xas_lock(&xas); in check_xas_erase()
511 xas_store(&xas, xa_mk_value(0)); in check_xas_erase()
512 xas_unlock(&xas); in check_xas_erase()
513 } while (xas_nomem(&xas, GFP_KERNEL)); in check_xas_erase()
515 xas_lock(&xas); in check_xas_erase()
516 xas_store(&xas, NULL); in check_xas_erase()
518 xas_set(&xas, 0); in check_xas_erase()
520 xas_for_each(&xas, entry, ULONG_MAX) { in check_xas_erase()
522 xas_store(&xas, NULL); in check_xas_erase()
525 xas_unlock(&xas); in check_xas_erase()
534 XA_STATE(xas, xa, index); in check_multi_store_1()
544 xas_lock(&xas); in check_multi_store_1()
545 XA_BUG_ON(xa, xas_store(&xas, xa_mk_index(min)) != xa_mk_index(index)); in check_multi_store_1()
546 xas_unlock(&xas); in check_multi_store_1()
559 XA_STATE(xas, xa, index); in check_multi_store_2()
562 xas_lock(&xas); in check_multi_store_2()
563 XA_BUG_ON(xa, xas_store(&xas, xa_mk_value(1)) != xa_mk_value(0)); in check_multi_store_2()
564 XA_BUG_ON(xa, xas.xa_index != index); in check_multi_store_2()
565 XA_BUG_ON(xa, xas_store(&xas, NULL) != xa_mk_value(1)); in check_multi_store_2()
566 xas_unlock(&xas); in check_multi_store_2()
573 XA_STATE(xas, xa, 0); in check_multi_store_3()
579 xas_lock(&xas); in check_multi_store_3()
580 xas_for_each(&xas, entry, ULONG_MAX) { in check_multi_store_3()
585 xas_set(&xas, index + 1); in check_multi_store_3()
586 xas_for_each(&xas, entry, ULONG_MAX) { in check_multi_store_3()
591 xas_unlock(&xas); in check_multi_store_3()
870 XA_STATE_ORDER(xas, xa, start, order); in __check_store_iter()
875 xas_lock(&xas); in __check_store_iter()
876 xas_for_each_conflict(&xas, entry) { in __check_store_iter()
882 xas_store(&xas, xa_mk_index(start)); in __check_store_iter()
883 xas_unlock(&xas); in __check_store_iter()
884 if (xas_nomem(&xas, GFP_KERNEL)) { in __check_store_iter()
888 XA_BUG_ON(xa, xas_error(&xas)); in __check_store_iter()
975 XA_STATE(xas, xa, j + index); in check_multi_find_2()
980 xas_for_each(&xas, entry, ULONG_MAX) { in check_multi_find_2()
1075 XA_STATE(xas, xa, 0); in check_find_3()
1083 xas_set(&xas, j); in check_find_3()
1084 xas_for_each_marked(&xas, entry, k, XA_MARK_0) in check_find_3()
1088 xas.xa_node != XAS_RESTART); in check_find_3()
1132 XA_STATE(xas, xa, 0); in xa_find_entry()
1137 xas_for_each(&xas, entry, ULONG_MAX) { in xa_find_entry()
1138 if (xas_retry(&xas, entry)) in xa_find_entry()
1145 xas_pause(&xas); in xa_find_entry()
1149 return entry ? xas.xa_index : -1; in xa_find_entry()
1186 XA_STATE(xas, xa, 0); in check_pause()
1199 xas_for_each(&xas, entry, ULONG_MAX) { in check_pause()
1207 xas_set(&xas, 0); in check_pause()
1209 xas_for_each(&xas, entry, ULONG_MAX) { in check_pause()
1212 xas_pause(&xas); in check_pause()
1222 XA_STATE(xas, xa, 0); in check_move_tiny()
1226 XA_BUG_ON(xa, xas_next(&xas) != NULL); in check_move_tiny()
1227 XA_BUG_ON(xa, xas_next(&xas) != NULL); in check_move_tiny()
1231 xas_set(&xas, 0); in check_move_tiny()
1232 XA_BUG_ON(xa, xas_next(&xas) != xa_mk_index(0)); in check_move_tiny()
1233 XA_BUG_ON(xa, xas_next(&xas) != NULL); in check_move_tiny()
1234 xas_set(&xas, 0); in check_move_tiny()
1235 XA_BUG_ON(xa, xas_prev(&xas) != xa_mk_index(0)); in check_move_tiny()
1236 XA_BUG_ON(xa, xas_prev(&xas) != NULL); in check_move_tiny()
1244 XA_STATE(xas, xa, 0); in check_move_max()
1248 XA_BUG_ON(xa, xas_find(&xas, ULONG_MAX) != xa_mk_index(ULONG_MAX)); in check_move_max()
1249 XA_BUG_ON(xa, xas_find(&xas, ULONG_MAX) != NULL); in check_move_max()
1252 xas_set(&xas, 0); in check_move_max()
1254 XA_BUG_ON(xa, xas_find(&xas, ULONG_MAX) != xa_mk_index(ULONG_MAX)); in check_move_max()
1255 xas_pause(&xas); in check_move_max()
1256 XA_BUG_ON(xa, xas_find(&xas, ULONG_MAX) != NULL); in check_move_max()
1265 XA_STATE(xas, xa, 0); in check_move_small()
1273 void *entry = xas_next(&xas); in check_move_small()
1275 XA_BUG_ON(xa, xas.xa_node == XAS_RESTART); in check_move_small()
1276 XA_BUG_ON(xa, xas.xa_index != i); in check_move_small()
1282 xas_next(&xas); in check_move_small()
1283 XA_BUG_ON(xa, xas.xa_index != i); in check_move_small()
1286 void *entry = xas_prev(&xas); in check_move_small()
1289 XA_BUG_ON(xa, xas.xa_node == XAS_RESTART); in check_move_small()
1290 XA_BUG_ON(xa, xas.xa_index != i); in check_move_small()
1297 xas_set(&xas, ULONG_MAX); in check_move_small()
1298 XA_BUG_ON(xa, xas_next(&xas) != NULL); in check_move_small()
1299 XA_BUG_ON(xa, xas.xa_index != ULONG_MAX); in check_move_small()
1300 XA_BUG_ON(xa, xas_next(&xas) != xa_mk_value(0)); in check_move_small()
1301 XA_BUG_ON(xa, xas.xa_index != 0); in check_move_small()
1302 XA_BUG_ON(xa, xas_prev(&xas) != NULL); in check_move_small()
1303 XA_BUG_ON(xa, xas.xa_index != ULONG_MAX); in check_move_small()
1313 XA_STATE(xas, xa, (1 << 16) - 1); in check_move()
1321 void *entry = xas_prev(&xas); in check_move()
1324 XA_BUG_ON(xa, i != xas.xa_index); in check_move()
1327 XA_BUG_ON(xa, xas_prev(&xas) != NULL); in check_move()
1328 XA_BUG_ON(xa, xas.xa_index != ULONG_MAX); in check_move()
1331 void *entry = xas_next(&xas); in check_move()
1333 XA_BUG_ON(xa, i != xas.xa_index); in check_move()
1341 i = xas.xa_index; in check_move()
1345 void *entry = xas_prev(&xas); in check_move()
1351 XA_BUG_ON(xa, i != xas.xa_index); in check_move()
1354 XA_BUG_ON(xa, xas_prev(&xas) != NULL); in check_move()
1355 XA_BUG_ON(xa, xas.xa_index != ULONG_MAX); in check_move()
1358 void *entry = xas_next(&xas); in check_move()
1363 XA_BUG_ON(xa, i != xas.xa_index); in check_move()
1383 XA_STATE_ORDER(xas, xa, index, order); in xa_store_many_order()
1387 xas_lock(&xas); in xa_store_many_order()
1388 XA_BUG_ON(xa, xas_find_conflict(&xas)); in xa_store_many_order()
1389 xas_create_range(&xas); in xa_store_many_order()
1390 if (xas_error(&xas)) in xa_store_many_order()
1393 XA_BUG_ON(xa, xas_store(&xas, xa_mk_index(index + i))); in xa_store_many_order()
1394 xas_next(&xas); in xa_store_many_order()
1397 xas_unlock(&xas); in xa_store_many_order()
1398 } while (xas_nomem(&xas, GFP_KERNEL)); in xa_store_many_order()
1400 XA_BUG_ON(xa, xas_error(&xas)); in xa_store_many_order()
1428 XA_STATE(xas, NULL, 0); in check_create_range_3()
1429 xas_set_err(&xas, -EEXIST); in check_create_range_3()
1430 xas_create_range(&xas); in check_create_range_3()
1431 XA_BUG_ON(NULL, xas_error(&xas) != -EEXIST); in check_create_range_3()
1437 XA_STATE_ORDER(xas, xa, index, order); in check_create_range_4()
1438 unsigned long base = xas.xa_index; in check_create_range_4()
1443 xas_lock(&xas); in check_create_range_4()
1444 xas_create_range(&xas); in check_create_range_4()
1445 if (xas_error(&xas)) in check_create_range_4()
1448 void *old = xas_store(&xas, xa_mk_index(base + i)); in check_create_range_4()
1449 if (xas.xa_index == index) in check_create_range_4()
1453 xas_next(&xas); in check_create_range_4()
1456 xas_unlock(&xas); in check_create_range_4()
1457 } while (xas_nomem(&xas, GFP_KERNEL)); in check_create_range_4()
1459 XA_BUG_ON(xa, xas_error(&xas)); in check_create_range_4()
1535 XA_STATE_ORDER(xas, xa, index, new_order); in check_split_1()
1540 xas_split_alloc(&xas, xa, order, GFP_KERNEL); in check_split_1()
1541 xas_lock(&xas); in check_split_1()
1542 xas_split(&xas, xa, order); in check_split_1()
1545 xas_unlock(&xas); in check_split_1()
1657 XA_STATE(xas, xa, index); in check_workingset()
1658 xas_set_update(&xas, test_update_node); in check_workingset()
1661 xas_lock(&xas); in check_workingset()
1662 xas_store(&xas, xa_mk_value(0)); in check_workingset()
1663 xas_next(&xas); in check_workingset()
1664 xas_store(&xas, xa_mk_value(1)); in check_workingset()
1665 xas_unlock(&xas); in check_workingset()
1666 } while (xas_nomem(&xas, GFP_KERNEL)); in check_workingset()
1670 xas_lock(&xas); in check_workingset()
1671 xas_next(&xas); in check_workingset()
1672 xas_store(&xas, &xas); in check_workingset()
1675 xas_store(&xas, xa_mk_value(2)); in check_workingset()
1676 xas_unlock(&xas); in check_workingset()
1694 XA_STATE(xas, xa, 1 << order); in check_account()
1698 xas_load(&xas); in check_account()
1699 XA_BUG_ON(xa, xas.xa_node->count == 0); in check_account()
1700 XA_BUG_ON(xa, xas.xa_node->count > (1 << order)); in check_account()
1701 XA_BUG_ON(xa, xas.xa_node->nr_values != 0); in check_account()
1706 XA_BUG_ON(xa, xas.xa_node->count != xas.xa_node->nr_values * 2); in check_account()
1709 XA_BUG_ON(xa, xas.xa_node->nr_values != 0); in check_account()