Re: [PATCH] drm/amdgpu: force to use CPU_ACCESS hint optimization

2019-03-06 Thread Chunming Zhou

在 2019/3/6 20:30, Christian König 写道:
> Am 06.03.19 um 13:00 schrieb Zhou, David(ChunMing):
>>
>>> -Original Message-
>>> From: Christian König 
>>> Sent: Wednesday, March 06, 2019 7:55 PM
>>> To: Zhou, David(ChunMing) ; Koenig, Christian
>>> ; amd-gfx@lists.freedesktop.org
>>> Subject: Re: [PATCH] drm/amdgpu: force to use CPU_ACCESS hint
>>> optimization
>>>
>>> Am 06.03.19 um 12:52 schrieb Chunming Zhou:
>>>> As we know, visible vram can be placed to invisible when no cpu 
>>>> access.
>>>>
>>>> Signed-off-by: Chunming Zhou 
>>>> ---
>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 8 +++-
>>>>    1 file changed, 3 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
>>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
>>>> index bc62bf41b7e9..823deb66f5da 100644
>>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
>>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
>>>> @@ -592,8 +592,7 @@ static int amdgpu_info_ioctl(struct drm_device
>>>> *dev, void *data, struct drm_file
>>>>
>>>>    vram_gtt.vram_size = adev->gmc.real_vram_size -
>>>>    atomic64_read(&adev->vram_pin_size);
>>>> -    vram_gtt.vram_cpu_accessible_size = adev-
>>>> gmc.visible_vram_size -
>>>> -    atomic64_read(&adev->visible_pin_size);
>>>> +    vram_gtt.vram_cpu_accessible_size = vram_gtt.vram_size;
>>> Well, NAK that would of course report the full VRAM as visible which 
>>> isn't
>>> correct.
>> UMD also said same reason that they like report explicit vram info to 
>> application.
>
> Yeah, I mean that is a rather good argument. The application should 
> certainly know that.
>
>> No idea to do that.
>
> Well if I understood that correctly Vulkan had the same problem with 
> cached and uncached system memory. How is it handled there?

Which problem with cached and uncached system memory?

-David

>
> Christian.
>
>>
>> -David
>>> Christian.
>>>
>>>>    vram_gtt.gtt_size = adev-
>>>> mman.bdev.man[TTM_PL_TT].size;
>>>>    vram_gtt.gtt_size *= PAGE_SIZE;
>>>>    vram_gtt.gtt_size -= atomic64_read(&adev->gart_pin_size);
>>>> @@ -612,9 +611,8 @@ static int amdgpu_info_ioctl(struct drm_device
>>> *dev, void *data, struct drm_file
>>>>    mem.vram.max_allocation = mem.vram.usable_heap_size *
>>> 3 / 4;
>>>> mem.cpu_accessible_vram.total_heap_size =
>>>> -    adev->gmc.visible_vram_size;
>>>> -    mem.cpu_accessible_vram.usable_heap_size = adev-
>>>> gmc.visible_vram_size -
>>>> -    atomic64_read(&adev->visible_pin_size);
>>>> +    mem.vram.total_heap_size;
>>>> +    mem.cpu_accessible_vram.usable_heap_size =
>>>> +mem.vram.usable_heap_size;
>>>>    mem.cpu_accessible_vram.heap_usage =
>>>>    amdgpu_vram_mgr_vis_usage(&adev-
>>>> mman.bdev.man[TTM_PL_VRAM]);
>>>>    mem.cpu_accessible_vram.max_allocation =
>> ___
>> amd-gfx mailing list
>> amd-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Re: [PATCH] drm/amdgpu: force to use CPU_ACCESS hint optimization

2019-03-06 Thread Christian König

Am 06.03.19 um 13:00 schrieb Zhou, David(ChunMing):



-Original Message-
From: Christian König 
Sent: Wednesday, March 06, 2019 7:55 PM
To: Zhou, David(ChunMing) ; Koenig, Christian
; amd-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/amdgpu: force to use CPU_ACCESS hint
optimization

Am 06.03.19 um 12:52 schrieb Chunming Zhou:

As we know, visible vram can be placed to invisible when no cpu access.

Signed-off-by: Chunming Zhou 
---
   drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 8 +++-
   1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
index bc62bf41b7e9..823deb66f5da 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
@@ -592,8 +592,7 @@ static int amdgpu_info_ioctl(struct drm_device
*dev, void *data, struct drm_file

vram_gtt.vram_size = adev->gmc.real_vram_size -
atomic64_read(&adev->vram_pin_size);
-   vram_gtt.vram_cpu_accessible_size = adev-
gmc.visible_vram_size -
-   atomic64_read(&adev->visible_pin_size);
+   vram_gtt.vram_cpu_accessible_size = vram_gtt.vram_size;

Well, NAK that would of course report the full VRAM as visible which isn't
correct.

UMD also said same reason that they like report explicit vram info to 
application.


Yeah, I mean that is a rather good argument. The application should 
certainly know that.



No idea to do that.


Well if I understood that correctly Vulkan had the same problem with 
cached and uncached system memory. How is it handled there?


Christian.



-David

Christian.


vram_gtt.gtt_size = adev-
mman.bdev.man[TTM_PL_TT].size;
vram_gtt.gtt_size *= PAGE_SIZE;
vram_gtt.gtt_size -= atomic64_read(&adev->gart_pin_size);
@@ -612,9 +611,8 @@ static int amdgpu_info_ioctl(struct drm_device

*dev, void *data, struct drm_file

mem.vram.max_allocation = mem.vram.usable_heap_size *

3 / 4;

mem.cpu_accessible_vram.total_heap_size =
-   adev->gmc.visible_vram_size;
-   mem.cpu_accessible_vram.usable_heap_size = adev-
gmc.visible_vram_size -
-   atomic64_read(&adev->visible_pin_size);
+   mem.vram.total_heap_size;
+   mem.cpu_accessible_vram.usable_heap_size =
+mem.vram.usable_heap_size;
mem.cpu_accessible_vram.heap_usage =
amdgpu_vram_mgr_vis_usage(&adev-
mman.bdev.man[TTM_PL_VRAM]);
mem.cpu_accessible_vram.max_allocation =

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


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

RE: [PATCH] drm/amdgpu: force to use CPU_ACCESS hint optimization

2019-03-06 Thread Zhou, David(ChunMing)


> -Original Message-
> From: Christian König 
> Sent: Wednesday, March 06, 2019 7:55 PM
> To: Zhou, David(ChunMing) ; Koenig, Christian
> ; amd-gfx@lists.freedesktop.org
> Subject: Re: [PATCH] drm/amdgpu: force to use CPU_ACCESS hint
> optimization
> 
> Am 06.03.19 um 12:52 schrieb Chunming Zhou:
> > As we know, visible vram can be placed to invisible when no cpu access.
> >
> > Signed-off-by: Chunming Zhou 
> > ---
> >   drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 8 +++-
> >   1 file changed, 3 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> > b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> > index bc62bf41b7e9..823deb66f5da 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> > @@ -592,8 +592,7 @@ static int amdgpu_info_ioctl(struct drm_device
> > *dev, void *data, struct drm_file
> >
> > vram_gtt.vram_size = adev->gmc.real_vram_size -
> > atomic64_read(&adev->vram_pin_size);
> > -   vram_gtt.vram_cpu_accessible_size = adev-
> >gmc.visible_vram_size -
> > -   atomic64_read(&adev->visible_pin_size);
> > +   vram_gtt.vram_cpu_accessible_size = vram_gtt.vram_size;
> 
> Well, NAK that would of course report the full VRAM as visible which isn't
> correct.

UMD also said same reason that they like report explicit vram info to 
application.
No idea to do that.

-David
> 
> Christian.
> 
> > vram_gtt.gtt_size = adev-
> >mman.bdev.man[TTM_PL_TT].size;
> > vram_gtt.gtt_size *= PAGE_SIZE;
> > vram_gtt.gtt_size -= atomic64_read(&adev->gart_pin_size);
> > @@ -612,9 +611,8 @@ static int amdgpu_info_ioctl(struct drm_device
> *dev, void *data, struct drm_file
> > mem.vram.max_allocation = mem.vram.usable_heap_size *
> 3 / 4;
> >
> > mem.cpu_accessible_vram.total_heap_size =
> > -   adev->gmc.visible_vram_size;
> > -   mem.cpu_accessible_vram.usable_heap_size = adev-
> >gmc.visible_vram_size -
> > -   atomic64_read(&adev->visible_pin_size);
> > +   mem.vram.total_heap_size;
> > +   mem.cpu_accessible_vram.usable_heap_size =
> > +mem.vram.usable_heap_size;
> > mem.cpu_accessible_vram.heap_usage =
> > amdgpu_vram_mgr_vis_usage(&adev-
> >mman.bdev.man[TTM_PL_VRAM]);
> > mem.cpu_accessible_vram.max_allocation =

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

Re: [PATCH] drm/amdgpu: force to use CPU_ACCESS hint optimization

2019-03-06 Thread Christian König

Am 06.03.19 um 12:52 schrieb Chunming Zhou:

As we know, visible vram can be placed to invisible when no cpu access.

Signed-off-by: Chunming Zhou 
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 8 +++-
  1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
index bc62bf41b7e9..823deb66f5da 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
@@ -592,8 +592,7 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void 
*data, struct drm_file
  
  		vram_gtt.vram_size = adev->gmc.real_vram_size -

atomic64_read(&adev->vram_pin_size);
-   vram_gtt.vram_cpu_accessible_size = adev->gmc.visible_vram_size 
-
-   atomic64_read(&adev->visible_pin_size);
+   vram_gtt.vram_cpu_accessible_size = vram_gtt.vram_size;


Well, NAK that would of course report the full VRAM as visible which 
isn't correct.


Christian.


vram_gtt.gtt_size = adev->mman.bdev.man[TTM_PL_TT].size;
vram_gtt.gtt_size *= PAGE_SIZE;
vram_gtt.gtt_size -= atomic64_read(&adev->gart_pin_size);
@@ -612,9 +611,8 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void 
*data, struct drm_file
mem.vram.max_allocation = mem.vram.usable_heap_size * 3 / 4;
  
  		mem.cpu_accessible_vram.total_heap_size =

-   adev->gmc.visible_vram_size;
-   mem.cpu_accessible_vram.usable_heap_size = 
adev->gmc.visible_vram_size -
-   atomic64_read(&adev->visible_pin_size);
+   mem.vram.total_heap_size;
+   mem.cpu_accessible_vram.usable_heap_size = 
mem.vram.usable_heap_size;
mem.cpu_accessible_vram.heap_usage =

amdgpu_vram_mgr_vis_usage(&adev->mman.bdev.man[TTM_PL_VRAM]);
mem.cpu_accessible_vram.max_allocation =


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