kernel_optimize_test/tools/testing
Daniel Borkmann f3515b5d0b bpf: provide a generic macro for percpu values for selftests
To overcome bugs as described and fixed in 89087c456f ("bpf: Fix
values type used in test_maps"), provide a generic BPF_DECLARE_PERCPU()
and bpf_percpu() accessor macro for all percpu map values used in
tests.

Declaring variables works as follows (also works for structs):

  BPF_DECLARE_PERCPU(uint32_t, my_value);

They can then be accessed normally as uint32_t type through:

  bpf_percpu(my_value, <cpu_nr>)

For example:

  bpf_percpu(my_value, 0)++;

Implicitly, we make sure that the passed type is allocated and aligned
by gcc at least on a 8-byte boundary, so that it works together with
the map lookup/update syscall for percpu maps. We use it as a usage
example in test_maps, so that others are free to adapt this into their
code when necessary.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-04-28 15:48:15 -04:00
..
fault-injection
ktest Greg Kroah-Hartman reported to me that the ktest of v4.10 locked up in an 2017-03-08 11:06:05 -08:00
nvdimm tools/testing/nvdimm: make iset cookie predictable 2017-03-01 00:09:51 -08:00
radix-tree radix tree test suite: Specify -m32 in LDFLAGS too 2017-03-07 13:18:24 -05:00
selftests bpf: provide a generic macro for percpu values for selftests 2017-04-28 15:48:15 -04:00