Commit Graph

52 Commits

Author SHA1 Message Date
liang zhou
4ef74379c2 Why modify freelist_test.cpp and test_common.hpp :
In VxWorks Kernel, the re-schedule mechanism does not enable "round-robin" reschdule between the same priority tasks by default. So the case "stack_unbounded_stress_test" will lead to test case hang forever. Here's the details:

The test case creates 4 tasks as “Reader”, and then 4 tasks as “Writer”, all those 8 task has the same priority 220.
If the target has 2 cores, the first 2 reader tasks will occupy the cores by “while (1)” without yield, so the other 2 readers tasks and 4 writers tasks have no chance to be run.
This will lead to the test case loop forever , then the exp scrip will catch it and print “RTP Execution Timeout; rebooting”

The test case creates 4 tasks as “Reader”, and then 4 tasks as “Writer”, all those 8 task has the same priority 220 in VxWorks Kernel.
If the target has 2 cores, the first 2 reader tasks will occupy the cores by “while (1)” without yield, so the other 2 readers tasks and 4 writers tasks have no chance to be run.
This will lead to the test case loop forever without any ending.

Why modify spsc_queue_stress_test.cpp :
In VxWorks user-land task (Wind River calls it as RTP), the max number of objects (the internal data structure RTP uses) in one RTP is limited at most 65535.
When the test is selected to run, the C++ constructor will create 1<<16 number of mutex via "new spsc_queue_tester".
And after test1->run() is finished, the C++ destructor will delete 1<<16 number of mutex by default.
This caused the problem, because VxWorks just support ((1<<16)-1) objects within an RTP.
2018-11-12 15:25:39 +08:00
Tim Blechmann
ffa371d6d8 build system: fix travis integration 2018-11-05 16:14:55 +08:00
Tim Blechmann
dcaba572e8 testsuite: avoid namespace std 2018-03-28 10:08:50 +02:00
Tim Blechmann
8e98981c21 Merge pull request #32 from DanielaE/fix/missing-include
Fix compilation errors regarding undefined symbol 'cout' because of m…
2017-05-20 17:10:49 +02:00
Daniela Engert
7b63352a00 Conditionally replace deprecated/removed std::auto_ptr by std::unique_ptr.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-05-12 17:30:54 +02:00
Daniela Engert
582b27bf0b Fix compilation errors regarding undefined symbol 'cout' because of missing include <iostream>.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-05-12 17:27:31 +02:00
Tim Blechmann
400226ad43 lockfree: introduce a foward header 2016-07-29 21:27:37 +02:00
Tim Blechmann
3b58aa9af1 stack: implement consume_all_atomic_reversed 2016-07-26 13:32:42 +02:00
Tim Blechmann
cf6632e262 stack: implement consume_all_atomic 2016-07-26 12:21:04 +02:00
Tim Blechmann
eb21dd050b test: fix testsuite 2015-10-04 15:08:20 +02:00
Tim Blechmann
6454f9fb85 spsc_queue: fix reset() 2014-11-08 23:32:33 +01:00
Marcel Raad
9b127e5da9 Add missing includes
This fixes the compile breaks in the regression tests.
2014-09-29 17:49:03 +02:00
erenon
d77e119bac spsc_queue: non-const T& front() added and tested 2014-06-26 08:49:51 +02:00
erenon
66dae3a792 add T& front() and void pop() capabilities to spsc_queue 2014-06-25 19:16:08 +02:00
Tim Blechmann
38ea6b082b jam file fix 2014-04-09 19:20:54 +02:00
Tim Blechmann
da5ec85778 lockfree: spsc-queue - add read_available and write_available members
[SVN r86736]
2013-11-17 10:49:47 +00:00
Tim Blechmann
4663348be0 lockfree: use lock_guard instead of the deprecated boost::mutex::scoped_lock
fixes #8838

[SVN r85196]
2013-08-03 09:08:32 +00:00
Tim Blechmann
85fd0b1356 lockfree: explicitly use bitmask to prevent aba tag overflow
workaround for msvc run-time check failure

[SVN r84723]
2013-06-10 12:31:38 +00:00
Tim Blechmann
d9f89ec5c9 lockfree: prevent warnings for unused arguments
Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r84618]
2013-06-03 09:48:47 +00:00
Tim Blechmann
b6c2f7cf1e lockfree: fix stack::reserve
[SVN r84403]
2013-05-21 15:24:20 +00:00
Tim Blechmann
65cb3432d1 lockfree: spsc-queue - capacity should take the internal marker object into account
fixes #8560

