[Libva] BSD ring selection

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Thu Nov 24 08:07:36 UTC 2016


Hi all,

I am curious on the current operation of the driver with regards to the 
ring selection and usage.

As far as I can gather from the code, the driver is happy for the kernel 
to choose the ring (on configurations with more than one ring of course) 
and seems to be able to run mostly independently of the selection. (I 
said mostly because there are some batches which are explicitly sent to 
BSD0 ring, based on the feature matrix.)

Have I missed something or there is really nothing else special the 
driver does with respect to which ring it is running?

I am looking into this in the context of the long standing desire to 
auto-balance workloads better. For example 
https://bugs.freedesktop.org/show_bug.cgi?id=97872 expresses the need to 
balance per batch buffer as well.

This leads me to the second part of the question and that is the 
hardware state. Does the driver currently depend on the hardware state?

Because if we would to implement per batch buffer load balancing in the 
kernel, the driver would have to make sure that it doesn't depend on any 
state left by the previous batch. Perhaps this is not a concern, I 
really know nothing of how the BSD engines are used.

If perhaps it doesn't already, then the change to support this could be 
quite simple and I could perhaps prototype something as an RFC.

Regards,

Tvrtko


More information about the Libva mailing list