On 08/04/2018 12:07 AM, Yonghong Song wrote:
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!

Will send to netdev. 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 (#1428): https://lists.iovisor.org/g/iovisor-dev/message/1428
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