The source project of this merge request has been removed.
Simple page faults on PVC
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