1. 31 Jan, 2020 7 commits
  2. 30 Jan, 2020 13 commits
  3. 29 Jan, 2020 12 commits
  4. 28 Jan, 2020 6 commits
  5. 27 Jan, 2020 2 commits
    • Umesh Nerlige Ramappa's avatar
      drm/i915/perf: Fix OA context id overlap with idle context id · 6f280b13
      Umesh Nerlige Ramappa authored
      Engine context pinned in perf OA was set to same context id as
      the idle context. Set the context id to an unused value.
      
      Clear the sw context id field in lrc descriptor before ORing with
      ce->tag (Chris)
      
      Closes: https://gitlab.freedesktop.org/drm/intel/issues/756Signed-off-by: default avatarUmesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200124013701.40609-1-umesh.nerlige.ramappa@intel.com
      6f280b13
    • Chris Wilson's avatar
      drm/i915/gt: Acquire ce->active before ce->pin_count/ce->pin_mutex · e5429340
      Chris Wilson authored
      Similar to commit ac0e331a ("drm/i915: Tighten atomicity of
      i915_active_acquire vs i915_active_release") we have the same race of
      trying to pin the context underneath a mutex while allowing the
      decrement to be atomic outside of that mutex. This leads to the problem
      where two threads may simultaneously try to pin the context and the
      second not notice that they needed to repin the context.
      
      <2> [198.669621] kernel BUG at drivers/gpu/drm/i915/gt/intel_timeline.c:387!
      <4> [198.669703] invalid opcode: 0000 [#1] PREEMPT SMP PTI
      <4> [198.669712] CPU: 0 PID: 1246 Comm: gem_exec_create Tainted: G     U  W         5.5.0-rc6-CI-CI_DRM_7755+ #1
      <4> [198.669723] Hardware name:  /NUC7i5BNB, BIOS BNKBL357.86A.0054.2017.1025.1822 10/25/2017
      <4> [198.669776] RIP: 0010:timeline_advance+0x7b/0xe0 [i915]
      <4> [198.669785] Code: 00 48 c7 c2 10 f1 46 a0 48 c7 c7 70 1b 32 a0 e8 bb dd e7 e0 bf 01 00 00 00 e8 d1 af e7 e0 31 f6 bf 09 00 00 00 e8 35 ef d8 e0 <0f> 0b 48 c7 c1 48 fa 49 a0 ba 84 01 00 00 48 c7 c6 10 f1 46 a0 48
      <4> [198.669803] RSP: 0018:ffffc900004c3a38 EFLAGS: 00010296
      <4> [198.669810] RAX: ffff888270b35140 RBX: ffff88826f32ee00 RCX: 0000000000000006
      <4> [198.669818] RDX: 00000000000017c5 RSI: 0000000000000000 RDI: 0000000000000009
      <4> [198.669826] RBP: ffffc900004c3a64 R08: 0000000000000000 R09: 0000000000000000
      <4> [198.669834] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88826f9b5980
      <4> [198.669841] R13: 0000000000000cc0 R14: ffffc900004c3dc0 R15: ffff888253610068
      <4> [198.669849] FS:  00007f63e663fe40(0000) GS:ffff888276c00000(0000) knlGS:0000000000000000
      <4> [198.669857] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      <4> [198.669864] CR2: 00007f171f8e39a8 CR3: 000000026b1f6005 CR4: 00000000003606f0
      <4> [198.669872] Call Trace:
      <4> [198.669924]  intel_timeline_get_seqno+0x12/0x40 [i915]
      <4> [198.669977]  __i915_request_create+0x76/0x5a0 [i915]
      <4> [198.670024]  i915_request_create+0x86/0x1c0 [i915]
      <4> [198.670068]  i915_gem_do_execbuffer+0xbf2/0x2500 [i915]
      <4> [198.670082]  ? __lock_acquire+0x460/0x15d0
      <4> [198.670128]  i915_gem_execbuffer2_ioctl+0x11f/0x470 [i915]
      <4> [198.670171]  ? i915_gem_execbuffer_ioctl+0x300/0x300 [i915]
      <4> [198.670181]  drm_ioctl_kernel+0xa7/0xf0
      <4> [198.670188]  drm_ioctl+0x2e1/0x390
      <4> [198.670233]  ? i915_gem_execbuffer_ioctl+0x300/0x300 [i915]
      
      Fixes: 84135022 ("drm/i915/gt: Drop mutex serialisation between context pin/unpin")
      References: ac0e331a ("drm/i915: Tighten atomicity of i915_active_acquire vs i915_active_release")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200127152829.2842149-1-chris@chris-wilson.co.uk
      e5429340