> > + struct page *page = alloc_page(GFP_ATOMIC | __GFP_HIGHMEM); > > Isn't this likely to hurt performance on 32 bit systems? Yeah, I guess the kernel would need to kmap the data in most cases anyway. So there's not much point in trying to use high memory. - R.