Hi Vijay, On Fri, Sep 16, 2011 at 5:16 AM, Vijay Chauhan <kernel.vijay@xxxxxxxxx> wrote: >> It's the same thing as you read: >> THREAD size is 8kb so the operation looks like the following: >> current_stack_pointer & ~(8191) == current_stack_pointet & 0xFFFFFE00 >> (last 13 bits are 0) > > Ok. Got it. > > But how ANDing it with current stack pointer points to the address of > thread_info structure. > Suppose stack is growing from higher to lower memory address. Since the memory for the stack is allocated using a power-of-2 allocator, when you ask for 8K of memory, it is also 8K aligned. The stack will start at the end of the 8K region and grow towards the beginning. The thread_info will be stored at the beginning. ANDing any valid stack pointer with the mask will return the beginning of the 8K block. -- Dave Hylands Shuswap, BC, Canada http://www.davehylands.com _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies