Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
vlib: don't use vector for keeping buffer indices in the pool
[vpp.git]
/
src
/
vlib
/
buffer.h
diff --git
a/src/vlib/buffer.h
b/src/vlib/buffer.h
index
c8761af
..
c2ca821
100644
(file)
--- a/
src/vlib/buffer.h
+++ b/
src/vlib/buffer.h
@@
-411,12
+411,15
@@
vlib_buffer_pull (vlib_buffer_t * b, u8 size)
/* Forward declaration. */
struct vlib_main_t;
/* Forward declaration. */
struct vlib_main_t;
+#define VLIB_BUFFER_POOL_PER_THREAD_CACHE_SZ 512
+
typedef struct
{
CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
typedef struct
{
CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
- u32
*cached_buffers
;
- u32 n_
alloc
;
+ u32
cached_buffers[VLIB_BUFFER_POOL_PER_THREAD_CACHE_SZ]
;
+ u32 n_
cached
;
} vlib_buffer_pool_thread_t;
} vlib_buffer_pool_thread_t;
+
typedef struct
{
CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
typedef struct
{
CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
@@
-428,6
+431,7
@@
typedef struct
u32 physmem_map_index;
u32 data_size;
u32 n_buffers;
u32 physmem_map_index;
u32 data_size;
u32 n_buffers;
+ u32 n_avail;
u32 *buffers;
u8 *name;
clib_spinlock_t lock;
u32 *buffers;
u8 *name;
clib_spinlock_t lock;