Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
#include "compat-getcpu.h"
#include "urcu/wfcqueue.h"
#include "compat-getcpu.h"
#include "urcu/wfcqueue.h"
-#include "urcu-call-rcu.h"
#include "urcu-pointer.h"
#include "urcu/list.h"
#include "urcu/futex.h"
#include "urcu-pointer.h"
#include "urcu/list.h"
#include "urcu/futex.h"
struct urcu_workqueue {
/*
* We do not align head on a different cache-line than tail
struct urcu_workqueue {
/*
* We do not align head on a different cache-line than tail
- * mainly because call_rcu callback-invocation threads use
- * batching ("splice") to get an entire list of callbacks, which
- * effectively empties the queue, and requires to touch the tail
- * anyway.
+ * mainly because workqueue threads use batching ("splice") to
+ * get an entire list of callbacks, which effectively empties
+ * the queue, and requires to touch the tail anyway.
*/
struct cds_wfcq_tail cbs_tail;
struct cds_wfcq_head cbs_head;
*/
struct cds_wfcq_tail cbs_tail;
struct cds_wfcq_head cbs_head;
uatomic_dec(&workqueue->futex);
/*
* Decrement futex before reading
uatomic_dec(&workqueue->futex);
/*
* Decrement futex before reading
*/
cmm_smp_mb();
} else {
*/
cmm_smp_mb();
} else {
- * Read call_rcu list before write futex.
+ * Read urcu_work list before write futex.
*/
cmm_smp_mb();
uatomic_set(&workqueue->futex, 0);
*/
cmm_smp_mb();
uatomic_set(&workqueue->futex, 0);