On 08/05/2016 07:38 PM, Chunming Zhou wrote:
> Since we cannot make sure VRAM is safe after gpu reset, page table backup
> is neccessary, shadow page table is sense way to recovery page talbe when
> gpu reset happens.

Hmm, bit of a nitpick but the following is perhaps a little better wording:

s/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 same. After gpu reset, we will need to use SDMA to copy GTT bo
s/make them same/make them the same/

Hope this is helpful,
Kind Regards,
Edward.

> 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.
> 
> Chunming Zhou (19):
>   drm/amdgpu: add shadow bo support
>   drm/amdgpu: validate shadow as well when validating bo
>   drm/amdgpu: allocate shadow for pd/pt bo
>   drm/amdgpu: add shadow flag
>   drm/amdgpu: sync bo and shadow
>   drm/amdgpu: implement vm recovery function from shadow
>   drm/amdgpu: fix vm init error path
>   drm/amdgpu: add shadow_entity for shadow page table updates
>   drm/amdgpu: update pd shadow bo
>   drm/amdgpu: update pt shadow
>   drm/amd: add last fence in sched entity
>   drm/amdgpu: link all vm clients
>   drm/amdgpu: add vm_list_lock
>   drm/amd: add block entity function
>   drm/amdgpu: add shadow fence owner
>   drm/amd: block entity
>   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           |  25 +++
>  drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c        |  82 +++++---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c    |  88 ++++++++-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_object.c    | 104 +++++++++-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_object.h    |   5 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c      |   3 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c        | 270 
> +++++++++++++++++++-------
>  drivers/gpu/drm/amd/scheduler/gpu_scheduler.c |  38 +++-
>  drivers/gpu/drm/amd/scheduler/gpu_scheduler.h |   5 +
>  include/uapi/drm/amdgpu_drm.h                 |   2 +
>  10 files changed, 519 insertions(+), 103 deletions(-)
> 

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to