Skip to content

Simple page faults on PVC

Matthew Brost requested to merge (removed):xe into xe

Very basic page faults working (e.g. do a VM bind that differs creating mapping until fault, touch the address, fault creates mappings). Tested with https://gitlab.freedesktop.org/drm/xe/igt-gpu-tools/-/merge_requests/31

A lot more to get feature parity with the i915:

  • Update BO create to differ backing store allocation to fault
  • Update userptr invalidation to blow away mapping
  • Update evict to blow away mapping
  • Update GPU page fault handler to understand userptrs
  • Update GPU page fault handler to trigger migrations (system -> VRAM) for atomic faults
  • Update CPU (TTM) page fault handler to trigger migrations (VRAM -> system) for atomic faults
  • Update GPU page fault handler to understand multi-GT
  • Update TLB invalidations to be selective
  • Update TLB invalidations to understand G2H credits
  • Add blocking TLB invalidations
  • Wire up access counter uAPI
  • Implement access counter G2H + trigger migrations
  • To make all of this work we will need to rethink our locking, particularly the GuC CT lock usage

Beyond feature parity with the i915:

  • Update TTM to understand page level granularity of the BO (e.g. part of the BO can be system memory, part can be VRAM)
  • Update page fault handlers to migrate at the page level
  • Implement system allocator
Edited by Matthew Brost

Merge request reports