From: Jacek Danecki <jacek.danecki@intel.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: Daniel Vetter <daniel.vetter@intel.com>,
intel-gfx@lists.freedesktop.org, "Sapala,
Rafal A" <rafal.a.sapala@intel.com>
Subject: Re: [PATCH] intel: Adding locks for drm objects synchronization.
Date: Fri, 19 Sep 2014 17:52:38 +0200 [thread overview]
Message-ID: <541C5146.9020005@intel.com> (raw)
In-Reply-To: <20140919153619.GE15734@phenom.ffwll.local>
On 09/19/14 17:36, Daniel Vetter wrote:
> Hm, I don't see what this fixes, except maybe a race in the kernel?
> Testcase plus some analysis in the commit message about what blows up
> exactly and how this fixes it is required here.
Currently we can reproduce this issue using our "internal" projects in multi-threaded configurations.
I'll try to extend test [1] to reproduce issue. Without this patch DRM_IOCTL_I915_GEM_GET_TILING ioctl
returned -ENOENT from i915_gem_get_tiling function (drivers/gpu/drm/i915/i915_gem_tiling.c):
/**
* Returns the current tiling mode and required bit 6 swizzling for the object.
*/
int
i915_gem_get_tiling(struct drm_device *dev, void *data,
struct drm_file *file)
{
struct drm_i915_gem_get_tiling *args = data;
struct drm_i915_private *dev_priv = dev->dev_private;
struct drm_i915_gem_object *obj;
obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle));
if (&obj->base == NULL)
return -ENOENT;
This ioctl is being called in libdrm in function drm_intel_bo_gem_create_from_prime:
get_tiling.handle = bo_gem->gem_handle;
ret = drmIoctl(bufmgr_gem->fd,
DRM_IOCTL_I915_GEM_GET_TILING,
&get_tiling);
if (ret != 0) {
drm_intel_gem_bo_unreference(&bo_gem->bo);
return NULL;
}
[1] http://lists.freedesktop.org/archives/intel-gfx/2014-September/052586.html
--
jacek
prev parent reply other threads:[~2014-09-19 15:53 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-05 18:51 [PATCH] intel: Adding locks for drm objects synchronization Rafal Sapala
2014-09-18 12:43 ` Daniel Vetter
2014-09-19 13:45 ` Jacek Danecki
2014-09-19 15:36 ` Daniel Vetter
2014-09-19 15:52 ` Jacek Danecki [this message]
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=541C5146.9020005@intel.com \
--to=jacek.danecki@intel.com \
--cc=daniel.vetter@intel.com \
--cc=daniel@ffwll.ch \
--cc=intel-gfx@lists.freedesktop.org \
--cc=rafal.a.sapala@intel.com \
/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: link
Be 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.