On Tue, Dec 08, 2020 at 03:57:54PM -0400, Jason Gunthorpe wrote:
> What we've talked about is changing the calling convention across all
> of this to something like:
>
> struct gup_output {
> struct page **cur;
> struct page **end;
> unsigned long vaddr;
> [..]
> }
>
> And making the manipulator like you saw for GUP common:
>
> gup_output_single_page()
> gup_output_pages()
>
> Then putting this eveywhere. This is the pattern that we ended up with
> in hmm_range_fault, and it seems to be working quite well.
>
> fast/slow should be much more symmetric in code than they are today,
> IMHO.. I think those differences mainly exist because it used to be
> siloed in arch code. Some of the differences might be bugs, we've seen
> that a few times at least..
something like this:
http://git.infradead.org/users/hch/misc.git/commitdiff/c3d019802dbde5a4cc4160e7ec8ccba479b19f97
from this old and not fully working series:
http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/gup-bvec
_______________________________________________
Linux-nvdimm mailing list -- [email protected]
To unsubscribe send an email to [email protected]