vcl: refactor vls to minimize lock usage 63/25663/13
authorFlorin Coras <fcoras@cisco.com>
Wed, 4 Mar 2020 22:20:12 +0000 (22:20 +0000)
committerDave Barach <openvpp@barachs.net>
Fri, 6 Mar 2020 15:08:24 +0000 (15:08 +0000)
commit243edd5ffe5cb62be5fe806a33026a7bdfca499f
tree9f6c4238d261bfa12a96904eb41bd204105dfda4
parent5e0e0df9b494bb9ef698533db42f2ea496046a32
vcl: refactor vls to minimize lock usage

Type: refactor

- per vls worker private pool of sessions
- deep copy of vls worker data structures on fork
- maintain a global, i.e., heap allocated, and lock protected  pool of
  elements that track sessions that are shared between workers (due to
  forking).

Credit for uncovering the issue goes to Intel team contributing code to
VSAP (Ping, Yuwei, Shujun, Guoao).

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id7d8bb06ecd7b03e4134f1cae23e740cf4634649
src/vcl/vcl_locked.c
src/vcl/vcl_private.h