1. 14 Nov, 2016 1 commit
    • Pei Zhang's avatar
      drm/i915/gvt: fix deadlock in workload_thread · 90d27a1b
      Pei Zhang authored
      It's a classical abba type deadlock when using 2 mutex objects, which
      are gvt.lock(a) and drm.struct_mutex(b). Deadlock happens in threads:
      1. intel_gvt_create/destroy_vgpu: P(a)->P(b)
      2. workload_thread: P(b)->P(a)
      
      Fix solution is align the lock acquire sequence in both threads. This
      patch choose to adjust the sequence in workload_thread function.
      
      This fixed lockup symptom for guest-reboot stress test.
      
      v2: adjust sequence in workload_thread based on zhenyu's suggestion.
          adjust sequence in create/destroy_vgpu function.
      v3: fix to still require struct_mutex for dispatch_workload()
      Signed-off-by: default avatarPei Zhang <pei.zhang@intel.com>
      [zhenyuw: fix unused variables warnings.]
      Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
      90d27a1b
  2. 10 Nov, 2016 11 commits
  3. 09 Nov, 2016 6 commits
  4. 08 Nov, 2016 8 commits
  5. 07 Nov, 2016 14 commits