On 28 February 2017 at 19:35, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > On Tue, Feb 28, 2017 at 10:01:10AM +0100, Daniel Vetter wrote: > >> > + ret = get_user_pages_unlocked((unsigned long)xfer->mem_addr, >> > + vsg->num_pages, vsg->pages, >> > + (vsg->direction == DMA_FROM_DEVICE) ? FOLL_WRITE : 0); > > Umm... Why not > ret = get_user_pages_fast((unsigned long)xfer->mem_addr, > vsg->num_pages, > vsg->direction == DMA_FROM_DEVICE, > vsg->pages); > > IOW, do you really need a warranty that ->mmap_sem will be grabbed and > released? Daniel will be better placed to answer in this specific case, but more generally is there any reason why we can't just use get_user_pages_fast() in all such cases? These patches were simply a mechanical/cautious replacement for code that is more or less exactly equivalent but if this would make sense perhaps it'd be worth using gup_fast() where possible? -- Lorenzo Stoakes https://ljs.io -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>