lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 22 Aug 2013 09:24:17 +0200
From:	Daniel Vetter <daniel@...ll.ch>
To:	Sedat Dilek <sedat.dilek@...il.com>
Cc:	Chris Wilson <chris@...is-wilson.co.uk>,
	linux-next <linux-next@...r.kernel.org>,
	LKML <linux-kernel@...r.kernel.org>,
	intel-gfx <intel-gfx@...ts.freedesktop.org>,
	Stephen Rothwell <sfr@...b.auug.org.au>,
	Daniel Vetter <daniel.vetter@...ll.ch>
Subject: Re: linux-next: Tree for Aug 21 [ screen corruption in graphical
 mode ]

On Thu, Aug 22, 2013 at 08:32:47AM +0200, Sedat Dilek wrote:
> It's independent of the applied patch.
> My problem goes away with SNA but still exists with UXA.
> 
> As said in my previous analysis... switching back to Ubuntu's graphics
> did not show the symptoms, too.
> 
> It's interesting to see, it is a problem of the intel-ddx.

Nope, it's just that uxa and sna have completely different buffer object
usage patterns. Not the first time only one of them hits an issue ...

> Anyway, SNA seems here to be approx. 20% faster in gtkperf-0.40, so I
> will use it.
> 
> I am open and willing to test any patches you will provide.
> Please, let me know.

Found a new bugger, please test the below patch.

Thanks, Daniel
---
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index ef92c69..e0bff07 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2616,6 +2616,9 @@ int i915_vma_unbind(struct i915_vma *vma)
 	drm_i915_private_t *dev_priv = obj->base.dev->dev_private;
 	int ret;
 
+	/* For now we only ever use 1 vma per object */
+	WARN_ON(!list_is_singular(&obj->vma_list));
+
 	if (list_empty(&vma->vma_link))
 		return 0;
 
@@ -2661,7 +2664,9 @@ int i915_vma_unbind(struct i915_vma *vma)
 	drm_mm_remove_node(&vma->node);
 
 destroy:
-	i915_gem_vma_destroy(vma);
+	/* Keep the vma as a placeholder in the execbuffer reservation lists */
+	if (!list_empty(&vma->exec_list))
+		i915_gem_vma_destroy(vma);
 
 	/* Since the unbound list is global, only move to that list if
 	 * no more VMAs exist.
@@ -4171,10 +4176,6 @@ void i915_gem_vma_destroy(struct i915_vma *vma)
 	WARN_ON(vma->node.allocated);
 	list_del(&vma->vma_link);
 
-	/* Keep the vma as a placeholder in the execbuffer reservation lists */
-	if (!list_empty(&vma->exec_list))
-		return;
-
 	kfree(vma);
 }
 
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