diff mbox

[v2,hmm,0/9] Small hmm_range_fault() cleanups

Message ID 20200324011457.2817-1-jgg@ziepe.ca (mailing list archive)
State New, archived
Headers show

Commit Message

Jason Gunthorpe March 24, 2020, 1:14 a.m. UTC
From: Jason Gunthorpe <jgg@mellanox.com>

This is v2 of the first simple series with a few additional patches of little
adjustments.

This needs an additional patch to the hmm tester:


v2 changes:
 - Simplify and rename the flags, rework hmm_vma_walk_test in patch 2 (CH)
 - Adjust more comments in patch 3 (CH, Ralph)
 - Put the ugly boolean logic into a function in patch 3 (CH)
 - Update commit message of patch 4 (CH)
 - Adjust formatting in patch 5 (CH)
 Patches 6, 7, 8 are new

v1: https://lore.kernel.org/r/20200320164905.21722-1-jgg@ziepe.ca

Jason Gunthorpe (9):
  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()
  mm/hmm: do not unconditionally set pfns when returning EBUSY
  mm/hmm: do not set pfns when returning an error code
  mm/hmm: return error for non-vma snapshots

 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                     | 109 +--------
 mm/hmm.c                                | 312 ++++++++++--------------
 5 files changed, 133 insertions(+), 304 deletions(-)

Comments

Ralph Campbell March 26, 2020, 9:21 p.m. UTC | #1
On 3/23/20 6:14 PM, Jason Gunthorpe wrote:
> From: Jason Gunthorpe <jgg@mellanox.com>
> 
> This is v2 of the first simple series with a few additional patches of little
> adjustments.
> 
> This needs an additional patch to the hmm tester:
> 
> diff --git a/tools/testing/selftests/vm/hmm-tests.c b/tools/testing/selftests/vm/hmm-tests.c
> index 033a12c7ab5b6d..da15471a2bbf9a 100644
> --- a/tools/testing/selftests/vm/hmm-tests.c
> +++ b/tools/testing/selftests/vm/hmm-tests.c
> @@ -1274,7 +1274,7 @@ TEST_F(hmm2, snapshot)
>   	/* Check what the device saw. */
>   	m = buffer->mirror;
>   	ASSERT_EQ(m[0], HMM_DMIRROR_PROT_ERROR);
> -	ASSERT_EQ(m[1], HMM_DMIRROR_PROT_NONE);
> +	ASSERT_EQ(m[1], HMM_DMIRROR_PROT_ERROR);
>   	ASSERT_EQ(m[2], HMM_DMIRROR_PROT_ZERO | HMM_DMIRROR_PROT_READ);
>   	ASSERT_EQ(m[3], HMM_DMIRROR_PROT_READ);
>   	ASSERT_EQ(m[4], HMM_DMIRROR_PROT_WRITE);
> 
> v2 changes:
>   - Simplify and rename the flags, rework hmm_vma_walk_test in patch 2 (CH)
>   - Adjust more comments in patch 3 (CH, Ralph)
>   - Put the ugly boolean logic into a function in patch 3 (CH)
>   - Update commit message of patch 4 (CH)
>   - Adjust formatting in patch 5 (CH)
>   Patches 6, 7, 8 are new
> 
> v1: https://lore.kernel.org/r/20200320164905.21722-1-jgg@ziepe.ca
> 
> Jason Gunthorpe (9):
>    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()
>    mm/hmm: do not unconditionally set pfns when returning EBUSY
>    mm/hmm: do not set pfns when returning an error code
>    mm/hmm: return error for non-vma snapshots
> 
>   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                     | 109 +--------
>   mm/hmm.c                                | 312 ++++++++++--------------
>   5 files changed, 133 insertions(+), 304 deletions(-)
> 

I was able to recompile Karol Herbst's mesa tree and Jerome's SVM tests to
test this with nouveau so for the series you can add,
Tested-by: Ralph Campbell <rcampbell@nvidia.com>
diff mbox

Patch

diff --git a/tools/testing/selftests/vm/hmm-tests.c b/tools/testing/selftests/vm/hmm-tests.c
index 033a12c7ab5b6d..da15471a2bbf9a 100644
--- a/tools/testing/selftests/vm/hmm-tests.c
+++ b/tools/testing/selftests/vm/hmm-tests.c
@@ -1274,7 +1274,7 @@  TEST_F(hmm2, snapshot)
 	/* Check what the device saw. */
 	m = buffer->mirror;
 	ASSERT_EQ(m[0], HMM_DMIRROR_PROT_ERROR);
-	ASSERT_EQ(m[1], HMM_DMIRROR_PROT_NONE);
+	ASSERT_EQ(m[1], HMM_DMIRROR_PROT_ERROR);
 	ASSERT_EQ(m[2], HMM_DMIRROR_PROT_ZERO | HMM_DMIRROR_PROT_READ);
 	ASSERT_EQ(m[3], HMM_DMIRROR_PROT_READ);
 	ASSERT_EQ(m[4], HMM_DMIRROR_PROT_WRITE);