All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Mrozek, Michal" <michal.mrozek@intel.com>
To: Andi Shyti <andi.shyti@linux.intel.com>
Cc: intel-gfx <intel-gfx@lists.freedesktop.org>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Chris Wilson <chris.p.wilson@linux.intel.com>,
	Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
	"Roper, Matthew D" <matthew.d.roper@intel.com>,
	"Harrison, John C" <john.c.harrison@intel.com>,
	"stable@vger.kernel.org" <stable@vger.kernel.org>,
	Andi Shyti <andi.shyti@kernel.org>,
	Tvrtko Ursulin <tursulin@ursulin.net>,
	"Buxton, Mark J" <mark.j.buxton@intel.com>
Subject: RE: [PATCH v6 0/3] Disable automatic load CCS load balancing
Date: Tue, 26 Mar 2024 16:25:26 +0000	[thread overview]
Message-ID: <BN9PR11MB5275951CE65489FEAA8BA9BFE7352@BN9PR11MB5275.namprd11.prod.outlook.com> (raw)
In-Reply-To: <ZgL2o7c0R_Z7shFJ@ashyti-mobl2.lan>

On Wed, Mar 13, 2024 at 09:19:48PM +0100, Andi Shyti wrote:
> Hi,
> 
> this series does basically two things:
> 
> 1. Disables automatic load balancing as adviced by the hardware
>    workaround.
> 
> 2. Assigns all the CCS slices to one single user engine. The user
>    will then be able to query only one CCS engine
> 
> >From v5 I have created a new file, gt/intel_gt_ccs_mode.c where
> I added the intel_gt_apply_ccs_mode(). In the upcoming patches, this 
> file will contain the implementation for dynamic CCS mode setting.
> 
> Thanks Tvrtko, Matt, John and Joonas for your reviews!
> 
> Andi
> 
> Changelog
> =========
> v5 -> v6 (thanks Matt for the suggestions in v6)
>  - Remove the refactoring and the for_each_available_engine()
>    macro and instead do not create the intel_engine_cs structure
>    at all.
>  - In patch 1 just a trivial reordering of the bit definitions.
> 
> v4 -> v5
>  - Use the workaround framework to do all the CCS balancing
>    settings in order to always apply the modes also when the
>    engine resets. Put everything in its own specific function to
>    be executed for the first CCS engine encountered. (Thanks
>    Matt)
>  - Calculate the CCS ID for the CCS mode as the first available
>    CCS among all the engines (Thanks Matt)
>  - create the intel_gt_ccs_mode.c function to host the CCS
>    configuration. We will have it ready for the next series.
>  - Fix a selftest that was failing because could not set CCS2.
>  - Add the for_each_available_engine() macro to exclude CCS1+ and
>    start using it in the hangcheck selftest.
> 
> v3 -> v4
>  - Reword correctly the comment in the workaround
>  - Fix a buffer overflow (Thanks Joonas)
>  - Handle properly the fused engines when setting the CCS mode.
> 
> v2 -> v3
>  - Simplified the algorithm for creating the list of the exported
>    uabi engines. (Patch 1) (Thanks, Tvrtko)
>  - Consider the fused engines when creating the uabi engine list
>    (Patch 2) (Thanks, Matt)
>  - Patch 4 now uses a the refactoring from patch 1, in a cleaner
>    outcome.
> 
> v1 -> v2
>  - In Patch 1 use the correct workaround number (thanks Matt).
>  - In Patch 2 do not add the extra CCS engines to the exposed
>    UABI engine list and adapt the engine counting accordingly
>    (thanks Tvrtko).
>  - Reword the commit of Patch 2 (thanks John).
> 
> Andi Shyti (3):
>   drm/i915/gt: Disable HW load balancing for CCS
>   drm/i915/gt: Do not generate the command streamer for all the CCS
>   drm/i915/gt: Enable only one CCS for compute workload
> 
>  drivers/gpu/drm/i915/Makefile               |  1 +
>  drivers/gpu/drm/i915/gt/intel_engine_cs.c   | 20 ++++++++---
>  drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.c | 39 
> +++++++++++++++++++++  drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.h | 13 +++++++
>  drivers/gpu/drm/i915/gt/intel_gt_regs.h     |  6 ++++
>  drivers/gpu/drm/i915/gt/intel_workarounds.c | 30 ++++++++++++++--
>  6 files changed, 103 insertions(+), 6 deletions(-)  create mode 
> 100644 drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.c
>  create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.h
> 
> --
> 2.43.0

Acked-by: Michal Mrozek <michal.mrozek@intel.com>


      reply	other threads:[~2024-03-26 16:25 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-13 20:19 [PATCH v6 0/3] Disable automatic load CCS load balancing Andi Shyti
2024-03-13 20:19 ` [PATCH v6 1/3] drm/i915/gt: Disable HW load balancing for CCS Andi Shyti
2024-03-13 20:19 ` [PATCH v6 2/3] drm/i915/gt: Do not generate the command streamer for all the CCS Andi Shyti
2024-03-26 16:03   ` Matt Roper
2024-03-26 18:42     ` Andi Shyti
2024-03-26 21:30       ` Matt Roper
2024-03-26 23:16         ` Andi Shyti
2024-03-13 20:19 ` [PATCH v6 3/3] drm/i915/gt: Enable only one CCS for compute workload Andi Shyti
2024-03-26 16:06   ` Matt Roper
2024-03-14  2:55 ` ✗ Fi.CI.CHECKPATCH: warning for Disable automatic load CCS load balancing (rev9) Patchwork
2024-03-14  2:55 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-03-14  3:14 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-03-14 18:30 ` ✗ Fi.CI.CHECKPATCH: warning for Disable automatic load CCS load balancing (rev10) Patchwork
2024-03-14 18:30 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-03-14 18:40 ` ✓ Fi.CI.BAT: success " Patchwork
2024-03-15 18:52 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-03-20 15:06 ` [PATCH v6 0/3] Disable automatic load CCS load balancing Andi Shyti
2024-03-20 15:40   ` Tvrtko Ursulin
2024-03-20 18:02     ` Andi Shyti
2024-03-20 15:40 ` ✓ Fi.CI.BAT: success for Disable automatic load CCS load balancing (rev11) Patchwork
2024-03-20 15:41 ` ✗ Fi.CI.CHECKPATCH: warning " Patchwork
2024-03-20 15:41 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-03-21  6:22 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-03-26 16:21 ` [PATCH v6 0/3] Disable automatic load CCS load balancing Andi Shyti
2024-03-26 16:24 ` Andi Shyti
2024-03-26 16:25   ` Mrozek, Michal [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BN9PR11MB5275951CE65489FEAA8BA9BFE7352@BN9PR11MB5275.namprd11.prod.outlook.com \
    --to=michal.mrozek@intel.com \
    --cc=andi.shyti@kernel.org \
    --cc=andi.shyti@linux.intel.com \
    --cc=chris.p.wilson@linux.intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=john.c.harrison@intel.com \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=mark.j.buxton@intel.com \
    --cc=matthew.d.roper@intel.com \
    --cc=stable@vger.kernel.org \
    --cc=tursulin@ursulin.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.