On Fri, Jul 31, 2015 at 04:11:21PM +0200, Krzysztof Kolasa wrote: > On 22.07.2015 10:27, Daniel Vetter wrote: > > On Tue, Jul 21, 2015 at 08:07:47PM +0200, Krzysztof Kolasa wrote: > >> On 21.07.2015 16:03, Daniel Vetter wrote: > >>> On Tue, Jul 21, 2015 at 02:48:21PM +0200, Krzysztof Kolasa wrote: > >>>> On 21.07.2015 11:43, Chris Wilson wrote: > >>>>> On Tue, Jul 21, 2015 at 11:07:20AM +0200, Daniel Vetter wrote: > >>>>>> On Tue, Jul 21, 2015 at 10:58:50AM +0200, Krzysztof Kolasa wrote: > >>>>>>> On 21.07.2015 10:41, Daniel Vetter wrote: > >>>>>>>> I meant whether you can reset the bad commit and it's immediate parent > >>>>>>>> extensively to make sure the bisect is really correct. gpu's occasionally > >>>>>>>> take a while to hang themselves, so could be that the bisect was > >>>>>>>> mislead somewhere. > >>>>>>> Again I will bisect, more testing good sections. > >>>>>>> > >>>>>>> At the moment on my old laptop, the latest official, properly working kernel is 4.1.2 > >>>>>> You don't need to redo the full bisect, only retest the bad and the parent > >>>>>> of the bad extensively. That's enough to confirm the bisect result for > >>>>>> sure. > >>>>> The bisection is misleading. It's a missing write-barrier. > >>>>> -Chris > >>>>> > >>>> tested again: > >>>> > >>>> # good: [cd102a687beed1042824d5fa81c6ba8bfe78e6a4] drm/i915: Remove misleading comment around bind_to_vm > >>>> git bisect good cd102a687beed1042824d5fa81c6ba8bfe78e6a4 > >>>> # bad: [0875546c5318c85c13d07014af5350e9000bc9e9] drm/i915: Fix up the vma aliasing ppgtt binding > >>>> git bisect bad 0875546c5318c85c13d07014af5350e9000bc9e9 > >>>> # first bad commit: [0875546c5318c85c13d07014af5350e9000bc9e9] drm/i915: Fix up the vma aliasing ppgtt binding > >>>> > >>>> > >>>> Screen does not lie :) first bad is BAD, good is GOOD > >>>> > >>>> on commit cd102a687beed10, computer worked steadily (with a large number of windows, applications) about an hour and stopped the tests, everything was OK > >>>> > >>>> on commit 0875546c5318c85, after about one minute, the screen gone mad > >>> Suprising. Can you try out the below patch, it should disable the active > >>> ingredient of the offending. On older kernels just remove the if > >>> (bind_flags) before the call to ->bind_vma - the point is to call > >>> ->bind_vma unconditionally. > >>> -Daniel > >>> > >>> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > >>> index cc133c700686..1227cd69c624 100644 > >>> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > >>> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > >>> @@ -2908,9 +2908,6 @@ int i915_vma_bind(struct i915_vma *vma, enum i915_cache_level cache_level, > >>> else > >>> bind_flags &= ~vma->bound; > >>> > >>> - if (bind_flags == 0) > >>> - return 0; > >>> - > >>> if (vma->bound == 0 && vma->vm->allocate_va_range) { > >>> trace_i915_va_alloc(vma->vm, > >>> vma->node.start, > >> > >> I tested the patch and did not help ... > > Does this one below help? > > -Daniel > > > > diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c > > index d2df321ba634..38dce61e028d 100644 > > --- a/drivers/gpu/drm/i915/i915_dma.c > > +++ b/drivers/gpu/drm/i915/i915_dma.c > > @@ -150,9 +150,6 @@ static int i915_getparam(struct drm_device *dev, void *data, > > case I915_PARAM_HAS_COHERENT_PHYS_GTT: > > value = 1; > > break; > > - case I915_PARAM_MMAP_VERSION: > > - value = 1; > > - break; > > case I915_PARAM_SUBSLICE_TOTAL: > > value = INTEL_INFO(dev)->subslice_total; > > if (!value) > > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > > index 52b446b27b4d..c71525cefdf9 100644 > > --- a/drivers/gpu/drm/i915/i915_gem.c > > +++ b/drivers/gpu/drm/i915/i915_gem.c > > @@ -1676,7 +1676,7 @@ i915_gem_mmap_ioctl(struct drm_device *dev, void *data, > > struct drm_gem_object *obj; > > unsigned long addr; > > > > - if (args->flags & ~(I915_MMAP_WC)) > > + if (args->flags) > > return -EINVAL; > > > > if (args->flags & I915_MMAP_WC && !cpu_has_pat) > This commit solved the problem: > > http://cgit.freedesktop.org/drm-intel/commit/?id=d0e30adc42d979e4adc36b6c112b57337423b70c > > drm/i915: Mark PIN_USER binding as GLOBAL_BIND without the aliasing ppgtt Oh well, still plenty of 4.0 victims to be worried about (which can't be explained by the bug fixed by d0e30a). -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx