From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0F3C96E442 for ; Wed, 16 Jun 2021 02:56:25 +0000 (UTC) Date: Tue, 15 Jun 2021 19:56:23 -0700 Message-ID: <87lf7a5xgo.wl-ashutosh.dixit@intel.com> From: "Dixit, Ashutosh" In-Reply-To: <87mtrq5xsl.wl-ashutosh.dixit@intel.com> References: <20210614163704.365989-1-jason@jlekstrand.net> <20210614163902.366168-19-jason@jlekstrand.net> <87o8c65ywy.wl-ashutosh.dixit@intel.com> <87mtrq5xsl.wl-ashutosh.dixit@intel.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Subject: Re: [igt-dev] [PATCH i-g-t 68/77] igt/dummyload: Require an intel_ctx_t for POLL_RUN and !ALL_ENGINES List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Jason Ekstrand Cc: igt-dev@lists.freedesktop.org List-ID: On Tue, 15 Jun 2021 19:49:14 -0700, Dixit, Ashutosh wrote: > > I have another related question/observation. If what I am saying above is > indeed true, is the "ctx_id" field in "struct igt_spin_factory" ever > really used? If not we should delete it from the struct and we can get rid > of these asserts. > > This is because I am saying above that we have an igt_assert(opts->ctx) > above in igt_spin_factory() when "opts->engine != ALL_ENGINES" and then we > have another igt_assert(opts->ctx) in emit_recursive_batch() when > "opts->engine == ALL_ENGINES". So it appears we must always have > intel_ctx_t and can never use the "ctx_id" field in "struct > igt_spin_factory" so it should be removed. > > So appears the spinner interface will always need a intel_ctx_t (meaning > more code changes). Sorry for harping on this again. Note that even with the code in this series test like igt@gem_ctx_exec@norecovery (which have not been modified) should now be broken. The code in this series is: if ((opts->flags & IGT_SPIN_POLL_RUN) && opts->engine != ALL_ENGINES) { unsigned int class; igt_assert(opts->ctx); class = intel_ctx_engine_class(opts->ctx, opts->engine); igt_require(gem_class_can_store_dword(fd, class)); } igt@gem_ctx_exec@norecovery uses IGT_SPIN_POLL_RUN, does not use ALL_ENGINES and uses ctx_id instead of opts->ctx, so the assert above will fire. _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev