Hi Maarten: Thanks for the reply. 😊 Have your patches been merged into the drm-intel? (The new i915_gem_object_ggtt_pin() you mentioned in the email). Also, we might go on-demand pin recently in the suspend/resume support. In that case, I guess I need to review my patches again based on the new mechanism. Wrt your concern, my understanding is ww dance is for recording the related locks in a section. When a deadlock happens, we can rewind the locks recorded in a ww dance and rewind them. In the current code, the context is always pinned. So we don’t need to worry about the context as what you said. For preparing_shadow_wa_ctx, the gem object will be newly created whenever scan a execlist context and it will be destroyed when the context is scheduled-out. I think in that case, we need a separate ww dance. Thanks, Zhi.
-----Original Message----- From: Maarten Lankhorst <maarten.lankho...@linux.intel.com> Sent: Wednesday, September 30, 2020 2:55 PM To: Wang, Zhi A <zhi.a.w...@intel.com>; Joonas Lahtinen <joonas.lahti...@linux.intel.com>; Nikula, Jani <jani.nik...@intel.com>; intel-gfx <intel-gfx@lists.freedesktop.org>; Yuan, Hang <hang.y...@intel.com>; Lv, Zhiyuan <zhiyuan...@intel.com>; intel-gvt-dev <intel-gvt-...@lists.freedesktop.org> Subject: Re: [Intel-gfx] [PULL] topic/gvt-ww-lock Hey, Op 22-09-2020 om 13:51 schreef Wang, Zhi A: > > Hi, > > Here's the patch which introduces GVT-g ww lock support against > drm-intel-gt-next branch. > > Thanks > > -- > > The following changes since commit 4316b19dee27cc5cd34a95fdbc0a3a5237507701: > > drm/i915: Fix uninitialised variable in > intel_context_create_request. (2020-09-21 11:09:46 +0200) > > are available in the git repository at: > > https://github.com/intel/gvt-linux.git tags/gvt-ww-lock-09-22-2020 > > for you to fetch changes up to e1b49ae155451aaa039eeb23fce808c71a038283: > > drm/i915/gvt: Introduce per object locking in GVT scheduler. > (2020-09-22 12:09:56 +0300) > > ---------------------------------------------------------------- > gvt-ww-lock-09-22-2020: > > - Introduce ww lock support into GVT-g. > > ---------------------------------------------------------------- > Zhi Wang (1): > drm/i915/gvt: Introduce per object locking in GVT scheduler. > > drivers/gpu/drm/i915/gvt/scheduler.c | 68 > ++++++++++++++++++++++++++++++------ > 1 file changed, 57 insertions(+), 11 deletions(-) I've taken a look at this branch, and I have some feedback. Adding ww_ctx blindly like is done doesn't work. For example I'm working on a patch that adds ww handling to i915_gem_object_ggtt_pin(), so you don't have to perform manually in prepare_shadow_wa_ctx(). intel_context_pin() already has a ww dance, you can keep calling it without open coding it. If you do decide to call it manually, intel_context_put would have to be called after ctx_fini. Cheers, Maarten
_______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx