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