Lines Matching defs:bucket
32 * The bucket lock has two protection scopes:
67 * but the bucket locks and percpu_freelist locks can be taken from
81 struct bucket {
91 struct bucket *buckets;
149 struct bucket *b)
161 struct bucket *b,
224 /* The LRU list has a lock (lru_lock). Each htab bucket has a lock
463 if (htab->n_buckets > U32_MAX / sizeof(struct bucket))
466 cost = (u64) htab->n_buckets * sizeof(struct bucket) +
482 sizeof(struct bucket),
527 static inline struct bucket *__select_bucket(struct bpf_htab *htab, u32 hash)
537 /* this lookup function can only be called with bucket lock taken */
551 /* can be called without bucket lock. it will repeat the loop in
552 * the unlikely event when elements moved from one bucket into another
693 struct bucket *b;
738 /* key was found, get next key in the same bucket */
748 /* no more elements in this hash list, go to the next bucket */
757 /* pick first element in the bucket */
966 struct bucket *b;
986 /* find an element without taking the bucket lock */
999 /* fall through, grab the bucket lock and lookup again.
1014 /* first lookup without the bucket lock didn't find the element,
1015 * but second lookup with the bucket lock found it.
1017 * grab the element lock in addition to the bucket lock
1057 struct bucket *b;
1074 /* For LRU, we need to alloc before taking bucket's
1077 * operation will need a bucket lock.
1121 struct bucket *b;
1173 struct bucket *b;
1190 /* For LRU, we need to alloc before taking bucket's
1193 * operation will need a bucket lock.
1247 struct bucket *b;
1279 struct bucket *b;
1390 struct bucket *b;
1424 * 1000, it was observed that a bucket can have upto 5 entries.
1517 * after releasing the bucket lock.
1540 /* If we are not copying data, we can go to next bucket and avoid
1669 struct bucket *b;
1675 /* try to find next elem in the same bucket */
1677 /* no update/deletion on this bucket, prev_elem should be still valid
1685 /* not found, unlock and go to the next bucket */