mbox series

[v3,0/5] Expose RPS thresholds in sysfs

Message ID 20230525081133.215292-1-tvrtko.ursulin@linux.intel.com (mailing list archive)
Headers show
Series Expose RPS thresholds in sysfs | expand

Message

Tvrtko Ursulin May 25, 2023, 8:11 a.m. UTC
From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

From patch 4:

    User feedback indicates significant performance gains are possible in
    specific games with non default RPS up/down thresholds.

    Expose these tunables via sysfs which will allow users to achieve best
    performance when running games and best power efficiency elsewhere.

    Note this patch supports non GuC based platforms only.

    References: https://gitlab.freedesktop.org/drm/intel/-/issues/8389

Issue 8389 suggests 10-15% performance gains are possible with tweaked
thresholds.

One question is are we able to find a "one size fits all" values.

However regardless of that, given we already expose frequency controls in sysfs
with the same reasoning of allowing system owners explicit control if so wanted,
I think exposing the thresholds can be equally justified.

v2:
 * Hopefully fixed the debug build issue.
 * Re-program the hw registers on change too!

v3:
 * Added a patch which captures the thresholds in error state, to account for
   any potential instability which may be caused by moving away from defaults.
 * Fixed one checkpatch warning.

Test-with: 20230523105139.626772-1-tvrtko.ursulin@linux.intel.com

Tvrtko Ursulin (5):
  drm/i915: Move setting of rps thresholds to init
  drm/i915: Record default rps threshold values
  drm/i915: Add helpers for managing rps thresholds
  drm/i915: Expose RPS thresholds in sysfs
  drm/i915: Include RPS threshold in error state

 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c | 108 ++++++++++++++++++++
 drivers/gpu/drm/i915/gt/intel_gt_types.h    |   3 +
 drivers/gpu/drm/i915/gt/intel_rps.c         |  83 +++++++++++++--
 drivers/gpu/drm/i915/gt/intel_rps.h         |   4 +
 drivers/gpu/drm/i915/i915_gpu_error.c       |   5 +
 drivers/gpu/drm/i915/i915_gpu_error.h       |   5 +
 6 files changed, 197 insertions(+), 11 deletions(-)