xa_node 551 fs/dax.c if (xas->xa_node == XA_ERROR(-ENOMEM)) xa_node 22 include/linux/radix-tree.h #define radix_tree_node xa_node xa_node 315 include/linux/swap.h void workingset_update_node(struct xa_node *node); xa_node 1092 include/linux/xarray.h struct xa_node __rcu *parent; /* NULL at top of tree */ xa_node 1106 include/linux/xarray.h void xa_dump_node(const struct xa_node *); xa_node 1142 include/linux/xarray.h const struct xa_node *node, unsigned int offset) xa_node 1151 include/linux/xarray.h const struct xa_node *node, unsigned int offset) xa_node 1159 include/linux/xarray.h static inline struct xa_node *xa_parent(const struct xarray *xa, xa_node 1160 include/linux/xarray.h const struct xa_node *node) xa_node 1167 include/linux/xarray.h static inline struct xa_node *xa_parent_locked(const struct xarray *xa, xa_node 1168 include/linux/xarray.h const struct xa_node *node) xa_node 1175 include/linux/xarray.h static inline void *xa_mk_node(const struct xa_node *node) xa_node 1181 include/linux/xarray.h static inline struct xa_node *xa_to_node(const void *entry) xa_node 1183 include/linux/xarray.h return (struct xa_node *)((unsigned long)entry - 2); xa_node 1252 include/linux/xarray.h typedef void (*xa_update_node_t)(struct xa_node *node); xa_node 1278 include/linux/xarray.h struct xa_node *xa_node; xa_node 1279 include/linux/xarray.h struct xa_node *xa_alloc; xa_node 1287 include/linux/xarray.h #define XA_ERROR(errno) ((struct xa_node *)(((unsigned long)errno << 2) | 2UL)) xa_node 1288 include/linux/xarray.h #define XAS_BOUNDS ((struct xa_node *)1UL) xa_node 1289 include/linux/xarray.h #define XAS_RESTART ((struct xa_node *)3UL) xa_node 1298 include/linux/xarray.h .xa_node = XAS_RESTART, \ xa_node 1352 include/linux/xarray.h return xa_err(xas->xa_node); xa_node 1366 include/linux/xarray.h xas->xa_node = XA_ERROR(err); xa_node 1377 include/linux/xarray.h return (unsigned long)xas->xa_node & 3; xa_node 1399 include/linux/xarray.h return xas_valid(xas) && xas->xa_node; xa_node 1403 include/linux/xarray.h static inline bool xas_not_node(struct xa_node *node) xa_node 1409 include/linux/xarray.h static inline bool xas_frozen(struct xa_node *node) xa_node 1415 include/linux/xarray.h static inline bool xas_top(struct xa_node *node) xa_node 1432 include/linux/xarray.h xas->xa_node = XAS_RESTART; xa_node 1489 include/linux/xarray.h struct xa_node *node = xas->xa_node; xa_node 1508 include/linux/xarray.h xas->xa_node = XAS_RESTART; xa_node 1524 include/linux/xarray.h xas->xa_node = XAS_RESTART; xa_node 1557 include/linux/xarray.h struct xa_node *node = xas->xa_node; xa_node 1583 include/linux/xarray.h unsigned long *addr = xas->xa_node->marks[(__force unsigned)mark]; xa_node 1615 include/linux/xarray.h struct xa_node *node = xas->xa_node; xa_node 1714 include/linux/xarray.h struct xa_node *node = xas->xa_node; xa_node 1743 include/linux/xarray.h struct xa_node *node = xas->xa_node; xa_node 564 lib/idr.c struct xa_node *node = xa_to_node(entry); xa_node 117 lib/test_xarray.c XA_BUG_ON(xa, xas.xa_node != XAS_RESTART); xa_node 119 lib/test_xarray.c XA_BUG_ON(xa, xas.xa_node != NULL); xa_node 126 lib/test_xarray.c xas.xa_node = XAS_RESTART; xa_node 305 lib/test_xarray.c struct xa_node *node; xa_node 319 lib/test_xarray.c node = xas.xa_node; xa_node 323 lib/test_xarray.c XA_BUG_ON(xa, xas.xa_node != XAS_BOUNDS); xa_node 1063 lib/test_xarray.c xas.xa_node != XAS_RESTART); xa_node 1250 lib/test_xarray.c XA_BUG_ON(xa, xas.xa_node == XAS_RESTART); xa_node 1264 lib/test_xarray.c XA_BUG_ON(xa, xas.xa_node == XAS_RESTART); xa_node 1560 lib/test_xarray.c static void test_update_node(struct xa_node *node) xa_node 1573 lib/test_xarray.c struct xa_node *node; xa_node 1577 lib/test_xarray.c struct xa_node, private_list))) { xa_node 1581 lib/test_xarray.c xas.xa_node = xa_parent_locked(node->array, node); xa_node 1634 lib/test_xarray.c XA_BUG_ON(xa, xas.xa_node->count == 0); xa_node 1635 lib/test_xarray.c XA_BUG_ON(xa, xas.xa_node->count > (1 << order)); xa_node 1636 lib/test_xarray.c XA_BUG_ON(xa, xas.xa_node->nr_values != 0); xa_node 1641 lib/test_xarray.c XA_BUG_ON(xa, xas.xa_node->count != xas.xa_node->nr_values * 2); xa_node 1644 lib/test_xarray.c XA_BUG_ON(xa, xas.xa_node->nr_values != 0); xa_node 78 lib/xarray.c static inline unsigned long *node_marks(struct xa_node *node, xa_mark_t mark) xa_node 83 lib/xarray.c static inline bool node_get_mark(struct xa_node *node, xa_node 90 lib/xarray.c static inline bool node_set_mark(struct xa_node *node, unsigned int offset, xa_node 97 lib/xarray.c static inline bool node_clear_mark(struct xa_node *node, unsigned int offset, xa_node 103 lib/xarray.c static inline bool node_any_mark(struct xa_node *node, xa_mark_t mark) xa_node 108 lib/xarray.c static inline void node_mark_all(struct xa_node *node, xa_mark_t mark) xa_node 133 lib/xarray.c unsigned long *marks = xas->xa_node->marks[mark]; xa_node 142 lib/xarray.c static unsigned int get_offset(unsigned long index, struct xa_node *node) xa_node 149 lib/xarray.c xas->xa_offset = get_offset(xas->xa_index, xas->xa_node); xa_node 155 lib/xarray.c unsigned int shift = xas->xa_node->shift; xa_node 168 lib/xarray.c xas->xa_node = XAS_BOUNDS; xa_node 197 lib/xarray.c xas->xa_node = NULL; xa_node 201 lib/xarray.c static void *xas_descend(struct xa_state *xas, struct xa_node *node) xa_node 206 lib/xarray.c xas->xa_node = node; xa_node 236 lib/xarray.c struct xa_node *node = xa_to_node(entry); xa_node 254 lib/xarray.c static void xa_node_free(struct xa_node *node) xa_node 269 lib/xarray.c struct xa_node *node = xas->xa_alloc; xa_node 298 lib/xarray.c if (xas->xa_node != XA_ERROR(-ENOMEM)) { xa_node 308 lib/xarray.c xas->xa_node = XAS_RESTART; xa_node 327 lib/xarray.c if (xas->xa_node != XA_ERROR(-ENOMEM)) { xa_node 343 lib/xarray.c xas->xa_node = XAS_RESTART; xa_node 347 lib/xarray.c static void xas_update(struct xa_state *xas, struct xa_node *node) xa_node 357 lib/xarray.c struct xa_node *parent = xas->xa_node; xa_node 358 lib/xarray.c struct xa_node *node = xas->xa_alloc; xa_node 389 lib/xarray.c RCU_INIT_POINTER(node->parent, xas->xa_node); xa_node 436 lib/xarray.c struct xa_node *node = xas->xa_node; xa_node 451 lib/xarray.c xas->xa_node = XAS_BOUNDS; xa_node 479 lib/xarray.c struct xa_node *node = xas->xa_node; xa_node 482 lib/xarray.c struct xa_node *parent; xa_node 489 lib/xarray.c xas->xa_node = parent; xa_node 495 lib/xarray.c xas->xa_node = XAS_BOUNDS; xa_node 519 lib/xarray.c static void xas_free_nodes(struct xa_state *xas, struct xa_node *top) xa_node 522 lib/xarray.c struct xa_node *node = top; xa_node 536 lib/xarray.c struct xa_node *parent; xa_node 558 lib/xarray.c struct xa_node *node = NULL; xa_node 572 lib/xarray.c xas->xa_node = NULL; xa_node 618 lib/xarray.c xas->xa_node = node; xa_node 640 lib/xarray.c struct xa_node *node = xas->xa_node; xa_node 646 lib/xarray.c xas->xa_node = NULL; xa_node 707 lib/xarray.c if (xas_is_node(xas) && xas->xa_node->shift == xas->xa_shift) xa_node 721 lib/xarray.c struct xa_node *node = xas->xa_node; xa_node 722 lib/xarray.c xas->xa_node = xa_parent_locked(xas->xa, node); xa_node 736 lib/xarray.c if (xas->xa_node) xa_node 741 lib/xarray.c static void update_node(struct xa_state *xas, struct xa_node *node, xa_node 771 lib/xarray.c struct xa_node *node; xa_node 788 lib/xarray.c node = xas->xa_node; xa_node 855 lib/xarray.c if (!xas->xa_node) xa_node 857 lib/xarray.c return node_get_mark(xas->xa_node, xas->xa_offset, mark); xa_node 872 lib/xarray.c struct xa_node *node = xas->xa_node; xa_node 901 lib/xarray.c struct xa_node *node = xas->xa_node; xa_node 966 lib/xarray.c struct xa_node *node = xas->xa_node; xa_node 971 lib/xarray.c xas->xa_node = XAS_RESTART; xa_node 980 lib/xarray.c xas->xa_node = XAS_BOUNDS; xa_node 998 lib/xarray.c if (!xas_frozen(xas->xa_node)) xa_node 1000 lib/xarray.c if (!xas->xa_node) xa_node 1002 lib/xarray.c if (xas_not_node(xas->xa_node)) xa_node 1005 lib/xarray.c if (xas->xa_offset != get_offset(xas->xa_index, xas->xa_node)) xa_node 1009 lib/xarray.c xas->xa_offset = xas->xa_node->offset - 1; xa_node 1010 lib/xarray.c xas->xa_node = xa_parent(xas->xa, xas->xa_node); xa_node 1011 lib/xarray.c if (!xas->xa_node) xa_node 1016 lib/xarray.c entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); xa_node 1020 lib/xarray.c xas->xa_node = xa_to_node(entry); xa_node 1037 lib/xarray.c if (!xas_frozen(xas->xa_node)) xa_node 1039 lib/xarray.c if (!xas->xa_node) xa_node 1041 lib/xarray.c if (xas_not_node(xas->xa_node)) xa_node 1044 lib/xarray.c if (xas->xa_offset != get_offset(xas->xa_index, xas->xa_node)) xa_node 1048 lib/xarray.c xas->xa_offset = xas->xa_node->offset + 1; xa_node 1049 lib/xarray.c xas->xa_node = xa_parent(xas->xa, xas->xa_node); xa_node 1050 lib/xarray.c if (!xas->xa_node) xa_node 1055 lib/xarray.c entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); xa_node 1059 lib/xarray.c xas->xa_node = xa_to_node(entry); xa_node 1085 lib/xarray.c if (xas_error(xas) || xas->xa_node == XAS_BOUNDS) xa_node 1090 lib/xarray.c if (!xas->xa_node) { xa_node 1093 lib/xarray.c } else if (xas->xa_node == XAS_RESTART) { xa_node 1095 lib/xarray.c if (entry || xas_not_node(xas->xa_node)) xa_node 1097 lib/xarray.c } else if (!xas->xa_node->shift && xa_node 1104 lib/xarray.c while (xas->xa_node && (xas->xa_index <= max)) { xa_node 1106 lib/xarray.c xas->xa_offset = xas->xa_node->offset + 1; xa_node 1107 lib/xarray.c xas->xa_node = xa_parent(xas->xa, xas->xa_node); xa_node 1111 lib/xarray.c entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); xa_node 1113 lib/xarray.c xas->xa_node = xa_to_node(entry); xa_node 1123 lib/xarray.c if (!xas->xa_node) xa_node 1124 lib/xarray.c xas->xa_node = XAS_BOUNDS; xa_node 1161 lib/xarray.c if (!xas->xa_node) { xa_node 1164 lib/xarray.c } else if (xas_top(xas->xa_node)) { xa_node 1167 lib/xarray.c xas->xa_node = NULL; xa_node 1176 lib/xarray.c xas->xa_node = xa_to_node(entry); xa_node 1177 lib/xarray.c xas->xa_offset = xas->xa_index >> xas->xa_node->shift; xa_node 1182 lib/xarray.c xas->xa_offset = xas->xa_node->offset + 1; xa_node 1183 lib/xarray.c xas->xa_node = xa_parent(xas->xa, xas->xa_node); xa_node 1184 lib/xarray.c if (!xas->xa_node) xa_node 1191 lib/xarray.c entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); xa_node 1210 lib/xarray.c entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); xa_node 1215 lib/xarray.c xas->xa_node = xa_to_node(entry); xa_node 1224 lib/xarray.c xas->xa_node = XAS_RESTART; xa_node 1245 lib/xarray.c if (!xas->xa_node) xa_node 1248 lib/xarray.c if (xas_top(xas->xa_node)) { xa_node 1253 lib/xarray.c struct xa_node *node = xa_to_node(curr); xa_node 1260 lib/xarray.c if (xas->xa_node->shift > xas->xa_shift) xa_node 1264 lib/xarray.c if (xas->xa_node->shift == xas->xa_shift) { xa_node 1268 lib/xarray.c xas->xa_offset = xas->xa_node->offset; xa_node 1269 lib/xarray.c xas->xa_node = xa_parent_locked(xas->xa, xas->xa_node); xa_node 1270 lib/xarray.c if (!xas->xa_node) xa_node 1274 lib/xarray.c curr = xa_entry_locked(xas->xa, xas->xa_node, ++xas->xa_offset); xa_node 1278 lib/xarray.c xas->xa_node = xa_to_node(curr); xa_node 1280 lib/xarray.c curr = xa_entry_locked(xas->xa, xas->xa_node, 0); xa_node 1320 lib/xarray.c curr = xas->xa_node; xa_node 1630 lib/xarray.c if (xas.xa_node == XAS_RESTART) xa_node 1838 lib/xarray.c struct xa_node *node = xas->xa_node; xa_node 1992 lib/xarray.c xas.xa_node = NULL; xa_node 2007 lib/xarray.c void xa_dump_node(const struct xa_node *node) xa_node 2051 lib/xarray.c struct xa_node *node = xa_to_node(entry); xa_node 368 mm/workingset.c void workingset_update_node(struct xa_node *node) xa_node 454 mm/workingset.c struct xa_node *node = container_of(item, struct xa_node, private_list); xa_node 495 mm/workingset.c xas.xa_node = xa_parent_locked(&mapping->i_pages, node); xa_node 63 tools/testing/radix-tree/multiorder.c assert(xas.xa_node->shift == shift);