Lines Matching defs:bucket
557 * the least significant bit of the list head to lock the corresponding bucket,
561 * spin locks; one per hash table bucket.
566 /* Spinlock protecting the bucket */
570 #define bucket_lock_irqsave(bucket, flags) \
571 spin_lock_irqsave(&(bucket)->lock, flags)
573 #define bucket_unlock_irqrestore(bucket, flags) \
574 spin_unlock_irqrestore(&(bucket)->lock, flags)
576 #define bucket_lock_irq(bucket) \
577 spin_lock_irq(&(bucket)->lock)
579 #define bucket_unlock_irq(bucket) \
580 spin_unlock_irq(&(bucket)->lock)
585 struct hash_table_bucket *bucket;
594 bucket = clone->ht + i;
596 INIT_HLIST_HEAD(&bucket->head);
597 spin_lock_init(&bucket->lock);
617 * NOTE: Must be called with the bucket lock held
619 static struct dm_clone_region_hydration *__hash_find(struct hash_table_bucket *bucket,
624 hlist_for_each_entry(hd, &bucket->head, h) {
635 * NOTE: Must be called with the bucket lock held.
637 static inline void __insert_region_hydration(struct hash_table_bucket *bucket,
640 hlist_add_head(&hd->h, &bucket->head);
651 __find_or_insert_region_hydration(struct hash_table_bucket *bucket,
656 hd2 = __hash_find(bucket, hd->region_nr);
660 __insert_region_hydration(bucket, hd);
709 struct hash_table_bucket *bucket;
719 bucket = get_hash_table_bucket(clone, hd->region_nr);
722 bucket_lock_irqsave(bucket, flags);
724 bucket_unlock_irqrestore(bucket, flags);
883 struct hash_table_bucket *bucket;
887 bucket = get_hash_table_bucket(clone, region_nr);
889 bucket_lock_irq(bucket);
891 hd = __hash_find(bucket, region_nr);
895 bucket_unlock_irq(bucket);
901 bucket_unlock_irq(bucket);
910 bucket_unlock_irq(bucket);
915 bucket_lock_irq(bucket);
919 bucket_unlock_irq(bucket);
925 hd2 = __find_or_insert_region_hydration(bucket, hd);
929 bucket_unlock_irq(bucket);
941 bucket_unlock_irq(bucket);
955 bucket_unlock_irq(bucket);
959 bucket_unlock_irq(bucket);
1026 struct hash_table_bucket *bucket;
1038 bucket = get_hash_table_bucket(clone, offset);
1039 bucket_lock_irq(bucket);
1042 !__hash_find(bucket, offset)) {
1044 __insert_region_hydration(bucket, hd);
1045 bucket_unlock_irq(bucket);
1053 bucket_unlock_irq(bucket);