From: Andi Shyti <andi.shyti@linux.intel.com>
To: fei.yang@intel.com
Cc: Chris Wilson <chris.p.wilson@linux.intel.com>,
intel-gfx@lists.freedesktop.org,
Matt Roper <matthew.d.roper@intel.com>,
dri-devel@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH 7/8] drm/i915: use pat_index instead of cache_level
Date: Wed, 19 Apr 2023 14:16:49 +0200 [thread overview]
Message-ID: <ZD/bscB+OUWF+Ln/@ashyti-mobl2.lan> (raw)
In-Reply-To: <20230417062503.1884465-8-fei.yang@intel.com>
Hi Fei,
On Sun, Apr 16, 2023 at 11:25:02PM -0700, fei.yang@intel.com wrote:
> From: Fei Yang <fei.yang@intel.com>
>
> Currently the KMD is using enum i915_cache_level to set caching policy for
> buffer objects. This is flaky because the PAT index which really controls
> the caching behavior in PTE has far more levels than what's defined in the
> enum. In addition, the PAT index is platform dependent, having to translate
> between i915_cache_level and PAT index is not reliable, and makes the code
> more complicated.
>
> >From UMD's perspective there is also a necessity to set caching policy for
you have an extra '>' here.
> performance fine tuning. It's much easier for the UMD to directly use PAT
> index because the behavior of each PAT index is clearly defined in Bspec.
> Haivng the abstracted i915_cache_level sitting in between would only cause
/Haivng/Having/
> more ambiguity.
>
> For these reasons this patch replaces i915_cache_level with PAT index. Also
> note, the cache_level is not completely removed yet, because the KMD still
> has the need of creating buffer objects with simple cache settings such as
> cached, uncached, or writethrough. For these simple cases, using cache_level
> would help simplify the code.
>
> Cc: Chris Wilson <chris.p.wilson@linux.intel.com>
> Cc: Matt Roper <matthew.d.roper@intel.com>
> Signed-off-by: Fei Yang <fei.yang@intel.com>
fiuuuuu... quite a run this patch! But I did review it once,
anyway I checked it again, it looks all correct.
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
Andi
next prev parent reply other threads:[~2023-04-19 12:17 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-17 6:24 [Intel-gfx] [PATCH 0/8] drm/i915/mtl: Define MOCS and PAT tables for MTL fei.yang
2023-04-17 6:24 ` [Intel-gfx] [PATCH 1/8] drm/i915/mtl: Set has_llc=0 fei.yang
2023-04-19 10:59 ` Andi Shyti
2023-04-19 12:50 ` Andrzej Hajda
2023-04-19 14:10 ` Das, Nirmoy
2023-04-17 6:24 ` [Intel-gfx] [PATCH 2/8] drm/i915/mtl: Define MOCS and PAT tables for MTL fei.yang
2023-04-19 11:01 ` Andi Shyti
2023-04-19 16:00 ` Yang, Fei
2023-04-19 13:59 ` Andrzej Hajda
2023-04-19 16:03 ` Yang, Fei
2023-04-19 14:36 ` Das, Nirmoy
2023-04-19 16:05 ` Yang, Fei
2023-04-17 6:24 ` [Intel-gfx] [PATCH 3/8] drm/i915/mtl: Add PTE encode function fei.yang
2023-04-19 11:02 ` Andi Shyti
2023-04-19 12:51 ` Andrzej Hajda
2023-04-19 15:11 ` Das, Nirmoy
2023-04-17 6:24 ` [Intel-gfx] [PATCH 4/8] drm/i915/mtl: workaround coherency issue for Media fei.yang
2023-04-19 10:59 ` Andi Shyti
2023-04-19 12:38 ` Andi Shyti
2023-04-19 15:14 ` Das, Nirmoy
2023-04-19 15:40 ` Andrzej Hajda
2023-04-19 16:37 ` Yang, Fei
2023-04-19 18:49 ` Yang, Fei
2023-04-17 6:25 ` [Intel-gfx] [PATCH 5/8] drm/i915/mtl: end support for set caching ioctl fei.yang
2023-04-19 11:08 ` Andi Shyti
2023-04-19 13:05 ` Andrzej Hajda
2023-04-19 16:56 ` Yang, Fei
2023-04-17 6:25 ` [Intel-gfx] [PATCH 6/8] drm/i915: preparation for using PAT index fei.yang
2023-04-19 11:17 ` Andi Shyti
2023-04-17 6:25 ` [Intel-gfx] [PATCH 7/8] drm/i915: use pat_index instead of cache_level fei.yang
2023-04-19 12:16 ` Andi Shyti [this message]
2023-04-17 6:25 ` [Intel-gfx] [PATCH 8/8] drm/i915: Allow user to set cache at BO creation fei.yang
2023-04-19 12:23 ` Andi Shyti
2023-04-17 6:32 ` [Intel-gfx] [PATCH 0/8] drm/i915/mtl: Define MOCS and PAT tables for MTL Timo Aaltonen
2023-04-17 6:43 ` Yang, Fei
2023-04-24 20:00 ` Jordan Justen
2023-04-17 11:59 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/mtl: Define MOCS and PAT tables for MTL (rev5) Patchwork
2023-04-17 11:59 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-04-17 12:15 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2023-04-19 18:09 [Intel-gfx] [PATCH 0/8] drm/i915/mtl: Define MOCS and PAT tables for MTL fei.yang
2023-04-19 18:09 ` [Intel-gfx] [PATCH 7/8] drm/i915: use pat_index instead of cache_level fei.yang
2023-04-19 21:12 [Intel-gfx] [PATCH 0/8] drm/i915/mtl: Define MOCS and PAT tables for MTL fei.yang
2023-04-19 21:12 ` [Intel-gfx] [PATCH 7/8] drm/i915: use pat_index instead of cache_level fei.yang
2023-04-19 22:09 ` Andi Shyti
2023-04-19 23:00 [Intel-gfx] [PATCH 0/8] drm/i915/mtl: Define MOCS and PAT tables for MTL fei.yang
2023-04-19 23:00 ` [Intel-gfx] [PATCH 7/8] drm/i915: use pat_index instead of cache_level fei.yang
2023-04-20 10:13 ` Andrzej Hajda
2023-04-20 12:39 ` Tvrtko Ursulin
2023-04-20 20:34 ` Yang, Fei
2023-04-21 8:43 ` Tvrtko Ursulin
2023-04-21 10:17 ` Tvrtko Ursulin
2023-04-23 6:12 ` Yang, Fei
2023-04-24 8:41 ` Tvrtko Ursulin
2023-04-21 11:39 ` Tvrtko Ursulin
2023-04-23 6:52 ` Yang, Fei
2023-04-24 9:22 ` Tvrtko Ursulin
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=ZD/bscB+OUWF+Ln/@ashyti-mobl2.lan \
--to=andi.shyti@linux.intel.com \
--cc=chris.p.wilson@linux.intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=fei.yang@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=matthew.d.roper@intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox