Print the "perfect" reference period for easier evaluation. Suggest a remedy to the missed ticks problem. Still, that wasn't satisfactory. Implemented a count of missed ticks to get to the bottom of this issue. Found that missed ticks always came to a perfect count of 40. Incidentally, the busy loop prints a line every 250 ms and the test spans 10 seconds. There are no such coincidences. Turns out that CONFIG_PRINTK_SYNC was set by default. This disables IRQs for the serial output duration, which can be quite long at 115200 bauds. Given a 60-ish character line length, this represents more than 5 ms of no IRQ servicing during a timer latency measurement test which is bad. So make sure CONFIG_PRINTK_SYNC=n for proper statistics. Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
9 lines
272 B
Plaintext
9 lines
272 B
Plaintext
CONFIG_ZTEST=y
|
|
CONFIG_ZTEST_NEW_API=y
|
|
CONFIG_CBPRINTF_FP_SUPPORT=y
|
|
|
|
# Make sure this is off. Otherwise a single 60-character line at
|
|
# 115200 bauds would grab the printk lock and disable IRQs for more
|
|
# than 5 ms screwing up timer latency statistics.
|
|
CONFIG_PRINTK_SYNC=n
|