[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