On 14/09/2021 19:04, Matthew Brost wrote:
On Tue, Sep 14, 2021 at 09:34:08AM +0100, Tvrtko Ursulin wrote:
8<
Today we have:
for_each intel_engines: // intel_engines is a flat list of all engines
intel_engine_setup()
You propose to change it to:
for_each engine_class:
for 0..max_global_engine_instance:
for_each intel_engines:
skip engine not present
skip class not matching
count logical instance
for_each intel_engines:
skip engine not present
skip wrong class
intel_engine_setup()
I propose:
// Leave as is:
for_each intel_engines:
intel_engine_setup()
// Add:
for_each engine_class:
logical = 0
for_each gt->engine_class[class]:
skip engine not present
engine->logical_instance = logical++
When code which actually needs a preturbed "map" arrives you add that in to
this second loop.
See above, why introduce an algorithm that doesn't work for future parts
+ future patches are land imminently? It makes zero sense whatsoever.
With your proposal we would literally land code to just throw it away a
couple of months from now + break patches we intend to land soon. This
It sure works, it just walks the per class list instead of walking the
flat list skipping one class at the time.
Just add the map based transformation to the second pass later, when it
becomes required.
algorithm works and has no reason whatsoever to be optimal as it a one
time setup call. I really don't understand why we are still talking
about this paint color.
I don't think bike shedding is not an appropriate term when complaint is
how proposed algorithm is needlessly complicated.
Regards,
Tvrtko