On Mon, May 01, 2017 at 04:58:14PM -0700, John Hubbard wrote:
On 05/01/2017 04:51 PM, Reza Arbab wrote:
On Mon, May 01, 2017 at 02:56:34PM -0700, John Hubbard wrote:
On 05/01/2017 02:04 PM, Reza Arbab wrote:
On Mon, May 01, 2017 at 01:41:55PM -0700, John Hubbard wrote:
1. A way to move pages between NUMA nodes, both virtual
address and physical address-based, from kernel mode.
Jérôme's migrate_vma() and migrate_dma() should have this
covered, including DMA-accelerated copy.
Yes, that's good. I wasn't sure from this discussion here if
either or both of those would be used, but now I see.
Are those APIs ready for moving pages between NUMA nodes? As there
is no NUMA node id in the API, are we relying on the pages'
membership (using each page and updating which node it is on)?
Yes. Those APIs work by callback. The alloc_and_copy() function you
provide will be called at the appropriate point in the migration.
Yours would allocate from a specific destination node, and copy
using DMA.
hmmm, that reminds me: the whole story of "which device is this, and
which NUMA node does it correlate to?" will have to be wired up. That
is *probably* all in the device driver, but since I haven't worked
through it, I'd be inclined to list it as an item on the checklist,
just in case it requires some little hook in the upstream kernel.
I've worked this out. It can be contained to the driver itself.
--
Reza Arbab
--
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>