All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Use MTYPE_NC for coarse-grain remote memory
@ 2021-05-10 23:35 Felix Kuehling
  2021-05-10 23:35 ` [PATCH 1/2] drm/amdgpu: Arcturus: " Felix Kuehling
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Felix Kuehling @ 2021-05-10 23:35 UTC (permalink / raw)
  To: amd-gfx; +Cc: joseph.greathouse

These patches are the result of deliberations with multiple AMD SW and HW
teams with the goal of improving Aldebaran performance and harmonizing the
Arcturus implementation with it.

Felix Kuehling (2):
  drm/amdgpu: Arcturus: MTYPE_NC for coarse-grain remote memory
  drm/amdgpu: Albebaran: MTYPE_NC for coarse-grain remote memory

 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 6 ++++--
 drivers/gpu/drm/amd/amdkfd/kfd_svm.c             | 6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

-- 
2.31.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] drm/amdgpu: Arcturus: MTYPE_NC for coarse-grain remote memory
  2021-05-10 23:35 [PATCH 0/2] Use MTYPE_NC for coarse-grain remote memory Felix Kuehling
@ 2021-05-10 23:35 ` Felix Kuehling
  2021-05-10 23:35 ` [PATCH 2/2] drm/amdgpu: Albebaran: " Felix Kuehling
  2021-05-11  1:48 ` [PATCH 0/2] Use " Zeng, Oak
  2 siblings, 0 replies; 4+ messages in thread
From: Felix Kuehling @ 2021-05-10 23:35 UTC (permalink / raw)
  To: amd-gfx; +Cc: joseph.greathouse

MTYPE UC was used for a specific use case that ended up not being
implemented. Use NC for better performance for coarse-grained memory where
cache coherence during shader execution is not required.

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 3 ++-
 drivers/gpu/drm/amd/amdkfd/kfd_svm.c             | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
index dfa025d694f8..941a204d28f5 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
@@ -433,7 +433,8 @@ static uint64_t get_pte_flags(struct amdgpu_device *adev, struct kgd_mem *mem)
 				mapping_flags |= coherent ?
 					AMDGPU_VM_MTYPE_CC : AMDGPU_VM_MTYPE_RW;
 			else
-				mapping_flags |= AMDGPU_VM_MTYPE_UC;
+				mapping_flags |= coherent ?
+					AMDGPU_VM_MTYPE_UC : AMDGPU_VM_MTYPE_NC;
 		} else {
 			mapping_flags |= coherent ?
 				AMDGPU_VM_MTYPE_UC : AMDGPU_VM_MTYPE_NC;
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
index a165e51c4a1c..b11f2b364bbf 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
@@ -1016,7 +1016,8 @@ svm_range_get_pte_flags(struct amdgpu_device *adev, struct svm_range *prange)
 				mapping_flags |= coherent ?
 					AMDGPU_VM_MTYPE_CC : AMDGPU_VM_MTYPE_RW;
 			} else {
-				mapping_flags |= AMDGPU_VM_MTYPE_UC;
+				mapping_flags |= coherent ?
+					AMDGPU_VM_MTYPE_UC : AMDGPU_VM_MTYPE_NC;
 				if (amdgpu_xgmi_same_hive(adev, bo_adev))
 					snoop = true;
 			}
