diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-11-10 09:15:58 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-11-15 08:56:53 +0100 |
commit | 69aaf58745250cd27689dc5e8c24468bc173625a (patch) | |
tree | 620b10241d25284991922c36342299829858ea6a | |
parent | score: Introduce CPU budget operations (diff) | |
download | rtems-69aaf58745250cd27689dc5e8c24468bc173625a.tar.bz2 |
libtest: Improve the interrupt test timing
If no state change occurred during the test action, then assume a late
interrupt.
-rw-r--r-- | cpukit/libtest/t-test-interrupt.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/cpukit/libtest/t-test-interrupt.c b/cpukit/libtest/t-test-interrupt.c index 5d83b7876a..85b9b6ff69 100644 --- a/cpukit/libtest/t-test-interrupt.c +++ b/cpukit/libtest/t-test-interrupt.c @@ -456,9 +456,16 @@ T_interrupt_test(const T_interrupt_test_config *config, void *arg) lower_bound[sample] = lower - delta; sample = (sample + 1) % T_INTERRUPT_SAMPLE_COUNT; - } else if (state == T_INTERRUPT_TEST_LATE) { + } else if (state == T_INTERRUPT_TEST_LATE || + state == T_INTERRUPT_TEST_ACTION) { uint_fast32_t upper; + /* + * If the state is T_INTERRUPT_TEST_ACTION, then there + * was probably no interrupt during the action, so the + * interrupt would be late. + */ + lower_sum -= lower_bound[sample]; lower_sum += busy; lower_bound[sample] = busy; |