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