public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Andi Shyti <andi@etezian.org>
Cc: IGT dev <igt-dev@lists.freedesktop.org>
Subject: Re: [igt-dev] [PATCH] lib/i915: gem_engine_topology: get eb flags from engine's coordiantes
Date: Thu, 20 Jun 2019 09:12:55 +0100	[thread overview]
Message-ID: <138aab85-ea9c-e305-fa7d-e13e235a1c9a@linux.intel.com> (raw)
In-Reply-To: <20190620075232.GA10328@jack.zhora.eu>


On 20/06/2019 08:52, Andi Shyti wrote:
> Hi Tvrtko,
> 
>>> +	struct intel_execution_engine2 *e;
>>> +
>>> +	for_each_context_engine(fd, ctx_id, e)
>>> +		if (class == e->class && instance == e->instance)
>>> +			return e->flags;
>>
>> And most important difference, I wouldn't configure the context from this helper. Instead I think all we need is:
>>
>> int gem_context_get_eb_flags(int fd, uint32_t ctx, struct i915_engine_class_instance ci)
>> {
>> 	DEFINE_CONTEXT_ENGINES_PARAM(engines, param, ctx, GEM_MAX_ENGINES);
>> 	int ret
>>
>> 	ret = gem_topology_get_param(fd, &param);
>> 	if (ret) {
>> 		const struct intel_execution_engine2 *e;
>>
>> 		/* Legacy kernels. */
>> 		__for_each_static_engine(e) {
>> 			if (e->class == ci.engine_class &&
>> 			    e->instance == ci.engine_instance)
>> 				return e->flags;
>> 		}
>>
>> 		return -EINVAL;
>> 	}
>>
>> 	/* Engine map with no engines. */
>> 	if (!param.size)
>> 		return -EINVAL;
> 
> this means that tests have responsibility to alway create a
> context and do the mapping before (we haven't always assumed it
> in other tests).

This particular check? This should be map with zero engines, a very 
special case we currently do not configure in scope of engine topology code.

>> 	/* Engine map lookup. */
>> 	for (unsigned int i = 0; i < param.size; i++) {
>> 		if (engines.engines[i].engine_class == ci.engine_class &&
>> 		    engines.engines[i].engine_instance == ci.engine_instance)
>> 			return i;
>> 	}
>>
>> 	return -EINVAL;
>> }
> 
> This version, a the end, becomes a slim version of
> 'intel_init_engine_list', with the only difference that it
> wouldn't do any mapping (which I agree would be too much but we
> did it in other tests), that's why, at the end I preferred the
> short version I sent.
> 
> OK, we can definitely do it this way, too

I think it would be wrong to configure the context from this helper. The 
name of the function translates to "give me correct eb.flags for this 
context to submit to this class:instance". All function needs to do is 
to answer this question both on legacy and new kernels.

Also, it is okay to refactor the library code if there is enough 
commonality for extracting or something.

Regards,

Tvrtko
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  reply	other threads:[~2019-06-20  8:12 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-19 22:19 [igt-dev] [PATCH] lib/i915: gem_engine_topology: get eb flags from engine's coordiantes Andi Shyti
2019-06-19 23:33 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2019-06-20  5:59 ` [igt-dev] [PATCH] " Tvrtko Ursulin
2019-06-20  7:52   ` Andi Shyti
2019-06-20  8:12     ` Tvrtko Ursulin [this message]
2019-06-20  8:26       ` Chris Wilson
2019-06-20 14:38 ` [igt-dev] ✓ Fi.CI.IGT: success for " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=138aab85-ea9c-e305-fa7d-e13e235a1c9a@linux.intel.com \
    --to=tvrtko.ursulin@linux.intel.com \
    --cc=andi@etezian.org \
    --cc=igt-dev@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox