Create default call rcu data upon per-cpu call-rcu teardown
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 28 Sep 2011 20:03:13 +0000 (16:03 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 28 Sep 2011 20:03:13 +0000 (16:03 -0400)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
urcu-call-rcu-impl.h

index f9250e8b4129b925aeb7b47f609d3e91dd3f790d..3e947af2fd84bfd6c6843788d9f31a5ff720b876 100644 (file)
@@ -609,6 +609,8 @@ void call_rcu_data_free(struct call_rcu_data *crdp)
                _CMM_STORE_SHARED(crdp->cbs.head, NULL);
                cbs_tail = (struct cds_wfq_node **)
                        uatomic_xchg(&crdp->cbs.tail, &crdp->cbs.head);
+               /* Create default call rcu data if need be */
+               (void) get_default_call_rcu_data();
                cbs_endprev = (struct cds_wfq_node **)
                        uatomic_xchg(&default_call_rcu_data, cbs_tail);
                *cbs_endprev = cbs;
This page took 0.032966 seconds and 4 git commands to generate.