[PATCH hmm 0/6] Small hmm_range_fault() cleanups
Ralph Campbell
rcampbell at nvidia.com
Fri Mar 20 21:47:59 UTC 2020
On 3/20/20 9:48 AM, Jason Gunthorpe wrote:
> From: Jason Gunthorpe <jgg at mellanox.com>
>
> I've had these in my work queue for a bit, nothing profound here, just some
> small edits for clarity.
>
> Ralph's hmm tester will need a small diff to work after this - which
> illustrates how setting default_flags == 0 is the same as what was called
> SNAPSHOT:
>
> diff --git a/lib/test_hmm.c b/lib/test_hmm.c
> index 6ca953926dc13f..5f31f5b3e64cb9 100644
> --- a/lib/test_hmm.c
> +++ b/lib/test_hmm.c
> @@ -300,7 +300,7 @@ static int dmirror_range_fault(struct dmirror *dmirror,
>
> range->notifier_seq = mmu_interval_read_begin(range->notifier);
> down_read(&mm->mmap_sem);
> - count = hmm_range_fault(range, 0);
> + count = hmm_range_fault(range);
> up_read(&mm->mmap_sem);
> if (count <= 0) {
> if (count == 0 || count == -EBUSY)
> @@ -337,8 +337,7 @@ static int dmirror_fault(struct dmirror *dmirror, unsigned long start,
> .flags = dmirror_hmm_flags,
> .values = dmirror_hmm_values,
> .pfn_shift = DPT_SHIFT,
> - .pfn_flags_mask = ~(dmirror_hmm_flags[HMM_PFN_VALID] |
> - dmirror_hmm_flags[HMM_PFN_WRITE]),
> + .pfn_flags_mask = 0,
> .default_flags = dmirror_hmm_flags[HMM_PFN_VALID] |
> (write ? dmirror_hmm_flags[HMM_PFN_WRITE] : 0),
> .dev_private_owner = dmirror->mdevice,
> @@ -872,7 +871,7 @@ static int dmirror_range_snapshot(struct dmirror *dmirror,
> range->notifier_seq = mmu_interval_read_begin(range->notifier);
>
> down_read(&mm->mmap_sem);
> - count = hmm_range_fault(range, HMM_FAULT_SNAPSHOT);
> + count = hmm_range_fault(range);
> up_read(&mm->mmap_sem);
> if (count <= 0) {
> if (count == 0 || count == -EBUSY)
> @@ -916,7 +915,7 @@ static int dmirror_snapshot(struct dmirror *dmirror,
> .flags = dmirror_hmm_flags,
> .values = dmirror_hmm_values,
> .pfn_shift = DPT_SHIFT,
> - .pfn_flags_mask = ~0ULL,
> + .pfn_flags_mask = 0,
> .dev_private_owner = dmirror->mdevice,
> };
> int ret = 0;
>
> Jason Gunthorpe (6):
> mm/hmm: remove pgmap checking for devmap pages
> mm/hmm: return the fault type from hmm_pte_need_fault()
> mm/hmm: remove unused code and tidy comments
> mm/hmm: remove HMM_FAULT_SNAPSHOT
> mm/hmm: remove the CONFIG_TRANSPARENT_HUGEPAGE #ifdef
> mm/hmm: use device_private_entry_to_pfn()
>
> Documentation/vm/hmm.rst | 12 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 +-
> drivers/gpu/drm/nouveau/nouveau_svm.c | 2 +-
> include/linux/hmm.h | 55 +-----
> mm/hmm.c | 238 +++++++++---------------
> 5 files changed, 98 insertions(+), 211 deletions(-)
>
The series looks good to me so,
Reviewed-by: Ralph Campbell <rcampbell at nvidia.com>
More information about the amd-gfx
mailing list