Lines Matching refs:cmap

86 	struct bpf_cpu_map *cmap;  in cpu_map_alloc()  local
99 cmap = bpf_map_area_alloc(sizeof(*cmap), NUMA_NO_NODE); in cpu_map_alloc()
100 if (!cmap) in cpu_map_alloc()
103 bpf_map_init_from_attr(&cmap->map, attr); in cpu_map_alloc()
106 cmap->cpu_map = bpf_map_area_alloc(cmap->map.max_entries * in cpu_map_alloc()
108 cmap->map.numa_node); in cpu_map_alloc()
109 if (!cmap->cpu_map) { in cpu_map_alloc()
110 bpf_map_area_free(cmap); in cpu_map_alloc()
114 return &cmap->map; in cpu_map_alloc()
545 static void __cpu_map_entry_replace(struct bpf_cpu_map *cmap, in __cpu_map_entry_replace() argument
550 old_rcpu = unrcu_pointer(xchg(&cmap->cpu_map[key_cpu], RCU_INITIALIZER(rcpu))); in __cpu_map_entry_replace()
559 struct bpf_cpu_map *cmap = container_of(map, struct bpf_cpu_map, map); in cpu_map_delete_elem() local
566 __cpu_map_entry_replace(cmap, key_cpu, NULL); in cpu_map_delete_elem()
573 struct bpf_cpu_map *cmap = container_of(map, struct bpf_cpu_map, map); in cpu_map_update_elem() local
583 if (unlikely(key_cpu >= cmap->map.max_entries)) in cpu_map_update_elem()
603 __cpu_map_entry_replace(cmap, key_cpu, rcpu); in cpu_map_update_elem()
610 struct bpf_cpu_map *cmap = container_of(map, struct bpf_cpu_map, map); in cpu_map_free() local
626 for (i = 0; i < cmap->map.max_entries; i++) { in cpu_map_free()
629 rcpu = rcu_dereference_raw(cmap->cpu_map[i]); in cpu_map_free()
636 bpf_map_area_free(cmap->cpu_map); in cpu_map_free()
637 bpf_map_area_free(cmap); in cpu_map_free()
646 struct bpf_cpu_map *cmap = container_of(map, struct bpf_cpu_map, map); in __cpu_map_lookup_elem() local
652 rcpu = rcu_dereference_check(cmap->cpu_map[key], in __cpu_map_lookup_elem()
667 struct bpf_cpu_map *cmap = container_of(map, struct bpf_cpu_map, map); in cpu_map_get_next_key() local
671 if (index >= cmap->map.max_entries) { in cpu_map_get_next_key()
676 if (index == cmap->map.max_entries - 1) in cpu_map_get_next_key()