Lines Matching refs:offset
12 void *__genradix_ptr(struct __genradix *radix, size_t offset) in __genradix_ptr() argument
14 return __genradix_ptr_inlined(radix, offset); in __genradix_ptr()
22 void *__genradix_ptr_alloc(struct __genradix *radix, size_t offset, in __genradix_ptr_alloc() argument
40 if (n && ilog2(offset) < genradix_depth_shift(level)) in __genradix_ptr_alloc()
63 &n->children[offset >> genradix_depth_shift(level)]; in __genradix_ptr_alloc()
64 offset &= genradix_depth_size(level) - 1; in __genradix_ptr_alloc()
82 return &n->data[offset]; in __genradix_ptr_alloc()
94 if (iter->offset == SIZE_MAX) in __genradix_iter_peek()
105 if (ilog2(iter->offset) >= genradix_depth_shift(level)) in __genradix_iter_peek()
111 i = (iter->offset >> genradix_depth_shift(level)) & in __genradix_iter_peek()
117 if (iter->offset + objs_per_ptr < iter->offset) { in __genradix_iter_peek()
118 iter->offset = SIZE_MAX; in __genradix_iter_peek()
124 iter->offset = round_down(iter->offset + objs_per_ptr, in __genradix_iter_peek()
126 iter->pos = (iter->offset >> GENRADIX_NODE_SHIFT) * in __genradix_iter_peek()
135 return &n->data[iter->offset & (GENRADIX_NODE_SIZE - 1)]; in __genradix_iter_peek()
148 if (iter->offset == SIZE_MAX) in __genradix_iter_peek_prev()
159 if (ilog2(iter->offset) >= genradix_depth_shift(level)) { in __genradix_iter_peek_prev()
160 iter->offset = genradix_depth_size(level); in __genradix_iter_peek_prev()
161 iter->pos = (iter->offset >> GENRADIX_NODE_SHIFT) * objs_per_page; in __genradix_iter_peek_prev()
163 iter->offset -= obj_size_plus_page_remainder; in __genradix_iter_peek_prev()
170 i = (iter->offset >> genradix_depth_shift(level)) & in __genradix_iter_peek_prev()
176 iter->offset = round_down(iter->offset, objs_per_ptr); in __genradix_iter_peek_prev()
177 iter->pos = (iter->offset >> GENRADIX_NODE_SHIFT) * objs_per_page; in __genradix_iter_peek_prev()
179 if (!iter->offset) in __genradix_iter_peek_prev()
182 iter->offset -= obj_size_plus_page_remainder; in __genradix_iter_peek_prev()
193 return &n->data[iter->offset & (GENRADIX_NODE_SIZE - 1)]; in __genradix_iter_peek_prev()
213 size_t offset; in __genradix_prealloc() local
215 for (offset = 0; offset < size; offset += GENRADIX_NODE_SIZE) in __genradix_prealloc()
216 if (!__genradix_ptr_alloc(radix, offset, NULL, gfp_mask)) in __genradix_prealloc()