[PATCH 00/13] shadow page table support
zhoucm1
david1.zhou at amd.com
Tue Jul 26 09:12:29 UTC 2016
On 2016年07月26日 17:05, Christian König wrote:
> Am 26.07.2016 um 10:41 schrieb zhoucm1:
>>
>>
>> On 2016年07月26日 16:27, Christian König wrote:
>>> Am 26.07.2016 um 07:33 schrieb zhoucm1:
>>>>
>>>>
>>>> On 2016年07月26日 10:40, zhoucm1 wrote:
>>>>> 1. We add an optional "shadow" flag so that when a BO in VRAM is
>>>>> allocated we also allocate a shadow BO in GART.
>>>>>
>>>>> 2. We have another "backup" flag that says on the next command
>>>>> submission the BO is backed up from VRAM to GART before that
>>>>> submission.
>>>>>
>>>>> 3. We set the shadow flag for VM PD/PT BOs and every time we
>>>>> modify them set the backup flag so they get backed up on next CS.
>>>>>
>>>>> 4. We add an IOCTL to allow setting the backup flag from userspace
>>>>> so that we can trigger another backup even after the first CS.
>>>> When I'm trying it and thinking more, a general shadow BO indeed be
>>>> a sense way, but backup flag seems not necessary, mainly two reasons:
>>>> 1. we cannot make sure backup job is completed when gpu reset happens.
>>>
>>> Correct, but we can't guarantee that for VM updates either.
>> Since we directly fill pte info to shadow BO, not copy from VRAM to
>> GTT. Which ensures shadow BO content always is right, event these
>> jobs don't complete when gpu reset, but after gpu reset, we can sync
>> these jobs, and then copy GTT to VRAM. The similar case is also same
>> for shader BOs. So we should directly fill the shadow BOs.
>
> I see what you mean. The PTE update and the shadow update must be one
> operation for this to be always consistent.
>
> Alternatively you could flip the order and do the update on the shadow
> first and then copy the result to the real one.
>
> BTW: We should make this an optional feature, cause it will certainly
> use a lot of memory and computation resources.
Make sense. Can we depend on whether lockup is enabled or not?
Regards,
David Zhou
>
> Regards,
> Christian.
>
>>
>> Regards,
>> David Zhou
>>>
>>>> 2. backup flag is to copy the whole BO, which seems overhead. If we
>>>> update shadow BO along with BO in real time, e.g. PD/PT, we could
>>>> only update some ptes not the entire BO.
>>>
>>> How about using a begin/end range of which parts of the BO needs to
>>> be backed up instead of a flag?
>>>
>>>> So can we assume shadow BO always needed to backup if shadow flag
>>>> is set?
>>>
>>> For shader BOs clearly not a good idea because they are rarely
>>> update and so backing them up every time would be a huge overhead.
>>>
>>> Regards,
>>> Christian.
>>>
>>>>
>>>> Regards,
>>>> David Zhou
>>>
>>>
>>
>> _______________________________________________
>> 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