tests: add test-rcu-tailq
Signed-off-by: Emilio G. Cota <cota@braap.org> Message-Id: <20180819091335.22863-10-cota@braap.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
90487e455b
commit
dbf8862a39
@ -118,6 +118,8 @@ check-unit-y += tests/test-rcu-list$(EXESUF)
|
|||||||
gcov-files-test-rcu-list-y = util/rcu.c
|
gcov-files-test-rcu-list-y = util/rcu.c
|
||||||
check-unit-y += tests/test-rcu-simpleq$(EXESUF)
|
check-unit-y += tests/test-rcu-simpleq$(EXESUF)
|
||||||
gcov-files-test-rcu-simpleq-y = util/rcu.c
|
gcov-files-test-rcu-simpleq-y = util/rcu.c
|
||||||
|
check-unit-y += tests/test-rcu-tailq$(EXESUF)
|
||||||
|
gcov-files-test-rcu-tailq-y = util/rcu.c
|
||||||
check-unit-y += tests/test-qdist$(EXESUF)
|
check-unit-y += tests/test-qdist$(EXESUF)
|
||||||
gcov-files-test-qdist-y = util/qdist.c
|
gcov-files-test-qdist-y = util/qdist.c
|
||||||
check-unit-y += tests/test-qht$(EXESUF)
|
check-unit-y += tests/test-qht$(EXESUF)
|
||||||
@ -601,6 +603,7 @@ test-obj-y = tests/check-qnum.o tests/check-qstring.o tests/check-qdict.o \
|
|||||||
tests/test-opts-visitor.o tests/test-qmp-event.o \
|
tests/test-opts-visitor.o tests/test-qmp-event.o \
|
||||||
tests/rcutorture.o tests/test-rcu-list.o \
|
tests/rcutorture.o tests/test-rcu-list.o \
|
||||||
tests/test-rcu-simpleq.o \
|
tests/test-rcu-simpleq.o \
|
||||||
|
tests/test-rcu-tailq.o \
|
||||||
tests/test-qdist.o tests/test-shift128.o \
|
tests/test-qdist.o tests/test-shift128.o \
|
||||||
tests/test-qht.o tests/qht-bench.o tests/test-qht-par.o \
|
tests/test-qht.o tests/qht-bench.o tests/test-qht-par.o \
|
||||||
tests/atomic_add-bench.o
|
tests/atomic_add-bench.o
|
||||||
@ -651,6 +654,7 @@ tests/test-int128$(EXESUF): tests/test-int128.o
|
|||||||
tests/rcutorture$(EXESUF): tests/rcutorture.o $(test-util-obj-y)
|
tests/rcutorture$(EXESUF): tests/rcutorture.o $(test-util-obj-y)
|
||||||
tests/test-rcu-list$(EXESUF): tests/test-rcu-list.o $(test-util-obj-y)
|
tests/test-rcu-list$(EXESUF): tests/test-rcu-list.o $(test-util-obj-y)
|
||||||
tests/test-rcu-simpleq$(EXESUF): tests/test-rcu-simpleq.o $(test-util-obj-y)
|
tests/test-rcu-simpleq$(EXESUF): tests/test-rcu-simpleq.o $(test-util-obj-y)
|
||||||
|
tests/test-rcu-tailq$(EXESUF): tests/test-rcu-tailq.o $(test-util-obj-y)
|
||||||
tests/test-qdist$(EXESUF): tests/test-qdist.o $(test-util-obj-y)
|
tests/test-qdist$(EXESUF): tests/test-qdist.o $(test-util-obj-y)
|
||||||
tests/test-qht$(EXESUF): tests/test-qht.o $(test-util-obj-y)
|
tests/test-qht$(EXESUF): tests/test-qht.o $(test-util-obj-y)
|
||||||
tests/test-qht-par$(EXESUF): tests/test-qht-par.o tests/qht-bench$(EXESUF) $(test-util-obj-y)
|
tests/test-qht-par$(EXESUF): tests/test-qht-par.o tests/qht-bench$(EXESUF) $(test-util-obj-y)
|
||||||
|
@ -91,6 +91,8 @@ struct list_element {
|
|||||||
QLIST_ENTRY(list_element) entry;
|
QLIST_ENTRY(list_element) entry;
|
||||||
#elif TEST_LIST_TYPE == 2
|
#elif TEST_LIST_TYPE == 2
|
||||||
QSIMPLEQ_ENTRY(list_element) entry;
|
QSIMPLEQ_ENTRY(list_element) entry;
|
||||||
|
#elif TEST_LIST_TYPE == 3
|
||||||
|
QTAILQ_ENTRY(list_element) entry;
|
||||||
#else
|
#else
|
||||||
#error Invalid TEST_LIST_TYPE
|
#error Invalid TEST_LIST_TYPE
|
||||||
#endif
|
#endif
|
||||||
@ -129,6 +131,19 @@ static QSIMPLEQ_HEAD(, list_element) Q_list_head =
|
|||||||
#define TEST_LIST_INSERT_HEAD_RCU QSIMPLEQ_INSERT_HEAD_RCU
|
#define TEST_LIST_INSERT_HEAD_RCU QSIMPLEQ_INSERT_HEAD_RCU
|
||||||
#define TEST_LIST_FOREACH_RCU QSIMPLEQ_FOREACH_RCU
|
#define TEST_LIST_FOREACH_RCU QSIMPLEQ_FOREACH_RCU
|
||||||
#define TEST_LIST_FOREACH_SAFE_RCU QSIMPLEQ_FOREACH_SAFE_RCU
|
#define TEST_LIST_FOREACH_SAFE_RCU QSIMPLEQ_FOREACH_SAFE_RCU
|
||||||
|
|
||||||
|
#elif TEST_LIST_TYPE == 3
|
||||||
|
static QTAILQ_HEAD(, list_element) Q_list_head;
|
||||||
|
|
||||||
|
#define TEST_NAME "qtailq"
|
||||||
|
#define TEST_LIST_REMOVE_RCU(el, f) QTAILQ_REMOVE_RCU(&Q_list_head, el, f)
|
||||||
|
|
||||||
|
#define TEST_LIST_INSERT_AFTER_RCU(list_el, el, f) \
|
||||||
|
QTAILQ_INSERT_AFTER_RCU(&Q_list_head, list_el, el, f)
|
||||||
|
|
||||||
|
#define TEST_LIST_INSERT_HEAD_RCU QTAILQ_INSERT_HEAD_RCU
|
||||||
|
#define TEST_LIST_FOREACH_RCU QTAILQ_FOREACH_RCU
|
||||||
|
#define TEST_LIST_FOREACH_SAFE_RCU QTAILQ_FOREACH_SAFE_RCU
|
||||||
#else
|
#else
|
||||||
#error Invalid TEST_LIST_TYPE
|
#error Invalid TEST_LIST_TYPE
|
||||||
#endif
|
#endif
|
||||||
|
2
tests/test-rcu-tailq.c
Normal file
2
tests/test-rcu-tailq.c
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#define TEST_LIST_TYPE 3
|
||||||
|
#include "test-rcu-list.c"
|
Loading…
Reference in New Issue
Block a user