Home
last modified time | relevance | path

Searched refs:bucket (Results 1 – 25 of 34) sorted by relevance

12

/dpdk/lib/table/
H A Drte_lru.h24 #define lru_init(bucket) \ argument
26 bucket = bucket; \
29 #define lru_pos(bucket) (bucket->lru_list & 0xFFFFLLU) argument
31 #define lru_update(bucket, mru_val) \ argument
33 bucket = bucket; \
39 #define lru_init(bucket) \
41 bucket->lru_list = 0x0000000100020003LLU; \
44 #define lru_pos(bucket) (bucket->lru_list & 0xFFFFLLU)
46 #define lru_update(bucket, mru_val) \
50 x = bucket->lru_list; \
[all …]
H A Drte_table_hash_key16.c226 lru_init(bucket); in rte_table_hash_create_key16_lru()
276 lru_update(bucket, i); in rte_table_hash_entry_add_key16_lru()
294 lru_update(bucket, i); in rte_table_hash_entry_add_key16_lru()
303 pos = lru_pos(bucket); in rte_table_hash_entry_add_key16_lru()
307 lru_update(bucket, pos); in rte_table_hash_entry_add_key16_lru()
477 for (bucket = bucket0; bucket != NULL; bucket = bucket->next) in rte_table_hash_entry_add_key16_ext()
495 for (bucket_prev = NULL, bucket = bucket0; bucket != NULL; in rte_table_hash_entry_add_key16_ext()
496 bucket_prev = bucket, bucket = bucket->next) in rte_table_hash_entry_add_key16_ext()
554 for (bucket_prev = NULL, bucket = bucket0; bucket != NULL; in rte_table_hash_entry_delete_key16_ext()
555 bucket_prev = bucket, bucket = bucket->next) in rte_table_hash_entry_delete_key16_ext()
[all …]
H A Drte_table_hash_key32.c284 lru_update(bucket, i); in rte_table_hash_entry_add_key32_lru()
302 lru_update(bucket, i); in rte_table_hash_entry_add_key32_lru()
311 pos = lru_pos(bucket); in rte_table_hash_entry_add_key32_lru()
315 lru_update(bucket, pos); in rte_table_hash_entry_add_key32_lru()
491 for (bucket = bucket0; bucket != NULL; bucket = bucket->next) { in rte_table_hash_entry_add_key32_ext()
511 for (bucket_prev = NULL, bucket = bucket0; bucket != NULL; in rte_table_hash_entry_add_key32_ext()
512 bucket_prev = bucket, bucket = bucket->next) in rte_table_hash_entry_add_key32_ext()
571 for (bucket_prev = NULL, bucket = bucket0; bucket != NULL; in rte_table_hash_entry_delete_key32_ext()
572 bucket_prev = bucket, bucket = bucket->next) in rte_table_hash_entry_delete_key32_ext()
594 bucket->next_valid; in rte_table_hash_entry_delete_key32_ext()
[all …]
H A Drte_lru_x86.h31 #define lru_init(bucket) \ argument
32 { bucket->lru_list = 0x0000000100020003LLU; }
34 #define lru_pos(bucket) (bucket->lru_list & 0xFFFFLLU) argument
36 #define lru_update(bucket, mru_val) \ argument
49 uint64_t lru = bucket->lru_list; \
61 bucket->lru_list = _mm_extract_epi64(k, 0); \
75 #define lru_init(bucket) \
76 { bucket->lru_list = ~0LLU; }
85 #define lru_pos(bucket) f_lru_pos(bucket->lru_list)
87 #define lru_update(bucket, mru_val) \
[all …]
H A Drte_table_hash_key8.c265 lru_update(bucket, i); in rte_table_hash_entry_add_key8_lru()
282 lru_update(bucket, i); in rte_table_hash_entry_add_key8_lru()
291 pos = lru_pos(bucket); in rte_table_hash_entry_add_key8_lru()
294 lru_update(bucket, pos); in rte_table_hash_entry_add_key8_lru()
460 for (bucket = bucket0; bucket != NULL; bucket = bucket->next) { in rte_table_hash_entry_add_key8_ext()
482 bucket != NULL; bucket_prev = bucket, bucket = bucket->next) { in rte_table_hash_entry_add_key8_ext()
512 bucket->signature = 1; in rte_table_hash_entry_add_key8_ext()
541 for (bucket_prev = NULL, bucket = bucket0; bucket != NULL; in rte_table_hash_entry_delete_key8_ext()
542 bucket_prev = bucket, bucket = bucket->next) { in rte_table_hash_entry_delete_key8_ext()
564 bucket->next_valid; in rte_table_hash_entry_delete_key8_ext()
[all …]
H A Drte_lru_arm64.h25 #define lru_init(bucket) \ argument
26 { bucket->lru_list = ~0LLU; }
38 #define lru_pos(bucket) f_lru_pos(bucket->lru_list) argument
40 #define lru_update(bucket, mru_val) \ argument
45 uint64x1_t lru = vdup_n_u64(bucket->lru_list); \
47 bucket->lru_list = vget_lane_u64(vreinterpret_u64_u16( \
51 bucket->lru_list |= orvals[mru_val]; \
H A Drte_table_hash_ext.c16 struct bucket { struct
25 #define BUCKET_NEXT(bucket) \ argument
26 ((void *) ((bucket)->next & (~1LU)))
28 #define BUCKET_NEXT_VALID(bucket) \ argument
29 ((bucket)->next & 1LU)
38 (bucket)->next = 0; \
43 (bucket)->next = (bucket2)->next; \
61 struct bucket *bkt;
92 struct bucket *buckets;
93 struct bucket *buckets_ext;
[all …]
H A Drte_table_hash_lru.c31 struct bucket { struct
33 struct bucket *next; argument
41 struct bucket *bkt; argument
71 struct bucket *buckets;
252 struct bucket *bkt = &t->buckets[i]; in rte_table_hash_lru_create()
278 struct bucket *bkt; in rte_table_hash_lru_entry_add()
362 struct bucket *bkt; in rte_table_hash_lru_entry_delete()
411 struct bucket *bkt; in rte_table_hash_lru_lookup_unoptimized()
503 bucket_sig[0] = bucket->sig[0]; \
690 struct bucket *bkt20, *bkt21; \
[all …]
H A Drte_swx_table_learner.c428 struct table_bucket *bucket; member
480 m->bucket = b; in rte_swx_table_learner_lookup()
488 struct table_bucket *b = m->bucket; in rte_swx_table_learner_lookup()
548 struct table_bucket *b = m->bucket; in rte_swx_table_learner_add()
608 struct table_bucket *b = m->bucket; in rte_swx_table_learner_delete()
/dpdk/lib/hash/
H A Drte_fbk_hash.h133 if (! ht->t[bucket + i].entry.is_entry) { in rte_fbk_hash_add_key_with_bucket()
134 ht->t[bucket + i].whole_entry = new_entry; in rte_fbk_hash_add_key_with_bucket()
139 if (ht->t[bucket + i].entry.key == key) { in rte_fbk_hash_add_key_with_bucket()
140 ht->t[bucket + i].entry.value = value; in rte_fbk_hash_add_key_with_bucket()
185 uint32_t key, uint32_t bucket) in rte_fbk_hash_delete_key_with_bucket() argument
191 if (ht->t[bucket + i].entry.key == key) { in rte_fbk_hash_delete_key_with_bucket()
194 if (! ht->t[bucket + j].entry.is_entry) { in rte_fbk_hash_delete_key_with_bucket()
203 ht->t[bucket + i].whole_entry = in rte_fbk_hash_delete_key_with_bucket()
204 ht->t[bucket + last_entry].whole_entry; in rte_fbk_hash_delete_key_with_bucket()
205 ht->t[bucket + last_entry].whole_entry = 0; in rte_fbk_hash_delete_key_with_bucket()
[all …]
/dpdk/drivers/net/bnxt/tf_ulp/
H A Dulp_gen_hash.c195 uint16_t *bucket; in ulp_gen_hash_tbl_list_key_search() local
215 idx++, bucket++) { in ulp_gen_hash_tbl_list_key_search()
216 if (ULP_HASH_BUCKET_INUSE(bucket)) { in ulp_gen_hash_tbl_list_key_search()
218 key_idx = ULP_HASH_BUCKET_INDEX(bucket); in ulp_gen_hash_tbl_list_key_search()
261 uint16_t *bucket; in ulp_gen_hash_tbl_list_index_search() local
280 bucket += idx; in ulp_gen_hash_tbl_list_index_search()
281 if (ULP_HASH_BUCKET_INUSE(bucket)) { in ulp_gen_hash_tbl_list_index_search()
306 uint16_t *bucket; in ulp_gen_hash_tbl_list_add() local
348 uint16_t *bucket; in ulp_gen_hash_tbl_list_del() local
357 key_index = ULP_HASH_BUCKET_INDEX(bucket); in ulp_gen_hash_tbl_list_del()
[all …]
H A Dulp_gen_hash.h36 uint64_t *bucket; member
/dpdk/lib/ipsec/
H A Dipsec_sqn.h96 uint32_t bit, bucket; in esn_inb_check_sqn() local
112 bucket = (sqn >> WINDOW_BUCKET_BITS) & sa->replay.bucket_index_mask; in esn_inb_check_sqn()
115 if (rsn->window[bucket] & ((uint64_t)1 << bit)) in esn_inb_check_sqn()
153 uint32_t bit, bucket, last_bucket, new_bucket, diff, i; in esn_inb_update_sqn() local
164 bucket = (sqn >> WINDOW_BUCKET_BITS); in esn_inb_update_sqn()
169 diff = bucket - last_bucket; in esn_inb_update_sqn()
182 bucket &= sa->replay.bucket_index_mask; in esn_inb_update_sqn()
186 if (rsn->window[bucket] & bit) in esn_inb_update_sqn()
189 rsn->window[bucket] |= bit; in esn_inb_update_sqn()
/dpdk/drivers/net/bnxt/tf_core/
H A Dtf_shadow_tcam.c355 uint64_t *bucket; in tf_shadow_tcam_clear_hash_entry() local
362 bucket = &ctxt->hash_ctxt.hashtbl[hid]; in tf_shadow_tcam_clear_hash_entry()
366 *bucket = TF_SHADOW_TCAM_BE0_MASK_CLEAR(*bucket); in tf_shadow_tcam_clear_hash_entry()
369 *bucket = TF_SHADOW_TCAM_BE1_MASK_CLEAR(*bucket); in tf_shadow_tcam_clear_hash_entry()
372 *bucket = TF_SHADOW_TCAM_BE2_MASK_CLEAR(*bucket); in tf_shadow_tcam_clear_hash_entry()
375 *bucket = TF_SHADOW_TCAM_BE2_MASK_CLEAR(*bucket); in tf_shadow_tcam_clear_hash_entry()
545 uint64_t bucket; in tf_shadow_tcam_search() local
606 bucket = ctxt->hash_ctxt.hashtbl[hb_idx]; in tf_shadow_tcam_search()
608 if (!bucket) { in tf_shadow_tcam_search()
619 shtbl_idx = (uint16_t)((bucket >> (i * 16)) & 0xffff); in tf_shadow_tcam_search()
/dpdk/doc/guides/prog_guide/
H A Dpacket_framework.rst312 …rule to map a key to its bucket can simply be to use the key signature (modulo the number of table…
408 …to the table, it can happen that a given bucket already has 4 keys when a new key has to be added …
413 …The number of keys in each bucket never grows bigger than 4. The logic to pick the key to be dropp…
430 …The extendable bucket logic requires maintaining specific data structures per table and per each b…
583 … | | the current bucket). The next pointer is not NULL if the bu…
607 …ure35` and :numref:`table_qos_27` detail the bucket search pipeline stages (either LRU or extendab…
632 …| 1 | Prefetch table bucket | Read the key signature from the packet meta-data (for extendable…
887 and detail the bucket search pipeline used to implement 8-byte and 16-byte key hash tables (either …
912 …| 1 | Prefetch table bucket | #. Read the key signature from the packet meta-data (for extend…
941 #. For extendable bucket hash tables only,
[all …]
H A Dhash_lib.rst142 comparing the 2-byte signature of the input key against the signature of a key from the bucket.
149 First of all, the primary bucket is identified and entry is likely to be stored there.
152 If signature is not in the primary bucket, the secondary bucket is looked up, where same procedure
158 the primary bucket, a signature is stored in that entry, key and data (if any) are added to
160 If there is no space in the primary bucket, one of the entries on that bucket is pushed to its alte…
163 If there is room in the alternative bucket, the evicted entry
169 …s considered not able to be added (unless extendable bucket flag is set, and in that case the buck…
186 reached, the secondary bucket of this key is extended
189 …kup for a certain key, as before, the primary bucket is searched for a match and then the secondar…
201 As mentioned above, Cuckoo hash implementation pushes elements out of their bucket,
[all …]
H A Dqos_framework.rst522 as configured for the pipe token bucket, assuming that no port oversubscription is taking place.
587 The traffic shaping for subport and pipe is implemented using a token bucket per subport/per pipe.
631 To implement the token bucket generic operations described above,
633 while the implementation of the token bucket operations is described in :numref:`table_qos_9`.
665 The bucket rate (in bytes per second) can be computed with the following formula:
748 so there is no token bucket maintained in this context.
1736 * Excess (E) bucket: fed with tokens at the same rate as the C bucket.
1737 … The size of the E bucket is defined by the Excess Burst Size (EBS) parameter (measured in bytes).
1748 The size of the P bucket is defined by the Peak Burst Size (PBS) parameter (measured in bytes).
1770 (according to the pre-configured bucket rate).
[all …]
H A Dtraffic_management.rst92 Single rate shapers use a single token bucket. Therefore, single rate shaper is
93 configured by setting the rate of the committed bucket to zero, which
94 effectively disables this bucket. The peak bucket is used to limit the rate
96 committed and the peak token buckets. The rate of the peak bucket has to be
98 bucket.
/dpdk/app/test/
H A Dtest_table_tables.c68 struct rte_bucket_4_8 *bucket; in test_lru_update() local
78 bucket = &b; in test_lru_update()
81 bucket->lru_list = 0xFFFFFFFFFFFFFFFFULL; in test_lru_update()
83 bucket->lru_list = 0x0000000100020003ULL; in test_lru_update()
89 lru_update(bucket, idx); in test_lru_update()
90 pos = lru_pos(bucket); in test_lru_update()
94 __func__, i, bucket->lru_list, i>>1, pos); in test_lru_update()
97 if (bucket->lru_list != shuffles) { in test_lru_update()
100 __func__, i, bucket->lru_list, shuffles); in test_lru_update()
120 lru_update(bucket, i); in test_lru_update()
[all …]
/dpdk/drivers/event/cnxk/
H A Dcnxk_tim_worker.h135 uint64_t bucket = in cnxk_tim_get_target_bucket() local
140 bucket = cnxk_tim_bkt_fast_mod(bucket, tim_ring->nb_bkts, in cnxk_tim_get_target_bucket()
143 cnxk_tim_bkt_fast_mod(bucket + (tim_ring->nb_bkts >> 1), in cnxk_tim_get_target_bucket()
145 *bkt = &tim_ring->bkt[bucket]; in cnxk_tim_get_target_bucket()
H A Dcnxk_tim_evdev.c398 uint32_t real_bkt, bucket; in cnxk_tim_calibrate_start_tsc() local
405 bucket = (bkt_cyc - tim_ring->ring_start_cyc) / in cnxk_tim_calibrate_start_tsc()
407 bucket = bucket % (tim_ring->nb_bkts); in cnxk_tim_calibrate_start_tsc()
410 if (bucket != real_bkt) in cnxk_tim_calibrate_start_tsc()
416 bucket - real_bkt); in cnxk_tim_calibrate_start_tsc()
/dpdk/drivers/mempool/
H A Dmeson.build5 'bucket',
/dpdk/doc/guides/sample_app_ug/
H A Dtest_pipeline.rst71 The available options are ext (extendable bucket) or lru (least recently used).
111 …| 4 | hash-[spec]-8-ext | Extendable bucket hash table with 8-byte key size | Same…
134 …| 6 | hash-[spec]-16-ext | Extendable bucket hash table with 16-byte key size | Same…
157 …| 8 | hash-[spec]-32-ext | Extendable bucket hash table with 32-byte key size | Same…
/dpdk/drivers/event/octeontx/
H A Dtimvf_worker.h244 const uint32_t bucket = rte_reciprocal_divide_u64(bkt_cyc, in timvf_get_target_bucket() local
246 const uint32_t tbkt_id = timr->get_target_bkt(bucket, in timvf_get_target_bucket()
/dpdk/drivers/net/hns3/
H A Dhns3_dcb.c388 hns3_dcb_pg_shapping_cfg(struct hns3_hw *hw, enum hns3_shap_bucket bucket, in hns3_dcb_pg_shapping_cfg() argument
395 opcode = bucket ? HNS3_OPC_TM_PG_P_SHAPPING : in hns3_dcb_pg_shapping_cfg()
523 hns3_dcb_pri_shapping_cfg(struct hns3_hw *hw, enum hns3_shap_bucket bucket, in hns3_dcb_pri_shapping_cfg() argument
530 opcode = bucket ? HNS3_OPC_TM_PRI_P_SHAPPING : in hns3_dcb_pri_shapping_cfg()

12