Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
vppinfra: remove the historical mheap memory allocator
[vpp.git]
/
src
/
vpp-api
/
client
/
client.c
diff --git
a/src/vpp-api/client/client.c
b/src/vpp-api/client/client.c
index
5b47fd4
..
5dcca22
100644
(file)
--- a/
src/vpp-api/client/client.c
+++ b/
src/vpp-api/client/client.c
@@
-86,17
+86,6
@@
static void
vac_client_constructor (void)
{
clib_mem_init (0, 1 << 30);
vac_client_constructor (void)
{
clib_mem_init (0, 1 << 30);
-#if USE_DLMALLOC == 0
- {
- u8 *heap;
- mheap_t *h;
-
- heap = clib_mem_get_per_cpu_heap ();
- h = mheap_header (heap);
- /* make the main heap thread-safe */
- h->flags |= MHEAP_FLAG_THREAD_SAFE;
- }
-#endif
if (mem_trace)
clib_mem_trace (1);
}
if (mem_trace)
clib_mem_trace (1);
}
@@
-177,7
+166,7
@@
vac_rx_thread_fn (void *arg)
vl_api_memclnt_keepalive_t *mp;
vl_api_memclnt_keepalive_reply_t *rmp;
vac_main_t *pm = &vac_main;
vl_api_memclnt_keepalive_t *mp;
vl_api_memclnt_keepalive_reply_t *rmp;
vac_main_t *pm = &vac_main;
- api_main_t *am =
&api_main
;
+ api_main_t *am =
vlibapi_get_main()
;
vl_shmem_hdr_t *shmem_hdr;
uword msg;
vl_shmem_hdr_t *shmem_hdr;
uword msg;
@@
-186,6
+175,7
@@
vac_rx_thread_fn (void *arg)
while (1)
while (!svm_queue_sub(q, (u8 *)&msg, SVM_Q_WAIT, 0))
{
while (1)
while (!svm_queue_sub(q, (u8 *)&msg, SVM_Q_WAIT, 0))
{
+ VL_MSG_API_UNPOISON((void *)msg);
u16 id = ntohs(*((u16 *)msg));
switch (id) {
case VL_API_RX_THREAD_EXIT:
u16 id = ntohs(*((u16 *)msg));
switch (id) {
case VL_API_RX_THREAD_EXIT:
@@
-236,7
+226,7
@@
vac_timeout_thread_fn (void *arg)
{
vl_api_memclnt_read_timeout_t *ep;
vac_main_t *pm = &vac_main;
{
vl_api_memclnt_read_timeout_t *ep;
vac_main_t *pm = &vac_main;
- api_main_t *am =
&api_main
;
+ api_main_t *am =
vlibapi_get_main()
;
struct timespec ts;
struct timeval tv;
int rv;
struct timespec ts;
struct timeval tv;
int rv;
@@
-271,7
+261,7
@@
vac_timeout_thread_fn (void *arg)
void
vac_rx_suspend (void)
{
void
vac_rx_suspend (void)
{
- api_main_t *am =
&api_main
;
+ api_main_t *am =
vlibapi_get_main()
;
vac_main_t *pm = &vac_main;
vl_api_memclnt_rx_thread_suspend_t *ep;
vac_main_t *pm = &vac_main;
vl_api_memclnt_rx_thread_suspend_t *ep;
@@
-305,14
+295,14
@@
vac_rx_resume (void)
static uword *
vac_msg_table_get_hash (void)
{
static uword *
vac_msg_table_get_hash (void)
{
- api_main_t *am =
&api_main
;
+ api_main_t *am =
vlibapi_get_main()
;
return (am->msg_index_by_name_and_crc);
}
int
vac_msg_table_size(void)
{
return (am->msg_index_by_name_and_crc);
}
int
vac_msg_table_size(void)
{
- api_main_t *am =
&api_main
;
+ api_main_t *am =
vlibapi_get_main()
;
return hash_elts(am->msg_index_by_name_and_crc);
}
return hash_elts(am->msg_index_by_name_and_crc);
}
@@
-389,7
+379,7
@@
unset_timeout (void)
int
vac_disconnect (void)
{
int
vac_disconnect (void)
{
- api_main_t *am =
&api_main
;
+ api_main_t *am =
vlibapi_get_main()
;
vac_main_t *pm = &vac_main;
uword junk;
int rv = 0;
vac_main_t *pm = &vac_main;
uword junk;
int rv = 0;
@@
-441,7
+431,7
@@
int
vac_read (char **p, int *l, u16 timeout)
{
svm_queue_t *q;
vac_read (char **p, int *l, u16 timeout)
{
svm_queue_t *q;
- api_main_t *am =
&api_main
;
+ api_main_t *am =
vlibapi_get_main()
;
vac_main_t *pm = &vac_main;
vl_api_memclnt_keepalive_t *mp;
vl_api_memclnt_keepalive_reply_t *rmp;
vac_main_t *pm = &vac_main;
vl_api_memclnt_keepalive_t *mp;
vl_api_memclnt_keepalive_reply_t *rmp;
@@
-450,11
+440,13
@@
vac_read (char **p, int *l, u16 timeout)
int rv;
vl_shmem_hdr_t *shmem_hdr;
int rv;
vl_shmem_hdr_t *shmem_hdr;
- if (!pm->connected_to_vlib) return -1;
+ /* svm_queue_sub(below) returns {-1, -2} */
+ if (!pm->connected_to_vlib) return -3;
*l = 0;
*l = 0;
- if (am->our_pid == 0) return (-1);
+ /* svm_queue_sub(below) returns {-1, -2} */
+ if (am->our_pid == 0) return (-4);
/* Poke timeout thread */
if (timeout)
/* Poke timeout thread */
if (timeout)
@@
-466,6
+458,7
@@
vac_read (char **p, int *l, u16 timeout)
rv = svm_queue_sub(q, (u8 *)&msg, SVM_Q_WAIT, 0);
if (rv == 0) {
rv = svm_queue_sub(q, (u8 *)&msg, SVM_Q_WAIT, 0);
if (rv == 0) {
+ VL_MSG_API_UNPOISON((void *)msg);
u16 msg_id = ntohs(*((u16 *)msg));
switch (msg_id) {
case VL_API_RX_THREAD_EXIT:
u16 msg_id = ntohs(*((u16 *)msg));
switch (msg_id) {
case VL_API_RX_THREAD_EXIT:
@@
-485,7
+478,7
@@
vac_read (char **p, int *l, u16 timeout)
shmem_hdr = am->shmem_hdr;
vl_msg_api_send_shmem(shmem_hdr->vl_input_queue, (u8 *)&rmp);
vl_msg_api_free((void *) msg);
shmem_hdr = am->shmem_hdr;
vl_msg_api_send_shmem(shmem_hdr->vl_input_queue, (u8 *)&rmp);
vl_msg_api_free((void *) msg);
- /*
+ /*
* Python code is blissfully unaware of these pings, so
* act as if it never happened...
*/
* Python code is blissfully unaware of these pings, so
* act as if it never happened...
*/
@@
-531,14
+524,14
@@
typedef VL_API_PACKED(struct _vl_api_header {
static u32
vac_client_index (void)
{
static u32
vac_client_index (void)
{
- return (
api_main.
my_client_index);
+ return (
vlibapi_get_main()->
my_client_index);
}
int
vac_write (char *p, int l)
{
int rv = -1;
}
int
vac_write (char *p, int l)
{
int rv = -1;
- api_main_t *am =
&api_main
;
+ api_main_t *am =
vlibapi_get_main()
;
vl_api_header_t *mp = vl_msg_api_alloc(l);
svm_queue_t *q;
vac_main_t *pm = &vac_main;
vl_api_header_t *mp = vl_msg_api_alloc(l);
svm_queue_t *q;
vac_main_t *pm = &vac_main;