1. 14 2月, 2017 1 次提交
  2. 09 2月, 2017 1 次提交
  3. 09 1月, 2017 2 次提交
  4. 19 12月, 2016 1 次提交
  5. 25 11月, 2016 1 次提交
  6. 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
  7. 10 11月, 2016 1 次提交
  8. 07 11月, 2016 1 次提交
    • Z
      drm/i915/gvt: Fix workload status after wait · 9b172345
      Zhenyu Wang 提交于
      From commit e95433c7, workload status setting
      was changed to only capture on error path, but we need to set it properly in
      normal path too, otherwise we'll fail to complete workload which could lead
      guest VM vGPU reset.
      
      v2: uses braces and add Fixes tag.
      
      Fixes: e95433c7 ("drm/i915: Rearrange i915_wait_request() accounting with callers")
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      9b172345
  9. 29 10月, 2016 1 次提交
  10. 27 10月, 2016 1 次提交
    • D
      drm/i915/gvt: fix nested sleeping issue · e45d7b7f
      Du, Changbin 提交于
      We cannot use blocking method mutex_lock inside a wait loop.
      Here we invoke pick_next_workload() which needs acquire a
      mutex in our "condition" experssion. Then we go into a another
      of the going-to-sleep sequence and changing the task state.
      This is a dangerous. Let's rewrite the wait sequence to avoid
      nested sleeping.
      
      v2: fix do...while loop exit condition (zhenyu)
      v3: rebase to gvt-staging branch
      Signed-off-by: NDu, Changbin <changbin.du@intel.com>
      Signed-off-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      e45d7b7f
  11. 20 10月, 2016 6 次提交
  12. 18 10月, 2016 1 次提交
  13. 14 10月, 2016 3 次提交