1. 14 11月, 2016 1 次提交
    • P
      drm/i915/gvt: fix deadlock in workload_thread · 90d27a1b
      Pei Zhang 提交于
      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: NPei Zhang <pei.zhang@intel.com>
      [zhenyuw: fix unused variables warnings.]
      Signed-off-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      90d27a1b
  2. 11 11月, 2016 1 次提交
  3. 10 11月, 2016 10 次提交
  4. 09 11月, 2016 8 次提交
  5. 08 11月, 2016 7 次提交
  6. 07 11月, 2016 13 次提交