Messages in this thread | | | Date | Sat, 6 Jan 2018 11:38:35 -0500 | From | Alexandru Chirvasitu <> | Subject | Re: PROBLEM: i915 causes complete desktop freezes in 4.15-rc5 |
| |
On Sat, Jan 06, 2018 at 08:24:43AM -0500, Alexandru Chirvasitu wrote: > Thank you! > > I'll apply that more elaborate patch you sent in the longer message to > my clone of the repo and see if it still freezes. >
I'm on it now with no freezes yet, despite trying my best :).
I have a question though:
> On Sat, Jan 06, 2018 at 10:43:20AM +0000, Chris Wilson wrote: > > Quoting Alexandru Chirvasitu (2018-01-05 22:05:18) > > > Here we go. > > > > > > I have > > > > > > CONFIG_PAGE_POISONING not set > > > CONFIG_SLUB_STATS=y > > > CONFIG_SLUB_DEBUG not set > > > CONFIG_KASAN=y > > > > > > .config attached along as well for verification, in case I missed > > > anything. > > > > > > Again crashed by an attempt to open a terminal window. > > > > Gotcha, > > > > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > > index b21322b50419..96cf46a10b4e 100644 > > --- a/drivers/gpu/drm/i915/i915_gem.c > > +++ b/drivers/gpu/drm/i915/i915_gem.c > > @@ -472,7 +472,7 @@ static void __fence_set_priority(struct dma_fence *fence, int prio) > > struct drm_i915_gem_request *rq; > > struct intel_engine_cs *engine; > > > > - if (!dma_fence_is_i915(fence)) > > + if (dma_fence_is_signaled(fence) || !dma_fence_is_i915(fence)) > > return; > > > > rq = to_request(fence);
I went back to Linus' tree and compared the respective i915_gem.c files in the 4.14 and 4.15-rc6 commits. The offending piece of code seems to be in both, so I am wondering why I was not getting freezes before 4.15-rc.
Is the other change (in drivers/gpu/drm/i915/intel_lrc.c) crucial too? The line
GEM_BUG_ON(prio == I915_PRIORITY_INVALID);
is caught by the diff, so that region of *that* file differs between 4.14 and 4.15-rc.
I suppose it might also be that my distro's maintainers modify the 4.14 code in some fashion; I have not checked.
| |