mbox series

[v3,0/3] drm/i915/guc/slpc: Implement waitboost for SLPC

Message ID 20211102012608.8609-1-vinay.belgaumkar@intel.com (mailing list archive)
Headers show
Series drm/i915/guc/slpc: Implement waitboost for SLPC | expand

Message

Vinay Belgaumkar Nov. 2, 2021, 1:26 a.m. UTC
Waitboost is a legacy feature implemented in the Host Turbo algorithm. This
patch set implements it for the SLPC path. A boost can happen when a request
is waiting for an unmet dependency. GT frequency gets temporarily bumped to
boost freq to allow the previous request to finish quickly. We achieve this
on SLPC by setting the min frequency, SLPC will set that as the requested
frequency.

The boost will occur through a worker thread that will be scheduled
when the required conditions are met.

Like before, boost frequency is configurable through sysfs, so we can
adjust it to any specific value as long as it is between [min, RP0].

v2: Add a worker thread to perform freq boost.
v3: Address comments (Ashutosh)

Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com>

Vinay Belgaumkar (3):
  drm/i915/guc/slpc: Define and initialize boost frequency
  drm/i915/guc/slpc: Add waitboost functionality for SLPC
  drm/i915/guc/slpc: Update boost sysfs hooks for SLPC

 drivers/gpu/drm/i915/gt/intel_rps.c           |  72 +++++++++
 drivers/gpu/drm/i915/gt/intel_rps.h           |   3 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c   | 151 +++++++++++++++---
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h   |   3 +
 .../gpu/drm/i915/gt/uc/intel_guc_slpc_types.h |  13 ++
 drivers/gpu/drm/i915/i915_request.c           |   2 +-
 drivers/gpu/drm/i915/i915_sysfs.c             |  19 +--
 7 files changed, 223 insertions(+), 40 deletions(-)

Comments

Dixit, Ashutosh Nov. 2, 2021, 1:35 a.m. UTC | #1
On Mon, 01 Nov 2021 18:26:05 -0700, Vinay Belgaumkar wrote:
>
> Waitboost is a legacy feature implemented in the Host Turbo algorithm. This
> patch set implements it for the SLPC path. A boost can happen when a request
> is waiting for an unmet dependency. GT frequency gets temporarily bumped to
> boost freq to allow the previous request to finish quickly. We achieve this
> on SLPC by setting the min frequency, SLPC will set that as the requested
> frequency.
>
> The boost will occur through a worker thread that will be scheduled
> when the required conditions are met.
>
> Like before, boost frequency is configurable through sysfs, so we can
> adjust it to any specific value as long as it is between [min, RP0].
>
> v2: Add a worker thread to perform freq boost.
> v3: Address comments (Ashutosh)

For the series:

Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>

> Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
> Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
>
> Vinay Belgaumkar (3):
>   drm/i915/guc/slpc: Define and initialize boost frequency
>   drm/i915/guc/slpc: Add waitboost functionality for SLPC
>   drm/i915/guc/slpc: Update boost sysfs hooks for SLPC
>
>  drivers/gpu/drm/i915/gt/intel_rps.c           |  72 +++++++++
>  drivers/gpu/drm/i915/gt/intel_rps.h           |   3 +
>  drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c   | 151 +++++++++++++++---
>  drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h   |   3 +
>  .../gpu/drm/i915/gt/uc/intel_guc_slpc_types.h |  13 ++
>  drivers/gpu/drm/i915/i915_request.c           |   2 +-
>  drivers/gpu/drm/i915/i915_sysfs.c             |  19 +--
>  7 files changed, 223 insertions(+), 40 deletions(-)
>
> --
> 2.25.0
>