From: Daniel Vetter <daniel.vetter@ffwll.ch> To: Intel Graphics Development <intel-gfx@lists.freedesktop.org>, greg@kroah.com Cc: LKML <linux-kernel@vger.kernel.org>, Dave Airlie <airlied@gmail.com>, Chris Wilson <chris@chris-wilson.co.uk>, Daniel Vetter <daniel.vetter@ffwll.ch>, stable@vger.kernel.org, Greg Kroah-Hartman <gregkh@linuxfoundation.org> Subject: [PATCH] drm/i915: disable cpu relocs on ilk and earlier Date: Mon, 15 Oct 2012 10:11:22 +0200 [thread overview] Message-ID: <1350288682-6236-1-git-send-email-daniel.vetter@ffwll.ch> (raw) Hi Greg&stable-team, The below patch papers over a graphics corruption issue in 3.5/3.6. The regression happened due to pwrite tunings in 3.5, which made cpu relocations much more likely. The issue seems to have disappeared in 3.7-rc1, but it takes a few days to test a patch, so we haven't figured out what exactly fixed things. Now users are taking out their pitchforks already, so instead of wasting more days (maybe weeks?) to fully understand the bug before backporting the fix, we've opted for the below disable patch, which should have minimal impact (at most it undoes the tuning improvements in 3.5). Patch is tested by reporters & acked by all relevant ppl, please apply to 3.5/3.6 series kernels. Thanks, Daniel --- They seem to be implicated in render corruptions. And up to now no one really seems to understand the issue, so let's just disable them for now. Most of the machines exhibiting this issue have only a 128 gtt mmio window, so increased pressure on the mappable part (and so higher chance for cpu relocs) seems to be the key. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=852210 Tested-by: Dave Airlie <airlied@gmail.com> Cc: stable@vger.kernel.org Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c index ff2819e..682156a 100644 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c @@ -268,6 +268,12 @@ eb_destroy(struct eb_objects *eb) static inline int use_cpu_reloc(struct drm_i915_gem_object *obj) { + /* cpu relocs are implicated in some not-yet-understood render + * corruptions on at least ilk, but probably also gm45. Until we know + * what's going on, just disable them. */ + if (INTEL_INFO(obj->base.dev)->gen < 6) + return false; + return (obj->base.write_domain == I915_GEM_DOMAIN_CPU || obj->cache_level != I915_CACHE_NONE); } -- 1.7.10.4
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel.vetter@ffwll.ch> To: Intel Graphics Development <intel-gfx@lists.freedesktop.org>, greg@kroah.com Cc: Daniel Vetter <daniel.vetter@ffwll.ch>, LKML <linux-kernel@vger.kernel.org>, stable@vger.kernel.org Subject: [PATCH] drm/i915: disable cpu relocs on ilk and earlier Date: Mon, 15 Oct 2012 10:11:22 +0200 [thread overview] Message-ID: <1350288682-6236-1-git-send-email-daniel.vetter@ffwll.ch> (raw) Hi Greg&stable-team, The below patch papers over a graphics corruption issue in 3.5/3.6. The regression happened due to pwrite tunings in 3.5, which made cpu relocations much more likely. The issue seems to have disappeared in 3.7-rc1, but it takes a few days to test a patch, so we haven't figured out what exactly fixed things. Now users are taking out their pitchforks already, so instead of wasting more days (maybe weeks?) to fully understand the bug before backporting the fix, we've opted for the below disable patch, which should have minimal impact (at most it undoes the tuning improvements in 3.5). Patch is tested by reporters & acked by all relevant ppl, please apply to 3.5/3.6 series kernels. Thanks, Daniel --- They seem to be implicated in render corruptions. And up to now no one really seems to understand the issue, so let's just disable them for now. Most of the machines exhibiting this issue have only a 128 gtt mmio window, so increased pressure on the mappable part (and so higher chance for cpu relocs) seems to be the key. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=852210 Tested-by: Dave Airlie <airlied@gmail.com> Cc: stable@vger.kernel.org Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c index ff2819e..682156a 100644 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c @@ -268,6 +268,12 @@ eb_destroy(struct eb_objects *eb) static inline int use_cpu_reloc(struct drm_i915_gem_object *obj) { + /* cpu relocs are implicated in some not-yet-understood render + * corruptions on at least ilk, but probably also gm45. Until we know + * what's going on, just disable them. */ + if (INTEL_INFO(obj->base.dev)->gen < 6) + return false; + return (obj->base.write_domain == I915_GEM_DOMAIN_CPU || obj->cache_level != I915_CACHE_NONE); } -- 1.7.10.4
next reply other threads:[~2012-10-15 8:10 UTC|newest] Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-10-15 8:11 Daniel Vetter [this message] 2012-10-15 8:11 ` [PATCH] drm/i915: disable cpu relocs on ilk and earlier Daniel Vetter 2012-10-15 15:11 ` Greg KH 2012-10-15 17:16 ` Daniel Vetter 2012-10-15 17:34 ` Greg KH 2012-10-18 7:34 ` Daniel Vetter -- strict thread matches above, loose matches on Subject: below -- 2012-10-10 8:06 Daniel Vetter 2012-10-10 9:13 ` Chris Wilson
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1350288682-6236-1-git-send-email-daniel.vetter@ffwll.ch \ --to=daniel.vetter@ffwll.ch \ --cc=airlied@gmail.com \ --cc=chris@chris-wilson.co.uk \ --cc=greg@kroah.com \ --cc=gregkh@linuxfoundation.org \ --cc=intel-gfx@lists.freedesktop.org \ --cc=linux-kernel@vger.kernel.org \ --cc=stable@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.