xen/gntdev: Grant maps should not be subject to NUMA balancing
authorBoris Ostrovsky <boris.ostrovsky@oracle.com>
Tue, 10 Nov 2015 20:10:33 +0000 (15:10 -0500)
committerJiri Slaby <jslaby@suse.cz>
Mon, 25 Jan 2016 14:15:39 +0000 (15:15 +0100)
commit 9c17d96500f78d7ecdb71ca6942830158bc75a2b upstream.

Doing so will cause the grant to be unmapped and then, during
fault handling, the fault to be mistakenly treated as NUMA hint
fault.

In addition, even if those maps could partcipate in NUMA
balancing, it wouldn't provide any benefit since we are unable
to determine physical page's node (even if/when VNUMA is
implemented).

Marking grant maps' VMAs as VM_IO will exclude them from being
part of NUMA balancing.

Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/xen/gntdev.c

index 0b5806995718ccd5d7dda2d2d3de1661fccdd3f4..27accc4cc99927d762388a860b489ba2822e30a2 100644 (file)
@@ -763,7 +763,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;
+       vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP | VM_IO;
 
        if (use_ptemod)
                vma->vm_flags |= VM_DONTCOPY;