Re: [PATCH 5/5] drm/i915: Solve the GPU reset vs. modeset deadlocks with an rw_semaphore

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Quoting ville.syrjala@xxxxxxxxxxxxxxx (2017-06-29 14:49:48)
> @@ -2640,15 +2600,13 @@ static void i915_reset_device(struct drm_i915_private *dev_priv)
>         char *error_event[] = { I915_ERROR_UEVENT "=1", NULL };
>         char *reset_event[] = { I915_RESET_UEVENT "=1", NULL };
>         char *reset_done_event[] = { I915_ERROR_UEVENT "=0", NULL };
> -       struct wedge_me w;
>  
>         kobject_uevent_env(kobj, KOBJ_CHANGE, error_event);
>  
>         DRM_DEBUG_DRIVER("resetting chip\n");
>         kobject_uevent_env(kobj, KOBJ_CHANGE, reset_event);
>  
> -       /* Use a watchdog to ensure that our reset completes */
> -       i915_wedge_on_timeout(&w, dev_priv, 5*HZ) {

Keep the wedge-if-reset times out mechanism. It is a nice safe guard
against driver misbehaviour and not limited to breaking the previous
deadlock. If it fires, we get an error in dmesg to go along with the
lost data. I quickly grew fond of having this safe guard!
-Chris
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux