[Intel-gfx] [PULL] topic/gvt-ww-lock

Wang, Zhi A zhi.a.wang at intel.com
Sun Nov 8 07:51:57 UTC 2020


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.lankhorst at linux.intel.com>
Sent: Wednesday, September 30, 2020 2:55 PM
To: Wang, Zhi A <zhi.a.wang at intel.com>; Joonas Lahtinen <joonas.lahtinen at linux.intel.com>; Nikula, Jani <jani.nikula at intel.com>; intel-gfx <intel-gfx at lists.freedesktop.org>; Yuan, Hang <hang.yuan at intel.com>; Lv, Zhiyuan <zhiyuan.lv at intel.com>; intel-gvt-dev <intel-gvt-dev at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20201108/f0f75e9e/attachment.htm>


More information about the Intel-gfx mailing list