Merge remote branch 'origin/urcu/ht' into urcu/ht
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 6 Jul 2011 01:02:11 +0000 (21:02 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 6 Jul 2011 01:02:11 +0000 (21:02 -0400)
Conflicts:
urcu-ht.h

853 files changed:
.gitignore
API.txt [new file with mode: 0644]
ChangeLog [new file with mode: 0644]
Makefile [deleted file]
Makefile.am [new file with mode: 0644]
Makefile.build.inc [deleted file]
Makefile.inc [deleted file]
Makefile32 [deleted file]
Makefile64 [deleted file]
README
arch_atomic_ppc.h [deleted file]
arch_atomic_s390.h [deleted file]
arch_atomic_x86.h [deleted file]
arch_ppc.h [deleted file]
arch_s390.h [deleted file]
arch_x86.h [deleted file]
bootstrap [new file with mode: 0755]
compat_arch_x86.c [new file with mode: 0644]
compat_futex.c [new file with mode: 0644]
compiler.h [deleted file]
configure.ac [new file with mode: 0644]
formal-model/.gitignore [deleted file]
formal-model/futex-wakeup/DEFINES [deleted file]
formal-model/futex-wakeup/Makefile [deleted file]
formal-model/futex-wakeup/futex.ltl [deleted file]
formal-model/futex-wakeup/futex.spin [deleted file]
formal-model/futex-wakeup/futex_progress_late_dec.define [deleted file]
formal-model/futex-wakeup/futex_progress_no_wake.define [deleted file]
formal-model/ooomem-double-update/DEFINES [deleted file]
formal-model/ooomem-double-update/Makefile [deleted file]
formal-model/ooomem-double-update/mem.sh [deleted file]
formal-model/ooomem-double-update/mem.spin [deleted file]
formal-model/ooomem-double-update/read_order.ltl [deleted file]
formal-model/ooomem-double-update/read_order_no_rmb.define [deleted file]
formal-model/ooomem-double-update/read_order_no_wmb.define [deleted file]
formal-model/ooomem-double-update/references.txt [deleted file]
formal-model/ooomem-no-sched/DEFINES [deleted file]
formal-model/ooomem-no-sched/Makefile [deleted file]
formal-model/ooomem-no-sched/mem.sh [deleted file]
formal-model/ooomem-no-sched/mem.spin [deleted file]
formal-model/ooomem-no-sched/read_order.ltl [deleted file]
formal-model/ooomem-no-sched/read_order_no_rmb.define [deleted file]
formal-model/ooomem-no-sched/read_order_no_wmb.define [deleted file]
formal-model/ooomem-no-sched/references.txt [deleted file]
formal-model/ooomem-two-writes/DEFINES [deleted file]
formal-model/ooomem-two-writes/Makefile [deleted file]
formal-model/ooomem-two-writes/mem.sh [deleted file]
formal-model/ooomem-two-writes/mem.spin [deleted file]
formal-model/ooomem-two-writes/read_order.ltl [deleted file]
formal-model/ooomem-two-writes/read_order.ltl.bkp [deleted file]
formal-model/ooomem-two-writes/read_order_no_rmb.define [deleted file]
formal-model/ooomem-two-writes/read_order_no_sync.define [deleted file]
formal-model/ooomem-two-writes/read_order_no_wmb.define [deleted file]
formal-model/ooomem-two-writes/references.txt [deleted file]
formal-model/spinlock/DEFINES [deleted file]
formal-model/spinlock/Makefile [deleted file]
formal-model/spinlock/lock_progress.ltl [deleted file]
formal-model/spinlock/mem-progress.spin [deleted file]
formal-model/spinlock/mem.sh [deleted file]
formal-model/spinlock/mem.spin [deleted file]
formal-model/spinlock/refcount.ltl [deleted file]
formal-model/spinlock/references.txt [deleted file]
formal-model/ticketlock/DEFINES [deleted file]
formal-model/ticketlock/Makefile [deleted file]
formal-model/ticketlock/config_4_bits_per_byte.define [deleted file]
formal-model/ticketlock/lock_progress.ltl [deleted file]
formal-model/ticketlock/mem-progress.spin [deleted file]
formal-model/ticketlock/mem.sh [deleted file]
formal-model/ticketlock/mem.spin [deleted file]
formal-model/ticketlock/refcount.ltl [deleted file]
formal-model/ticketlock/references.txt [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/.input.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/.input.spin [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/DEFINES [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/Makefile [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/references.txt [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/urcu.sh [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/urcu.spin [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/urcu_free.ltl [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/urcu_free_nested.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/urcu_free_no_mb.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/urcu_free_no_rmb.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/urcu_free_no_wmb.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/urcu_free_single_flip.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/urcu_progress.ltl [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/urcu_progress_reader.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/urcu_progress_reader.log [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/urcu_progress_writer.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/urcu_progress_writer.log [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/urcu_progress_writer.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-compress/urcu_progress_writer_error.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/.input.spin [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/DEFINES [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/Makefile [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/asserts.log [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/asserts.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/references.txt [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu.sh [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu.spin [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free.log [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free.ltl [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free_nested.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free_no_mb.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free_no_mb.log [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free_no_mb.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free_no_mb.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free_no_rmb.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free_no_rmb.log [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free_no_rmb.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free_no_rmb.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free_no_wmb.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free_no_wmb.log [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free_no_wmb.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free_no_wmb.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free_single_flip.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free_single_flip.log [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free_single_flip.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_free_single_flip.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_progress.ltl [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_progress_reader.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_progress_reader.log [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_progress_reader.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_progress_writer.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_progress_writer.log [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_progress_writer.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_progress_writer_error.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_progress_writer_error.log [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_progress_writer_error.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-ipi-progress-minimal/urcu_progress_writer_error.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/.input.spin [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/DEFINES [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/Makefile [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/asserts.log [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/asserts.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/references.txt [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu.sh [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu.spin [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free.log [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free.ltl [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free_nested.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free_no_mb.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free_no_mb.log [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free_no_mb.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free_no_mb.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free_no_rmb.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free_no_rmb.log [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free_no_rmb.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free_no_rmb.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free_no_wmb.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free_no_wmb.log [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free_no_wmb.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free_no_wmb.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free_single_flip.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free_single_flip.log [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free_single_flip.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_free_single_flip.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_progress.ltl [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_progress_reader.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_progress_writer.define [deleted file]
formal-model/urcu-controldataflow-alpha-ipi/urcu_progress_writer_error.define [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/.input.spin [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/DEFINES [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/Makefile [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/asserts.log [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/asserts.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/references.txt [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu.sh [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu.spin [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free.log [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free.ltl [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free_nested.define [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free_no_mb.define [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free_no_mb.log [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free_no_mb.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free_no_mb.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free_no_rmb.define [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free_no_rmb.log [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free_no_rmb.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free_no_rmb.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free_no_wmb.define [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free_no_wmb.log [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free_no_wmb.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free_no_wmb.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free_single_flip.define [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free_single_flip.log [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free_single_flip.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_free_single_flip.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_progress.ltl [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_progress_reader.define [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_progress_reader.log [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_progress_reader.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_progress_writer.define [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_progress_writer.log [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_progress_writer.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_progress_writer_error.define [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_progress_writer_error.log [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_progress_writer_error.spin.input [deleted file]
formal-model/urcu-controldataflow-alpha-no-ipi/urcu_progress_writer_error.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/.input.define [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/.input.spin [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/.input.spin.trail [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/DEFINES [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/Makefile [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/references.txt [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu.sh [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu.spin [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu_free.log [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu_free.ltl [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu_free_nested.define [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu_free_no_mb.define [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu_free_no_rmb.define [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu_free_no_wmb.define [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu_free_single_flip.define [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu_progress.ltl [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu_progress_reader.define [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu_progress_reader.log [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu_progress_reader.spin.input [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu_progress_writer.define [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu_progress_writer.log [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu_progress_writer.spin.input [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu_progress_writer_error.define [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu_progress_writer_error.log [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu_progress_writer_error.spin.input [deleted file]
formal-model/urcu-controldataflow-intel-ipi-compress/urcu_progress_writer_error.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-intel-ipi/.input.define [deleted file]
formal-model/urcu-controldataflow-intel-ipi/.input.spin [deleted file]
formal-model/urcu-controldataflow-intel-ipi/DEFINES [deleted file]
formal-model/urcu-controldataflow-intel-ipi/Makefile [deleted file]
formal-model/urcu-controldataflow-intel-ipi/references.txt [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu.sh [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu.spin [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free.log [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free.ltl [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free.spin.input [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free_nested.define [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free_no_mb.define [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free_no_mb.log [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free_no_mb.spin.input [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free_no_mb.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free_no_rmb.define [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free_no_rmb.log [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free_no_rmb.spin.input [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free_no_wmb.define [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free_no_wmb.log [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free_no_wmb.spin.input [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free_no_wmb.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free_single_flip.define [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free_single_flip.log [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free_single_flip.spin.input [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_free_single_flip.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_progress.ltl [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_progress_reader.define [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_progress_writer.define [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_progress_writer.log [deleted file]
formal-model/urcu-controldataflow-intel-ipi/urcu_progress_writer_error.define [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/.input.spin [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/DEFINES [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/Makefile [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/asserts.log [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/asserts.spin.input [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/references.txt [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu.sh [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu.spin [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free.log [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free.ltl [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free.spin.input [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free_nested.define [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free_no_mb.define [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free_no_mb.log [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free_no_mb.spin.input [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free_no_mb.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free_no_rmb.define [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free_no_rmb.log [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free_no_rmb.spin.input [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free_no_wmb.define [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free_no_wmb.log [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free_no_wmb.spin.input [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free_no_wmb.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free_single_flip.define [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free_single_flip.log [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free_single_flip.spin.input [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_free_single_flip.spin.input.trail [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_progress.ltl [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_progress_reader.define [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_progress_reader.log [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_progress_reader.spin.input [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_progress_writer.define [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_progress_writer.log [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_progress_writer.spin.input [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_progress_writer_error.define [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_progress_writer_error.log [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_progress_writer_error.spin.input [deleted file]
formal-model/urcu-controldataflow-intel-no-ipi/urcu_progress_writer_error.spin.input.trail [deleted file]
formal-model/urcu-controldataflow/DEFINES [deleted file]
formal-model/urcu-controldataflow/Makefile [deleted file]
formal-model/urcu-controldataflow/references.txt [deleted file]
formal-model/urcu-controldataflow/urcu.sh [deleted file]
formal-model/urcu-controldataflow/urcu.spin [deleted file]
formal-model/urcu-controldataflow/urcu_free.ltl [deleted file]
formal-model/urcu-controldataflow/urcu_free_nested.define [deleted file]
formal-model/urcu-controldataflow/urcu_free_no_mb.define [deleted file]
formal-model/urcu-controldataflow/urcu_free_no_rmb.define [deleted file]
formal-model/urcu-controldataflow/urcu_free_no_wmb.define [deleted file]
formal-model/urcu-controldataflow/urcu_free_single_flip.define [deleted file]
formal-model/urcu-controldataflow/urcu_progress.ltl [deleted file]
formal-model/urcu-controldataflow/urcu_progress_reader.define [deleted file]
formal-model/urcu-controldataflow/urcu_progress_writer.define [deleted file]
formal-model/urcu-controldataflow/urcu_progress_writer_error.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/DEFINES [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/Makefile [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/asserts.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/asserts.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/asserts.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/references.txt [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu.sh [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu.spin [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free.ltl [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_nested.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_nested.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_nested.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_nested.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_no_mb.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_no_mb.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_no_mb.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_no_mb.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_no_rmb.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_no_rmb.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_no_rmb.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_no_rmb.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_no_wmb.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_no_wmb.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_no_wmb.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_no_wmb.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_single_flip.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_single_flip.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_single_flip.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_free_single_flip.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_progress.ltl [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_progress_reader.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_progress_reader.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_progress_reader.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_progress_reader.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_progress_writer.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_progress_writer.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_progress_writer.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_progress_writer.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_progress_writer_error.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_progress_writer_error.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_progress_writer_error.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-reader/urcu_progress_writer_error.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/DEFINES [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/Makefile [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/asserts.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/asserts.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/asserts.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/references.txt [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/result-signal-over-writer/DEFINES [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/result-signal-over-writer/Makefile [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/result-signal-over-writer/asserts.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/result-signal-over-writer/asserts.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/result-signal-over-writer/asserts.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/result-signal-over-writer/references.txt [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/.input.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/.input.spin [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/DEFINES [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/Makefile [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/asserts.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/asserts.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/asserts.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/references.txt [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu.sh [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu.spin [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu.spin.bkp2 [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu.spin.bkp5 [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free.ltl [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_nested.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_nested.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_nested.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_nested.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_no_mb.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_no_mb.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_no_mb.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_no_mb.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_no_rmb.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_no_rmb.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_no_rmb.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_no_rmb.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_no_wmb.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_no_wmb.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_no_wmb.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_no_wmb.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_single_flip.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_single_flip.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_single_flip.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_free_single_flip.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_progress.ltl [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_progress_reader.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_progress_reader.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_progress_reader.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_progress_reader.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_progress_writer.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_progress_writer.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_progress_writer.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_progress_writer.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_progress_writer_error.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_progress_writer_error.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_progress_writer_error.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/testmerge/urcu_progress_writer_error.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu.sh [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu.spin [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free.ltl [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_nested.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_nested.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_nested.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_nested.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_no_mb.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_no_mb.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_no_mb.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_no_mb.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_no_rmb.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_no_rmb.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_no_rmb.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_no_rmb.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_no_wmb.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_no_wmb.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_no_wmb.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_no_wmb.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_single_flip.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_single_flip.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_single_flip.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_free_single_flip.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_progress.ltl [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_progress_reader.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_progress_reader.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_progress_reader.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_progress_reader.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_progress_writer.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_progress_writer.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_progress_writer.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_progress_writer.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_progress_writer_error.define [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_progress_writer_error.log [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_progress_writer_error.spin.input [deleted file]
formal-model/urcu-nosched-model/result-signal-over-writer/urcu_progress_writer_error.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/DEFINES [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/Makefile [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/asserts.log [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/asserts.spin.input [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/asserts.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/references.txt [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu.sh [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu.spin [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free.log [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free.ltl [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free.spin.input [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_nested.define [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_nested.log [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_nested.spin.input [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_nested.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_no_mb.define [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_no_mb.log [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_no_mb.spin.input [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_no_mb.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_no_rmb.define [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_no_rmb.log [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_no_rmb.spin.input [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_no_rmb.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_no_wmb.define [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_no_wmb.log [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_no_wmb.spin.input [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_no_wmb.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_single_flip.define [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_single_flip.log [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_single_flip.spin.input [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_free_single_flip.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_progress.ltl [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_progress_reader.define [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_progress_reader.log [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_progress_reader.spin.input [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_progress_reader.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_progress_writer.define [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_progress_writer.log [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_progress_writer.spin.input [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_progress_writer.spin.input.trail [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_progress_writer_error.define [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_progress_writer_error.log [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_progress_writer_error.spin.input [deleted file]
formal-model/urcu-nosched-model/result-standard-execution-nest/urcu_progress_writer_error.spin.input.trail [deleted file]
formal-model/urcu-paulmck/.gitignore [deleted file]
formal-model/urcu-paulmck/urcu-paulmck.spin [deleted file]
formal-model/urcu-paulmck/urcu.sh [deleted file]
formal-model/urcu.sh [deleted file]
formal-model/urcu.spin [deleted file]
formal-model/urcu/DEFINES [deleted file]
formal-model/urcu/Makefile [deleted file]
formal-model/urcu/references.txt [deleted file]
formal-model/urcu/result-signal-over-reader/DEFINES [deleted file]
formal-model/urcu/result-signal-over-reader/Makefile [deleted file]
formal-model/urcu/result-signal-over-reader/asserts.log [deleted file]
formal-model/urcu/result-signal-over-reader/asserts.spin.input [deleted file]
formal-model/urcu/result-signal-over-reader/asserts.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-reader/urcu.sh [deleted file]
formal-model/urcu/result-signal-over-reader/urcu.spin [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free.log [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free.ltl [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free.spin.input [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free_no_mb.define [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free_no_mb.log [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free_no_mb.spin.input [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free_no_mb.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free_no_rmb.define [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free_no_rmb.log [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free_no_rmb.spin.input [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free_no_rmb.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free_no_wmb.define [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free_no_wmb.log [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free_no_wmb.spin.input [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free_no_wmb.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free_single_flip.define [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free_single_flip.log [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free_single_flip.spin.input [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_free_single_flip.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_progress.ltl [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_progress_reader.define [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_progress_reader.log [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_progress_reader.spin.input [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_progress_reader.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_progress_writer.define [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_progress_writer.log [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_progress_writer.spin.input [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_progress_writer.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_progress_writer_error.define [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_progress_writer_error.log [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_progress_writer_error.spin.input [deleted file]
formal-model/urcu/result-signal-over-reader/urcu_progress_writer_error.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/DEFINES [deleted file]
formal-model/urcu/result-signal-over-writer/Makefile [deleted file]
formal-model/urcu/result-signal-over-writer/asserts.log [deleted file]
formal-model/urcu/result-signal-over-writer/asserts.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/asserts.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/result-signal-over-writer/DEFINES [deleted file]
formal-model/urcu/result-signal-over-writer/result-signal-over-writer/Makefile [deleted file]
formal-model/urcu/result-signal-over-writer/result-signal-over-writer/asserts.log [deleted file]
formal-model/urcu/result-signal-over-writer/result-signal-over-writer/asserts.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/result-signal-over-writer/asserts.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/result-signal-over-writer/references.txt [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/.input.define [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/.input.spin [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/DEFINES [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/Makefile [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/asserts.log [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/asserts.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/asserts.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/references.txt [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu.sh [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu.spin [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu.spin.bkp2 [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu.spin.bkp5 [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free.log [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free.ltl [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_nested.define [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_nested.log [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_nested.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_nested.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_no_mb.define [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_no_mb.log [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_no_mb.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_no_mb.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_no_rmb.define [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_no_rmb.log [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_no_rmb.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_no_rmb.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_no_wmb.define [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_no_wmb.log [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_no_wmb.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_no_wmb.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_single_flip.define [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_single_flip.log [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_single_flip.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_free_single_flip.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_progress.ltl [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_progress_reader.define [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_progress_reader.log [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_progress_reader.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_progress_reader.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_progress_writer.define [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_progress_writer.log [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_progress_writer.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_progress_writer.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_progress_writer_error.define [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_progress_writer_error.log [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_progress_writer_error.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/testmerge/urcu_progress_writer_error.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/urcu.sh [deleted file]
formal-model/urcu/result-signal-over-writer/urcu.spin [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free.log [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free.ltl [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free_no_mb.define [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free_no_mb.log [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free_no_mb.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free_no_mb.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free_no_rmb.define [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free_no_rmb.log [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free_no_rmb.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free_no_rmb.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free_no_wmb.define [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free_no_wmb.log [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free_no_wmb.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free_no_wmb.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free_single_flip.define [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free_single_flip.log [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free_single_flip.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_free_single_flip.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_progress.ltl [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_progress_reader.define [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_progress_reader.log [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_progress_reader.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_progress_reader.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_progress_writer.define [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_progress_writer.log [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_progress_writer.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_progress_writer.spin.input.trail [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_progress_writer_error.define [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_progress_writer_error.log [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_progress_writer_error.spin.input [deleted file]
formal-model/urcu/result-signal-over-writer/urcu_progress_writer_error.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nest/DEFINES [deleted file]
formal-model/urcu/result-standard-execution-nest/Makefile [deleted file]
formal-model/urcu/result-standard-execution-nest/asserts.log [deleted file]
formal-model/urcu/result-standard-execution-nest/asserts.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nest/asserts.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu.sh [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu.spin [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free.log [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free.ltl [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free_no_mb.define [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free_no_mb.log [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free_no_mb.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free_no_mb.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free_no_rmb.define [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free_no_rmb.log [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free_no_rmb.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free_no_rmb.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free_no_wmb.define [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free_no_wmb.log [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free_no_wmb.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free_no_wmb.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free_single_flip.define [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free_single_flip.log [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free_single_flip.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_free_single_flip.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_progress.ltl [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_progress_reader.define [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_progress_reader.log [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_progress_reader.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_progress_reader.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_progress_writer.define [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_progress_writer.log [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_progress_writer.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_progress_writer.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_progress_writer_error.define [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_progress_writer_error.log [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_progress_writer_error.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nest/urcu_progress_writer_error.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nonest/DEFINES [deleted file]
formal-model/urcu/result-standard-execution-nonest/Makefile [deleted file]
formal-model/urcu/result-standard-execution-nonest/asserts.log [deleted file]
formal-model/urcu/result-standard-execution-nonest/asserts.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nonest/asserts.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nonest/references.txt [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu.sh [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu.spin [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free.log [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free.ltl [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_nested.define [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_nested.log [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_nested.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_nested.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_no_mb.define [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_no_mb.log [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_no_mb.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_no_mb.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_no_rmb.define [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_no_rmb.log [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_no_rmb.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_no_rmb.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_no_wmb.define [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_no_wmb.log [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_no_wmb.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_no_wmb.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_single_flip.define [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_single_flip.log [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_single_flip.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_free_single_flip.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_progress.ltl [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_progress_reader.define [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_progress_reader.log [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_progress_reader.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_progress_reader.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_progress_writer.define [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_progress_writer.log [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_progress_writer.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_progress_writer.spin.input.trail [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_progress_writer_error.define [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_progress_writer_error.log [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_progress_writer_error.spin.input [deleted file]
formal-model/urcu/result-standard-execution-nonest/urcu_progress_writer_error.spin.input.trail [deleted file]
formal-model/urcu/urcu.sh [deleted file]
formal-model/urcu/urcu.spin [deleted file]
formal-model/urcu/urcu_free.ltl [deleted file]
formal-model/urcu/urcu_free_no_mb.define [deleted file]
formal-model/urcu/urcu_free_no_rmb.define [deleted file]
formal-model/urcu/urcu_free_no_wmb.define [deleted file]
formal-model/urcu/urcu_free_single_flip.define [deleted file]
formal-model/urcu/urcu_progress.ltl [deleted file]
formal-model/urcu/urcu_progress_reader.define [deleted file]
formal-model/urcu/urcu_progress_writer.define [deleted file]
formal-model/urcu/urcu_progress_writer_error.define [deleted file]
liburcu-bp.pc.in [new file with mode: 0644]
liburcu-cds.pc.in [new file with mode: 0644]
liburcu-mb.pc.in [new file with mode: 0644]
liburcu-qsbr.pc.in [new file with mode: 0644]
liburcu-signal.pc.in [new file with mode: 0644]
liburcu.pc.in [new file with mode: 0644]
rculfhash.c [new file with mode: 0644]
rculfqueue.c [new file with mode: 0644]
rculfstack.c [new file with mode: 0644]
tests/Makefile [deleted file]
tests/Makefile.am [new file with mode: 0644]
tests/Makefile.inc [deleted file]
tests/Makefile32 [deleted file]
tests/Makefile64 [deleted file]
tests/api_gcc.h
tests/api_ppc.h
tests/api_x86.h
tests/rcutorture.h
tests/runpaul-phase7.sh [new file with mode: 0755]
tests/runtests.sh
tests/test_atomic.c [deleted file]
tests/test_cycles_per_loop.c [new file with mode: 0644]
tests/test_ht.c [deleted file]
tests/test_looplen.c
tests/test_mutex.c
tests/test_perthreadlock.c
tests/test_perthreadlock_timing.c
tests/test_qsbr.c
tests/test_qsbr_gc.c
tests/test_qsbr_timing.c
tests/test_rwlock.c
tests/test_rwlock_timing.c
tests/test_uatomic.c [new file with mode: 0644]
tests/test_urcu.c
tests/test_urcu_assign.c [new file with mode: 0644]
tests/test_urcu_bp.c [new file with mode: 0644]
tests/test_urcu_defer.c
tests/test_urcu_gc.c
tests/test_urcu_hash.c [new file with mode: 0644]
tests/test_urcu_lfq.c [new file with mode: 0644]
tests/test_urcu_lfs.c [new file with mode: 0644]
tests/test_urcu_timing.c
tests/test_urcu_wfq.c [new file with mode: 0644]
tests/test_urcu_wfs.c [new file with mode: 0644]
tests/urcu-asm.c
tests/urcutorture.c
urcu-bp.c [new file with mode: 0644]
urcu-bp.h [new file with mode: 0644]
urcu-call-rcu-impl.h [new file with mode: 0644]
urcu-call-rcu.h [new file with mode: 0644]
urcu-defer-impl.h [new file with mode: 0644]
urcu-defer-static.h [deleted file]
urcu-defer.c [deleted file]
urcu-defer.h
urcu-ht.c [deleted file]
urcu-ht.h [deleted file]
urcu-pointer.c [new file with mode: 0644]
urcu-pointer.h [new file with mode: 0644]
urcu-qsbr-static.h [deleted file]
urcu-qsbr.c
urcu-qsbr.h
urcu-static.h [deleted file]
urcu.c
urcu.h
urcu/arch/alpha.h [new file with mode: 0644]
urcu/arch/arm.h [new file with mode: 0644]
urcu/arch/gcc.h [new file with mode: 0644]
urcu/arch/generic.h [new file with mode: 0644]
urcu/arch/ppc.h [new file with mode: 0644]
urcu/arch/s390.h [new file with mode: 0644]
urcu/arch/sparc64.h [new file with mode: 0644]
urcu/arch/unknown.h [new file with mode: 0644]
urcu/arch/x86.h [new file with mode: 0644]
urcu/cds.h [new file with mode: 0644]
urcu/compiler.h [new file with mode: 0644]
urcu/config.h.in [new file with mode: 0644]
urcu/futex.h [new file with mode: 0644]
urcu/hlist.h [new file with mode: 0644]
urcu/list.h [new file with mode: 0644]
urcu/map/urcu-bp.h [new file with mode: 0644]
urcu/map/urcu-qsbr.h [new file with mode: 0644]
urcu/map/urcu.h [new file with mode: 0644]
urcu/rcuhlist.h [new file with mode: 0644]
urcu/rculfhash.h [new file with mode: 0644]
urcu/rculfqueue.h [new file with mode: 0644]
urcu/rculfstack.h [new file with mode: 0644]
urcu/rculist.h [new file with mode: 0644]
urcu/ref.h [new file with mode: 0644]
urcu/static/rculfqueue.h [new file with mode: 0644]
urcu/static/rculfstack.h [new file with mode: 0644]
urcu/static/urcu-bp.h [new file with mode: 0644]
urcu/static/urcu-pointer.h [new file with mode: 0644]
urcu/static/urcu-qsbr.h [new file with mode: 0644]
urcu/static/urcu.h [new file with mode: 0644]
urcu/static/wfqueue.h [new file with mode: 0644]
urcu/static/wfstack.h [new file with mode: 0644]
urcu/system.h [new file with mode: 0644]
urcu/uatomic/alpha.h [new file with mode: 0644]
urcu/uatomic/arm.h [new file with mode: 0644]
urcu/uatomic/gcc.h [new file with mode: 0644]
urcu/uatomic/generic.h [new file with mode: 0644]
urcu/uatomic/ppc.h [new file with mode: 0644]
urcu/uatomic/s390.h [new file with mode: 0644]
urcu/uatomic/sparc64.h [new file with mode: 0644]
urcu/uatomic/unknown.h [new file with mode: 0644]
urcu/uatomic/x86.h [new file with mode: 0644]
urcu/uatomic_arch.h [new file with mode: 0644]
urcu/urcu-futex.h [new file with mode: 0644]
urcu/urcu_ref.h [new file with mode: 0644]
urcu/wfqueue.h [new file with mode: 0644]
urcu/wfstack.h [new file with mode: 0644]
wfqueue.c [new file with mode: 0644]
wfstack.c [new file with mode: 0644]

index cae097ae7b8724b3eeb663f822bd06fe9b24470f..6eeb2a1379850a19053155681389eb8e79234242 100644 (file)
@@ -10,6 +10,85 @@ urcu.o
 urcutorture
 urcutorture-yield
 urcu-yield.o
-/api.h
-/arch.h
-/arch_atomic.h
+tests/api.h
+urcu/arch.h
+urcu/uatomic.h
+liburcu-defer.so
+liburcu-mb.so
+liburcu-qsbr.so
+urcu-defer.o
+urcu-mb.o
+urcu-qsbr.o
+tests/test_looplen
+tests/test_mutex
+tests/test_perthreadlock
+tests/test_perthreadlock_timing
+tests/test_qsbr
+tests/test_qsbr_dynamic_link
+tests/test_qsbr_gc
+tests/test_qsbr_lgc
+tests/test_qsbr_timing
+tests/test_rwlock
+tests/test_uatomic
+tests/test_urcu_gc
+tests/test_urcu_gc_mb
+tests/test_urcu_lgc
+tests/test_urcu_lgc_mb
+tests/test_urcu_mb
+tests/test_urcu_mb_defer
+tests/test_urcu_assign
+tests/test_urcu_assign_dynamic_link
+tests/test_urcu_bp
+tests/test_urcu_bp_dynamic_link
+tests/rcutorture_qsbr
+tests/rcutorture_urcu
+tests/rcutorture_urcu_bp
+tests/rcutorture_urcu_mb
+tests/rcutorture_urcu_signal
+tests/test_cycles_per_loop
+tests/test_urcu_defer
+tests/test_urcu_lfq
+tests/test_urcu_lfq_dynlink
+tests/test_urcu_lfs
+tests/test_urcu_lfs_dynlink
+tests/test_urcu_mb_gc
+tests/test_urcu_mb_lgc
+tests/test_urcu_signal
+tests/test_urcu_signal_dynamic_link
+tests/test_urcu_signal_gc
+tests/test_urcu_signal_lgc
+tests/test_urcu_signal_timing
+tests/test_urcu_signal_yield
+tests/test_urcu_wfq
+tests/test_urcu_wfq_dynlink
+tests/test_urcu_wfs
+tests/test_urcu_wfs_dynlink
+tests/*.log
+
+#automake
+/config.h
+.deps/
+.libs/
+Makefile.in
+Makefile
+*.m4
+*.la
+*.bz2
+*.o
+*.lo
+*.loT
+/config.log
+/configure
+/config/
+/libtool
+/stamp-h1
+/config.h.in
+/config.status
+/autom4te.cache/
+config.h
+stamp-h2
+liburcu.pc
+liburcu-bp.pc
+liburcu-qsbr.pc
+liburcu-mb.pc
+liburcu-signal.pc
diff --git a/API.txt b/API.txt
new file mode 100644 (file)
index 0000000..a7cd5a2
--- /dev/null
+++ b/API.txt
@@ -0,0 +1,123 @@
+Userspace RCU API
+by Mathieu Desnoyers and Paul E. McKenney
+
+
+void rcu_init(void);
+
+       This must be called before any of the following functions
+       are invoked.
+
+void rcu_read_lock(void);
+
+       Begin an RCU read-side critical section.  These critical
+       sections may be nested.
+
+void rcu_read_unlock(void);
+
+       End an RCU read-side critical section.
+
+void rcu_register_thread(void)
+
+       Each thread must invoke this function before its first call to
+       rcu_read_lock().  Threads that never call rcu_read_lock() need
+       not invoke this function.  In addition, rcu-bp ("bullet proof"
+       RCU) does not require any thread to invoke rcu_register_thread().
+
+void rcu_unregister_thread(void)
+
+       Each thread that invokes rcu_register_thread() must invoke
+       rcu_unregister_thread() before invoking pthread_exit()
+       or before returning from its top-level function.
+
+void synchronize_rcu(void);
+
+       Wait until every pre-existing RCU read-side critical section
+       has completed.  Note that this primitive will not necessarily
+       wait for RCU read-side critical sections that have not yet
+       started: this is not a reader-writer lock.  The duration
+       actually waited is called an RCU grace period.
+
+void call_rcu(struct rcu_head *head,
+             void (*func)(struct rcu_head *head));
+
+       Registers the callback indicated by "head".  This means
+       that "func" will be invoked after the end of a future
+       RCU grace period.  The rcu_head structure referenced
+       by "head" will normally be a field in a larger RCU-protected
+       structure.  A typical implementation of "func" is as
+       follows:
+
+               void func(struct rcu_head *head)
+               {
+                       struct foo *p = container_of(head, struct foo, rcu);
+
+                       free(p);
+               }
+
+       This RCU callback function can be registered as follows
+       given a pointer "p" to the enclosing structure:
+
+               call_rcu(&p->rcu, func);
+
+struct call_rcu_data *create_call_rcu_data(unsigned long flags,
+                                          int cpu_affinity);
+
+       Returns a handle that can be passed to the following
+       primitives.  The "flags" argument can be zero, or can be
+       URCU_CALL_RCU_RT if the worker threads associated with the
+       new helper thread are to get real-time response. The argument
+       "cpu_affinity" specifies a cpu on which the call_rcu thread should
+       be affined to. It is ignored if negative.
+
+struct call_rcu_data *get_default_call_rcu_data(void);
+
+       Returns the handle of the default call_rcu() helper thread.
+
+struct call_rcu_data *get_call_rcu_data(void);
+
+       Returns the handle of the current thread's call_rcu() helper
+       thread, which might well be the default helper thread.
+
+struct call_rcu_data *get_thread_call_rcu_data(void);
+
+       Returns the handle for the current thread's hard-assigned
+       call_rcu() helper thread, or NULL if the current thread is
+       instead using a per-CPU or the default helper thread.
+
+void set_thread_call_rcu_data(struct call_rcu_data *crdp);
+
+       Sets the current thread's hard-assigned call_rcu() helper to the
+       handle specified by "crdp".  Note that "crdp" can be NULL to
+       disassociate this thread from its helper.  Once a thread is
+       disassociated from its helper, further call_rcu() invocations
+       use the current CPU's helper if there is one and the default
+       helper otherwise.
+
+int set_cpu_call_rcu_data(int cpu, struct call_rcu_data *crdp);
+
+       Sets the specified CPU's call_rcu() helper to the handle
+       specified by "crdp".  Again, "crdp" can be NULL to disassociate
+       this CPU from its helper thread.  Once a CPU has been
+       disassociated from its helper, further call_rcu() invocations
+       that would otherwise have used this CPU's helper will instead
+       use the default helper.
+
+int create_all_cpu_call_rcu_data(unsigned long flags)
+
+       Creates a separate call_rcu() helper thread for each CPU.
+       After this primitive is invoked, the global default call_rcu()
+       helper thread will not be called.
+
+       The set_thread_call_rcu_data(), set_cpu_call_rcu_data(), and
+       create_all_cpu_call_rcu_data() functions may be combined to set up
+       pretty much any desired association between worker and call_rcu()
+       helper threads.  If a given executable calls only call_rcu(),
+       then that executable will have only the single global default
+       call_rcu() helper thread.  This will suffice in most cases.
+
+void call_rcu_data_free(struct call_rcu_data *crdp)
+
+       Terminates a call_rcu() helper thread and frees its associated
+       data.  The caller must have ensured that this thread is no longer
+       in use, for example, by passing NULL to set_thread_call_rcu_data()
+       and set_cpu_call_rcu_data() as required.
diff --git a/ChangeLog b/ChangeLog
new file mode 100644 (file)
index 0000000..6782b61
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,120 @@
+2011-06-27 Userspace RCU 0.6.3
+       * uatomic: Fix i386 compatibility build errors in uatomic.
+
+2011-06-13 Userspace RCU 0.6.2
+       * Fix build on powerpc.
+
+2011-06-13 Userspace RCU 0.6.1
+       * Add missing headers into release tarball:
+           urcu-call-rcu-impl.h and urcu-defer-impl.h
+
+2011-06-10 Userspace RCU 0.6.0
+       * Added call_rcu() support, graciously contributed by Paul E. McKenney.
+       * Added urcu/cds.h and merged all "Concurrent Data Containers" (CDS)
+         into a single .so: liburcu-cds.so to have a single header/shared
+         object holding all concurrency-aware data containers. It provides
+         support for RCU lists, queues and stacks at the moment.
+       * liburcu 0.6.0 now allows linking a single application with multiple
+         flavors of RCU. This required a library API change which is
+         incompatible with older 0.5.x liburcu. The .so version number
+         is therefore bumped from 0 to 1 (e.g. liburcu.so.1).
+       * Added "atfork" handling API, documented in README. Only useful for
+         processes using fork() without following exec().
+       * Renaming the following files, keeping the old files (producing a
+         compiler warning):
+           urcu/uatomic_arch.h -> urcu/uatomic.h
+           urcu/urcu-futex.h -> urcu/futex.h
+           urcu/urcu_ref.h -> urcu/ref.h
+
+2011-03-04 Userspace RCU 0.5.4
+        *  urcu-bp: Update fork() handling
+
+           Introduce
+
+           extern void rcu_bp_before_fork(void);
+           extern void rcu_bp_after_fork_parent(void);
+           extern void rcu_bp_after_fork_child(void);
+
+           to handle fork gracefully. These disable signals and hold
+           the registry mutex across forks. (this flavor of the liburcu
+           library ("bp" for "bulletproof") is mainly used by UST, the
+           user-space tracer).
+
+2011-03-03 Userspace RCU 0.5.3
+       * Add support for older ARM single-CPU architecturess (pre-ARMv7)
+         (thanks to Jason Wessel from WindRiver).
+       * Fix ARMv7 cmm_rmb/cmm_wmb primitives (use a dmb barrier).
+       * Remove leftover list_t type from urcu/list.h (namespace cleanup).
+       * urcu_defer: handle malloc error value.
+       * Update README file to describe urcu interaction with fork() when not
+       * followed
+         by an exec() system call.
+
+2010-11-18 Userspace RCU 0.5.2
+       * Fix renaming error introduced in 0.5.0.
+
+2010-11-18 Userspace RCU 0.5.1
+       * Fix renaming error introduced in 0.5.0. (incomplete fix)
+
+2010-11-18 Userspace RCU 0.5.0
+       * Version 0.5.0 changes the API presented by memory model,
+         architecture abstraction and data structure primitives in
+         headers. The prefixes are, respectively:
+           - cmm_ : Concurrent Memory Model
+           - caa_ : Concurrent Architecture Abstraction
+           - cds_ : Concurrent Data Structures
+
+2010-03-04 Userspace RCU 0.4.2
+       * Add generic uatomic ops support.
+       * Bugfix in urcu-bp. (rare garbage collection bug occurring in
+         multithreaded environment). Only affects urcu-bp users (UST).
+
+2010-02-12 Userspace RCU 0.4.1
+       * s390: compilation fix.
+
+2010-01-30 Userspace RCU 0.4.0
+       * API change: SIGURCU -> SIGRCU
+       * API changes: standardize on rcu_ prefix.
+       * API change: urcu_init -> rcu_init.
+       * urcu/config.h options renamed to CONFIG_RCU_HAVE_FENCE,
+         CONFIG_RCU_HAVE_FUTEX, CONFIG_RCU_SMP, CONFIG_RCU_COMPAT_ARCH.
+         ((moving from URCU -> RCU).
+       * library names changes: liburcu becomes the "default" version, using
+         sys_membarrier() when available, and using liburcu-mb as a
+         fallback.
+       * The signal-based liburcu is renamed from liburcu to
+         liburcu-signal. People previously using the signal-based
+         "liburcu" will automatically be moved to the "default" liburcu
+         version.
+
+2009-11-16 Userspace RCU 0.3.1
+       * Add support for sparcv9 32-bit build.
+       * Update build system to use --host instead of --target.
+
+2009-11-03 Userspace RCU 0.3.0
+       * API change for the "deferred work" interface.
+
+2009-10-14 Userspace RCU 0.2.3
+       * Move to autotools.
+       * Automated architecture detection, with i386 fallback.
+       * Detect if NR_futex is on the system, fallback on portable
+         alternatives.
+       * Add configure mode for UP-only systems.
+
+2009-10-02 Userspace RCU 0.2.2
+       * Phases out rcu_publish_content() api.
+       * Adds type checking to urcu-pointer.h pointer exchange primitives.
+
+2009-10-02 Userspace RCU 0.2.1
+       * small header dependency fix for rculist.h.
+       * new "liburcu-bp.so" : "Bulletproof RCU", made especially for
+         the UST userspace tracer. It's a library that sacrifices a bit
+         of read-side performance for automatically monitoring thread
+         creation/removal. See README for details.
+
+2009-10-01 Userspace RCU 0.2
+       * Clarify usage of rcu_cmpxchg_pointer, rcu_xchg_pointer,
+         rcu_set_pointer.
+
+2009-09-29 Userspace RCU 0.1
+       * Initial release.
diff --git a/Makefile b/Makefile
deleted file mode 100644 (file)
index ab19097..0000000
--- a/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-include Makefile.inc
diff --git a/Makefile.am b/Makefile.am
new file mode 100644 (file)
index 0000000..2326049
--- /dev/null
@@ -0,0 +1,62 @@
+INCLUDES = -I$(top_builddir)/urcu
+
+#Add the -version-info directly here since we are only building
+# library that use the version-info
+AM_LDFLAGS=-lpthread -version-info $(URCU_LIBRARY_VERSION)
+AM_CFLAGS=-Wall
+
+SUBDIRS = . tests
+
+include_HEADERS = urcu.h urcu-bp.h urcu-call-rcu.h urcu-defer.h \
+               urcu-pointer.h urcu-qsbr.h
+nobase_dist_include_HEADERS = urcu/compiler.h urcu/hlist.h urcu/list.h \
+               urcu/rculist.h urcu/rcuhlist.h urcu/system.h urcu/futex.h \
+               urcu/uatomic/generic.h urcu/arch/generic.h urcu/wfstack.h \
+               urcu/wfqueue.h urcu/rculfstack.h urcu/rculfqueue.h \
+               urcu/ref.h urcu/map/*.h urcu/static/*.h urcu/cds.h \
+               urcu/urcu_ref.h urcu/urcu-futex.h urcu/uatomic_arch.h \
+               urcu/rculfhash.h
+nobase_nodist_include_HEADERS = urcu/arch.h urcu/uatomic.h urcu/config.h
+
+EXTRA_DIST = $(top_srcdir)/urcu/arch/*.h $(top_srcdir)/urcu/uatomic/*.h \
+               gpl-2.0.txt lgpl-2.1.txt lgpl-relicensing.txt \
+               README LICENSE compat_arch_x86.c \
+               urcu-call-rcu-impl.h urcu-defer-impl.h \
+               ChangeLog
+
+if COMPAT_ARCH
+COMPAT=compat_arch_@ARCHTYPE@.c
+else
+COMPAT=
+endif
+
+if COMPAT_FUTEX
+COMPAT+=compat_futex.c
+endif
+
+lib_LTLIBRARIES = liburcu-cds.la liburcu.la liburcu-qsbr.la \
+               liburcu-mb.la liburcu-signal.la liburcu-bp.la
+
+liburcu_cds_la_SOURCES = wfqueue.c wfstack.c rculfqueue.c rculfstack.c \
+                       rculfhash.c $(COMPAT)
+
+liburcu_la_SOURCES = urcu.c urcu-pointer.c $(COMPAT)
+liburcu_la_LIBADD = liburcu-cds.la
+
+liburcu_qsbr_la_SOURCES = urcu-qsbr.c urcu-pointer.c $(COMPAT)
+liburcu_qsbr_la_LIBADD = liburcu-cds.la
+
+liburcu_mb_la_SOURCES = urcu.c urcu-pointer.c $(COMPAT)
+liburcu_mb_la_CFLAGS = -DRCU_MB
+liburcu_mb_la_LIBADD = liburcu-cds.la
+
+liburcu_signal_la_SOURCES = urcu.c urcu-pointer.c $(COMPAT)
+liburcu_signal_la_CFLAGS = -DRCU_SIGNAL
+liburcu_signal_la_LIBADD = liburcu-cds.la
+
+liburcu_bp_la_SOURCES = urcu-bp.c urcu-pointer.c $(COMPAT)
+liburcu_bp_la_LIBADD = liburcu-cds.la
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = liburcu-cds.pc liburcu.pc liburcu-bp.pc liburcu-qsbr.pc \
+       liburcu-signal.pc liburcu-mb.pc
diff --git a/Makefile.build.inc b/Makefile.build.inc
deleted file mode 100644 (file)
index 3f05de9..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-
-CFLAGS=-Wall -I.
-
-#optimized
-CFLAGS+=-O2
-
-#debug information
-CFLAGS+=-g
-
-#RCU debug (slower, with error-checks)
-#CFLAGS+=-DDEBUG_RCU
-
-LDFLAGS=-lpthread
-
-HOSTTYPE=$(shell uname -m)
-
-ifeq ("${HOSTTYPE}","x86_64")
-ARCHTYPE=x86
-endif
-ifeq ("${HOSTTYPE}","i586")
-ARCHTYPE=x86
-endif
-ifeq ("${HOSTTYPE}","i686")
-ARCHTYPE=x86
-endif
-ifeq ("${HOSTTYPE}","powerpc")
-ARCHTYPE=ppc
-endif
-ifeq ("${HOSTTYPE}","ppc64")
-ARCHTYPE=ppc
-endif
-ifeq ("${HOSTTYPE}","s390")
-ARCHTYPE=s390
-endif
-ifeq ("${HOSTTYPE}","s390x")
-ARCHTYPE=s390
-endif
-
-#Changing the signal number used by the library. SIGUSR1 by default.
-#CFLAGS+=-DSIGURCU=SIGUSR2
-
-SRC_DEP=`echo $^ | sed 's/[^ ]*\.h//g'`
diff --git a/Makefile.inc b/Makefile.inc
deleted file mode 100644 (file)
index 7a5ed3f..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-
-include Makefile.build.inc
-
-DIRS=tests
-
-all: checkarch liburcu.so urcu.o \
-       liburcu-qsbr.so urcu-qsbr.o \
-       liburcu-mb.so urcu-mb.o \
-       liburcu-defer.so urcu-defer.o \
-       urcu-yield.o \
-       urcu-ht.o \
-       subdirs
-
-checkarch:
-ifeq (${ARCHTYPE},)
-       @echo "Architecture ${HOSTTYPE} is currently unsupported by liburcu"
-       @exit 1
-endif
-
-arch.h: arch_${ARCHTYPE}.h
-       cp -f arch_${ARCHTYPE}.h arch.h
-
-arch_atomic.h: arch_atomic_${ARCHTYPE}.h
-       cp -f arch_atomic_${ARCHTYPE}.h arch_atomic.h
-
-urcu.h: arch.h arch_atomic.h
-
-urcu-qsbr.h: arch.h arch_atomic.h
-
-urcu.o: urcu.c urcu.h
-       $(CC) -fPIC ${CFLAGS} -c -o $@ $(SRC_DEP)
-
-urcu-mb.o: urcu.c urcu.h
-       $(CC) -fPIC -DURCU_MB ${CFLAGS} -c -o $@ $(SRC_DEP)
-
-urcu-qsbr.o: urcu-qsbr.c urcu-qsbr.h
-       $(CC) -fPIC ${CFLAGS} -c -o $@ $(SRC_DEP)
-
-urcu-defer.o: urcu-defer.c urcu-defer.h
-       $(CC) -fPIC ${CFLAGS} -c -o $@ $(SRC_DEP)
-
-urcu-hash.o: urcu-hash.c
-       $(CC) -fPIC ${CFLAGS} -c -o $@ $(SRC_DEP)
-
-liburcu.so: urcu.o
-       $(CC) ${LDFLAGS} -fPIC -shared -o $@ $<
-
-liburcu-qsbr.so: urcu-qsbr.o
-       $(CC) ${LDFLAGS} -fPIC -shared -o $@ $<
-
-liburcu-mb.so: urcu-mb.o
-       $(CC) ${LDFLAGS} -fPIC -shared -o $@ $<
-
-liburcu-defer.so: urcu-defer.o
-       $(CC) ${LDFLAGS} -fPIC -shared -o $@ $<
-
-urcu-yield.o: urcu.c urcu.h
-       $(CC) -DDEBUG_YIELD ${CFLAGS} -c -o $@ $(SRC_DEP)
-
-.PHONY: clean install checkarch tests
-
-subdirs:
-       -for d in ${DIRS}; do cd $${d}; ${MAKE} ${MFLAGS} ${EXTRAMFLAGS}; done
-
-install: liburcu.so
-       cp -f liburcu.so liburcu-mb.so liburcu-qsbr.so /usr/lib/
-       cp -f arch.h arch_atomic.h compiler.h   \
-               urcu.h urcu-static.h            \
-               urcu-qsbr.h urcu-qsbr-static.h  \
-                       /usr/include/
-
-clean:
-       rm -f *.o *.so arch.h arch_atomic.h
-       -for d in ${DIRS}; do cd $${d}; ${MAKE} clean; done
diff --git a/Makefile32 b/Makefile32
deleted file mode 100644 (file)
index ab57691..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-include Makefile.inc
-
-EXTRAMFLAGS=-f Makefile32
-CFLAGS+=-m32
-LDFLAGS+=-m32
diff --git a/Makefile64 b/Makefile64
deleted file mode 100644 (file)
index 83ee8da..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-include Makefile.inc
-
-EXTRAMFLAGS=-f Makefile64
-CFLAGS+=-m64
-LDFLAGS+=-m64
diff --git a/README b/README
index b47fe48c2c181e833c633c8b6b973ddcbf0f5186..1e76f2d1b098bb9579d573fcf8f36211c3c7c5f9 100644 (file)
--- a/README
+++ b/README
@@ -4,11 +4,46 @@ by Mathieu Desnoyers and Paul E. McKenney
 BUILDING
 --------
 
+       ./bootstrap (skip if using tarball)
+       ./configure
        make
-       #force 32-bit build with: make -f Makefile32
-       #force 64-bit build with: make -f Makefile64
        make install
-       
+       ldconfig
+
+       Hints:  Forcing 32-bit build:
+               * CFLAGS="-m32 -g -O2" ./configure
+
+               Forcing 64-bit build:
+               * CFLAGS="-m64 -g -O2" ./configure
+
+               Forcing a 32-bit build with 386 backward compatibility:
+               * CFLAGS="-m32 -g -O2" ./configure --host=i386-pc-linux-gnu
+
+               Forcing a 32-bit build for Sparcv9 (typical for Sparc v9)
+               * CFLAGS="-m32 -Wa,-Av9a -g -O2" ./configure
+
+ARCHITECTURES SUPPORTED
+-----------------------
+
+Currently, x86 (i386, i486, i586, i686), x86 64-bit, PowerPC 32/64, S390, S390x,
+ARM, Alpha, ia64 and Sparcv9 32/64 are supported. Only tested on Linux so
+far, but should theoretically work on other operating systems.
+
+ARM depends on running a Linux kernel 2.6.15 or better.
+
+The gcc compiler versions 3.3, 3.4, 4.0, 4.1, 4.2, 4.3, 4.4 and 4.5 are
+supported, with the following exceptions:
+
+- gcc 3.3 and 3.4 have a bug that prevents them from generating volatile
+  accesses to offsets in a TLS structure on 32-bit x86. These versions are
+  therefore not compatible with liburcu on x86 32-bit (i386, i486, i586, i686).
+  The problem has been reported to the gcc community:
+    http://www.mail-archive.com/gcc-bugs@gcc.gnu.org/msg281255.html
+- gcc 3.3 cannot match the "xchg" instruction on 32-bit x86 build.
+  See: http://kerneltrap.org/node/7507
+- Alpha, ia64 and ARM architectures depend on 4.x gcc with atomic builtins
+  support.
+
 
 QUICK START GUIDE
 -----------------
@@ -26,19 +61,11 @@ Usage of liburcu
 
        * #include <urcu.h>
        * Link the application with "-lurcu".
-       * This is the preferred version of the library, both in terms of speed
-         and flexibility. Requires a signal, typically SIGUSR1. Can be
-         overridden with -DSIGURCU by modifying Makefile.build.inc.
-
-Usage of liburcu-mb
-
-       * #include <urcu.h>
-       * Compile any _LGPL_SOURCE code using this library with "-DURCU_MB".
-       * Link with "-lurcu-mb".
-       * This version of the urcu library does not need to
-         reserve a signal number. URCU_MB uses full memory barriers for
-         readers. This eliminates the need for signals but results in slower
-         reads.
+       * This is the preferred version of the library, in terms of
+         grace-period detection speed, read-side speed and flexibility.
+         Dynamically detects kernel support for sys_membarrier(). Falls back
+         on urcu-mb scheme if support is not present, which has slower
+         read-side.
 
 Usage of liburcu-qsbr
 
@@ -50,6 +77,34 @@ Usage of liburcu-qsbr
          the threads are not active. It provides the fastest read-side at the
          expense of more intrusiveness in the application code.
 
+Usage of liburcu-mb
+
+       * #include <urcu.h>
+       * Compile any _LGPL_SOURCE code using this library with "-DRCU_MB".
+       * Link with "-lurcu-mb".
+       * This version of the urcu library uses memory barriers on the writer
+         and reader sides. This results in faster grace-period detection, but
+         results in slower reads.
+
+Usage of liburcu-signal
+
+       * #include <urcu.h>
+       * Compile any _LGPL_SOURCE code using this library with "-DRCU_SIGNAL".
+       * Link the application with "-lurcu-signal".
+       * Version of the library that requires a signal, typically SIGUSR1. Can
+         be overridden with -DSIGRCU by modifying Makefile.build.inc.
+
+Usage of liburcu-bp
+
+       * #include <urcu-bp.h>
+       * Link with "-lurcu-bp".
+       * The BP library flavor stands for "bulletproof". It is specifically
+         designed to help tracing library to hook on applications without
+         requiring to modify these applications. rcu_init(),
+         rcu_register_thread() and rcu_unregister_thread() all become nops.
+         The state is dealt with by the library internally at the expense of
+         read-side and write-side performance.
+
 Initialization
 
        Each thread that has reader critical sections (that uses
@@ -70,6 +125,39 @@ Writing
        After, synchronize_rcu() must be called. When it returns, the old
        values are not in usage anymore.
 
+Usage of liburcu-defer
+
+       * Follow instructions for either liburcu, liburcu-qsbr,
+         liburcu-mb, liburcu-signal, or liburcu-bp above.
+         The liburcu-defer functionality is pulled into each of
+         those library modules.
+       * Provides defer_rcu() primitive to enqueue delayed callbacks. Queued
+         callbacks are executed in batch periodically after a grace period.
+         Do _not_ use defer_rcu() within a read-side critical section, because
+         it may call synchronize_rcu() if the thread queue is full.
+         This can lead to deadlock or worse.
+       * Requires that rcu_defer_barrier() must be called in library destructor
+         if a library queues callbacks and is expected to be unloaded with
+         dlclose().
+       * Its API is currently experimental. It may change in future library
+         releases.
+
+Usage of urcu-call-rcu
+
+       * Follow instructions for either liburcu, liburcu-qsbr,
+         liburcu-mb, liburcu-signal, or liburcu-bp above.
+         The urcu-call-rcu functionality is provided for each of
+         these library modules.
+       * Provides the call_rcu() primitive to enqueue delayed callbacks
+         in a manner similar to defer_rcu(), but without ever delaying
+         for a grace period.  On the other hand, call_rcu()'s best-case
+         overhead is not quite as good as that of defer_rcu().
+       * Provides call_rcu() to allow asynchronous handling of RCU
+         grace periods.  A number of additional functions are provided
+         to manage the helper threads used by call_rcu(), but reasonable
+         defaults are used if these additional functions are not invoked.
+         See API.txt for more details.
+
 Being careful with signals
 
        The liburcu library uses signals internally. The signal handler is
@@ -91,6 +179,14 @@ Being careful with signals
        rcu_quiescent_state() calls, when threads are put offline and around
        calls to synchronize_rcu(). Even then, we do not recommend it.
 
+Interaction with mutexes
+
+       One must be careful to do not cause deadlocks due to interaction of
+       synchronize_rcu() and RCU read-side with mutexes. If synchronize_rcu()
+       is called with a mutex held, this mutex (or any mutex which has this
+       mutex in its dependency chain) should not be acquired from within a RCU
+       read-side critical section.
+
 Usage of DEBUG_RCU
 
        DEBUG_RCU is used to add internal debugging self-checks to the
@@ -102,3 +198,34 @@ Usage of DEBUG_YIELD
 
        DEBUG_YIELD is used to add random delays in the code for testing
        purposes.
+
+SMP support
+
+       By default the library is configured to use synchronization primitives
+       adequate for SMP systems. On uniprocessor systems, support for SMP
+       systems can be disabled with:
+
+               ./configure --disable-smp-support
+
+       theoretically yielding slightly better performance.
+
+Interaction with fork()
+
+       Special care must be taken for applications performing fork() without
+       any following exec(). This is caused by the fact that Linux only clones
+       the thread calling fork(), and thus never replicates any of the other
+       parent thread into the child process. Most liburcu implementations
+       require that all registrations (as reader, defer_rcu and call_rcu
+       threads) should be released before a fork() is performed, except for the
+       rather common scenario where fork() is immediately followed by exec() in
+       the child process. The only implementation not subject to that rule is
+       liburcu-bp, which is designed to handle fork() by calling
+       rcu_bp_before_fork, rcu_bp_after_fork_parent and
+       rcu_bp_after_fork_child.
+
+       Applications that use call_rcu() and that fork() without
+       doing an immediate exec() must take special action.  The parent
+       must invoke call_rcu_before_fork() before the fork() and
+       call_rcu_after_fork_parent() after the fork().  The child
+       process must invoke call_rcu_after_fork_child().
+       These three APIs are suitable for passing to pthread_atfork().
diff --git a/arch_atomic_ppc.h b/arch_atomic_ppc.h
deleted file mode 100644 (file)
index 54c5f5c..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-#ifndef _ARCH_ATOMIC_PPC_H
-#define _ARCH_ATOMIC_PPC_H
-
-/* 
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1996-1999 by Silicon Graphics.  All rights reserved.
- * Copyright (c) 1999-2004 Hewlett-Packard Development Company, L.P.
- * Copyright (c) 2009      Mathieu Desnoyers
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- * Code inspired from libatomic_ops-1.2, inherited in part from the
- * Boehm-Demers-Weiser conservative garbage collector.
- */
-
-#include <compiler.h>
-
-#ifndef __SIZEOF_LONG__
-#ifdef __powerpc64__
-#define __SIZEOF_LONG__ 8
-#else
-#define __SIZEOF_LONG__ 4
-#endif
-#endif
-
-#ifndef BITS_PER_LONG
-#define BITS_PER_LONG  (__SIZEOF_LONG__ * 8)
-#endif
-
-#define ILLEGAL_INSTR  ".long  0xd00d00"
-
-#ifndef _INCLUDE_API_H
-
-#define atomic_set(addr, v)                            \
-do {                                                   \
-       ACCESS_ONCE(*(addr)) = (v);                     \
-} while (0)
-
-#define atomic_read(addr)      ACCESS_ONCE(*(addr))
-
-/*
- * Using a isync as second barrier for exchange to provide acquire semantic.
- * According to atomic_ops/sysdeps/gcc/powerpc.h, the documentation is "fairly
- * explicit that this also has acquire semantics."
- * Derived from AO_compare_and_swap(), but removed the comparison.
- */
-
-/* xchg */
-
-static inline __attribute__((always_inline))
-unsigned long _atomic_exchange(void *addr, unsigned long val, int len)
-{
-       switch (len) {
-       case 4:
-       {
-               unsigned int result;
-
-               __asm__ __volatile__(
-                       "lwsync\n"
-               "1:\t"  "lwarx %0,0,%1\n"       /* load and reserve */
-                       "stwcx. %2,0,%1\n"      /* else store conditional */
-                       "bne- 1b\n"             /* retry if lost reservation */
-                       "isync\n"
-                               : "=&r"(result)
-                               : "r"(addr), "r"(val)
-                               : "memory", "cc");
-
-               return result;
-       }
-#if (BITS_PER_LONG == 64)
-       case 8:
-       {
-               unsigned long result;
-
-               __asm__ __volatile__(
-                       "lwsync\n"
-               "1:\t"  "ldarx %0,0,%1\n"       /* load and reserve */
-                       "stdcx. %2,0,%1\n"      /* else store conditional */
-                       "bne- 1b\n"             /* retry if lost reservation */
-                       "isync\n"
-                               : "=&r"(result)
-                               : "r"(addr), "r"(val)
-                               : "memory", "cc");
-
-               return result;
-       }
-#endif
-       }
-       /* generate an illegal instruction. Cannot catch this with linker tricks
-        * when optimizations are disabled. */
-       __asm__ __volatile__(ILLEGAL_INSTR);
-       return 0;
-}
-
-#define xchg(addr, v)                                                      \
-       ((__typeof__(*(addr))) _atomic_exchange((addr), (unsigned long)(v), \
-                                               sizeof(*(addr))))
-/* cmpxchg */
-
-static inline __attribute__((always_inline))
-unsigned long _atomic_cmpxchg(void *addr, unsigned long old,
-                             unsigned long _new, int len)
-{
-       switch (len) {
-       case 4:
-       {
-               unsigned int old_val;
-
-               __asm__ __volatile__(
-                       "lwsync\n"
-               "1:\t"  "lwarx %0,0,%1\n"       /* load and reserve */
-                       "cmpd %0,%3\n"          /* if load is not equal to */
-                       "bne 2f\n"              /* old, fail */
-                       "stwcx. %2,0,%1\n"      /* else store conditional */
-                       "bne- 1b\n"             /* retry if lost reservation */
-                       "isync\n"
-               "2:\n"
-                               : "=&r"(old_val)
-                               : "r"(addr), "r"((unsigned int)_new),
-                                 "r"((unsigned int)old)
-                               : "memory", "cc");
-
-               return old_val;
-       }
-#if (BITS_PER_LONG == 64)
-       case 8:
-       {
-               unsigned long old_val;
-
-               __asm__ __volatile__(
-                       "lwsync\n"
-               "1:\t"  "ldarx %0,0,%1\n"       /* load and reserve */
-                       "cmpd %0,%3\n"          /* if load is not equal to */
-                       "bne 2f\n"              /* old, fail */
-                       "stdcx. %2,0,%1\n"      /* else store conditional */
-                       "bne- 1b\n"             /* retry if lost reservation */
-                       "isync\n"
-               "2:\n"
-                               : "=&r"(old_val),
-                               : "r"(addr), "r"((unsigned long)_new),
-                                 "r"((unsigned long)old)
-                               : "memory", "cc");
-
-               return old_val;
-       }
-#endif
-       }
-       /* generate an illegal instruction. Cannot catch this with linker tricks
-        * when optimizations are disabled. */
-       __asm__ __volatile__(ILLEGAL_INSTR);
-       return 0;
-}
-
-
-#define cmpxchg(addr, old, _new)                                           \
-       ((__typeof__(*(addr))) _atomic_cmpxchg((addr), (unsigned long)(old),\
-                                               (unsigned long)(_new),      \
-                                               sizeof(*(addr))))
-
-/* atomic_add_return */
-
-static inline __attribute__((always_inline))
-unsigned long _atomic_add_return(void *addr, unsigned long val,
-                                int len)
-{
-       switch (len) {
-       case 4:
-       {
-               unsigned int result;
-
-               __asm__ __volatile__(
-                       "lwsync\n"
-               "1:\t"  "lwarx %0,0,%1\n"       /* load and reserve */
-                       "add %0,%2,%0\n"        /* add val to value loaded */
-                       "stwcx. %0,0,%1\n"      /* store conditional */
-                       "bne- 1b\n"             /* retry if lost reservation */
-                       "isync\n"
-                               : "=&r"(result)
-                               : "r"(addr), "r"(val)
-                               : "memory", "cc");
-
-               return result;
-       }
-#if (BITS_PER_LONG == 64)
-       case 8:
-       {
-               unsigned long result;
-
-               __asm__ __volatile__(
-                       "lwsync\n"
-               "1:\t"  "ldarx %0,0,%1\n"       /* load and reserve */
-                       "add %0,%2,%0\n"        /* add val to value loaded */
-                       "stdcx. %0,0,%1\n"      /* store conditional */
-                       "bne- 1b\n"             /* retry if lost reservation */
-                       "isync\n"
-                               : "=&r"(result)
-                               : "r"(addr), "r"(val)
-                               : "memory", "cc");
-
-               return result;
-       }
-#endif
-       }
-       /* generate an illegal instruction. Cannot catch this with linker tricks
-        * when optimizations are disabled. */
-       __asm__ __volatile__(ILLEGAL_INSTR);
-       return 0;
-}
-
-
-#define atomic_add_return(addr, v)                                     \
-       ((__typeof__(*(addr))) _atomic_add_return((addr),               \
-                                                 (unsigned long)(v),   \
-                                                 sizeof(*(addr))))
-
-/* atomic_sub_return, atomic_add, atomic_sub, atomic_inc, atomic_dec */
-
-#define atomic_sub_return(addr, v)     atomic_add_return((addr), -(v))
-
-#define atomic_add(addr, v)            (void)atomic_add_return((addr), (v))
-#define atomic_sub(addr, v)            (void)atomic_sub_return((addr), (v))
-
-#define atomic_inc(addr)               atomic_add((addr), 1)
-#define atomic_dec(addr)               atomic_add((addr), -1)
-
-#endif /* #ifndef _INCLUDE_API_H */
-
-#endif /* ARCH_ATOMIC_PPC_H */
diff --git a/arch_atomic_s390.h b/arch_atomic_s390.h
deleted file mode 100644 (file)
index 8857d42..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-#ifndef _ARCH_ATOMIC_S390_H
-#define _ARCH_ATOMIC_S390_H
-
-/*
- * Atomic exchange operations for the S390 architecture. Based on information
- * taken from the Principles of Operation Appendix A "Conditional Swapping
- * Instructions (CS, CDS)".
- *
- * Copyright (c) 2009 Novell, Inc.
- * Author: Jan Blunck <jblunck@suse.de>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- */
-
-#ifndef __SIZEOF_LONG__
-#ifdef __s390x__
-#define __SIZEOF_LONG__ 8
-#else
-#define __SIZEOF_LONG__ 4
-#endif
-#endif
-
-#ifndef BITS_PER_LONG
-#define BITS_PER_LONG  (__SIZEOF_LONG__ * 8)
-#endif
-
-#ifndef _INCLUDE_API_H
-
-static inline __attribute__((always_inline))
-unsigned int atomic_exchange_32(volatile unsigned int *addr, unsigned int val)
-{
-       unsigned int result;
-
-       __asm__ __volatile__(
-               "0:     cs %0,%2,%1\n"
-               "       brc 4,0b\n"
-               : "=&r"(result), "=m" (*addr)
-               : "r"(val), "m" (*addr)
-               : "memory", "cc");
-
-       return result;
-}
-
-#if (BITS_PER_LONG == 64)
-
-static inline __attribute__((always_inline))
-unsigned long atomic_exchange_64(volatile unsigned long *addr,
-                                unsigned long val)
-{
-       unsigned long result;
-
-       __asm__ __volatile__(
-               "0:     csg %0,%2,%1\n"
-               "       brc 4,0b\n"
-               : "=&r"(result), "=m" (*addr)
-               : "r"(val), "m" (*addr)
-               : "memory", "cc");
-
-       return result;
-}
-
-#endif
-
-static inline __attribute__((always_inline))
-unsigned long _atomic_exchange(volatile void *addr, unsigned long val, int len)
-{
-       switch (len) {
-       case 4:
-               return atomic_exchange_32(addr, val);
-#if (BITS_PER_LONG == 64)
-       case 8:
-               return atomic_exchange_64(addr, val);
-#endif
-       default:
-               __asm__ __volatile__(".long     0xd00d00");
-       }
-
-       return 0;
-}
-
-#define xchg(addr, v)                                                  \
-       (__typeof__(*(addr))) _atomic_exchange((addr), (unsigned long)(v), \
-                                              sizeof(*(addr)))
-
-#endif /* #ifndef _INCLUDE_API_H */
-
-#endif /* ARCH_ATOMIC_S390_H */
diff --git a/arch_atomic_x86.h b/arch_atomic_x86.h
deleted file mode 100644 (file)
index 3eedc3f..0000000
+++ /dev/null
@@ -1,404 +0,0 @@
-#ifndef _ARCH_ATOMIC_X86_H
-#define _ARCH_ATOMIC_X86_H
-
-/* 
- * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
- * Copyright (c) 1996-1999 by Silicon Graphics.  All rights reserved.
- * Copyright (c) 1999-2004 Hewlett-Packard Development Company, L.P.
- * Copyright (c) 2009      Mathieu Desnoyers
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose,  provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- * Code inspired from libatomic_ops-1.2, inherited in part from the
- * Boehm-Demers-Weiser conservative garbage collector.
- */
-
-#include <compiler.h>
-
-#ifndef BITS_PER_LONG
-#define BITS_PER_LONG  (__SIZEOF_LONG__ * 8)
-#endif
-
-#ifndef _INCLUDE_API_H
-
-/*
- * Derived from AO_compare_and_swap() and AO_test_and_set_full().
- */
-
-struct __atomic_dummy {
-       unsigned long v[10];
-};
-#define __hp(x)        ((struct __atomic_dummy *)(x))
-
-#define atomic_set(addr, v)                            \
-do {                                                   \
-       ACCESS_ONCE(*(addr)) = (v);                     \
-} while (0)
-
-#define atomic_read(addr)      ACCESS_ONCE(*(addr))
-
-/* cmpxchg */
-
-static inline __attribute__((always_inline))
-unsigned long _atomic_cmpxchg(void *addr, unsigned long old,
-                             unsigned long _new, int len)
-{
-       switch (len) {
-       case 1:
-       {
-               unsigned char result = old;
-
-               __asm__ __volatile__(
-               "lock; cmpxchgb %2, %1"
-                       : "+a"(result), "+m"(*__hp(addr))
-                       : "q"((unsigned char)_new)
-                       : "memory");
-               return result;
-       }
-       case 2:
-       {
-               unsigned short result = old;
-
-               __asm__ __volatile__(
-               "lock; cmpxchgw %2, %1"
-                       : "+a"(result), "+m"(*__hp(addr))
-                       : "r"((unsigned short)_new)
-                       : "memory");
-               return result;
-       }
-       case 4:
-       {
-               unsigned int result = old;
-
-               __asm__ __volatile__(
-               "lock; cmpxchgl %2, %1"
-                       : "+a"(result), "+m"(*__hp(addr))
-                       : "r"((unsigned int)_new)
-                       : "memory");
-               return result;
-       }
-#if (BITS_PER_LONG == 64)
-       case 8:
-       {
-               unsigned long result = old;
-
-               __asm__ __volatile__(
-               "lock; cmpxchgq %2, %1"
-                       : "+a"(result), "+m"(*__hp(addr))
-                       : "r"((unsigned long)_new)
-                       : "memory");
-               return result;
-       }
-#endif
-       }
-       /* generate an illegal instruction. Cannot catch this with linker tricks
-        * when optimizations are disabled. */
-       __asm__ __volatile__("ud2");
-       return 0;
-}
-
-#define cmpxchg(addr, old, _new)                                           \
-       ((__typeof__(*(addr))) _atomic_cmpxchg((addr), (unsigned long)(old),\
-                                               (unsigned long)(_new),      \
-                                               sizeof(*(addr))))
-
-/* xchg */
-
-static inline __attribute__((always_inline))
-unsigned long _atomic_exchange(void *addr, unsigned long val, int len)
-{
-       /* Note: the "xchg" instruction does not need a "lock" prefix. */
-       switch (len) {
-       case 1:
-       {
-               unsigned char result;
-               __asm__ __volatile__(
-               "xchgb %0, %1"
-                       : "=q"(result), "+m"(*__hp(addr))
-                       : "0" ((unsigned char)val)
-                       : "memory");
-               return result;
-       }
-       case 2:
-       {
-               unsigned short result;
-               __asm__ __volatile__(
-               "xchgw %0, %1"
-                       : "=r"(result), "+m"(*__hp(addr))
-                       : "0" ((unsigned short)val)
-                       : "memory");
-               return result;
-       }
-       case 4:
-       {
-               unsigned int result;
-               __asm__ __volatile__(
-               "xchgl %0, %1"
-                       : "=r"(result), "+m"(*__hp(addr))
-                       : "0" ((unsigned int)val)
-                       : "memory");
-               return result;
-       }
-#if (BITS_PER_LONG == 64)
-       case 8:
-       {
-               unsigned long result;
-               __asm__ __volatile__(
-               "xchgq %0, %1"
-                       : "=r"(result), "+m"(*__hp(addr))
-                       : "0" ((unsigned long)val)
-                       : "memory");
-               return result;
-       }
-#endif
-       }
-       /* generate an illegal instruction. Cannot catch this with linker tricks
-        * when optimizations are disabled. */
-       __asm__ __volatile__("ud2");
-       return 0;
-}
-
-#define xchg(addr, v)                                                      \
-       ((__typeof__(*(addr))) _atomic_exchange((addr), (unsigned long)(v), \
-                                               sizeof(*(addr))))
-
-/* atomic_add_return, atomic_sub_return */
-
-static inline __attribute__((always_inline))
-unsigned long _atomic_add_return(void *addr, unsigned long val,
-                                int len)
-{
-       switch (len) {
-       case 1:
-       {
-               unsigned char result = val;
-
-               __asm__ __volatile__(
-               "lock; xaddb %1, %0"
-                       : "+m"(*__hp(addr)), "+q" (result)
-                       :
-                       : "memory");
-               return result + (unsigned char)val;
-       }
-       case 2:
-       {
-               unsigned short result = val;
-
-               __asm__ __volatile__(
-               "lock; xaddw %1, %0"
-                       : "+m"(*__hp(addr)), "+r" (result)
-                       :
-                       : "memory");
-               return result + (unsigned short)val;
-       }
-       case 4:
-       {
-               unsigned int result = val;
-
-               __asm__ __volatile__(
-               "lock; xaddl %1, %0"
-                       : "+m"(*__hp(addr)), "+r" (result)
-                       :
-                       : "memory");
-               return result + (unsigned int)val;
-       }
-#if (BITS_PER_LONG == 64)
-       case 8:
-       {
-               unsigned long result = val;
-
-               __asm__ __volatile__(
-               "lock; xaddq %1, %0"
-                       : "+m"(*__hp(addr)), "+r" (result)
-                       :
-                       : "memory");
-               return result + (unsigned long)val;
-       }
-#endif
-       }
-       /* generate an illegal instruction. Cannot catch this with linker tricks
-        * when optimizations are disabled. */
-       __asm__ __volatile__("ud2");
-       return 0;
-}
-
-#define atomic_add_return(addr, v)                                     \
-       ((__typeof__(*(addr))) _atomic_add_return((addr),               \
-                                                 (unsigned long)(v),   \
-                                                 sizeof(*(addr))))
-
-#define atomic_sub_return(addr, v)     atomic_add_return((addr), -(v))
-
-/* atomic_add, atomic_sub */
-
-static inline __attribute__((always_inline))
-void _atomic_add(void *addr, unsigned long val, int len)
-{
-       switch (len) {
-       case 1:
-       {
-               __asm__ __volatile__(
-               "lock; addb %1, %0"
-                       : "=m"(*__hp(addr))
-                       : "iq" ((unsigned char)val)
-                       : "memory");
-               return;
-       }
-       case 2:
-       {
-               __asm__ __volatile__(
-               "lock; addw %1, %0"
-                       : "=m"(*__hp(addr))
-                       : "ir" ((unsigned short)val)
-                       : "memory");
-               return;
-       }
-       case 4:
-       {
-               __asm__ __volatile__(
-               "lock; addl %1, %0"
-                       : "=m"(*__hp(addr))
-                       : "ir" ((unsigned int)val)
-                       : "memory");
-               return;
-       }
-#if (BITS_PER_LONG == 64)
-       case 8:
-       {
-               __asm__ __volatile__(
-               "lock; addq %1, %0"
-                       : "=m"(*__hp(addr))
-                       : "er" ((unsigned long)val)
-                       : "memory");
-               return;
-       }
-#endif
-       }
-       /* generate an illegal instruction. Cannot catch this with linker tricks
-        * when optimizations are disabled. */
-       __asm__ __volatile__("ud2");
-       return;
-}
-
-#define atomic_add(addr, v)                                               \
-       (_atomic_add((addr), (unsigned long)(v), sizeof(*(addr))))
-
-#define atomic_sub(addr, v)    atomic_add((addr), -(v))
-
-
-/* atomic_inc */
-
-static inline __attribute__((always_inline))
-void _atomic_inc(void *addr, int len)
-{
-       switch (len) {
-       case 1:
-       {
-               __asm__ __volatile__(
-               "lock; incb %0"
-                       : "=m"(*__hp(addr))
-                       :
-                       : "memory");
-               return;
-       }
-       case 2:
-       {
-               __asm__ __volatile__(
-               "lock; incw %0"
-                       : "=m"(*__hp(addr))
-                       :
-                       : "memory");
-               return;
-       }
-       case 4:
-       {
-               __asm__ __volatile__(
-               "lock; incl %0"
-                       : "=m"(*__hp(addr))
-                       :
-                       : "memory");
-               return;
-       }
-#if (BITS_PER_LONG == 64)
-       case 8:
-       {
-               __asm__ __volatile__(
-               "lock; incq %0"
-                       : "=m"(*__hp(addr))
-                       :
-                       : "memory");
-               return;
-       }
-#endif
-       }
-       /* generate an illegal instruction. Cannot catch this with linker tricks
-        * when optimizations are disabled. */
-       __asm__ __volatile__("ud2");
-       return;
-}
-
-#define atomic_inc(addr)       (_atomic_inc((addr), sizeof(*(addr))))
-
-/* atomic_dec */
-
-static inline __attribute__((always_inline))
-void _atomic_dec(void *addr, int len)
-{
-       switch (len) {
-       case 1:
-       {
-               __asm__ __volatile__(
-               "lock; decb %0"
-                       : "=m"(*__hp(addr))
-                       :
-                       : "memory");
-               return;
-       }
-       case 2:
-       {
-               __asm__ __volatile__(
-               "lock; decw %0"
-                       : "=m"(*__hp(addr))
-                       :
-                       : "memory");
-               return;
-       }
-       case 4:
-       {
-               __asm__ __volatile__(
-               "lock; decl %0"
-                       : "=m"(*__hp(addr))
-                       :
-                       : "memory");
-               return;
-       }
-#if (BITS_PER_LONG == 64)
-       case 8:
-       {
-               __asm__ __volatile__(
-               "lock; decq %0"
-                       : "=m"(*__hp(addr))
-                       :
-                       : "memory");
-               return;
-       }
-#endif
-       }
-       /* generate an illegal instruction. Cannot catch this with linker tricks
-        * when optimizations are disabled. */
-       __asm__ __volatile__("ud2");
-       return;
-}
-
-#define atomic_dec(addr)       (_atomic_dec((addr), sizeof(*(addr))))
-
-#endif /* #ifndef _INCLUDE_API_H */
-
-#endif /* ARCH_ATOMIC_X86_H */
diff --git a/arch_ppc.h b/arch_ppc.h
deleted file mode 100644 (file)
index 9c4ec91..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-#ifndef _ARCH_PPC_H
-#define _ARCH_PPC_H
-
-/*
- * arch_ppc.h: trivial definitions for the powerpc architecture.
- *
- * Copyright (c) 2009 Paul E. McKenney, IBM Corporation.
- * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
-*
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include <compiler.h>
-#include <arch_atomic.h>
-
-#define CONFIG_HAVE_FENCE 1
-#def