Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
GBP: add allowed ethertypes to contracts
[vpp.git]
/
src
/
vlib
/
threads.h
diff --git
a/src/vlib/threads.h
b/src/vlib/threads.h
index
bb7c164
..
0e9cba5
100644
(file)
--- a/
src/vlib/threads.h
+++ b/
src/vlib/threads.h
@@
-414,7
+414,7
@@
vlib_worker_thread_barrier_check (void)
ed->thread_index = thread_index;
}
ed->thread_index = thread_index;
}
- clib_
smp_atomic
_add (vlib_worker_threads->workers_at_barrier, 1);
+ clib_
atomic_fetch
_add (vlib_worker_threads->workers_at_barrier, 1);
if (CLIB_DEBUG > 0)
{
vm = vlib_get_main ();
if (CLIB_DEBUG > 0)
{
vm = vlib_get_main ();
@@
-424,7
+424,7
@@
vlib_worker_thread_barrier_check (void)
;
if (CLIB_DEBUG > 0)
vm->parked_at_barrier = 0;
;
if (CLIB_DEBUG > 0)
vm->parked_at_barrier = 0;
- clib_
smp_atomic
_add (vlib_worker_threads->workers_at_barrier, -1);
+ clib_
atomic_fetch
_add (vlib_worker_threads->workers_at_barrier, -1);
if (PREDICT_FALSE (*vlib_worker_threads->node_reforks_required))
{
if (PREDICT_FALSE (*vlib_worker_threads->node_reforks_required))
{
@@
-450,8
+450,8
@@
vlib_worker_thread_barrier_check (void)
}
vlib_worker_thread_node_refork ();
}
vlib_worker_thread_node_refork ();
- clib_
smp_atomic
_add (vlib_worker_threads->node_reforks_required,
- -1);
+ clib_
atomic_fetch
_add (vlib_worker_threads->node_reforks_required,
+
-1);
while (*vlib_worker_threads->node_reforks_required)
;
}
while (*vlib_worker_threads->node_reforks_required)
;
}
@@
-519,7
+519,7
@@
vlib_get_frame_queue_elt (u32 frame_queue_index, u32 index)
fq = fqm->vlib_frame_queues[index];
ASSERT (fq);
fq = fqm->vlib_frame_queues[index];
ASSERT (fq);
- new_tail =
__sync_add_an
d_fetch (&fq->tail, 1);
+ new_tail =
clib_atomic_ad
d_fetch (&fq->tail, 1);
/* Wait until a ring slot is available */
while (new_tail >= fq->head_hint + fq->nelts)
/* Wait until a ring slot is available */
while (new_tail >= fq->head_hint + fq->nelts)