Am 20.01.20 um 14:05 schrieb Nirmoy:
Hi Christian,
On 11/26/19 10:45 AM, Christian König wrote:
It looks like a start, but there numerous things which needs to be
fixed.
Question number one is: What's that good for? Entities are not the
problem here. The real issue is the fence ring and the rq_list.
The rq_list could actually be made constant since it should never be
changed by the entity. It is only changed for backward compatibility
in drm_sched_entity_set_priority().
So I would start there and cleanup the
drm_sched_entity_set_priority() to actually just set a new constant
rq list instead.
Then we could embed the fences in amdgpu_ctx_entity as dynamic array
at the end of the structure.
amdgpu_ctx_entity already contains a fence array. Do you mean another
fence array ?
No I meant that one. See currently this fence array is allocated
separately because its size depends on a module parameter (IIRC that was
one big allocation for all entities).
Where we want to get is that it is allocated together with the
amdgpu_ctx_entity as a dynamic array.
Regards,
Christian.
struct amdgpu_ctx_entity {
uint64_t sequence;
struct dma_fence **fences;
struct drm_sched_entity entity;
};
Regards,
Nirmoy
And last we can start to dynamic allocate and initialize the
amdgpu_ctx_entity() structures.
Regards,
Christian.
_______________________________________________
amd-gfx mailing list
amd-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/amd-gfx