On Sun, May 17, 2020 at 12:57:25PM -0700, Andrii Nakryiko wrote:
> diff --git a/tools/testing/selftests/bpf/progs/test_ringbuf_multi.c 
> b/tools/testing/selftests/bpf/progs/test_ringbuf_multi.c
> new file mode 100644
> index 000000000000..7eb85dd9cd66
> --- /dev/null
> +++ b/tools/testing/selftests/bpf/progs/test_ringbuf_multi.c
> @@ -0,0 +1,77 @@
> +// SPDX-License-Identifier: GPL-2.0
> +// Copyright (c) 2019 Facebook

oops ;)

> +
> +#include <linux/bpf.h>
> +#include <bpf/bpf_helpers.h>
> +
> +char _license[] SEC("license") = "GPL";
> +
> +struct sample {
> +     int pid;
> +     int seq;
> +     long value;
> +     char comm[16];
> +};
> +
> +struct ringbuf_map {
> +     __uint(type, BPF_MAP_TYPE_RINGBUF);
> +     __uint(max_entries, 1 << 12);
> +} ringbuf1 SEC(".maps"),
> +  ringbuf2 SEC(".maps");
> +
> +struct {
> +     __uint(type, BPF_MAP_TYPE_ARRAY_OF_MAPS);
> +     __uint(max_entries, 4);
> +     __type(key, int);
> +     __array(values, struct ringbuf_map);
> +} ringbuf_arr SEC(".maps") = {
> +     .values = {
> +             [0] = &ringbuf1,
> +             [2] = &ringbuf2,
> +     },
> +};

the tests look great. Very easy to understand the usage model.

Reply via email to