~lttng/urcu/trunk

Viewing all changes in revision 1468.

  • Committer: Mathieu Desnoyers
  • Author(s): Olivier Dion
  • Date: 2023-08-18 20:16:09 UTC
  • Revision ID: git-v1:97d13221f8a10e9ba38821dea2c2ff299d166c71
Phase 1 of deprecating liburcu-signal

The first phase of liburcu-signal deprecation consists of implementing
it in term of liburcu-mb. In other words, liburcu-signal is identical to
liburcu-mb at the exception of the function symbols and public header
files.

This is done by:

  1) Removing the RCU_SIGNAL specific code in urcu.c

  2) Making the RCU_MB specific code also specific to RCU_SIGNAL in
  urcu.c

  3) Rewriting _urcu_signal_read_unlock_update_and_wakeup to use a
  atomic store with CMM_SEQ_CST instead of a store CMM_RELAXED with
  cmm_barrier() around it. We could keep the explicit barriers, but that
  would require to add some cmm_annotate annotations. Therefore, to be
  less intrusive in a public header file, simply use the CMM_SEQ_CST
  like for the mb flavor.

Change-Id: Ie406f7df2f47da0a9f464df94b968ad9204821f3
Signed-off-by: Olivier Dion <odion@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: