On Wed, 7 Apr 2021, Axel Rasmussen wrote:
Agreed about taking one direction or the other further.
I get the sense that Peter prefers the mcopy_atomic_install_ptes() version, and would thus prefer to just expose that and let shmem_mcopy_atomic_pte() use it.
But, I get the sense that you (Hugh) slightly prefer the other way - just letting shmem_mcopy_atomic_pte() deal with both the VM_SHARED and !VM_SHARED cases.
No, either direction seems plausible to me: start from whichever end you prefer.
I was planning to write "I prefer option X because (reasons), and objections?" but I'm realizing that it isn't really clear to me which route would end up being cleaner. I think I have to just pick one, write it out, and see where I end up. If it ends up gross, I don't mind backtracking and taking the other route. :) To that end, I'll proceed by having shmem_mcopy_atomic_pte() call the new mcopy_atomic_install_ptes() helper, and see how it looks (unless there are objections).
I am pleased to read that: it's exactly how I would approach it - so it must be right :-)
Hugh