mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-28 23:16:33 +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> |
||
---|---|---|
.. | ||
base_api.h | ||
command_packet.h | ||
event.h | ||
fifo.h | ||
mailbox.h | ||
memory_map.h | ||
memory_pool.h | ||
mutex.h | ||
pipe.h | ||
semaphore.h | ||
task_irq.h | ||
task.h | ||
ticks.h |