[Ovmsdev] Task stack optimization

Michael Balzer dexter at expeedo.de
Thu Apr 5 04:57:22 HKT 2018

I've done some stack size watching and pushed some optimizations:

- CanRxTask: 4K → 1K
- COrx Task: 4K → 3K [+config]
- COwrk Task: 4K → 1.5K [+config]
- Vrx Task: 4K → 3K [+config]
- Tmr Svc: 6K → 3K

Much better now, nearly no crashes during normal operation, so most crashes now have been memory related (I had normally 2-3 crashes during a normal drive). A
single crash I had when getting back home may have been due to my PC reconnecting to the webserver in parallel to my phone.

There are more stacks we possibly can reduce:

- SIMCOMTask normally maxes out at 2.3K (of 4)
- wifi ditto
- mdns normally uses 1.7K of 4 (no config for that one, defined in esp mdns_private.h)

These should normally have no larger stack requirements as their operation is pretty much fixed, so that would be another 4.5 - 5K to get.

As stacks need to be pinned to the internal RAM, hw3.1 also should benefit from these optimizations.


Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26

More information about the OvmsDev mailing list