From a3d62a3700206b9cd34e129f6a04967bed5e46e4 Mon Sep 17 00:00:00 2001 From: Randall Spangler Date: Fri, 7 Sep 2012 13:48:23 -0700 Subject: Switch to variable-size stacks Increase stack size slightly for vboot hash task since the vboot SHA256 function allocates ~300 bytes of stack data. Reduce stack size for watchdog, power LED, and a few other tasks with simple call trees where we can be sure an error path isn't going to blow past the reduced stack. This frees up ~1KB of RAM on STM32. BUG=chrome-os-partner:13814 BRANCH=all TEST=boot system; shmem should show more unused RAM; taskinfo should show tasks still have unused stack Change-Id: I47d6b77564a0180d15d86667cc0566a8919b776e Signed-off-by: Randall Spangler Reviewed-on: https://gerrit.chromium.org/gerrit/32608 Reviewed-by: Vincent Palatin --- test/thermal.tasklist | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'test/thermal.tasklist') diff --git a/test/thermal.tasklist b/test/thermal.tasklist index fe620078e8..4037f3c773 100644 --- a/test/thermal.tasklist +++ b/test/thermal.tasklist @@ -8,17 +8,18 @@ * * The first one has the lowest priority. * - * For each task, use the macro TASK(n, r, d) where : + * For each task, use the macro TASK(n, r, d, s) where : * 'n' in the name of the task * 'r' in the main routine of the task * 'd' in an opaque parameter passed to the routine at startup + * 's' is the stack size in bytes; must be a multiple of 8 */ #define CONFIG_TASK_LIST \ - TASK(WATCHDOG, watchdog_task, NULL) \ - TASK(VBOOTHASH, vboot_hash_task, NULL) \ - TASK(TEMPSENSOR, temp_sensor_task, NULL) \ - TASK(THERMAL, thermal_task, NULL) \ - TASK(PWM, pwm_task, NULL) \ - TASK(X86POWER, x86_power_task, NULL) \ - TASK(HOSTCMD, host_command_task, NULL) \ - TASK(CONSOLE, console_task, NULL) + TASK(WATCHDOG, watchdog_task, NULL, TASK_STACK_SIZE) \ + TASK(VBOOTHASH, vboot_hash_task, NULL, TASK_STACK_SIZE) \ + TASK(TEMPSENSOR, temp_sensor_task, NULL, TASK_STACK_SIZE) \ + TASK(THERMAL, thermal_task, NULL, TASK_STACK_SIZE) \ + TASK(PWM, pwm_task, NULL, TASK_STACK_SIZE) \ + TASK(X86POWER, x86_power_task, NULL, TASK_STACK_SIZE) \ + TASK(HOSTCMD, host_command_task, NULL, TASK_STACK_SIZE) \ + TASK(CONSOLE, console_task, NULL, TASK_STACK_SIZE) -- cgit v1.2.1