Re: [igt-dev] [RFC PATCH v10 2/6] lib/i915: add gem_engine_topology library

Andi Shyti
2019-03-07T13:00:37Z

Hi Chris,

thanks for your review,

> > +static void set_ctx_param_engines(int fd, uint32_t ctx_id)
> > +{
> > + struct i915_context_param_engines *ctx_engine;
> > + struct drm_i915_gem_context_param ctx_param;
> > + const struct intel_execution_engine2 *e2;
> > + uint8_t buff[SIZEOF_CTX_PARAM] = { };
> > + int i;
> > +
> > + if (!gem_has_engine_topology())
> > + return;
>
> Why would different fd have the same topology?

I see here your point, but I think that being able to handle
multi FDs is a completely different beast and this patch does not
have, by now, any effect on it.

First of all, we would need to address the problem to the driver,
is the i915 able to work with multiple GPUs?

Second, is igt able to work simultaneously with mutliple GPUs?
No, and we can start checking from the opening of the device, and
igt, by now opens one and only one device per time.

If we want to support multiple FDs for a single test, I guess we
would need to combine (in GPU structures?) FD and hardware
properties so that we can address them separately in a single
test.

In any case, definitely this goes beyond the purpose of this
patchset and when, ages ago, I started working on this, I wanted
to keep it as similar to what was already there.

I'm afraid, that if I make this and the next patch future proof,
I'm going to make things more complex and "overstructured" when
we will start working for having IGT able to run on multiple FDs
(as for_each_engine2() will be completely different).

So that, for now, I would suggest to keep things as they are and
address the mutliple FDs issue in a different work set.

Andi