AMD-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Koenig, Christian" <Christian.Koenig-5C7GfCeVMHo@public.gmane.org>
To: "Zeng, Oak" <Oak.Zeng-5C7GfCeVMHo@public.gmane.org>,
	"amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org"
	<amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>
Cc: "Kuehling, Felix" <Felix.Kuehling-5C7GfCeVMHo@public.gmane.org>,
	"Keely, Sean" <Sean.Keely-5C7GfCeVMHo@public.gmane.org>
Subject: Re: [PATCH 4/5] drm/amdgpu: Support snooped PTE flag
Date: Fri, 9 Aug 2019 14:36:10 +0000	[thread overview]
Message-ID: <98ca07a4-acc5-ab38-17b7-710d84a3229d@amd.com> (raw)
In-Reply-To: <BL0PR12MB25801EB371ADC1E82ED6AEA180D60-b4cIHhjg/p/XzH18dTCKOgdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>

Am 09.08.19 um 16:24 schrieb Zeng, Oak:
>
> Regards,
> Oak
>
> -----Original Message-----
> From: Koenig, Christian <Christian.Koenig@amd.com>
> Sent: Friday, August 9, 2019 8:31 AM
> To: Zeng, Oak <Oak.Zeng@amd.com>; amd-gfx@lists.freedesktop.org
> Cc: Kuehling, Felix <Felix.Kuehling@amd.com>; Keely, Sean <Sean.Keely@amd.com>
> Subject: Re: [PATCH 4/5] drm/amdgpu: Support snooped PTE flag
>
> Am 09.08.19 um 04:15 schrieb Zeng, Oak:
>> Set snooped PTE flag according to mapping flag. Write request to a
>> page with snooped bit set, will send out invalidate probe request to
>> TCC of the remote GPU where the vram page resides.
>>
>> Change-Id: I799f68ec7a5a1abf32075f5ef31051641a0b3736
>> Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
>> ---
>>    drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 3 +++
>>    1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
>> b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
>> index d709902..8faead3 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
>> @@ -599,6 +599,9 @@ static uint64_t gmc_v9_0_get_vm_pte_flags(struct amdgpu_device *adev,
>>    	if (flags & AMDGPU_VM_PAGE_PRT)
>>    		pte_flag |= AMDGPU_PTE_PRT;
>>    
>> +	if (flags & AMDGPU_VM_PAGE_INVALIDATE_PROBE)
>> +		pte_flag |= AMDGPU_PTE_SNOOPED;
>> +
> Still a NAK, we absolutely need a check here that this is only set when the BO is in XGMI.
>
> [Oak]: Per discussion with upper layer stack, remote vram mapping (either over PCIe or XGMI) should always invalidate probe the cache lines of GPU who owns the memory object.

Then we can just drop the AMDGPU_VM_PAGE_INVALIDATE_PROBE flag.

But the problem is something entirely different, the PTE_SNOOPED flag 
has different meaning depending on if the transaction is routed to XGMI 
or PCIe.

For XGMI the flag triggers invalidate probe on the remote GPU, but for 
PCIe it controls CPU cache snooping.

And the CPU cache snooping flags of the devices and host must match or 
otherwise you run into a hell lot of problems on some architectures.

So we can only allow setting the snooped flag here when that PTE is 
really pointing to XGMI.

Regards,
Christian.

>
> Christian.
>
>>    	return pte_flag;
>>    }
>>    

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

  parent reply	other threads:[~2019-08-09 14:36 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-09  2:15 [PATCH 1/5] drm/amdgpu: Extends amdgpu vm definitions Zeng, Oak
     [not found] ` <1565316926-19516-1-git-send-email-Oak.Zeng-5C7GfCeVMHo@public.gmane.org>
2019-08-09  2:15   ` [PATCH 2/5] drm/amdgpu: Support new arcturus mtype Zeng, Oak
2019-08-09  2:15   ` [PATCH 3/5] drm/amdkfd: Postpone memory mapping flags calculation to mapping time Zeng, Oak
     [not found]     ` <1565316926-19516-3-git-send-email-Oak.Zeng-5C7GfCeVMHo@public.gmane.org>
2019-08-09 12:30       ` Koenig, Christian
     [not found]         ` <95459b48-c8e5-b54c-00f1-8a1fdccd7e66-5C7GfCeVMHo@public.gmane.org>
2019-08-09 14:21           ` Zeng, Oak
     [not found]             ` <BL0PR12MB258085011920B10BDE86856B80D60-b4cIHhjg/p/XzH18dTCKOgdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2019-08-09 14:43               ` Christian König
2019-08-09  2:15   ` [PATCH 4/5] drm/amdgpu: Support snooped PTE flag Zeng, Oak
     [not found]     ` <1565316926-19516-4-git-send-email-Oak.Zeng-5C7GfCeVMHo@public.gmane.org>
2019-08-09 12:31       ` Koenig, Christian
     [not found]         ` <88fad585-ad1b-bca9-7079-d79896def19c-5C7GfCeVMHo@public.gmane.org>
2019-08-09 14:24           ` Zeng, Oak
     [not found]             ` <BL0PR12MB25801EB371ADC1E82ED6AEA180D60-b4cIHhjg/p/XzH18dTCKOgdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2019-08-09 14:36               ` Koenig, Christian [this message]
2019-08-09  2:15   ` [PATCH 5/5] amd/amdgpu: Introduce new page mapping scheme for arcturus Zeng, Oak
2019-08-09 12:28   ` [PATCH 1/5] drm/amdgpu: Extends amdgpu vm definitions Koenig, Christian
     [not found]     ` <801142da-51cb-4efd-2cd6-860c65bfb311-5C7GfCeVMHo@public.gmane.org>
2019-08-09 13:50       ` Zeng, Oak
  -- strict thread matches above, loose matches on Subject: below --
2019-08-07  2:31 Zeng, Oak
     [not found] ` <1565145062-16674-1-git-send-email-Oak.Zeng-5C7GfCeVMHo@public.gmane.org>
2019-08-07  2:31   ` [PATCH 4/5] drm/amdgpu: Support snooped PTE flag Zeng, Oak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=98ca07a4-acc5-ab38-17b7-710d84a3229d@amd.com \
    --to=christian.koenig-5c7gfcevmho@public.gmane.org \
    --cc=Felix.Kuehling-5C7GfCeVMHo@public.gmane.org \
    --cc=Oak.Zeng-5C7GfCeVMHo@public.gmane.org \
    --cc=Sean.Keely-5C7GfCeVMHo@public.gmane.org \
    --cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox