lumiera_/tests
Ichthyostega 707fbc2933 Scheduler-test: implement contention mitigation scheme
while my basic assessment is still that contention will not play a significant
role given the expected real world usage scenario — when testing with
tighter schedule and rather short jobs (500µs), some phases of massive contention
can be observed, leading to significant slow-down of the test.

The major problem seems to be that extended phases of contention will
effectively cause several workers to remain in an active spinning-loop for
multiple microseconds, while also permanently reading the atomic lock.

Thus an adaptive scheme is introduced: after some repeated contention events,
workers now throttle down by themselves, with polling delays increased
with exponential stepping up to 2ms. This turns out to be surprisingly
effective and completely removes any observed delays in the test setup.
2023-12-20 20:25:17 +01:00
..
basics Chain-Load: draft usage for Scheduler testing 2023-12-04 00:34:06 +01:00
core Chain-Load: draft usage for Scheduler testing 2023-12-04 00:34:06 +01:00
include MERGE Doxygen clean-up done during the last months 2017-04-01 23:59:00 +02:00
library Chain-Load: combine all exit-hashes into a single global hash 2023-12-09 02:36:14 +01:00
operation Doxygen: magically insert a reference to the test class 2017-02-22 03:17:18 +01:00
plugin Fix notorious warning 2017-04-01 23:59:37 +02:00
stage Library/Application: consolidate Monitor API and usage 2023-10-15 20:42:55 +02:00
tool Commands: some unit test coverage for unbinding arguments 2017-04-16 19:38:56 +02:00
vault Scheduler-test: implement contention mitigation scheme 2023-12-20 20:25:17 +01:00
00helloworld.tests link tests with stringent application scope dependencies (closes #938) 2014-10-17 21:15:59 +02:00
00support.tests Activity-Lang: support negative assertions for tests 2023-08-14 19:25:56 +02:00
00test.tests
10errorhandling.tests
10exception.tests Library: discontinue setting error flag from Exceptions (see #1341) 2023-10-01 20:11:45 +02:00
11concurrency.tests LibraryApplication: tie DispatcherLoop to thread lifecycle 2023-10-12 20:23:59 +02:00
11list.tests reorganise test suite compartments 2014-10-17 20:02:25 +02:00
11locking.tests Library/Application: complete technology switch (closes #1279) 2023-10-16 01:44:04 +02:00
11luid.tests reorganise test suite compartments 2014-10-17 20:02:25 +02:00
11safeclib.tests reorganise test suite compartments 2014-10-17 20:02:25 +02:00
11time.tests test-suite: fix lots of missing return value checks 2016-01-28 22:30:24 +01:00
11vault-memory.tests Block-Flow: completed implementation of low-level cyclic extent storage 2023-07-12 21:55:50 +02:00
12metaprogramming.tests Library: test coverage for self-managed thread 2023-10-11 21:06:56 +02:00
15library.tests Chain-Load: safety problems with rule initialisation 2023-12-03 04:59:18 +01:00
20config_lowlevel.tests clean-up: sourcefile layout and spell checking 2014-10-23 23:04:35 +02:00
20threads.tests
22config_highlevel.tests
25fundamental.tests Library: prepare switch of Thread-wrapper to C++17 2023-09-21 23:23:55 +02:00
30backend-file.tests
30interfaces.tests
31plugin.tests integrate priority queue: lumiera namespace prefix; unit test pass 2013-09-13 05:44:58 +02:00
32scheduler.tests Scheduler-test: Integration-test now running smoothly 2023-12-18 23:34:10 +01:00
40core.tests Global-Layer-Renaming: adapt lots of documentation 2018-11-15 21:13:52 +01:00
41asset.tests Assets: investigating the unclear distinction between asset::Struct and asset::Meta (#1156) 2018-09-14 21:06:12 +02:00
42query.tests Global-Layer-Renaming: adapt lots of documentation 2018-11-15 21:13:52 +01:00
43session.tests Dispatcher-Pipeline: prepare test for the new NodeGraphAttachment 2023-06-07 04:03:00 +02:00
44controller.tests Dispatcher-Pipeline: prepare test for the new NodeGraphAttachment 2023-06-07 04:03:00 +02:00
45builder.tests Dispatcher-Pipeline: prepare test for the new NodeGraphAttachment 2023-06-07 04:03:00 +02:00
46fixture.tests Dispatcher-Pipeline: create hook for self-validation 2023-06-12 01:18:59 +02:00
46node.tests Dispatcher-Pipeline: prepare test for the new NodeGraphAttachment 2023-06-07 04:03:00 +02:00
47engine.tests bye bye Monad (closes #1276) 2023-06-22 20:23:55 +02:00
48playout.tests Dispatcher-Pipeline: prepare test for the new NodeGraphAttachment 2023-06-07 04:03:00 +02:00
49core-integration.tests Dispatcher-Pipeline: prepare test for the new NodeGraphAttachment 2023-06-07 04:03:00 +02:00
51-gui-model.tests Segmentation: structure analysis for splitSplice operation 2023-05-02 04:29:34 +02:00
52-gui-control.tests Global-Layer-Renaming: fix remaining textual usages and IDs in the code 2018-12-10 00:09:56 +01:00
80-regression.tests test-suite: fix lots of missing return value checks 2016-01-28 22:30:24 +01:00
DIR_INFO
SConscript Global-Layer-Renaming: fix remaining textual usages and IDs in the code 2018-12-10 00:09:56 +01:00
test.conf Testsuite: increase virtual memory limit 2023-10-04 22:42:37 +02:00
test.sh test.sh - reorganise how limits are set 2015-08-16 01:17:39 +02:00
testrunner.cpp Doxygen: supply missing file level comments for test support helpers 2017-02-22 01:58:49 +01:00