-- 
2.31.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] drm/amdgpu: Albebaran: MTYPE_NC for coarse-grain remote memory
  2021-05-10 23:35 [PATCH 0/2] Use MTYPE_NC for coarse-grain remote memory Felix Kuehling
  2021-05-10 23:35 ` [PATCH 1/2] drm/amdgpu: Arcturus: " Felix Kuehling
@ 2021-05-10 23:35 ` Felix Kuehling
  2021-05-11  1:48 ` [PATCH 0/2] Use " Zeng, Oak
  2 siblings, 0 replies; 4+ messages in thread
From: Felix Kuehling @ 2021-05-10 23:35 UTC (permalink / raw)
  To: amd-gfx; +Cc: joseph.greathouse

MTYPE UC was used for a specific use case that ended up not being
implemented. Use NC for better performance for coarse-grained memory where
cache coherence during shader execution is not required.

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 3 ++-
 drivers/gpu/drm/amd/amdkfd/kfd_svm.c             | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
index 941a204d28f5..93ee569f6a63 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
@@ -453,7 +453,8 @@ static uint64_t get_pte_flags(struct amdgpu_device *adev, struct kgd_mem *mem)
 				if (adev->gmc.xgmi.connected_to_cpu)
 					snoop = true;
 			} else {
-				mapping_flags |= AMDGPU_VM_MTYPE_UC;
+				mapping_flags |= coherent ?
+					AMDGPU_VM_MTYPE_UC : AMDGPU_VM_MTYPE_NC;
 				if (amdgpu_xgmi_same_hive(adev, bo_adev))
 					snoop = true;
 			}
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
index b11f2b364bbf..a1b1981084fa 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
@@ -1034,7 +1034,8 @@ svm_range_get_pte_flags(struct amdgpu_device *adev, struct svm_range *prange)
 				if (adev->gmc.xgmi.connected_to_cpu)
 					snoop = true;
 			} else {
-				mapping_flags |= AMDGPU_VM_MTYPE_UC;
+				mapping_flags |= coherent ?
+					AMDGPU_VM_MTYPE_UC : AMDGPU_VM_MTYPE_NC;
 				if (amdgpu_xgmi_same_hive(adev, bo_adev))
 					snoop = true;
 			}
-- 
2.31.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 0/2] Use MTYPE_NC for coarse-grain remote memory
  2021-05-10 23:35 [PATCH 0/2] Use MTYPE_NC for coarse-grain remote memory Felix Kuehling
  2021-05-10 23:35 ` [PATCH 1/2] drm/amdgpu: Arcturus: " Felix Kuehling
  2021-05-10 23:35 ` [PATCH 2/2] drm/amdgpu: Albebaran: " Felix Kuehling
@ 2021-05-11  1:48 ` Zeng, Oak
  2 siblings, 0 replies; 4+ messages in thread
From: Zeng, Oak @ 2021-05-11  1:48 UTC (permalink / raw)
  To: Kuehling, Felix, amd-gfx; +Cc: Greathouse, Joseph

This series is Reviewed-by: Oak Zeng <Oak.Zeng@amd.com>

Regards,
Oak 

 

On 2021-05-10, 7:36 PM, "amd-gfx on behalf of Felix Kuehling" <amd-gfx-bounces@lists.freedesktop.org on behalf of Felix.Kuehling@amd.com> wrote:

    These patches are the result of deliberations with multiple AMD SW and HW
    teams with the goal of improving Aldebaran performance and harmonizing the
    Arcturus implementation with it.

    Felix Kuehling (2):
      drm/amdgpu: Arcturus: MTYPE_NC for coarse-grain remote memory
      drm/amdgpu: Albebaran: MTYPE_NC for coarse-grain remote memory

     drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 6 ++++--
     drivers/gpu/drm/amd/amdkfd/kfd_svm.c             | 6 ++++--
     2 files changed, 8 insertions(+), 4 deletions(-)

    -- 
    2.31.1

    _______________________________________________
    amd-gfx mailing list
    amd-gfx@lists.freedesktop.org
    https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&amp;data=04%7C01%7Coak.zeng%40amd.com%7Cb6429f0dc7084453347708d9140c5c91%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637562865601902303%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=EEC2K46eAbtQOn7ppe%2B4fuxeE8rTaWHN2rqPKk4VyGw%3D&amp;reserved=0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-05-11  1:48 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-10 23:35 [PATCH 0/2] Use MTYPE_NC for coarse-grain remote memory Felix Kuehling
2021-05-10 23:35 ` [PATCH 1/2] drm/amdgpu: Arcturus: " Felix Kuehling
2021-05-10 23:35 ` [PATCH 2/2] drm/amdgpu: Albebaran: " Felix Kuehling
2021-05-11  1:48 ` [PATCH 0/2] Use " Zeng, Oak

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.