Re: [PATCH] mm/device-public-memory: Enable move_pages() to stat device memory
From: Reza Arbab
Date: Tue Sep 26 2017 - 10:47:24 EST
On Tue, Sep 26, 2017 at 01:37:07PM +0000, Michal Hocko wrote:
On Fri 22-09-17 15:13:56, Reza Arbab wrote:
The move_pages() syscall can be used to find the numa node where a page
currently resides. This is not working for device public memory pages,
which erroneously report -EFAULT (unmapped or zero page).
Enable by adding a FOLL_DEVICE flag for follow_page(), which
move_pages() will use. This could be done unconditionally, but adding a
flag seems like a safer change.
I do not understand purpose of this patch. What is the numa node of a
device memory?
Well, using hmm_devmem_pages_create() it is added to this node:
nid = dev_to_node(device);
if (nid < 0)
nid = numa_mem_id();
I understand it's minimally useful information to userspace, but the
memory does have a nid and move_pages() is supposed to be able to return
what that is. I ran into this using a testcase which tries to verify
that user addresses were correctly migrated to coherent device memory.
That said, I'm okay with dropping this if you don't think it's
worthwhile.
--
Reza Arbab