[PATCH 00/10] shadow page table support V4

Christian König deathsimple at vodafone.de
Tue Aug 16 09:23:55 UTC 2016


Patch #1, #2 and #4 are Reviewed-by: Christian König 
<christian.koenig at amd.com>.

For patch #5:
>   static void amdgpu_vm_update_ptes(struct amdgpu_pte_update_params *params,
>   				  struct amdgpu_vm *vm,
>   				  uint64_t start, uint64_t end,
> -				  uint64_t dst, uint32_t flags)
> +				  uint64_t dst, uint32_t flags,
> +				  bool shadow)
>   {
Just put the new parameter into the amdgpu_pte_update_params structur. 
This way we don't need to change this so much.

Patch #3, #6, #7:

Well first of all you need to squash patch #6 and #7, adding the linked 
list first and then the lock isn't such a good idea when somebody would 
bisect this patchset.

Additional to that I wouldn't link the VMs, instead just link all the 
BOs which have a shadow.

This way we can then later on also use the functionality for user space BOs.

Patch #8: Looks good to me, but need to be rebased on linking the BOs 
instead of the VM.

Patch #9 and #10: Please reorder those to be at the beginning of the 
patchset.

And I would add this directly into amdgpu_bo_create_shadow() and then 
make all other functions depend on if the shadow is allocated or not.

Regards,
Christian.

Am 16.08.2016 um 08:12 schrieb Zhou, David(ChunMing):
> Ping...
>
>> -----Original Message-----
>> From: Chunming Zhou [mailto:David1.Zhou at amd.com]
>> Sent: Monday, August 15, 2016 2:07 PM
>> To: amd-gfx at lists.freedesktop.org
>> Cc: Zhou, David(ChunMing) <David1.Zhou at amd.com>
>> Subject: [PATCH 00/10] shadow page table support V4
>>
>> Since we cannot ensure VRAM is consistent after a GPU reset, page table
>> shadowing is necessary. Shadowed page tables are, in a sense, a method to
>> recover the consistent state of the page tables before the reset occurred.
>>
>> We need to allocate GTT bo as the shadow of VRAM bo when creating page
>> table, and make them the same. After gpu reset, we will need to use SDMA
>> to copy GTT bo content to VRAM bo, then page table will be recoveried.
>>
>>
>> V2:
>> Shadow bo uses a shadow entity running on normal run queue, after gpu
>> reset, we need to wait for all shadow jobs finished first, then recovery page
>> table from shadow.
>>
>> V3:
>> Addressed Christian comments for shadow bo part.
>>
>> V4:
>> Switch back to update page table twice (one of two is for shadow)
>>
>> Chunming Zhou (10):
>>    drm/amdgpu: add direct submision option for copy_buffer
>>    drm/amdgpu: sync bo and shadow V2
>>    drm/amdgpu: implement vm recovery function from shadow V2
>>    drm/amdgpu: update pd shadow while updating pd
>>    drm/amdgpu: update pt shadow while updating pt
>>    drm/amdgpu: link all vm clients
>>    drm/amdgpu: add vm_list_lock
>>    drm/amdgpu: recover page tables after gpu reset
>>    drm/amdgpu: add need backup function
>>    drm/amdgpu: add backup condition for vm
>>
>>   drivers/gpu/drm/amd/amdgpu/amdgpu.h           |  14 ++-
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c |   3 +-
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c        |   6 +
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c    |  38 +++++-
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_object.c    |  43 +++++++
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_object.h    |   5 +
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_test.c      |   4 +-
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c       |  21 +++-
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c        | 163
>> +++++++++++++++++++++-----
>>   9 files changed, 257 insertions(+), 40 deletions(-)
>>
>> --
>> 1.9.1
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx




More information about the amd-gfx mailing list