Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
smp_mb();
for (;;) {
- struct rcu_wfs_node *node = rcu_wfs_pop(&s);
+ struct rcu_wfs_node *node = rcu_wfs_pop_blocking(&s);
if (node) {
defer_rcu(free, node);
struct rcu_wfs_node *node;
do {
- node = rcu_wfs_pop(s);
+ node = rcu_wfs_pop_blocking(s);
if (node) {
free(node);
(*nr_dequeues)++;
#error "Dynamic loader LGPL wrappers not implemented yet"
#endif
-#define RCU_WF_STACK_END ((void *)0x1UL)
+#define RCU_WF_STACK_END ((void *)0x1UL)
struct rcu_wfs_node {
struct rcu_wfs_node *next;
* loops. Better for UP.
*/
struct rcu_wfs_node *
-rcu_wfs_pop(struct rcu_wfs_stack *s)
+rcu_wfs_pop_blocking(struct rcu_wfs_stack *s)
{
for (;;) {
struct rcu_wfs_node *head;