Hi I was going through arm vmlinux script file. and i found below statements /* * first, the init task union, aligned * to an 8192 byte boundary. */ INIT_TASK_DATA(THREAD_SIZE) #define INIT_TASK_DATA(align) \ . = ALIGN(align); \ *(.data..init_task) As i know we align data structures on a n byte boundary to save access time and for speed execution but i did not understand why do we need to align this particular data structure on a 8192 byte boundary. sometimes it will be on 1024 or 2048 byte boundary. Any inputs would be appreciated!!! Regards
Because L1 cache is 8k deep. On Wed, Jun 29, 2016 at 10:31 PM, Shiva Shankar <klshiva4a4@gmail.com> wrote:
Hi I was going through arm vmlinux script file. and i found below statements
/* * first, the init task union, aligned * to an 8192 byte boundary. */
INIT_TASK_DATA(THREAD_SIZE)
#define INIT_TASK_DATA(align) \ . = ALIGN(align); \ *(.data..init_task)
As i know we align data structures on a n byte boundary to save access time and for speed execution but i did not understand why do we need to align this particular data structure on a 8192 byte boundary.
sometimes it will be on 1024 or 2048 byte boundary.
Any inputs would be appreciated!!!
Regards
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
participants (2)
-
Shiva Shankar -
tech learner