Bug 86766 - [ILK/PNV Bisected]c211a47 drm/i915: Disallow pin ioctl completely for kms drivers
Summary: [ILK/PNV Bisected]c211a47 drm/i915: Disallow pin ioctl completely for kms dri...
Status: CLOSED NOTABUG
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: Other All
: high normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-11-27 07:21 UTC by Guo Jinxian
Modified: 2015-05-14 01:19 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Guo Jinxian 2014-11-27 07:21:51 UTC
==System Environment==
--------------------------
Regression: Yes

Non-working platforms: ILK PNV

==kernel==
--------------------------
origin/drm-intel-nightly: 904b8529cd69f98b98d33b533a211003f99fb1cd(fails)
    drm-intel-nightly: 2014y-11m-26d-20h-40m-01s UTC integration manifest

==Bug detailed description==
(PNV)igt/gem_pin PASS->NSPT
(ILK)igt/gem_pin PASS->NSPT

==Reproduce steps==
---------------------------- 
1. ./gem_pin

==Bisect results from PRTS==
----------------------------
Bisect shows: c211a47c2c28562f8a3fff9e027be1a3ed9e154a is the first bad commit
commit c211a47c2c28562f8a3fff9e027be1a3ed9e154a
Author:     Daniel Vetter <daniel.vetter@ffwll.ch>
AuthorDate: Mon Nov 24 11:12:42 2014 +0100
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Mon Nov 24 22:36:55 2014 +0100

    drm/i915: Disallow pin ioctl completely for kms drivers
    
    The problem here is that SNA pins batchbuffers to etch out a bit more
    performance. Iirc it started out as a w/a for i830M (which we've
    implemented in the kernel since a long time already). The problem is
    that the pin ioctl wasn't added in
    
    commit d23db88c3ab233daed18709e3a24d6c95344117f
    Author: Chris Wilson <chris@chris-wilson.co.uk>
    Date:   Fri May 23 08:48:08 2014 +0200
    
        drm/i915: Prevent negative relocation deltas from wrapping
    
    Fix this by simply disallowing pinning from userspace so that the
    kernel is in full control of batch placement again. Especially since
    distros are moving towards running X as non-root, so most users won't
    even be able to see any benefits.
    
    UMS support is dead now, but we need this minimal patch for
    backporting. Follow-up patch will remove the pin ioctl code
    completely.
    
    Note to backporters: You must have both
    
    commit b45305fce5bb1abec263fcff9d81ebecd6306ede
    Author: Daniel Vetter <daniel.vetter@ffwll.ch>
    Date:   Mon Dec 17 16:21:27 2012 +0100
    
        drm/i915: Implement workaround for broken CS tlb on i830/845
    
    which laned in 3.8 and
    
    commit c4d69da167fa967749aeb70bc0e94a457e5d00c1
    Author: Chris Wilson <chris@chris-wilson.co.uk>
    Date:   Mon Sep 8 14:25:41 2014 +0100
    
        drm/i915: Evict CS TLBs between batches
    
    which is also marked cc: stable. Otherwise this could introduce a
    regression by disabling the userspace w/a without the kernel w/a being
    fully functional on i830/45.
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=76554#c116
    Cc: stable@vger.kernel.org # requires c4d69da167fa967749a and v3.8
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Comment 1 Daniel Vetter 2014-11-27 08:56:38 UTC
Yup I've disabled the pin iotcl, that's expected. Thanks for the reporting, always nice to know that regression reporting works properly!


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.