On Thu, Aug 2, 2018 at 10:29 AM, Mauricio Vasquez
<[email protected]> wrote:
> Bpf queue map is a new kind of map that provides a LIFO/FIFO queue
> implementation.
>
> In some applications, like a SNAT, it is necessary to keep track of
> a pool of free elemenets, network ports in this case, then a queue
> can be used for that purpose.

I did not check the detailed implementation for percpu freelist implementation,
but the general framework looks sound. I think the patch is ready to send
to netdev with "[PATCH bpf-next]" prefix for more review if bpf-next does
not close soon.

Thanks!

>
> v2:
> - precharge memory on map allocation
> - add percpu free list when prealloc is enabled
>
> Signed-off-by: Mauricio Vasquez B <[email protected]>
>
> ---
>
> Mauricio Vasquez B (3):
>       bpf: add bpf queue map
>       selftests/bpf: add test cases for BPF_MAP_TYPE_QUEUE
>       bpf: add sample for BPF_MAP_TYPE_QUEUE
>
>
>  include/linux/bpf_types.h               |    1
>  include/uapi/linux/bpf.h                |    5 +
>  kernel/bpf/Makefile                     |    2
>  kernel/bpf/queuemap.c                   |  285 
> +++++++++++++++++++++++++++++++
>  kernel/bpf/syscall.c                    |   61 +++++--
>  kernel/bpf/verifier.c                   |   10 +
>  samples/bpf/.gitignore                  |    1
>  samples/bpf/Makefile                    |    3
>  samples/bpf/test_map_in_map_user.c      |    9 -
>  samples/bpf/test_queuemap.sh            |   37 ++++
>  samples/bpf/test_queuemap_kern.c        |   51 ++++++
>  samples/bpf/test_queuemap_user.c        |   53 ++++++
>  tools/include/uapi/linux/bpf.h          |    5 +
>  tools/testing/selftests/bpf/test_maps.c |   71 ++++++++
>  14 files changed, 569 insertions(+), 25 deletions(-)
>  create mode 100644 kernel/bpf/queuemap.c
>  create mode 100755 samples/bpf/test_queuemap.sh
>  create mode 100644 samples/bpf/test_queuemap_kern.c
>  create mode 100644 samples/bpf/test_queuemap_user.c
>
> --
> Signature
>
> 
>

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#1426): https://lists.iovisor.org/g/iovisor-dev/message/1426
Mute This Topic: https://lists.iovisor.org/mt/24146803/21656
Group Owner: [email protected]
Unsubscribe: https://lists.iovisor.org/g/iovisor-dev/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to