[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4] xen/gntdev: Use VM_MIXEDMAP instead of VM_IO to avoid NUMA balancing
On 22/11/16 04:59, Hugh Dickins wrote: > On Mon, 21 Nov 2016, Boris Ostrovsky wrote: > >> Commit 9c17d96500f7 ("xen/gntdev: Grant maps should not be subject to >> NUMA balancing") set VM_IO flag to prevent grant maps from being >> subjected to NUMA balancing. >> >> It was discovered recently that this flag causes get_user_pages() to >> always fail with -EFAULT. >> >> check_vma_flags >> __get_user_pages >> __get_user_pages_locked >> __get_user_pages_unlocked >> get_user_pages_fast >> iov_iter_get_pages >> dio_refill_pages >> do_direct_IO >> do_blockdev_direct_IO >> do_blockdev_direct_IO >> ext4_direct_IO_read >> generic_file_read_iter >> aio_run_iocb >> >> (which can happen if guest's vdisk has direct-io-safe option). >> >> To avoid this let's use VM_MIXEDMAP flag instead --- it prevents >> NUMA balancing just as VM_IO does and has no effect on >> check_vma_flags(). >> >> Reported-by: Olaf Hering <olaf@xxxxxxxxx> >> Suggested-by: Hugh Dickins <hughd@xxxxxxxxxx> >> Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> > > Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> > > But nicer with the addition of a code comment saying > /* VM_MIXEDMAP to forbid NUMA balancing but permit get_user_pages() */ I can fix that up when committing. Juergen > >> --- >> drivers/xen/gntdev.c | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c >> index bb95212..2ef2b61 100644 >> --- a/drivers/xen/gntdev.c >> +++ b/drivers/xen/gntdev.c >> @@ -1007,7 +1007,7 @@ static int gntdev_mmap(struct file *flip, struct >> vm_area_struct *vma) >> >> vma->vm_ops = &gntdev_vmops; >> >> - vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP | VM_IO; >> + vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP | VM_MIXEDMAP; >> >> if (use_ptemod) >> vma->vm_flags |= VM_DONTCOPY; >> -- >> 1.7.1 > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |