On Sat, 19 Aug 2006 13:36:33 -0400 Douglas Gilbert <dougg@xxxxxxxxxx> wrote: > Matthew Wilcox wrote: > > On Sat, Aug 19, 2006 at 12:11:34AM -0400, Douglas Gilbert wrote: > >>> Your point about the change to sg_vma_nopage() between > >>> lk 2.6.15 and lk 2.6.16 also seems to be correct. > >>> The most indented part of that function has been > >>> changed from incrementing the change count on the > >>> reported page (as indicated by 'offset') in a > >>> compound page allocation to ignoring the 'offset' > >>> and incrementing the page count on the first page > >>> in a compound page allocation. > >> if (offset < len) { > >> - page = sg->page; > >> + page = virt_to_page(page_address(sg->page) + offset); > >> get_page(page); /* increment page count */ > > > > But page_address can return NULL on highmem machines. Or are you > > guaranteed that these are lowmem pages? > > Matthew, > The allocation is typically compound done with: > alloc_pages(GFP_ATOMIC|__GFP_COMP|__GFP_NOWARN, order) > where 'order' is 3 (hence 32 KB). ow, GFP_ATOMIC is bad. Can we avoid that? > The lack of a '__GFP_HIGHMEM' flag should mean these are > lowmem pages (?). Yup. - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html