bpf_htab
static void pcpu_copy_value(struct bpf_htab *htab, void __percpu *pptr,
static void pcpu_init_value(struct bpf_htab *htab, void __percpu *pptr,
static bool fd_htab_map_needs_adjust(const struct bpf_htab *htab)
static struct htab_elem *alloc_htab_elem(struct bpf_htab *htab, void *key,
static int check_flags(struct bpf_htab *htab, struct htab_elem *l_old,
struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
static void htab_lru_push_free(struct bpf_htab *htab, struct htab_elem *elem)
struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
static inline bool htab_is_prealloc(const struct bpf_htab *htab)
struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
static void htab_init_buckets(struct bpf_htab *htab)
struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
static void delete_all_elements(struct bpf_htab *htab)
static void htab_free_malloced_internal_structs(struct bpf_htab *htab)
struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
static bool htab_is_lru(const struct bpf_htab *htab)
static bool htab_is_percpu(const struct bpf_htab *htab)
struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
static inline bool is_fd_htab(const struct bpf_htab *htab)
static struct htab_elem *get_htab_elem(struct bpf_htab *htab, int i)
struct bpf_htab *htab;
const struct bpf_htab *htab = info->htab;
static bool htab_has_extra_elems(struct bpf_htab *htab)
static void htab_free_prealloced_internal_structs(struct bpf_htab *htab)
seq_info->htab = container_of(map, struct bpf_htab, map);
struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
usage = sizeof(struct bpf_htab) +
BTF_ID_LIST_SINGLE(htab_map_btf_ids, struct, bpf_htab)
static void htab_free_prealloced_fields(struct bpf_htab *htab)
struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
static void htab_free_elems(struct bpf_htab *htab)
static struct htab_elem *prealloc_lru_pop(struct bpf_htab *htab, void *key,
static int prealloc_init(struct bpf_htab *htab)
static void prealloc_destroy(struct bpf_htab *htab)
static int alloc_extra_elems(struct bpf_htab *htab)
static int htab_set_dtor(struct bpf_htab *htab, void (*dtor)(void *, void *))
struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
struct bpf_htab *htab;
static inline struct bucket *__select_bucket(struct bpf_htab *htab, u32 hash)
static inline struct hlist_nulls_head *select_bucket(struct bpf_htab *htab, u32 hash)
struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
static void check_and_free_fields(struct bpf_htab *htab,
struct bpf_htab *htab = arg;
struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
static void htab_elem_free(struct bpf_htab *htab, struct htab_elem *l)
static void htab_put_fd_value(struct bpf_htab *htab, struct htab_elem *l)
static bool is_map_full(struct bpf_htab *htab)
static void inc_elem_count(struct bpf_htab *htab)
static void dec_elem_count(struct bpf_htab *htab)
static void free_htab_elem(struct bpf_htab *htab, struct htab_elem *l)
struct bpf_htab *hash = (struct bpf_htab *)&m_hash;
struct bpf_htab *percpu_hash = (struct bpf_htab *)&m_percpu_hash;
struct bpf_htab *lru_hash = (struct bpf_htab *)&m_lru_hash;
struct bpf_htab *lru_percpu_hash = (struct bpf_htab *)&m_lru_percpu_hash;
struct bpf_htab *hash_of_maps = (struct bpf_htab *)&m_hash_of_maps;
struct bpf_htab *inner_map;