ESP32-S31 scheduling and spinlock benchmarks match the relaxed P4 thresholds
better than the generic limits, so use those limits to keep the
FreeRTOS perf cases stable.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit adds additional delays to the stress test where we create
and self-delete tasks on PSRAM. iSuch tasks rely on the kernel creating
a special cleanup task to delete them. Hence, the delays in the main
task allow the cleanup task to bescheduled and the deletion to go
through.
The Xtensa load/store handler did not properly handle 8/16-bit
memory access to IRAM regions configured with MALLOC_CAP_IRAM_8BIT
(and CONFIG_ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY=y) from a loop
(LBEG/LEND/LCOUNT) context. This caused the loop to exit after
the first access, instead of continuing to iterate as intended.
Closes https://github.com/espressif/esp-idf/issues/14127
Optimize freertos pytest test coverage to reduce redundant test runs and add support for gcov code coverage
Closes IDF-14186 and IDFCI-7565
See merge request espressif/esp-idf!44048
Split the idf_performance.h and target ver, which hold the performance
thresholds, into the headers of each testing.
In the past pytest also parse the common header to get the thresholds.
Now the logic is also removed. Performance thresholds are supposed to be
in the pytest scripts.
fix(freertos): Added stability fixes to tick hook test
Closes IDFCI-7671, IDFCI-7672, IDFCI-7679, and IDFCI-7680
See merge request espressif/esp-idf!44402
This commit adds the following:
- Added support to FreeRTOS component to report code coverage using gcov
and app trace.
- Added a new sdkconfig.ci.code_coverage for code coverage tests.
- Added a new Kconfig option CONFIG_FREERTOS_ENABLE_COVERAGE_TESTS to
control the code instrumentation.
- Added an idf_component.yml file to the test_app to fetch the esp_gcov
component from the component registry.
- Updated the README to explain how to take code coverage data.
test(freertos): Added stability fixes to the delete blocked tasks test
Closes IDFCI-3701, IDFCI-3718, IDFCI-4709, IDFCI-6443, and IDFCI-7544
See merge request espressif/esp-idf!44403
This commit fixes a race condition in suspend-resume tests where in
a test task could escape deletion and result in a memory leak after test
completion.
The following updates have been made in this commit:
- The commit places FreeRTOS code in flash memory by default.
- CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH has been removed.
- CONFIG_FREERTOS_IN_IRAM is unhidden and can be used to restore the
previous memory placement.
- A test has been added for users to conduct performance impact testing
based on memory placement configurations.
Removed
- target markers. Now must use target as parametrization in esp-idf
- host test markers. Now will be automatically added with linux target and qemu marker
This commit adds a new Kconfig option, viz.,
CONFIG_FREERTOS_PLACE_ISR_FUNCTIONS_INTO_FLASH, which places
additional FreeRTOS functions, such as those which can be called from
and ISR context, into Flash memory. This feature utilizes the Flash auto
suspend/resume feature of the Flash chip.