On Wed, Jun 08, 2016 at 11:11:07AM +0100, Chris Wilson wrote: > On Wed, Jun 08, 2016 at 12:02:01PM +0200, Daniel Vetter wrote: > > On Fri, Jun 03, 2016 at 05:55:44PM +0100, Chris Wilson wrote: > > > Since we are not concerned with userspace racing itself with set-tiling > > > (the order is indeterminant even if we take a lock), then we can safely > > > read back the single obj->tiling_mode and do the static lookup of > > > swizzle mode without having to take a lock. > > > > > > get-tiling is reasonably frequent due to the back-channel passing around > > > of tiling parameters in DRI2/DRI3. > > > > > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > > > --- > > > drivers/gpu/drm/i915/i915_gem_tiling.c | 8 ++------ > > > 1 file changed, 2 insertions(+), 6 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/i915/i915_gem_tiling.c b/drivers/gpu/drm/i915/i915_gem_tiling.c > > > index 326de7eae101..d6acd0a27c06 100644 > > > --- a/drivers/gpu/drm/i915/i915_gem_tiling.c > > > +++ b/drivers/gpu/drm/i915/i915_gem_tiling.c > > > @@ -302,10 +302,8 @@ i915_gem_get_tiling(struct drm_device *dev, void *data, > > > if (!obj) > > > return -ENOENT; > > > > > > - mutex_lock(&dev->struct_mutex); > > > - > > > args->tiling_mode = obj->tiling_mode; > > > > READ_ONCE here. With that Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > > obj->tiling_mode is still a bitfield. Not yet convinced of extracting > it, but avoiding the lock for get_tiling is useful. With all the recent discussions the past years about gcc becoming more and more creative with exploiting the undefined parts of C99 I'm just a bit paranoid. Would be awesome if we could unbitfield this one beforehand ... -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx