Messages in this thread | | | Subject | Re: [PATCH 08/10] drm/tegra: Implement dynamic channel allocation model | From | Mikko Perttunen <> | Date | Tue, 7 Nov 2017 14:29:52 +0200 |
| |
On 05.11.2017 19:43, Dmitry Osipenko wrote: > On 05.11.2017 14:01, Mikko Perttunen wrote: >> In the traditional channel allocation model, a single hardware channel >> was allocated for each client. This is simple from an implementation >> perspective but prevents use of hardware scheduling. >> >> This patch implements a channel allocation model where when a user >> submits a job for a context, a hardware channel is allocated for >> that context. The same channel is kept for as long as there are >> incomplete jobs for that context. This way we can use hardware >> scheduling and channel isolation between userspace processes, but >> also prevent idling contexts from taking up hardware resources. >> > > The dynamic channels resources (pushbuf) allocation is very expensive, > neglecting all benefits that this model should bring at least in non-IOMMU case. > We could have statically preallocated channels resources or defer resources freeing.
This is true. I'll try to figure out a nice way to keep the pushbuf allocations.
> >> For now, this patch only adapts VIC to the new model. >> > > I think VIC's conversion should be a distinct patch.
Sure.
Cheers, Mikko
| |