bpf_htab
Regular
4.4
: ✅struct bpf_htab {
struct bpf_map map;
struct hlist_head *buckets;
raw_spinlock_t lock;
u32 count;
u32 n_buckets;
u32 elem_size;
};
4.8
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
void *extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
};
4.10
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
void *extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
};
4.13
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
};
4.15
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
};
4.18
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
};
5.0
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
};
5.3
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
};
5.4
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
};
5.8
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
};
5.11
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
struct lock_class_key lockdep_key;
int * map_locked[8];
};
5.13
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
struct lock_class_key lockdep_key;
int * map_locked[8];
};
5.15
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
struct lock_class_key lockdep_key;
int * map_locked[8];
};
5.19
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
struct lock_class_key lockdep_key;
int * map_locked[8];
};
6.2
: ✅struct bpf_htab {
struct bpf_map map;
struct bpf_mem_alloc ma;
struct bpf_mem_alloc pcpu_ma;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
struct percpu_counter pcount;
atomic_t count;
bool use_percpu_counter;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
struct lock_class_key lockdep_key;
int * map_locked[8];
};
6.5
: ✅struct bpf_htab {
struct bpf_map map;
struct bpf_mem_alloc ma;
struct bpf_mem_alloc pcpu_ma;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
struct percpu_counter pcount;
atomic_t count;
bool use_percpu_counter;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
struct lock_class_key lockdep_key;
int * map_locked[8];
};
6.8
: ✅struct bpf_htab {
struct bpf_map map;
struct bpf_mem_alloc ma;
struct bpf_mem_alloc pcpu_ma;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
struct percpu_counter pcount;
atomic_t count;
bool use_percpu_counter;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
struct lock_class_key lockdep_key;
int * map_locked[8];
};
arm64
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
};
armhf
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
};
ppc64el
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
};
riscv64
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
};
aws
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
};
azure
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
};
gcp
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
};
lowlatency
: ✅struct bpf_htab {
struct bpf_map map;
struct bucket *buckets;
void *elems;
struct pcpu_freelist freelist;
struct bpf_lru lru;
struct htab_elem **extra_elems;
atomic_t count;
u32 n_buckets;
u32 elem_size;
u32 hashrnd;
};
Regular
4.4
and 4.8
⚠️void *elems
struct pcpu_freelist freelist
void *extra_elems
raw_spinlock_t lock
struct hlist_head *buckets
➡️ struct bucket *buckets
u32 count
➡️ atomic_t count
4.8
and 4.10
⚠️struct bpf_lru lru
4.10
and 4.13
⚠️void *extra_elems
➡️ struct htab_elem **extra_elems
4.13
and 4.15
✅
4.15
and 4.18
✅
4.18
and 5.0
⚠️u32 hashrnd
5.0
and 5.3
✅
5.3
and 5.4
✅
5.4
and 5.8
✅
5.8
and 5.11
⚠️struct lock_class_key lockdep_key
int * map_locked[8]
5.11
and 5.13
✅
5.13
and 5.15
✅
5.15
and 5.19
✅
5.19
and 6.2
⚠️struct bpf_mem_alloc ma
struct bpf_mem_alloc pcpu_ma
struct percpu_counter pcount
bool use_percpu_counter
6.2
and 6.5
✅
6.5
and 6.8
✅
amd64
and arm64
✅
amd64
and armhf
✅
amd64
and ppc64el
✅
amd64
and riscv64
✅
generic
and aws
✅
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