Hi Sanjay, > - What is meant by aligning to page boudaries? It means that an address is an integer multiple of the page size. For instance, a common page size (on x86 at least) is 4k. So any address must be a multiple of 4,096 bytes (0x1000). Aligned: 0xc3564000 0xdeadb000 Unaligned: 0xc3564080 0xdeadbeae It's kinda easy for 4k pages because an address must end with three zeros (in hex). If the modulo isn't 0, it's not aligned: if (address % PAGE_SIZE) printk(KERN_DEBUG "address %p isn't page aligned!\n", address); > - When do you need to need to make use of it? When it's required ;) Some system calls require page-aligned addresses, some don't. > - What are the advantages of it, if any? Performance is one, though the exact reasoning/explanation is better left to someone else. It makes the code cleaner in some of the mm/ stuff too. Kirk -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/