[Intel-gfx] [PATCH v2 01/11] drm/i915: Disable preemption and sleeping while using the punit sideband
Chris Wilson
chris at chris-wilson.co.uk
Mon Jan 15 12:13:54 UTC 2018
Quoting Mika Kuoppala (2018-01-15 12:04:40)
> Chris Wilson <chris at chris-wilson.co.uk> writes:
>
> > While we talk to the punit over its sideband, we need to prevent the cpu
> > from sleeping in order to prevent a potential machine hang.
> >
> > Note that by itself, it appears that pm_qos_update_request (via
> > intel_idle) doesn't provide a sufficient barrier to ensure that all core
> > are indeed awake (out of Cstate) and that the package is awake. To do so,
> > we need to supplement the pm_qos with a manual ping on_each_cpu.
> >
> > v2: Restrict the heavy-weight wakeup to just the ISOF_PORT_PUNIT, there
> > is insufficient evidence to implicate a wider problem atm. Similarly,
> > restrict the w/a to Valleyview, as Cherryview doesn't have an angry cadre
> > of users.
> >
>
> One datapoint about the v1 of this patch with the cpu ping in it.
> The j1900 byt did end up with system hang during weekend with
> drm-tip + v1.
Not much different (supposedly in v2, especially if we ignore the bits
after the revert), and v2 ran most of Fri-Mon without incident. (Most
because I tested a few other things as well, such as eliminating the
waitboosting for glxgears in the reproducer.)
1 hang in 100 hours across 2 machines. Certainly the best we've achieved
so far (while allowing RPS to frequently adjust gpufreq). Any fresh ideas?
-Chris
More information about the Intel-gfx
mailing list