From: Mathieu Desnoyers Date: Sat, 3 Sep 2011 14:48:44 +0000 (-0400) Subject: Merge branch 'master' into urcu/ht X-Git-Tag: v0.7.0~43^2~191 X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=commitdiff_plain;h=92cfe223501f564d3bd726a6c580702daeef4198;hp=-c Merge branch 'master' into urcu/ht Conflicts: Makefile.am Signed-off-by: Mathieu Desnoyers --- 92cfe223501f564d3bd726a6c580702daeef4198 diff --combined Makefile.am index 2326049,0cde84a..ff7f1bb --- a/Makefile.am +++ b/Makefile.am @@@ -14,8 -14,7 +14,8 @@@ nobase_dist_include_HEADERS = urcu/comp 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/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 \ @@@ -34,28 -33,36 +34,36 @@@ if COMPAT_FUTE COMPAT+=compat_futex.c endif - lib_LTLIBRARIES = liburcu-cds.la liburcu.la liburcu-qsbr.la \ - liburcu-mb.la liburcu-signal.la liburcu-bp.la + lib_LTLIBRARIES = liburcu-common.la \ + liburcu.la liburcu-qsbr.la \ + liburcu-mb.la liburcu-signal.la liburcu-bp.la \ + liburcu-cds.la - liburcu_cds_la_SOURCES = wfqueue.c wfstack.c rculfqueue.c rculfstack.c \ - rculfhash.c $(COMPAT) + # + # liburcu-common contains wait-free queues (needed by call_rcu) as well + # as futex fallbacks. + # + liburcu_common_la_SOURCES = wfqueue.c wfstack.c $(COMPAT) liburcu_la_SOURCES = urcu.c urcu-pointer.c $(COMPAT) - liburcu_la_LIBADD = liburcu-cds.la + liburcu_la_LIBADD = liburcu-common.la liburcu_qsbr_la_SOURCES = urcu-qsbr.c urcu-pointer.c $(COMPAT) - liburcu_qsbr_la_LIBADD = liburcu-cds.la + liburcu_qsbr_la_LIBADD = liburcu-common.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_mb_la_LIBADD = liburcu-common.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_signal_la_LIBADD = liburcu-common.la liburcu_bp_la_SOURCES = urcu-bp.c urcu-pointer.c $(COMPAT) - liburcu_bp_la_LIBADD = liburcu-cds.la + liburcu_bp_la_LIBADD = liburcu-common.la + -liburcu_cds_la_SOURCES = rculfqueue.c rculfstack.c $(COMPAT) ++liburcu_cds_la_SOURCES = rculfqueue.c rculfstack.c rculfhash.c $(COMPAT) + liburcu_cds_la_LIBADD = liburcu-common.la pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = liburcu-cds.pc liburcu.pc liburcu-bp.pc liburcu-qsbr.pc \ diff --combined tests/Makefile.am index 3917cd8,399fe9c..d32088b --- a/tests/Makefile.am +++ b/tests/Makefile.am @@@ -15,7 -15,7 +15,7 @@@ noinst_PROGRAMS = test_urcu test_urcu_d test_urcu_bp test_urcu_bp_dynamic_link test_cycles_per_loop \ test_urcu_lfq test_urcu_wfq test_urcu_lfs test_urcu_wfs \ test_urcu_wfq_dynlink test_urcu_wfs_dynlink \ - test_urcu_lfq_dynlink test_urcu_lfs_dynlink + test_urcu_lfq_dynlink test_urcu_lfs_dynlink test_urcu_hash noinst_HEADERS = rcutorture.h if COMPAT_ARCH @@@ -37,6 -37,7 +37,7 @@@ URCU_SIGNAL=$(top_srcdir)/urcu.c $(top_ URCU_BP=$(top_srcdir)/urcu-bp.c $(top_srcdir)/urcu-pointer.c $(top_srcdir)/wfqueue.c $(COMPAT) URCU_DEFER=$(top_srcdir)/urcu.c $(top_srcdir)/urcu-pointer.c $(top_srcdir)/wfqueue.c $(COMPAT) + URCU_COMMON_LIB=$(top_builddir)/liburcu-common.la URCU_LIB=$(top_builddir)/liburcu.la URCU_QSBR_LIB=$(top_builddir)/liburcu-qsbr.la URCU_MB_LIB=$(top_builddir)/liburcu-mb.la @@@ -44,8 -45,7 +45,7 @@@ URCU_SIGNAL_LIB=$(top_builddir)/liburcu URCU_BP_LIB=$(top_builddir)/liburcu-bp.la URCU_CDS_LIB=$(top_builddir)/liburcu-cds.la - EXTRA_DIST = $(top_srcdir)/tests/api_*.h - + EXTRA_DIST = $(top_srcdir)/tests/api.h runall.sh test_urcu_SOURCES = test_urcu.c $(URCU) @@@ -92,23 -92,23 +92,23 @@@ test_perthreadlock_SOURCES = test_perth rcutorture_urcu_SOURCES = urcutorture.c rcutorture_urcu_CFLAGS = -DRCU_MEMBARRIER $(AM_CFLAGS) - rcutorture_urcu_LDADD = $(URCU) $(URCU_CDS_LIB) + rcutorture_urcu_LDADD = $(URCU) rcutorture_urcu_mb_SOURCES = urcutorture.c rcutorture_urcu_mb_CFLAGS = -DRCU_MB $(AM_CFLAGS) - rcutorture_urcu_mb_LDADD = $(URCU_MB_LIB) $(URCU_CDS_LIB) + rcutorture_urcu_mb_LDADD = $(URCU_MB_LIB) rcutorture_qsbr_SOURCES = urcutorture.c - rcutorture_qsbr_CFLAGS = -DRCU_QSBR $(AM_CFLAGS) - rcutorture_qsbr_LDADD = $(URCU_QSBR_LIB) $(URCU_CDS_LIB) + rcutorture_qsbr_CFLAGS = -DTORTURE_QSBR -DRCU_QSBR $(AM_CFLAGS) + rcutorture_qsbr_LDADD = $(URCU_QSBR_LIB) rcutorture_urcu_signal_SOURCES = urcutorture.c rcutorture_urcu_signal_CFLAGS = -DRCU_SIGNAL $(AM_CFLAGS) - rcutorture_urcu_signal_LDADD = $(URCU_SIGNAL_LIB) $(URCU_CDS_LIB) + rcutorture_urcu_signal_LDADD = $(URCU_SIGNAL_LIB) rcutorture_urcu_bp_SOURCES = urcutorture.c rcutorture_urcu_bp_CFLAGS = -DRCU_BP $(AM_CFLAGS) - rcutorture_urcu_bp_LDADD = $(URCU_BP_LIB) $(URCU_CDS_LIB) + rcutorture_urcu_bp_LDADD = $(URCU_BP_LIB) test_mutex_SOURCES = test_mutex.c $(URCU) @@@ -155,30 -155,26 +155,30 @@@ test_urcu_bp_SOURCES = test_urcu_bp.c $ test_urcu_bp_dynamic_link_SOURCES = test_urcu_bp.c $(URCU_BP) test_urcu_bp_dynamic_link_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS) - test_urcu_lfq_SOURCES = test_urcu_lfq.c $(URCU) + test_urcu_lfq_SOURCES = test_urcu_lfq.c $(URCU) $(URCU_CDS_LIB) test_urcu_lfq_dynlink_SOURCES = test_urcu_lfq.c $(URCU) test_urcu_lfq_dynlink_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS) test_urcu_lfq_dynlink_LDADD = $(URCU_CDS_LIB) - test_urcu_wfq_SOURCES = test_urcu_wfq.c $(COMPAT) + test_urcu_wfq_SOURCES = test_urcu_wfq.c $(URCU_COMMON_LIB) test_urcu_wfq_dynlink_SOURCES = test_urcu_wfq.c test_urcu_wfq_dynlink_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS) - test_urcu_wfq_dynlink_LDADD = $(URCU_CDS_LIB) + test_urcu_wfq_dynlink_LDADD = $(URCU_COMMON_LIB) - test_urcu_lfs_SOURCES = test_urcu_lfs.c $(URCU_DEFER) + test_urcu_lfs_SOURCES = test_urcu_lfs.c $(URCU_CDS_LIB) $(URCU_DEFER) test_urcu_lfs_dynlink_SOURCES = test_urcu_lfs.c $(URCU_DEFER) test_urcu_lfs_dynlink_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS) test_urcu_lfs_dynlink_LDADD = $(URCU_CDS_LIB) - test_urcu_wfs_SOURCES = test_urcu_wfs.c $(COMPAT) + test_urcu_wfs_SOURCES = test_urcu_wfs.c $(URCU_COMMON_LIB) test_urcu_wfs_dynlink_SOURCES = test_urcu_wfs.c test_urcu_wfs_dynlink_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS) - test_urcu_wfs_dynlink_LDADD = $(URCU_CDS_LIB) + test_urcu_wfs_dynlink_LDADD = $(URCU_COMMON_LIB) +test_urcu_hash_SOURCES = test_urcu_hash.c $(COMPAT) +test_urcu_hash_CFLAGS = -DRCU_MEMBARRIER $(AM_CFLAGS) +test_urcu_hash_LDADD = $(URCU) $(URCU_CDS_LIB) + urcutorture.c: api.h check-am: