On Wed, Jun 02, 2010 at 01:58:06AM -0700, Anoop P.A. wrote: > [Anoop P.A.] You mean there are some flags available to force kmalloc to > allocate memory below some address? I couldn't find one in kmalloc man > pages. > > BTW I am using 64 bit kernel. There are: o GFP_DMA which usually means to allocate memory accessible to ISA DMA devices. o GFP_DMA32 which means memory in the low physical 4GB, that is memory accessible by 32-bit DMA devices. o GFP_HIGHMEM means any type of memory, even highmem. All need to be explicitly supported by platform code which the existing code doesn't. Passing none of these flags would mean to allocate any non-highmem. On 32-bit kernels that would be below 512MB physical but on 64-bit kernels where there never is highmem it would just mean to allocate any memory. I just hope the NIC isn't as braindead as you were describing but I got no time to read up the docs again. Ralf