[igt-dev] [RFC v2 2/3] lib: implement new engine discovery interface

Andi Shyti andi at etezian.org
Mon Nov 26 09:07:37 UTC 2018


Hi Tvrtko,

just few things that came to my mind while going through your
review.

> > +	query_engines = malloc(size);
> > +	if (!query_engines)
> > +		return NULL;
> 
> We probably want to igt_assert on this since there is no point going
> further.

isn't igt_assert used for the test outcome? What I mean is that
the test outcome would be to query and set the engines, but if we
fail in malloc we do not necessarily fail the test, but we have a
different kind of system failure.

(this is not important, just for me to understand better :) )

> > +int get_engines(int fd, uint32_t ctx_id)
> 
> setup_ctx_engines?
> 
> Does it need to be exported or it can be static?

How do we reach it from outside if we set it static? This
function is called in the for_each_engine_ctx macro that is used
outside from igt_gt.c

> > +#define for_each_engine_ctx(fd, ctx, e) \
> 
> High level design question: Do we want 'e' to be an integer or a struct
> describing each engine?

Do you mean that you would you prefer iterating with a
'i915_context_param_engines' or a 'intel_execution_engine' struct
instead of an 'e' integer? This way it would also be different
from how the current 'for_each_engine' works.

I could do it in a next patch, so that in this one we keep it as
close as possible to the current way of doing things.

Andi


More information about the igt-dev mailing list