[Intel-gfx] [PATCH 00/15] [RFC] Forced throttling/scheduling

Ben Widawsky ben at bwidawsk.net
Sat Nov 19 03:24:17 CET 2011


This code is currently living on my personal git repo:
git://people.freedesktop.org/~bwidawsk/drm-intel forced_throttling

Since these are RFC, I haven't spent too much time cleaning things up.
Feel free to comment on typos, comments you feel are missing, etc. I
also haven't spent any time running the standard kernel tests, kmemleak
and such - I intend to do so while these are reviewed here.

There are two main "scheduler" types implemented in this patch. What I
refer to as a fairness scheduler, and a batch scheduler. The fairness
scheduler is currently implemented on batch granularity but that is not
guaranteed going forward. The batch scheduler is a way to set batch
limits per pid. Refer to the relevant patch for more details.

It is my opinion that the fairness scheduler isn't terribly interesting
except to prevent badly written, or malicious apps. For example, a 3d
app which queues up a ton of work but never calls glxSwapBuffer.

The batch scheduler is also somewhat uninteresting as the values it uses
require proper tuning and will vary from system to system, and even then
depending on what's currently running. But like the fairness one, this
too has its applications.

Most comments and feedback are welcome.


Ben Widawsky (13):
  drm/i915: relative_constants_mode race fix
  drm/i915: drop lock support for  i915_wait_request
  drm/i915: remove mm structure from file_priv
  drm/i915: Keep track of drm_file in file_priv
  drm/i915: Keep track of request counts
  drm/i915: fairness
  drm/i915: Keep track of open i915 clients
  drm/i915: debugfs entry for i915 clients
  drm/i915: debugfs entries for scheduler params
  drm/i915: infrastructure to support scheduler types
  drm/i915: get/set scheduler type from debugfs
  drm/i915: Implement batch scheduler
  drm/i915: Add handling for batch parameters in debugfs

Daniel Vetter (2):
  drm/i915: refactor debugfs open function
  drm/i915: refactor debugfs create functions

 drivers/gpu/drm/i915/i915_debugfs.c        |  343 +++++++++++++++++++++++-----
 drivers/gpu/drm/i915/i915_dma.c            |   18 ++-
 drivers/gpu/drm/i915/i915_drv.c            |    5 +
 drivers/gpu/drm/i915/i915_drv.h            |   41 +++-
 drivers/gpu/drm/i915/i915_gem.c            |   90 ++++++--
 drivers/gpu/drm/i915/i915_gem_execbuffer.c |  194 +++++++++++++---
 drivers/gpu/drm/i915/intel_overlay.c       |    4 +-
 7 files changed, 568 insertions(+), 127 deletions(-)

-- 
1.7.7.3




More information about the Intel-gfx mailing list