1. 15 6月, 2017 1 次提交
  2. 14 6月, 2017 5 次提交
  3. 13 6月, 2017 19 次提交
  4. 12 6月, 2017 4 次提交
  5. 10 6月, 2017 6 次提交
  6. 09 6月, 2017 4 次提交
  7. 08 6月, 2017 1 次提交
    • C
      drm/i915: Remove the spin-request during execbuf await_request · 6b567085
      Chris Wilson 提交于
      Originally we would enable and disable the breadcrumb interrupt
      immediately on demand. This was slow enough to have a large impact
      (>30%) on tasks that hopped between engines. However, by using a shadow
      to keep the irq alive for an extra interrupt (see commit 67b807a8
      ("drm/i915: Delay disabling the user interrupt for breadcrumbs")) and
      by recently reducing the cost in adding ourselves to the signal tree, we
      no longer need to spin-request during await_request to avoid delays in
      throughput tests. Without the earlier patches to stop the wakeup when
      signaling if the irq was already active, we saw no improvement in
      execbuf overhead (and corresponding contention in other clients) despite
      the removal of the spinner in a simple test like glxgears. This means
      there will be scenarios where now we spend longer enabling the interrupt
      than we would have spent spinning, but these are not likely to have as
      noticeable an impact as the high frequency test cases (where there
      should not be any regression).
      
      Ulterior motive: generalising the engine->sync_to to handle different
      types of semaphores and non-semaphores.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Oscar Mateo <oscar.mateo@intel.com>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170608111405.16466-4-chris@chris-wilson.co.uk
      6b567085