[PATCH 0/8] Add TLB invalidation abstraction
Matthew Brost
matthew.brost at intel.com
Thu Aug 7 23:01:20 UTC 2025
On Thu, Aug 07, 2025 at 08:39:24PM +0000, stuartsummers wrote:
> This is a new collection of patches from Matt that has
> been floating around internally and on the mailing list.
> The goal here is to abstract the actual mechanism of
> the invalidation from the higher level invalidation triggers
> (like page table updates).
>
> Most of these were brought in unmodified by Matt, but
> I've done some minor rebase work here and there and
> added my signoff where those rebases seemed a little
> more extensive.
>
> Tested on BMG locally.
>
> v5: Make sure seqno_lock covers the prep and send in
> the later patches (Matt)
> v4: Replace CT lock with seqno_lock
> v3: Minor spelling fixes and added R-B's per updates on
> on the mailing list
> v2: Start the series with a new patch to drop the
> explicit CT lock (Matt)
> Pull in the remaining patches from [1]
>
Gave it look, lgtm, assuming CI is clean I'd say merge at your convience.
Matt
> [1] https://patchwork.freedesktop.org/series/151670/#rev1
>
> Matthew Brost (7):
> drm/xe: s/tlb_invalidation/tlb_inval
> drm/xe: Add xe_tlb_inval structure
> drm/xe: Add xe_gt_tlb_invalidation_done_handler
> drm/xe: Decouple TLB invalidations from GT
> drm/xe: Prep TLB invalidation fence before sending
> drm/xe: Add helpers to send TLB invalidations
> drm/xe: Split TLB invalidation code in frontend and backend
>
> stuartsummers (1):
> drm/xe: Move explicit CT lock in TLB invalidation sequence
>
> drivers/gpu/drm/xe/Makefile | 5 +-
> drivers/gpu/drm/xe/xe_device_types.h | 4 +-
> drivers/gpu/drm/xe/xe_exec_queue.c | 2 +-
> drivers/gpu/drm/xe/xe_ggtt.c | 4 +-
> drivers/gpu/drm/xe/xe_gt.c | 8 +-
> drivers/gpu/drm/xe/xe_gt_pagefault.c | 1 -
> drivers/gpu/drm/xe/xe_gt_tlb_inval_job.h | 34 -
> drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c | 604 ------------------
> drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h | 40 --
> .../gpu/drm/xe/xe_gt_tlb_invalidation_types.h | 32 -
> drivers/gpu/drm/xe/xe_gt_types.h | 33 +-
> drivers/gpu/drm/xe/xe_guc_ct.c | 8 +-
> drivers/gpu/drm/xe/xe_guc_tlb_inval.c | 242 +++++++
> drivers/gpu/drm/xe/xe_guc_tlb_inval.h | 19 +
> drivers/gpu/drm/xe/xe_lmtt.c | 12 +-
> drivers/gpu/drm/xe/xe_migrate.h | 10 +-
> drivers/gpu/drm/xe/xe_pci.c | 6 +-
> drivers/gpu/drm/xe/xe_pci_types.h | 2 +-
> drivers/gpu/drm/xe/xe_pt.c | 63 +-
> drivers/gpu/drm/xe/xe_svm.c | 3 +-
> drivers/gpu/drm/xe/xe_tlb_inval.c | 419 ++++++++++++
> drivers/gpu/drm/xe/xe_tlb_inval.h | 46 ++
> ..._gt_tlb_inval_job.c => xe_tlb_inval_job.c} | 154 +++--
> drivers/gpu/drm/xe/xe_tlb_inval_job.h | 33 +
> drivers/gpu/drm/xe/xe_tlb_inval_types.h | 130 ++++
> drivers/gpu/drm/xe/xe_trace.h | 24 +-
> drivers/gpu/drm/xe/xe_vm.c | 66 +-
> drivers/gpu/drm/xe/xe_vm.h | 4 +-
> 28 files changed, 1083 insertions(+), 925 deletions(-)
> delete mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_inval_job.h
> delete mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
> delete mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
> delete mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h
> create mode 100644 drivers/gpu/drm/xe/xe_guc_tlb_inval.c
> create mode 100644 drivers/gpu/drm/xe/xe_guc_tlb_inval.h
> create mode 100644 drivers/gpu/drm/xe/xe_tlb_inval.c
> create mode 100644 drivers/gpu/drm/xe/xe_tlb_inval.h
> rename drivers/gpu/drm/xe/{xe_gt_tlb_inval_job.c => xe_tlb_inval_job.c} (50%)
> create mode 100644 drivers/gpu/drm/xe/xe_tlb_inval_job.h
> create mode 100644 drivers/gpu/drm/xe/xe_tlb_inval_types.h
>
> --
> 2.34.1
>
More information about the Intel-xe
mailing list