One main user of liburcu-bp (lttng-ust) invokes synchronize_rcu()
repeatedly, without batching (does not use call_rcu).
Those delays introduced by sys_membarrier SHARED command significantly
impacts application startup time. Therefore, revert to not using the
membarrier SHARED command.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
static
void rcu_sys_membarrier_status(int available)
{
- if (available)
- urcu_bp_has_sys_membarrier = 1;
+ /*
+ * membarrier has blocking behavior, which changes the
+ * application behavior too much compared to using barriers when
+ * synchronize_rcu is used repeatedly (without using call_rcu).
+ * Don't use membarrier for now, unless its use has been
+ * explicitly forced when building liburcu.
+ */
}
#endif