[SVN r84387]
2013-05-20 09:28:56 +00:00
Tim Blechmann
421e9d8c2c lockfree: testsuite - possible compile fix for IBM compiler
[SVN r83277]
2013-03-03 13:18:31 +00:00
Tim Blechmann
7388036785 lockfree: testsuite - move stress tests to separate file
[SVN r83276]
2013-03-03 13:13:01 +00:00
Tim Blechmann
e8e89220f6 lockfree: introduce consume_one and consume_all methods
[SVN r83275]
2013-03-03 13:07:50 +00:00
Tim Blechmann
95342e5ea6 lockfree: fix some warnings in testsuite
[SVN r82210]
2012-12-26 10:38:53 +00:00
Tim Blechmann
fca8f920d3 lockfree: fix testsuite
[SVN r82182]
2012-12-23 10:15:23 +00:00
Tim Blechmann
4c5b485068 lockfree: fix race condition in testsuite
[SVN r82169]
2012-12-22 15:50:31 +00:00
Tim Blechmann
7afb51f7af lockfree: test fixes
[SVN r82145]
2012-12-21 13:04:10 +00:00
Tim Blechmann
54ec924cd7 lockfree: fix race condition in testsuite
thanks to peter dimov!

[SVN r82104]
2012-12-19 19:23:55 +00:00
Tim Blechmann
1aa72418bc lockfree: testsuite cleanup
[SVN r81742]
2012-12-06 15:41:40 +00:00
Tim Blechmann
5c35fb4117 lockfree: fix test case on certain compilers
[SVN r81741]
2012-12-06 14:12:48 +00:00
Tim Blechmann
eac9b5fe47 lockfree: testsuite build fix
[SVN r81479]
2012-11-22 10:56:12 +00:00
Tim Blechmann
806ca975a3 lockfree: possible workarounds for testsuite failures
Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r81391]
2012-11-17 11:36:36 +00:00
Tim Blechmann
1c67ecf90f lockfree: cleanups in testsuite
[SVN r81317]
2012-11-13 10:59:27 +00:00
Tim Blechmann
18af8efb28 lockfree: relax freelist tests
[SVN r80700]
2012-09-25 14:05:56 +00:00
Tim Blechmann
c732d7fd31 lockfree: relax stress tests
the testsuite seems to take too much time for some test farm machines

Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r80666]
2012-09-23 12:32:49 +00:00
Jürgen Hunold
bbbc8fcf7a Fix min-max guideline violations
Fix some conversion warnings from msvc

[SVN r80627]
2012-09-22 15:40:07 +00:00
Tim Blechmann
e72bba543b lockfree: fix some inspect warnings
[SVN r80465]
2012-09-09 13:12:43 +00:00
Tim Blechmann
630bc52cdf lockfree: split stress tests to multiple files
Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r79426]
2012-07-11 18:39:17 +00:00
Tim Blechmann
e7c80f4c9b lockfree: link with boost.atomic
Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r79425]
2012-07-11 18:39:03 +00:00
Tim Blechmann
af04203e73 lockfree: another win32 testsuite compile fix
Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r79378]
2012-07-09 13:18:41 +00:00
Tim Blechmann
06799ee657 lockfree: testsuite - avoid stack-allocation of tester classes
Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r79345]
2012-07-08 08:35:18 +00:00
Tim Blechmann
55a0d72c52 lockfree: fix linking issue of boost.interprocess-related symbols
Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r79343]
2012-07-08 08:12:18 +00:00
Tim Blechmann
fa4c1f7fb0 lockfree: more msvc test fixes
Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r79314]
2012-07-06 10:49:36 +00:00
Tim Blechmann
834b3b95c0 lockfree: replace not by ! to allow compilation with msvc
Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r79313]
2012-07-06 10:25:47 +00:00
Tim Blechmann
416a270c89 lockfree: another testsuite fix
Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r79265]
2012-07-04 18:02:39 +00:00
Tim Blechmann
19a0b06651 lockfree: testsuite compile fix
Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r79253]
2012-07-04 06:50:17 +00:00
Tim Blechmann
d5f58cec08 lockfree: work around pgi compile error
Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r79248]
2012-07-03 17:21:31 +00:00
Tim Blechmann
8d9dca0e46 lockfree: fix some compiler warnings & relax stress tests
Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r79247]
2012-07-03 17:17:54 +00:00
Tim Blechmann
86019acfbb lockfree: testsuite compile fix
Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r79217]
2012-07-01 21:26:55 +00:00