Lines Matching defs:bucket
551 * the least significant bit of the list head to lock the corresponding bucket,
555 * spin locks; one per hash table bucket.
560 /* Spinlock protecting the bucket */
564 #define bucket_lock_irqsave(bucket, flags) \
565 spin_lock_irqsave(&(bucket)->lock, flags)
567 #define bucket_unlock_irqrestore(bucket, flags) \
568 spin_unlock_irqrestore(&(bucket)->lock, flags)
570 #define bucket_lock_irq(bucket) \
571 spin_lock_irq(&(bucket)->lock)
573 #define bucket_unlock_irq(bucket) \
574 spin_unlock_irq(&(bucket)->lock)
579 struct hash_table_bucket *bucket;
588 bucket = clone->ht + i;
590 INIT_HLIST_HEAD(&bucket->head);
591 spin_lock_init(&bucket->lock);
611 * NOTE: Must be called with the bucket lock held
613 static struct dm_clone_region_hydration *__hash_find(struct hash_table_bucket *bucket,
618 hlist_for_each_entry(hd, &bucket->head, h) {
629 * NOTE: Must be called with the bucket lock held.
631 static inline void __insert_region_hydration(struct hash_table_bucket *bucket,
634 hlist_add_head(&hd->h, &bucket->head);
645 __find_or_insert_region_hydration(struct hash_table_bucket *bucket,
650 hd2 = __hash_find(bucket, hd->region_nr);
654 __insert_region_hydration(bucket, hd);
703 struct hash_table_bucket *bucket;
713 bucket = get_hash_table_bucket(clone, hd->region_nr);
716 bucket_lock_irqsave(bucket, flags);
718 bucket_unlock_irqrestore(bucket, flags);
877 struct hash_table_bucket *bucket;
881 bucket = get_hash_table_bucket(clone, region_nr);
883 bucket_lock_irq(bucket);
885 hd = __hash_find(bucket, region_nr);
889 bucket_unlock_irq(bucket);
895 bucket_unlock_irq(bucket);
904 bucket_unlock_irq(bucket);
909 bucket_lock_irq(bucket);
913 bucket_unlock_irq(bucket);
919 hd2 = __find_or_insert_region_hydration(bucket, hd);
923 bucket_unlock_irq(bucket);
935 bucket_unlock_irq(bucket);
949 bucket_unlock_irq(bucket);
953 bucket_unlock_irq(bucket);
1020 struct hash_table_bucket *bucket;
1032 bucket = get_hash_table_bucket(clone, offset);
1033 bucket_lock_irq(bucket);
1036 !__hash_find(bucket, offset)) {
1038 __insert_region_hydration(bucket, hd);
1039 bucket_unlock_irq(bucket);
1047 bucket_unlock_irq(bucket);