Lines Matching full:index
22 clustered; hashing the object and using the hash as the index will not
24 good performance with large indices. If your index can be larger than
52 occupy a range of indices. Once stored to, looking up any index in
53 the range will return the same entry as looking up any other index in
54 the range. Storing to any index will store to all of them. Multi-index
64 pointer at every index.
68 new entry and return the previous entry stored at that index. You can
74 You can conditionally replace an entry at an index by using
76 the entry at that index has the 'old' value. It also returns the entry
77 which was at that index; if it returns the same entry which was passed as
80 If you want to only store a new entry to an index if the current entry
81 at that index is ``NULL``, you can use xa_insert() which
92 in a slightly odd way. For example, marking the entry at one index
94 indices. Storing into one index may result in the entry retrieved by
99 will store a reserved entry at the indicated index. Users of the
129 Setting or clearing a mark on any index of a multi-index entry will
131 index will return the same result.
147 You can call xa_alloc() to store the entry at an unused index
257 int foo_store(struct foo *foo, unsigned long index, void *entry)
262 err = xa_err(__xa_store(&foo->array, index, entry, GFP_KERNEL));
270 void foo_erase(struct foo *foo, unsigned long index)
273 __xa_erase(&foo->array, index);
366 - An XArray node. May be visible when using a multi-index xa_state.
370 - A non-canonical entry for a multi-index entry. The value indicates
383 an entry in the XArray which can be used to reserve the index for
409 If you need to move to a different index in the XArray, call
412 spot in the tree. If you want to move to the next or previous index,
413 call xas_next() or xas_prev(). Setting the index does
415 held, while moving to the next or previous index does.
421 entry at the index of the xa_state. Using xas_next_entry() to
427 not been walked, it will return the entry at the index of the xa_state,
451 Multi-Index Entries
455 operations on one index affect all indices. For example, storing into
456 any index will change the value of the entry retrieved from any index.
457 Setting or clearing a mark on any index will set or clear the mark
458 on every index that is tied together. The current implementation
464 You can create a multi-index entry by using XA_STATE_ORDER()
466 Calling xas_load() with a multi-index xa_state will walk the
474 If xas_load() encounters a multi-index entry, the xa_index
476 or calling xas_find(), if the initial index is in the middle
477 of a multi-index entry, it will not be altered. Subsequent calls
478 or iterations will move the index to the first index in the range.
482 Using xas_next() or xas_prev() with a multi-index xa_state is not
483 supported. Using either of these functions on a multi-index entry will
486 Storing ``NULL`` into any index of a multi-index entry will set the
487 entry at every index to ``NULL`` and dissolve the tie. A multi-index