On 2/8/21 5:20 AM, Michael Balzer wrote:
Am 31.01.21 um 19:58 schrieb Craig Leres:
Please also disable the PSRAM bug workaround and maybe do some performance comparison. SPIRAM operations should run much faster without the workaround.
What kind of tests should I run?
I've just added an execution time output to my SPIRAM test command, which was meant to trigger the memory corruption, but can also serve as a memory benchmark.
To get comparable results, run the tests after booting with "config set auto init no" (you'll need a USB connection).
Tests with my results (ESP32/1, SPIRAM fix enabled, debug output removed):
OVMS# test string 1000 2 finished 1000 loops for mode 2 using extram in 33503 ms
OVMS# test string 5000 4 finished 5000 loops for mode 4 using extram in 30268 ms
OVMS# test string 25000 6 finished 25000 loops for mode 6 using extram in 34681 ms
Test mode 2 reads from metrics (involves locks & stream formatting), mode 4 reads a fixed string from the config, mode 6 is mostly pure memory copying.
I ran these with 3.2.016-27-g8564963b-dirty with this sdkconfig: ice 1186 % diff sdkconfig support/sdkconfig.default.hw31 | fgrep -v VEHICLE | egrep '^[<>]' < CONFIG_SPIRAM_CACHE_WORKAROUND= > CONFIG_SPIRAM_CACHE_WORKAROUND=y The first time I just pasted the test lines into the serial window and the 2nd test caused a watchdog reset. But I wasn't able to reproduce it. Craig OVMS# test string 1000 2 #1: stdlen = 1034 0,1,2,3,4,5,6,7,8,92,4,5,6,7,8,94202392OVMS WIFI BLE BT cores=2 rev=ESP32/3104-1271416156578083.2.016-27-g8564963b-dirty/ota_1/main (build idf v3.3.4-848-g1ff5e24b1 Mar 13 2021 09:19:45)11.5512.6no5889830,1,2,3,4,5,6,7,8,92,4,5,6,7,8,94202392OVMS WIFI BLE BT cores=2 rev=ESP32/3104-1271416156578083.2.016-27-g8564963b-dirty/ota_1/main (build idf v3.3.4-848-g1ff5e24b1 Mar 13 2021 09:19:45)11.5512.6no5889830,1,2,3,4,5,6,7,8,92,4,5,6,7,8,94202392OVMS WIFI BLE BT cores=2 rev=ESP32/3104-1271416156578083.2.016-27-g8564963b-dirty/ota_1/main (build idf v3.3.4-848-g1ff5e24b1 Mar 13 2021 09:19:45)11.5512.6no5889830,1,2,3,4,5,6,7,8,92,4,5,6,7,8,94202392OVMS WIFI BLE BT cores=2 rev=ESP32/3104-1271416156578083.2.016-27-g8564963b-dirty/ota_1/main (build idf v3.3.4-848-g1ff5e24b1 Mar 13 2021 09:19:45)11.5512.6no5889830,1,2,3,4,5,6,7,8,92,4,5,6,7,8,94202392OVMS WIFI BLE BT cores=2 rev=ESP32/3104-1271416156578083.2.016-27-g8564963b-dirty/ota_1/main (build idf v3.3.4-848-g1ff5e24b1 Mar 13 2021 09:19:45)11.5512.6no5889830,1,2,3,4,5,6,7,8,9 finished 1000 loops for mode 2 using extram in 37348 ms OVMS# test string 5000 4 #1: stdlen = 1030 2020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100 E (166099) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time: E (166099) task_wdt: - IDLE1 (CPU 1) E (166099) task_wdt: - OVMS DukTape (CPU 1) E (166099) task_wdt: Tasks currently running: E (166099) task_wdt: CPU 0: IDLE0 E (166099) task_wdt: CPU 1: OVMS Events E (166099) task_wdt: Aborting. abort() was called at PC 0x400e6984 on core 0 ELF file SHA256: 3099b1f81632b65f Backtrace: 0x40089947:0x3ffb0690 0x40089be1:0x3ffb06b0 0x400e6984:0x3ffb06d0 0x40083cd2:0x3ffb06f0 Rebooting... ets Jul 29 2019 12:21:46 ============================================================== ice 1189 % ./backtrace.sh 0x40089947:0x3ffb0690 0x40089be1:0x3ffb06b0 0x400e6984:0x3ffb06d0 0x40083cd2:0x3ffb06f0 + xtensa-esp32-elf-addr2line -e build/ovms3.elf 0x40089947:0x3ffb0690 0x40089be1:0x3ffb06b0 0x400e6984:0x3ffb06d0 0x40083cd2:0x3ffb06f0 /home/ice/u0/leres/esp/openvehicles-xtensa-esp32-elf/components/esp32/panic.c:736 /home/ice/u0/leres/esp/openvehicles-xtensa-esp32-elf/components/esp32/panic.c:736 /home/ice/u0/leres/esp/openvehicles-xtensa-esp32-elf/components/esp32/task_wdt.c:274 /home/ice/u0/leres/esp/openvehicles-xtensa-esp32-elf/components/freertos/xtensa_vectors.S:1154 ============================================================== OVMS# test string 5000 4 #1: stdlen = 1030 2020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100202005310020200531002020053100 finished 5000 loops for mode 4 using extram in 28945 ms OVMS# test string 25000 6 #1: stdlen = 1035 0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk-0123456789-abcdefghijk- finished 25000 loops for mode 6 using extram in 34205 ms OVMS# test string 1000 2 #1: stdlen = 1034 0,1,2,3,4,5,6,7,8,92,4,5,6,7,8,94202384OVMS WIFI BLE BT cores=2 rev=ESP32/3405-1271416156582763.2.016-27-g8564963b-dirty/ota_1/main (build idf v3.3.4-848-g1ff5e24b1 Mar 13 2021 09:19:45)11.5412.6no5889830,1,2,3,4,5,6,7,8,92,4,5,6,7,8,94202384OVMS WIFI BLE BT cores=2 rev=ESP32/3405-1271416156582763.2.016-27-g8564963b-dirty/ota_1/main (build idf v3.3.4-848-g1ff5e24b1 Mar 13 2021 09:19:45)11.5412.6no5889830,1,2,3,4,5,6,7,8,92,4,5,6,7,8,94202384OVMS WIFI BLE BT cores=2 rev=ESP32/3405-1271416156582763.2.016-27-g8564963b-dirty/ota_1/main (build idf v3.3.4-848-g1ff5e24b1 Mar 13 2021 09:19:45)11.5412.6no5889830,1,2,3,4,5,6,7,8,92,4,5,6,7,8,94202384OVMS WIFI BLE BT cores=2 rev=ESP32/3405-1271416156582763.2.016-27-g8564963b-dirty/ota_1/main (build idf v3.3.4-848-g1ff5e24b1 Mar 13 2021 09:19:45)11.5412.6no5889830,1,2,3,4,5,6,7,8,92,4,5,6,7,8,94202384OVMS WIFI BLE BT cores=2 rev=ESP32/3405-1271416156582763.2.016-27-g8564963b-dirty/ota_1/main (build idf v3.3.4-848-g1ff5e24b1 Mar 13 2021 09:19:45)11.5412.6no5889830,1,2,3,4,5,6,7,8,9 finished 1000 loops for mode 2 using extram in 37315 ms W (441099) script: DuktapeDispatch: msg type 3 lost, queue full W (441099) script: DuktapeDispatch: msg type 3 lost, queue full W (442099) script: DuktapeDispatch: msg type 3 lost, queue full W (443099) script: DuktapeDispatch: msg type 3 lost, queue full OVMS#