[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