Bug 81728 - [BYT Bisected]igt/gem_exec_big fails with PPGTT
Summary: [BYT Bisected]igt/gem_exec_big fails with PPGTT
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: Other All
: highest normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-07-25 05:15 UTC by Guo Jinxian
Modified: 2016-10-19 09:29 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg (91.08 KB, text/plain)
2014-07-25 05:15 UTC, Guo Jinxian
no flags Details
Fix obj->map_and_fenceable for ppgtt (6.62 KB, patch)
2014-08-07 15:37 UTC, Chris Wilson
no flags Details | Splinter Review

Description Guo Jinxian 2014-07-25 05:15:27 UTC
Created attachment 103421 [details]
dmesg

==System Environment==
--------------------------
Regression: Yes

Good commit on -next-queued: 484b41dd70a9fbea894632d8926bbb93f05021c7

Non-working platforms: BYT-M

==kernel==
--------------------------
origin/drm-intel-nightly: 089bea2664988de48fccc81407ebe12115156731(fails)
    drm-intel-nightly: 2014y-07m-24d-09h-55m-38s integration manifest
origin/drm-intel-next-queued: 2b8ee5710915a244b807fbe3427299d007d19e89(works)
    drm/i915: Allow overlapping userptr objects  
origin/drm-intel-fixes: eedd10f45bdcb2a5b2afa35f845e080c3bc984f2(works)
    drm/i915: Simplify i915_gem_release_all_mmaps()

==Bug detailed description==
-----------------------------
igt/gem_exec_big fails

Output:
root@x-bytm02:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./gem_exec_big                              IGT-Version: 1.7-gbffef22 (x86_64) (Linux: 3.16.0-rc6_drm-intel-nightly_089bea_20140725_debug+ x86_64)
Test assertion failure function exec, file gem_exec_big.c:97:
Failed assertion: tmp == gem_reloc[0].presumed_offset
error: 0 == 8908800


Reproduce steps:
-------------------------
1. ./gem_exec_big
Comment 1 Guo Jinxian 2014-07-25 06:26:13 UTC
This bug is able to reproduce on BSW too

[root@x-bsw01 tests]# ./gem_exec_big
IGT-Version: 1.7-g4d4f4b2 (x86_64) (Linux: 3.16.0-rc6_drm-intel-nightly_089bea_20140725_debug+ x86_64)
Test assertion failure function exec, file gem_exec_big.c:97:
Failed assertion: tmp == gem_reloc[0].presumed_offset
error: 0 == 9027584
Comment 2 yaoming 2014-08-07 05:51:46 UTC
Bisect result shows 67988a04281d81d1ada079792cd01709316f6b8e is the first bad commit

commit 67988a04281d81d1ada079792cd01709316f6b8e
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
Date:   Thu May 29 14:33:21 2014 -0700

    drm/i915: enable PPGTT on VLV

    Working for real this time.  i915_ppgtt_info has all sorts of good stuff
    in it and X is running nicely on top.

    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

:040000 040000 1a2d28e9f572dd4e4d81315e633b2e6d29693f77 0f00785ffb71c03473be4b7d24d5cfd4076c31d4 M      drivers

--------------------------
Revert that bad commit and test, it works well.

commit c4f7e69dab32859b621d09fe09c289e83405c3fd
Author:     YaoMing <ming.yao@intel.com>
AuthorDate: Thu Aug 7 13:08:32 2014 +0800
Commit:     YaoMing <ming.yao@intel.com>
CommitDate: Thu Aug 7 13:08:32 2014 +0800

root@x-bytm02:~# uname -a
Linux x-bytm02 3.15.0-rc3_kcloud_c4f7e6_20140807+ #2 SMP Thu Aug 7 13:14:27 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
root@x-bytm02:~# cd /GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests; ./gem_exec_big
IGT-Version: 1.7-gac31f19 (x86_64) (Linux: 3.15.0-rc3_kcloud_c4f7e6_20140807+ x86_64)


    Revert "drm/i915: enable PPGTT on VLV"

    This reverts commit 67988a04281d81d1ada079792cd01709316f6b8e.

--------------------------
The parents of first bad commit also works well.

