On 11/13/19 3:22 PM, John Hubbard wrote:
On 11/13/19 2:43 AM, Jan Kara wrote: ...
How does FOLL_PIN result in grabbing (at least normal, for now) page reference? I didn't find that anywhere in this patch but it is a prerequisite to converting any user to pin_user_pages() interface, right?
ohhh, I messed up on this intermediate patch: it doesn't quite stand alone as it should, as you noticed. To correct this, I can do one of the following:
a) move the new pin*() routines into the later patch 16 ("mm/gup: track FOLL_PIN pages"), or
b) do a temporary thing here, such as setting FOLL_GET and adding a TODO, within the pin*() implementations. And this switching it over to FOLL_PIN in patch 16.
I'm thinking (a) is less error-prone, so I'm going with that unless someone points out that that is stupid. :)
OK, just to save anyone from wasting time reading the above: (a) is, in fact, stupid, after all. ha. That is because pin_user_pages() is called in the intervening patches.
So anyway, I'll work out an ordering to fix it up, it's not complicated.
thanks,