Lines Matching full:head

36  * 1. "head" buckets are the ones allocated in the array of buckets in qht_map.
37 * 2. all "non-head" buckets (i.e. all others) are members of a chain that
38 * starts from a head bucket.
39 * Note that the seqlock and spinlock of a head bucket applies to all buckets
40 * chained to it; these two fields are unused in non-head buckets.
174 * @buckets: array of head buckets. It is constant once the map is created.
175 * @n_buckets: number of head buckets. It is constant once the map is created.
176 * @n_added_buckets: number of added (i.e. "non-head") buckets
373 * Get a head bucket and lock it, making sure its parent map is not stale.
414 struct qht_bucket *head) in qht_chain_destroy() argument
416 struct qht_bucket *curr = head->next; in qht_chain_destroy()
419 qht_do_if_first_in_stripe(map, head, qemu_spin_destroy); in qht_chain_destroy()
451 /* let tiny hash tables to at least add one non-head bucket */ in qht_map_create()
485 static void qht_bucket_reset__locked(struct qht_bucket *head) in qht_bucket_reset__locked() argument
487 struct qht_bucket *b = head; in qht_bucket_reset__locked()
490 seqlock_write_begin(&head->sequence); in qht_bucket_reset__locked()
502 seqlock_write_end(&head->sequence); in qht_bucket_reset__locked()
555 void *qht_do_lookup(const struct qht_bucket *head, qht_lookup_func_t func, in qht_do_lookup() argument
558 const struct qht_bucket *b = head; in qht_do_lookup()
624 * call with head->lock held
628 struct qht_bucket *head, void *p, uint32_t hash, in qht_insert__locked() argument
631 struct qht_bucket *b = head; in qht_insert__locked()
662 seqlock_write_begin(&head->sequence); in qht_insert__locked()
669 seqlock_write_end(&head->sequence); in qht_insert__locked()
781 bool qht_remove__locked(struct qht_bucket *head, const void *p, uint32_t hash) in qht_remove__locked() argument
783 struct qht_bucket *b = head; in qht_remove__locked()
795 seqlock_write_begin(&head->sequence); in qht_remove__locked()
797 seqlock_write_end(&head->sequence); in qht_remove__locked()
822 static inline void qht_bucket_iter(struct qht_bucket *head, in qht_bucket_iter() argument
825 struct qht_bucket *b = head; in qht_bucket_iter()
840 seqlock_write_begin(&head->sequence); in qht_bucket_iter()
842 seqlock_write_end(&head->sequence); in qht_bucket_iter()
990 const struct qht_bucket *head = &map->buckets[i]; in qht_statistics_init() local
998 version = seqlock_read_begin(&head->sequence); in qht_statistics_init()
1001 b = head; in qht_statistics_init()
1012 } while (seqlock_read_retry(&head->sequence, version)); in qht_statistics_init()