commit 0001dbf1b3af36ca24f8228b53e476a961a2f4fe
Author:     Jani Nikula <jani.nikula@intel.com>
AuthorDate: Mon Jun 2 16:58:30 2014 +0300
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Mon Jun 2 17:42:03 2014 +0200

    drm/i915: tell the user if both KMS and UMS are disabled

    If both KMS is disabled (by i915.modeset=0 or nomodeset parameters) and
    UMS is disabled (by CONFIG_DRM_I915_UMS=n, the default), the user might
    not be aware his setup is not supported. Inform the users (and, by
    extension, the poor i915 developers having to read their dmesgs in bug
    reports) why their graphics experience might be lacking.

    A similar message was added on the UMS path in
    commit e147accbd19f55489dabdcc4dc3551cc3e3f2553
    Author: Jani Nikula <jani.nikula@intel.com>
    Date:   Thu Oct 10 15:25:37 2013 +0300

        drm/i915: tell the user KMS is required for gen6+

    but it won't be reached if CONFIG_DRM_I915_UMS=n since
    commit b30324adaf8d2e5950a602bde63030d15a61826f
    Author: Daniel Vetter <daniel.vetter@ffwll.ch>
    Date:   Wed Nov 13 22:11:25 2013 +0100

        drm/i915: Deprecated UMS support

    v2: Use DRM_DEBUG_DRIVER.

    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Linux x-bytm02 3.15.0-rc3_kcloud_0001db_20140806+ #2 SMP Wed Aug 6 13:59:33 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
root@x-bytm02:~# cd /GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests; ./gem_exec_big
IGT-Version: 1.7-gac31f19 (x86_64) (Linux: 3.15.0-rc3_kcloud_0001db_20140806+ x86_64)
Comment 3 Chris Wilson 2014-08-07 15:37:57 UTC
Created attachment 104235 [details] [review]
Fix obj->map_and_fenceable for ppgtt

I have this patch in search of a bug...
Comment 4 Guo Jinxian 2014-08-08 03:15:36 UTC
This failure was tracked by bug 79670 before.
Comment 5 Guo Jinxian 2014-08-08 04:23:27 UTC
(In reply to comment #3)
> Created attachment 104235 [details] [review] [review]
> Fix obj->map_and_fenceable for ppgtt
> 
> I have this patch in search of a bug...

The patch unable to make. If do not add the patch, the latest -nightly branch is able to build.

  CC [M]  fs/xfs/xfs_ioctl32.o
drivers/scsi/initio.c:131:29: warning: ‘i91u_pci_devices’ defined but not used [-Wunused-variable]
 static struct pci_device_id i91u_pci_devices[] = {
                             ^
  CC      drivers/scsi/ch.o
  CC [M]  drivers/scsi/qlogicfas408.o
  CC [M]  drivers/scsi/megaraid.o
  CC [M]  drivers/scsi/3w-xxxx.o
  CC [M]  drivers/scsi/3w-9xxx.o
  CC [M]  drivers/scsi/ppa.o
  CC [M]  drivers/scsi/imm.o
  CC [M]  drivers/scsi/ses.o
  LD      drivers/scsi/scsi_mod.o
  LD      drivers/scsi/scsi_tgt.o
  LD      drivers/net/built-in.o
  LD      drivers/scsi/built-in.o
  LD [M]  fs/xfs/xfs.o
  LD      fs/built-in.o
make: *** [drivers] Error 2
make: *** Waiting for unfinished jobs....
Comment 6 Jani Nikula 2014-09-09 09:49:57 UTC
Please re-test on current nightly.
Comment 7 Guo Jinxian 2014-09-10 02:08:28 UTC
(In reply to comment #6)
> Please re-test on current nightly.
Test passed on latest -nightly(4a3d32734bdcef6813b31f06a58430436e98711e) on BYT.
root@x-bytm02:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./gem_exec_big
IGT-Version: 1.8-gd9d3f4b (x86_64) (Linux: 3.17.0-rc4_drm-intel-nightly_4a3d32_20140909+ x86_64)
root@x-bytm02:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# echo $?
0

But still failed on BSW

[root@x-bsw01 tests]# ./gem_exec_big
IGT-Version: 1.8-gd9d3f4b (x86_64) (Linux: 3.17.0-rc4_drm-intel-nightly_4a3d32_20140909+ x86_64)
Test assertion failure function exec, file gem_exec_big.c:97:
Failed assertion: tmp == gem_reloc[0].presumed_offset
error: 0 != 9023488
Comment 8 Daniel Vetter 2014-11-14 08:57:06 UTC
BSW is completely different and yes, ppgtt there is toast. Needs to be tracked separately.

This regression was about ppgtt on vlv, that seems resolved. I hope you've tested this with i915.enable_ppgtt=2, right? Please double-check.
Comment 9 Guo Jinxian 2014-11-17 03:36:33 UTC
The failure unable to reproduce on latest -nightly(e49ebf9ed863e9522260ebd7bd0338ef5641c0e6) on both byt and bsw. Verified.

[root@x-bsw01 tests]# ./gem_exec_big
IGT-Version: 1.8-gaa63fc7 (x86_64) (Linux: 3.18.0-rc4_drm-intel-nightly_e49ebf_20141117+ x86_64)
[root@x-bsw01 tests]# echo $?
0
Comment 10 Jari Tahvanainen 2016-10-19 09:29:55 UTC
Closing verified+fixed.


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.