Hi All, I was going thru the VM initialisation on my 2.4.2 kernel and had the following doubts: (i) If alloc_page is called with HIGHMEM, then it allocates pages from all of the 3 zones; for NORMAL it gets from NORMAL and DMA and for DMA specifically from DMA. What is the logic behind this? If a certain zone is marked as DMA and if kernel is stealing pages for normal allocation then won't it be unfair to device driver that is expecting a DMA page? (ii) The initialisation of zones happens in order DMA, NORMAL and HIGHMEM. (struct zone_names etc...) Is there any reason why this is being done? The kernel is assuming that pages marked for DMA precedes the pages meant for NORMAL. What happens if I change this order? Thanks Raghav -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/