3 #include <cds/gc/dhp.h>
4 #include <cds/container/msqueue.h>
6 #include "queue/hdr_queue.h"
10 void HdrTestQueue::MSQueue_DHP()
12 typedef cds::container::MSQueue< cds::gc::DHP, int > test_queue;
13 test_no_ic< test_queue >();
16 void HdrTestQueue::MSQueue_DHP_Counted()
18 typedef cds::container::MSQueue < cds::gc::DHP, int,
19 typename cds::container::msqueue::make_traits <
20 cds::opt::item_counter < cds::atomicity::item_counter >
24 test_ic< test_queue >();
27 void HdrTestQueue::MSQueue_DHP_relax()
29 typedef cds::container::MSQueue < cds::gc::DHP, int,
30 typename cds::container::msqueue::make_traits <
31 cds::opt::memory_model < cds::opt::v::relaxed_ordering >
35 test_no_ic< test_queue >();
38 void HdrTestQueue::MSQueue_DHP_Counted_relax()
40 typedef cds::container::MSQueue < cds::gc::DHP, int,
41 typename cds::container::msqueue::make_traits <
42 cds::opt::item_counter< cds::atomicity::item_counter >
43 , cds::opt::memory_model < cds::opt::v::relaxed_ordering >
47 test_ic< test_queue >();
50 void HdrTestQueue::MSQueue_DHP_seqcst()
52 typedef cds::container::MSQueue < cds::gc::DHP, int,
53 typename cds::container::msqueue::make_traits <
54 cds::opt::memory_model < cds::opt::v::sequential_consistent >
58 test_no_ic< test_queue >();
61 void HdrTestQueue::MSQueue_DHP_Counted_seqcst()
63 typedef cds::container::MSQueue < cds::gc::DHP, int,
64 typename cds::container::msqueue::make_traits <
65 cds::opt::item_counter< cds::atomicity::item_counter >
66 , cds::opt::memory_model < cds::opt::v::sequential_consistent >
70 test_ic< test_queue >();
73 void HdrTestQueue::MSQueue_DHP_relax_align()
75 typedef cds::container::MSQueue < cds::gc::DHP, int,
76 typename cds::container::msqueue::make_traits <
77 cds::opt::memory_model< cds::opt::v::relaxed_ordering>
78 , cds::opt::alignment < 16 >
82 test_no_ic< test_queue >();
85 void HdrTestQueue::MSQueue_DHP_Counted_relax_align()
87 typedef cds::container::MSQueue < cds::gc::DHP, int,
88 typename cds::container::msqueue::make_traits <
89 cds::opt::item_counter< cds::atomicity::item_counter >
90 , cds::opt::memory_model< cds::opt::v::relaxed_ordering>
91 , cds::opt::alignment < 32 >
95 test_ic< test_queue >();
98 void HdrTestQueue::MSQueue_DHP_seqcst_align()
100 typedef cds::container::MSQueue < cds::gc::DHP, int,
101 typename cds::container::msqueue::make_traits <
102 cds::opt::memory_model< cds::opt::v::sequential_consistent>
103 ,cds::opt::alignment < cds::opt::no_special_alignment >
107 test_no_ic< test_queue >();
110 void HdrTestQueue::MSQueue_DHP_Counted_seqcst_align()
112 typedef cds::container::MSQueue < cds::gc::DHP, int,
113 typename cds::container::msqueue::make_traits <
114 cds::opt::item_counter< cds::atomicity::item_counter >
115 , cds::opt::memory_model< cds::opt::v::sequential_consistent>
116 , cds::opt::alignment < cds::opt::cache_line_alignment >
119 test_ic< test_queue >();