mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-12 01:41:57 +00:00
Due to similar padding issue as pipe, the list of task object may not be used directly. As mentioned before, some compiler/linker may pad the large struct. For example, compiling under gcc and march=i686 pads the struct to 32-byte alignment (march=atom to 64-byte alignment). This causes issue with sizeof() and pointer arithmetic because they have no idea about the padding. When the stars align in a certain way, these task structs may be corrupted. So add a task pointer list and use it for task manipulation. The task list remains as it is beneficial to group them together to take advantage of cache locality. Change-Id: I0e86bfe05742040f4540d7854c1ac14e76162776 Signed-off-by: Daniel Leung <daniel.leung@intel.com> |
||
---|---|---|
.. | ||
cortex_m | ||
arch.h |