Re: [HMM 00/16] HMM (Heterogeneous Memory Management) v18

From: Andrew Morton
Date: Thu Mar 16 2017 - 16:43:48 EST


On Thu, 16 Mar 2017 12:05:19 -0400 J__r__me Glisse <jglisse@xxxxxxxxxx> wrote:

> Cliff note:

"Cliff's notes" isn't appropriate for a large feature such as this.
Where's the long-form description? One which permits readers to fully
understand the requirements, design, alternative designs, the
implementation, the interface(s), etc?

Have you ever spoken about HMM at a conference? If so, the supporting
presentation documents might help here. That's the level of detail
which should be presented here.

> HMM offers 2 things (each standing on its own). First
> it allows to use device memory transparently inside any process
> without any modifications to process program code.

Well. What is "device memory"? That's very vague. What are the
characteristics of this memory? Why is it a requirement that
userspace code be unaltered? What are the security implications - does
the process need particular permissions to access this memory? What is
the proposed interface to set up this access?

> Second it allows to mirror process address space on a device.

Why? Why is this a requirement, how will it be used, what are the
use cases, etc?

I spent a bit of time trying to locate a decent writeup of this feature
but wasn't able to locate one. I'm not seeing a Documentation/ update
in this patchset. Perhaps if you were to sit down and write a detailed
Documentation/vm/hmm.txt then that would be a good starting point.

This stuff is important - it's not really feasible to perform a decent
review of this proposal unless the reviewer has access to this
high-level conceptual stuff.

So I'll take a look at merging this code as-is for testing purposes but
I won't be attempting to review it at this stage.