diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-08-04 12:27:54 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-08-04 15:48:32 +0200 |
commit | 81631dea2ee08ab0bf8a1e353b452076c85b3d3d (patch) | |
tree | 7284b41c161c37bd67811bc4aaeeff4415b1e186 /testsuites/smptests/smpschededf02 | |
parent | termios: Make rtems_termios_ttyMutex private (diff) | |
download | rtems-81631dea2ee08ab0bf8a1e353b452076c85b3d3d.tar.bz2 |
smpschededf02: Document reset() function
Diffstat (limited to 'testsuites/smptests/smpschededf02')
-rw-r--r-- | testsuites/smptests/smpschededf02/init.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/testsuites/smptests/smpschededf02/init.c b/testsuites/smptests/smpschededf02/init.c index cd8895edd5..fae2d76bf3 100644 --- a/testsuites/smptests/smpschededf02/init.c +++ b/testsuites/smptests/smpschededf02/init.c @@ -216,6 +216,12 @@ static void set_affinity(rtems_id id, uint32_t cpu_set_32) rtems_test_assert(sc == RTEMS_SUCCESSFUL); } +/* + * The goal of the reset() function is to bring back a defined initial system + * state for each test case. All tasks of the test shall be suspended. The + * idle threads shall be ordered in the scheduled chain according to the CPU + * index. + */ static void reset(test_context *ctx) { rtems_status_code sc; @@ -236,7 +242,13 @@ static void reset(test_context *ctx) rtems_test_assert(sc == RTEMS_SUCCESSFUL || sc == RTEMS_INCORRECT_STATE); } - /* Order the idle threads explicitly */ + /* + * Order the idle threads explicitly. Test cases may move the idle threads + * around. We have to ensure that the idle threads are ordered according to + * the CPU index, otherwise the processor allocations cannot be specified for + * a test case. The idle threads of a scheduler have all the same priority, + * so we have to take the FIFO ordering within a priority group into account. + */ for (i = 0; i < CPU_COUNT; ++i) { const Per_CPU_Control *c; const Thread_Control *h; |