| H A D | hashtab.c | 108 /* each htab element is struct htab_elem + key + value */ 135 static inline bool htab_is_prealloc(const struct bpf_htab *htab) in htab_is_prealloc() 137 return !(htab->map.map_flags & BPF_F_NO_PREALLOC); in htab_is_prealloc() 140 static void htab_init_buckets(struct bpf_htab *htab) in htab_init_buckets() 144 for (i = 0; i < htab->n_buckets; i++) { in htab_init_buckets() 145 INIT_HLIST_NULLS_HEAD(&htab->buckets[i].head, i); in htab_init_buckets() 146 raw_res_spin_lock_init(&htab->buckets[i].raw_lock); in htab_init_buckets() 170 static bool htab_is_lru(const struct bpf_htab *htab) in htab_is_lru() 172 return htab->map.map_type == BPF_MAP_TYPE_LRU_HASH || in htab_is_lru() 173 htab in htab_is_lru() 134 htab_is_prealloc(const struct bpf_htab * htab) htab_is_prealloc() argument 139 htab_init_buckets(struct bpf_htab * htab) htab_init_buckets() argument 169 htab_is_lru(const struct bpf_htab * htab) htab_is_lru() argument 175 htab_is_percpu(const struct bpf_htab * htab) htab_is_percpu() argument 181 is_fd_htab(const struct bpf_htab * htab) is_fd_htab() argument 207 get_htab_elem(struct bpf_htab * htab,int i) get_htab_elem() argument 216 htab_has_extra_elems(struct bpf_htab * htab) htab_has_extra_elems() argument 221 htab_free_prealloced_internal_structs(struct bpf_htab * htab) htab_free_prealloced_internal_structs() argument 239 htab_free_prealloced_fields(struct bpf_htab * htab) htab_free_prealloced_fields() argument 273 htab_free_elems(struct bpf_htab * htab) htab_free_elems() argument 303 prealloc_lru_pop(struct bpf_htab * htab,void * key,u32 hash) prealloc_lru_pop() argument 319 prealloc_init(struct bpf_htab * htab) prealloc_init() argument 378 prealloc_destroy(struct bpf_htab * htab) prealloc_destroy() argument 388 alloc_extra_elems(struct bpf_htab * htab) alloc_extra_elems() argument 531 struct bpf_htab *htab = container_of(map, struct bpf_htab, map); htab_map_check_btf() local 559 struct bpf_htab *htab; htab_map_alloc() local 687 __select_bucket(struct bpf_htab * htab,u32 hash) __select_bucket() argument 692 select_bucket(struct bpf_htab * htab,u32 hash) select_bucket() argument 740 struct bpf_htab *htab = container_of(map, struct bpf_htab, map); __htab_map_lookup_elem() local 843 check_and_cancel_fields(struct bpf_htab * htab,struct htab_elem * elem) check_and_cancel_fields() argument 867 struct bpf_htab *htab = arg; htab_lru_map_delete_node() local 900 struct bpf_htab *htab = container_of(map, struct bpf_htab, map); htab_map_get_next_key() local 956 htab_elem_free(struct bpf_htab * htab,struct htab_elem * l) htab_elem_free() argument 965 htab_put_fd_value(struct bpf_htab * htab,struct htab_elem * l) htab_put_fd_value() argument 976 is_map_full(struct bpf_htab * htab) is_map_full() argument 984 inc_elem_count(struct bpf_htab * htab) inc_elem_count() argument 994 dec_elem_count(struct bpf_htab * htab) dec_elem_count() argument 1004 free_htab_elem(struct bpf_htab * htab,struct htab_elem * l) free_htab_elem() argument 1018 pcpu_copy_value(struct bpf_htab * htab,void __percpu * pptr,void * value,bool onallcpus,u64 map_flags) pcpu_copy_value() argument 1051 pcpu_init_value(struct bpf_htab * htab,void __percpu * pptr,void * value,bool onallcpus,u64 map_flags) pcpu_init_value() argument 1077 fd_htab_map_needs_adjust(const struct bpf_htab * htab) fd_htab_map_needs_adjust() argument 1082 alloc_htab_elem(struct bpf_htab * htab,void * key,void * value,u32 key_size,u32 hash,bool percpu,bool onallcpus,struct htab_elem * old_elem,u64 map_flags) alloc_htab_elem() argument 1165 check_flags(struct bpf_htab * htab,struct htab_elem * l_old,u64 map_flags) check_flags() argument 1183 struct bpf_htab *htab = container_of(map, struct bpf_htab, map); htab_map_update_elem() local 1280 htab_lru_push_free(struct bpf_htab * htab,struct htab_elem * elem) htab_lru_push_free() argument 1290 struct bpf_htab *htab = container_of(map, struct bpf_htab, map); htab_lru_map_update_elem() local 1366 struct bpf_htab *htab = container_of(map, struct bpf_htab, map); htab_map_update_elem_in_place() local 1429 struct bpf_htab *htab = container_of(map, struct bpf_htab, map); __htab_lru_percpu_map_update_elem() local 1510 struct bpf_htab *htab = container_of(map, struct bpf_htab, map); htab_map_delete_elem() local 1545 struct bpf_htab *htab = container_of(map, struct bpf_htab, map); htab_lru_map_delete_elem() local 1578 delete_all_elements(struct bpf_htab * htab) delete_all_elements() argument 1598 htab_free_malloced_internal_structs(struct bpf_htab * htab) htab_free_malloced_internal_structs() argument 1620 struct bpf_htab *htab = container_of(map, struct bpf_htab, map); htab_map_free_internal_structs() local 1635 struct bpf_htab *htab = container_of(map, struct bpf_htab, map); htab_map_free() local 1688 struct bpf_htab *htab = container_of(map, struct bpf_htab, map); __htab_map_lookup_and_delete_elem() local 1791 struct bpf_htab *htab = container_of(map, struct bpf_htab, map); __htab_map_lookup_and_delete_batch() local 2108 struct bpf_htab *htab; global() member 2118 const struct bpf_htab *htab = info->htab; bpf_hash_map_seq_find_next() local 2293 struct bpf_htab *htab = container_of(map, struct bpf_htab, map); bpf_for_each_hash_elem() local 2345 struct bpf_htab *htab = container_of(map, struct bpf_htab, map); htab_map_mem_usage() local 2541 struct bpf_htab *htab = container_of(map, struct bpf_htab, map); bpf_percpu_hash_update() local 2637 struct bpf_htab *htab = container_of(map, struct bpf_htab, map); fd_htab_map_free() local [all...] |