FD.io VPP  v21.10.1-2-g0a485f517
Vector Packet Processing
clib_bihash_t Struct Reference

A bounded index extensible hash table. More...

Public Member Functions

 BVT (clib_bihash_value) **working_copies
 Working copies (various sizes), to avoid locking against readers. More...
 
 BVT (clib_bihash_value) **freelists
 power of two freelist vector More...
 

Data Fields

clib_bihash_bucket_tbuckets
 Hash bucket vector, power-of-two in size. More...
 
volatile u32writer_lock
 Writer lock, in its own cache line. More...
 
clib_bihash_bucket_t saved_bucket
 Saved bucket pointer. More...
 
u32 nbuckets
 Number of hash buckets. More...
 
u32 log2_nbuckets
 lg(nbuckets) More...
 
u8name
 hash table name More...
 
uword alloc_arena
 memory allocation arena
More...
 
uword alloc_arena_next
 first available mem chunk More...
 
uword alloc_arena_size
 size of the arena More...
 
uword alloc_arena_mapped
 size of mapped memory in the arena More...
 

Detailed Description

A bounded index extensible hash table.

Definition at line 69 of file bihash_doc.h.

Member Function Documentation

◆ BVT() [1/2]

clib_bihash_t::BVT ( clib_bihash_value  )

power of two freelist vector

◆ BVT() [2/2]

clib_bihash_t::BVT ( clib_bihash_value  )

Working copies (various sizes), to avoid locking against readers.

Field Documentation

◆ alloc_arena

uword clib_bihash_t::alloc_arena

memory allocation arena

Definition at line 81 of file bihash_doc.h.

◆ alloc_arena_mapped

uword clib_bihash_t::alloc_arena_mapped

size of mapped memory in the arena

Definition at line 84 of file bihash_doc.h.

◆ alloc_arena_next

uword clib_bihash_t::alloc_arena_next

first available mem chunk

Definition at line 82 of file bihash_doc.h.

◆ alloc_arena_size

uword clib_bihash_t::alloc_arena_size

size of the arena

Definition at line 83 of file bihash_doc.h.

◆ buckets

clib_bihash_bucket_t* clib_bihash_t::buckets

Hash bucket vector, power-of-two in size.

Definition at line 71 of file bihash_doc.h.

◆ log2_nbuckets

u32 clib_bihash_t::log2_nbuckets

lg(nbuckets)

Definition at line 77 of file bihash_doc.h.

◆ name

u8* clib_bihash_t::name

hash table name

Definition at line 78 of file bihash_doc.h.

◆ nbuckets

u32 clib_bihash_t::nbuckets

Number of hash buckets.

Definition at line 76 of file bihash_doc.h.

◆ saved_bucket

clib_bihash_bucket_t clib_bihash_t::saved_bucket

Saved bucket pointer.

Definition at line 75 of file bihash_doc.h.

◆ writer_lock

volatile u32* clib_bihash_t::writer_lock

Writer lock, in its own cache line.

Definition at line 72 of file bihash_doc.h.


The documentation for this struct was generated from the following file: