diff options
author | Florin Coras <fcoras@cisco.com> | 2018-01-31 06:52:17 -0800 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2018-02-05 21:45:28 +0000 |
commit | a332c46a51f9b4e13963340dfee1318e7513c124 (patch) | |
tree | fde1056972c5b164987bd15ce0530a3d48d1bbd7 /src/svm/ssvm.h | |
parent | e71eb5922a293eca36dbd323970741daaca3c5c7 (diff) |
session: segment manager refactor
- use valloc as a 'central' segment baseva manager
- use per segment manager segment pools and use rwlocks to guard them
- add session test that exercises segment creation
- embed segment manager properties into application since they're shared
- fix rw locks
Change-Id: I761164c147275d9e8a926f1eda395e090d231f9a
Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/svm/ssvm.h')
-rw-r--r-- | src/svm/ssvm.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/svm/ssvm.h b/src/svm/ssvm.h index 9bf009e73d2..09e1707450b 100644 --- a/src/svm/ssvm.h +++ b/src/svm/ssvm.h @@ -49,6 +49,7 @@ typedef enum ssvm_segment_type_ { SSVM_SEGMENT_SHM = 0, SSVM_SEGMENT_MEMFD, + SSVM_SEGMENT_PRIVATE, SSVM_N_SEGMENT_TYPES /**< Private segments */ } ssvm_segment_type_t; @@ -195,6 +196,10 @@ int ssvm_master_init_memfd (ssvm_private_t * memfd); int ssvm_slave_init_memfd (ssvm_private_t * memfd); void ssvm_delete_memfd (ssvm_private_t * memfd); +int ssvm_master_init_private (ssvm_private_t * ssvm); +int ssvm_slave_init_private (ssvm_private_t * ssvm); +void ssvm_delete_private (ssvm_private_t * ssvm); + ssvm_segment_type_t ssvm_type (const ssvm_private_t * ssvm); u8 *ssvm_name (const ssvm_private_t * ssvm); |