Lines Matching defs:word
76 * Now clear the masked bits in our free word
78 atomic_long_andnot(mask, (atomic_long_t *)&map->word);
79 BUILD_BUG_ON(sizeof(atomic_long_t) != sizeof(map->word));
136 static int __sbitmap_get_word(unsigned long *word, unsigned long depth,
145 nr = find_next_zero_bit(word, depth, hint);
159 if (!test_and_set_bit_lock(nr, word))
178 nr = __sbitmap_get_word(&map->word, depth,
227 * alloc_hint to find the right word index. No point in looping
290 if (sb->map[i].word & ~sb->map[i].cleared)
302 const struct sbitmap_word *word = &sb->map[i];
306 weight += bitmap_weight(&word->word, word_depth);
308 weight += bitmap_weight(&word->cleared, word_depth);
354 unsigned long word = READ_ONCE(sb->map[i].word);
358 word &= ~cleared;
363 byte |= (word & (BIT(bits) - 1)) << byte_bits;
371 word >>= bits;
391 * Each full word of the bitmap has bits_per_word bits, and there might
392 * be a partial word. There are depth / bits_per_word full words and
399 * Each word can be limited to sbq->min_shallow_depth bits.
499 if (map->word == (1UL << (map_depth - 1)) - 1)
502 nr = find_first_zero_bit(&map->word, map_depth);
504 atomic_long_t *ptr = (atomic_long_t *) &map->word;
508 val = READ_ONCE(map->word);
618 this_addr = &sb->map[SB_NR_TO_INDEX(sb, tag)].word;