Subject: Re: [PATCH v2 bpf-next 2/7] selftests/bpf: samples/bpf: split off legacy stuff from bpf_helpers.h

From: Toke Høiland-Jørgensen <[email-masked]>
Date: Thu, 03 Oct 2019 09:35:20 +0200

Andrii Nakryiko <[email-masked]> writes:

> diff --git a/samples/bpf/map_perf_test_kern.c b/samples/bpf/map_perf_test_kern.c
> index 2b2ffb97018b..f47ee513cb7c 100644
> --- a/samples/bpf/map_perf_test_kern.c
> +++ b/samples/bpf/map_perf_test_kern.c
> @@ -9,25 +9,26 @@
>  #include <linux/version.h>
>  #include <uapi/linux/bpf.h>
>  #include "bpf_helpers.h"
> +#include "bpf_legacy.h"
>  
>  #define MAX_ENTRIES 1000
>  #define MAX_NR_CPUS 1024
>  
> -struct bpf_map_def SEC("maps") hash_map = {
> +struct bpf_map_def_legacy SEC("maps") hash_map = {
>  	.type = BPF_MAP_TYPE_HASH,
>  	.key_size = sizeof(u32),
>  	.value_size = sizeof(long),
>  	.max_entries = MAX_ENTRIES,
>  };

Why switch these when they're not actually using any of the extra fields
in map_def_legacy?
>  
> -struct bpf_map_def SEC("maps") lru_hash_map = {
> +struct bpf_map_def_legacy SEC("maps") lru_hash_map = {
>  	.type = BPF_MAP_TYPE_LRU_HASH,
>  	.key_size = sizeof(u32),
>  	.value_size = sizeof(long),
>  	.max_entries = 10000,
>  };
>  
> -struct bpf_map_def SEC("maps") nocommon_lru_hash_map = {
> +struct bpf_map_def_legacy SEC("maps") nocommon_lru_hash_map = {
>  	.type = BPF_MAP_TYPE_LRU_HASH,
>  	.key_size = sizeof(u32),
>  	.value_size = sizeof(long),
> @@ -35,7 +36,7 @@ struct bpf_map_def SEC("maps") nocommon_lru_hash_map = {
>  	.map_flags = BPF_F_NO_COMMON_LRU,
>  };
>  
> -struct bpf_map_def SEC("maps") inner_lru_hash_map = {
> +struct bpf_map_def_legacy SEC("maps") inner_lru_hash_map = {
>  	.type = BPF_MAP_TYPE_LRU_HASH,
>  	.key_size = sizeof(u32),
>  	.value_size = sizeof(long),
> @@ -44,20 +45,20 @@ struct bpf_map_def SEC("maps") inner_lru_hash_map = {
>  	.numa_node = 0,
>  };

Or are you just switching everything because of this one?

-Toke