[Ovmsdev] Task stack optimization

Michael Balzer dexter at expeedo.de
Thu Apr 5 05:04:45 HKT 2018


I forgot: you'll get the first four changes automatically by pulling, but the timer service stack has previously been defined so needs to be changed either by
"make menuconfig" or by editing the sdkconfig line:

CONFIG_TIMER_TASK_STACK_DEPTH=3072

Also, I can't check this with some components like the obd2ecu and the ssh server, so please test and report if there are issues.

Regards,
Michael


Am 04.04.2018 um 22:57 schrieb Michael Balzer:
> 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.
>
> Regards,
> Michael
>

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




More information about the OvmsDev mailing list