Lines Matching refs:cmap
88 struct bpf_cpu_map *cmap; in cpu_map_alloc() local
101 cmap = bpf_map_area_alloc(sizeof(*cmap), NUMA_NO_NODE); in cpu_map_alloc()
102 if (!cmap) in cpu_map_alloc()
105 bpf_map_init_from_attr(&cmap->map, attr); in cpu_map_alloc()
108 cmap->cpu_map = bpf_map_area_alloc(cmap->map.max_entries * in cpu_map_alloc()
110 cmap->map.numa_node); in cpu_map_alloc()
111 if (!cmap->cpu_map) { in cpu_map_alloc()
112 bpf_map_area_free(cmap); in cpu_map_alloc()
116 return &cmap->map; in cpu_map_alloc()
553 static void __cpu_map_entry_replace(struct bpf_cpu_map *cmap, in __cpu_map_entry_replace() argument
558 old_rcpu = unrcu_pointer(xchg(&cmap->cpu_map[key_cpu], RCU_INITIALIZER(rcpu))); in __cpu_map_entry_replace()
567 struct bpf_cpu_map *cmap = container_of(map, struct bpf_cpu_map, map); in cpu_map_delete_elem() local
574 __cpu_map_entry_replace(cmap, key_cpu, NULL); in cpu_map_delete_elem()
581 struct bpf_cpu_map *cmap = container_of(map, struct bpf_cpu_map, map); in cpu_map_update_elem() local
591 if (unlikely(key_cpu >= cmap->map.max_entries)) in cpu_map_update_elem()
611 __cpu_map_entry_replace(cmap, key_cpu, rcpu); in cpu_map_update_elem()
618 struct bpf_cpu_map *cmap = container_of(map, struct bpf_cpu_map, map); in cpu_map_free() local
634 for (i = 0; i < cmap->map.max_entries; i++) { in cpu_map_free()
637 rcpu = rcu_dereference_raw(cmap->cpu_map[i]); in cpu_map_free()
644 bpf_map_area_free(cmap->cpu_map); in cpu_map_free()
645 bpf_map_area_free(cmap); in cpu_map_free()
654 struct bpf_cpu_map *cmap = container_of(map, struct bpf_cpu_map, map); in __cpu_map_lookup_elem() local
660 rcpu = rcu_dereference_check(cmap->cpu_map[key], in __cpu_map_lookup_elem()
675 struct bpf_cpu_map *cmap = container_of(map, struct bpf_cpu_map, map); in cpu_map_get_next_key() local
679 if (index >= cmap->map.max_entries) { in cpu_map_get_next_key()
684 if (index == cmap->map.max_entries - 1) in cpu_map_get_next_key()