Lines Matching refs:cmap

61 	struct bpf_cpu_map *cmap;  member
87 struct bpf_cpu_map *cmap; in cpu_map_alloc() local
100 cmap = bpf_map_area_alloc(sizeof(*cmap), NUMA_NO_NODE); in cpu_map_alloc()
101 if (!cmap) in cpu_map_alloc()
104 bpf_map_init_from_attr(&cmap->map, attr); in cpu_map_alloc()
107 if (cmap->map.max_entries > NR_CPUS) { in cpu_map_alloc()
113 cmap->cpu_map = bpf_map_area_alloc(cmap->map.max_entries * in cpu_map_alloc()
115 cmap->map.numa_node); in cpu_map_alloc()
116 if (!cmap->cpu_map) in cpu_map_alloc()
119 return &cmap->map; in cpu_map_alloc()
121 bpf_map_area_free(cmap); in cpu_map_alloc()
531 static void __cpu_map_entry_replace(struct bpf_cpu_map *cmap, in __cpu_map_entry_replace() argument
536 old_rcpu = unrcu_pointer(xchg(&cmap->cpu_map[key_cpu], RCU_INITIALIZER(rcpu))); in __cpu_map_entry_replace()
546 struct bpf_cpu_map *cmap = container_of(map, struct bpf_cpu_map, map); in cpu_map_delete_elem() local
553 __cpu_map_entry_replace(cmap, key_cpu, NULL); in cpu_map_delete_elem()
560 struct bpf_cpu_map *cmap = container_of(map, struct bpf_cpu_map, map); in cpu_map_update_elem() local
570 if (unlikely(key_cpu >= cmap->map.max_entries)) in cpu_map_update_elem()
588 rcpu->cmap = cmap; in cpu_map_update_elem()
591 __cpu_map_entry_replace(cmap, key_cpu, rcpu); in cpu_map_update_elem()
598 struct bpf_cpu_map *cmap = container_of(map, struct bpf_cpu_map, map); in cpu_map_free() local
615 for (i = 0; i < cmap->map.max_entries; i++) { in cpu_map_free()
618 rcpu = rcu_dereference_raw(cmap->cpu_map[i]); in cpu_map_free()
623 __cpu_map_entry_replace(cmap, i, NULL); /* call_rcu */ in cpu_map_free()
625 bpf_map_area_free(cmap->cpu_map); in cpu_map_free()
626 bpf_map_area_free(cmap); in cpu_map_free()
635 struct bpf_cpu_map *cmap = container_of(map, struct bpf_cpu_map, map); in __cpu_map_lookup_elem() local
641 rcpu = rcu_dereference_check(cmap->cpu_map[key], in __cpu_map_lookup_elem()
656 struct bpf_cpu_map *cmap = container_of(map, struct bpf_cpu_map, map); in cpu_map_get_next_key() local
660 if (index >= cmap->map.max_entries) { in cpu_map_get_next_key()
665 if (index == cmap->map.max_entries - 1) in cpu_map_get_next_key()