mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	libbpf: remove bpf_create_map*() APIs
To test API removal, get rid of bpf_create_map*() APIs. Perf defines __weak implementation of bpf_map_create() that redirects to old bpf_create_map() and that seems to compile and run fine. Cc: Jiri Olsa <jolsa@kernel.org> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/r/20220518185915.3529475-4-andrii@kernel.org Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
		
							parent
							
								
									e2371b1632
								
							
						
					
					
						commit
						d16495a982
					
				
					 2 changed files with 0 additions and 122 deletions
				
			
		| 
						 | 
					@ -208,86 +208,6 @@ int bpf_map_create(enum bpf_map_type map_type,
 | 
				
			||||||
	return libbpf_err_errno(fd);
 | 
						return libbpf_err_errno(fd);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int bpf_create_map_xattr(const struct bpf_create_map_attr *create_attr)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	LIBBPF_OPTS(bpf_map_create_opts, p);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	p.map_flags = create_attr->map_flags;
 | 
					 | 
				
			||||||
	p.numa_node = create_attr->numa_node;
 | 
					 | 
				
			||||||
	p.btf_fd = create_attr->btf_fd;
 | 
					 | 
				
			||||||
	p.btf_key_type_id = create_attr->btf_key_type_id;
 | 
					 | 
				
			||||||
	p.btf_value_type_id = create_attr->btf_value_type_id;
 | 
					 | 
				
			||||||
	p.map_ifindex = create_attr->map_ifindex;
 | 
					 | 
				
			||||||
	if (create_attr->map_type == BPF_MAP_TYPE_STRUCT_OPS)
 | 
					 | 
				
			||||||
		p.btf_vmlinux_value_type_id = create_attr->btf_vmlinux_value_type_id;
 | 
					 | 
				
			||||||
	else
 | 
					 | 
				
			||||||
		p.inner_map_fd = create_attr->inner_map_fd;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return bpf_map_create(create_attr->map_type, create_attr->name,
 | 
					 | 
				
			||||||
			      create_attr->key_size, create_attr->value_size,
 | 
					 | 
				
			||||||
			      create_attr->max_entries, &p);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int bpf_create_map_node(enum bpf_map_type map_type, const char *name,
 | 
					 | 
				
			||||||
			int key_size, int value_size, int max_entries,
 | 
					 | 
				
			||||||
			__u32 map_flags, int node)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	LIBBPF_OPTS(bpf_map_create_opts, opts);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	opts.map_flags = map_flags;
 | 
					 | 
				
			||||||
	if (node >= 0) {
 | 
					 | 
				
			||||||
		opts.numa_node = node;
 | 
					 | 
				
			||||||
		opts.map_flags |= BPF_F_NUMA_NODE;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return bpf_map_create(map_type, name, key_size, value_size, max_entries, &opts);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int bpf_create_map(enum bpf_map_type map_type, int key_size,
 | 
					 | 
				
			||||||
		   int value_size, int max_entries, __u32 map_flags)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	LIBBPF_OPTS(bpf_map_create_opts, opts, .map_flags = map_flags);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return bpf_map_create(map_type, NULL, key_size, value_size, max_entries, &opts);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int bpf_create_map_name(enum bpf_map_type map_type, const char *name,
 | 
					 | 
				
			||||||
			int key_size, int value_size, int max_entries,
 | 
					 | 
				
			||||||
			__u32 map_flags)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	LIBBPF_OPTS(bpf_map_create_opts, opts, .map_flags = map_flags);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return bpf_map_create(map_type, name, key_size, value_size, max_entries, &opts);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int bpf_create_map_in_map_node(enum bpf_map_type map_type, const char *name,
 | 
					 | 
				
			||||||
			       int key_size, int inner_map_fd, int max_entries,
 | 
					 | 
				
			||||||
			       __u32 map_flags, int node)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	LIBBPF_OPTS(bpf_map_create_opts, opts);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	opts.inner_map_fd = inner_map_fd;
 | 
					 | 
				
			||||||
	opts.map_flags = map_flags;
 | 
					 | 
				
			||||||
	if (node >= 0) {
 | 
					 | 
				
			||||||
		opts.map_flags |= BPF_F_NUMA_NODE;
 | 
					 | 
				
			||||||
		opts.numa_node = node;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return bpf_map_create(map_type, name, key_size, 4, max_entries, &opts);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int bpf_create_map_in_map(enum bpf_map_type map_type, const char *name,
 | 
					 | 
				
			||||||
			  int key_size, int inner_map_fd, int max_entries,
 | 
					 | 
				
			||||||
			  __u32 map_flags)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	LIBBPF_OPTS(bpf_map_create_opts, opts,
 | 
					 | 
				
			||||||
		.inner_map_fd = inner_map_fd,
 | 
					 | 
				
			||||||
		.map_flags = map_flags,
 | 
					 | 
				
			||||||
	);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return bpf_map_create(map_type, name, key_size, 4, max_entries, &opts);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static void *
 | 
					static void *
 | 
				
			||||||
alloc_zero_tailing_info(const void *orecord, __u32 cnt,
 | 
					alloc_zero_tailing_info(const void *orecord, __u32 cnt,
 | 
				
			||||||
			__u32 actual_rec_size, __u32 expected_rec_size)
 | 
								__u32 actual_rec_size, __u32 expected_rec_size)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -61,48 +61,6 @@ LIBBPF_API int bpf_map_create(enum bpf_map_type map_type,
 | 
				
			||||||
			      __u32 max_entries,
 | 
								      __u32 max_entries,
 | 
				
			||||||
			      const struct bpf_map_create_opts *opts);
 | 
								      const struct bpf_map_create_opts *opts);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct bpf_create_map_attr {
 | 
					 | 
				
			||||||
	const char *name;
 | 
					 | 
				
			||||||
	enum bpf_map_type map_type;
 | 
					 | 
				
			||||||
	__u32 map_flags;
 | 
					 | 
				
			||||||
	__u32 key_size;
 | 
					 | 
				
			||||||
	__u32 value_size;
 | 
					 | 
				
			||||||
	__u32 max_entries;
 | 
					 | 
				
			||||||
	__u32 numa_node;
 | 
					 | 
				
			||||||
	__u32 btf_fd;
 | 
					 | 
				
			||||||
	__u32 btf_key_type_id;
 | 
					 | 
				
			||||||
	__u32 btf_value_type_id;
 | 
					 | 
				
			||||||
	__u32 map_ifindex;
 | 
					 | 
				
			||||||
	union {
 | 
					 | 
				
			||||||
		__u32 inner_map_fd;
 | 
					 | 
				
			||||||
		__u32 btf_vmlinux_value_type_id;
 | 
					 | 
				
			||||||
	};
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_map_create() instead")
 | 
					 | 
				
			||||||
LIBBPF_API int bpf_create_map_xattr(const struct bpf_create_map_attr *create_attr);
 | 
					 | 
				
			||||||
LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_map_create() instead")
 | 
					 | 
				
			||||||
LIBBPF_API int bpf_create_map_node(enum bpf_map_type map_type, const char *name,
 | 
					 | 
				
			||||||
				   int key_size, int value_size,
 | 
					 | 
				
			||||||
				   int max_entries, __u32 map_flags, int node);
 | 
					 | 
				
			||||||
LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_map_create() instead")
 | 
					 | 
				
			||||||
LIBBPF_API int bpf_create_map_name(enum bpf_map_type map_type, const char *name,
 | 
					 | 
				
			||||||
				   int key_size, int value_size,
 | 
					 | 
				
			||||||
				   int max_entries, __u32 map_flags);
 | 
					 | 
				
			||||||
LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_map_create() instead")
 | 
					 | 
				
			||||||
LIBBPF_API int bpf_create_map(enum bpf_map_type map_type, int key_size,
 | 
					 | 
				
			||||||
			      int value_size, int max_entries, __u32 map_flags);
 | 
					 | 
				
			||||||
LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_map_create() instead")
 | 
					 | 
				
			||||||
LIBBPF_API int bpf_create_map_in_map_node(enum bpf_map_type map_type,
 | 
					 | 
				
			||||||
					  const char *name, int key_size,
 | 
					 | 
				
			||||||
					  int inner_map_fd, int max_entries,
 | 
					 | 
				
			||||||
					  __u32 map_flags, int node);
 | 
					 | 
				
			||||||
LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_map_create() instead")
 | 
					 | 
				
			||||||
LIBBPF_API int bpf_create_map_in_map(enum bpf_map_type map_type,
 | 
					 | 
				
			||||||
				     const char *name, int key_size,
 | 
					 | 
				
			||||||
				     int inner_map_fd, int max_entries,
 | 
					 | 
				
			||||||
				     __u32 map_flags);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
struct bpf_prog_load_opts {
 | 
					struct bpf_prog_load_opts {
 | 
				
			||||||
	size_t sz; /* size of this struct for forward/backward compatibility */
 | 
						size_t sz; /* size of this struct for forward/backward compatibility */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue