Comment 90 for bug 745608

Revision history for this message
In , Sitsofe Wheeler (sitsofe) wrote :

(Numerous bisections later...)

The problem appears to have been introduced in the following commit:

commit f05dd2f09cac422c423dae8f9b8e2be13df05a8f
Author: Eric Anholt <email address hidden>
Date: Fri Feb 26 13:32:11 2010 -0800

    drm/i915: Don't bother with the BKL for GEM ioctls.

    We probably don't need it for most of the other driver ioctls as well,
    but we explicitly did locking when doing the GEM pieces. On CPU-bound
    graphics tasks, the BKL was showing up as 1-2% of CPU time.

    Signed-off-by: Eric Anholt <email address hidden>

I've narrowed it down to two lines in drivers/gpu/drm/i915/i915_dma.c:

       DRM_IOCTL_DEF(DRM_I915_GEM_SET_TILING, i915_gem_set_tiling, DRM_UNLOCKED),
       DRM_IOCTL_DEF(DRM_I915_GEM_GET_TILING, i915_gem_get_tiling, DRM_UNLOCKED),

If the last parameter is 0 instead of DRM_UNLOCKED the problem goes away even on the latest drm-intel-fixes branch.