Hi Ben,
thanks for the patch I could verify that NPTL is now working on my STM32F746G-Disco with only 8 MB of RAM. I configured 16kb stack size.
Committed and pushed,
thanks Waldemar
Ben Wolsieffer wrote,
Threads currently have 2-4 MiB stacks by default (depending on the platform). This is fine on MMU platforms, where this stack space is not actually allocated until it is used, but tends to waste a large amount of memory on no-MMU platforms.
This patch adds a PTHREADS_STACK_DEFAULT_SIZE Kconfig option that allows the user to override the default stack size at build time. This allows the user to select a reasonable default stack size for the software that runs on their system, and avoids the need to patch every package to add calls to pthread_attr_setstacksize().
An alternative to this patch would be to change the hardcoded default stack size on no-MMU platforms, but it is difficult to choose an appropriate value because the minimum required stack depends on the software in use. This would also be a breaking change.
Signed-off-by: Ben Wolsieffer ben.wolsieffer@hefring.com
Changes in v2:
- Entirely move default stack size configuration to Kconfig