[PATCH 0/2] drm/xe/uapi: Restore uapi for access counting
apoorva.singh at intel.com
apoorva.singh at intel.com
Tue Oct 1 13:54:30 UTC 2024
From: Apoorva Singh <apoorva.singh at intel.com>
In order to enable access counters, this must be enabled in LRC for
the exec_queue. Add basic uAPI to set configuration of access counter
trigger threshold and granularity.
When access counters are enabled and threshold is hit, the access
counter handler in xe_gt_pagefault.c will migrate the buffer to that
to that GT's local VRAM.
The current implementation of access counters is incomplete in that it
doesn't manage the PTE_NC (No Count) bit. HW has finite number of access
counters which HW itself dynamically allocates/deallocates. As these are
a finite resource, don't enable access counting (don't waste counters)
for page table mappings which cannot take any action on trigger of access
counter threshold (cannot be migrated).
The logic for this decision is encapsulated in xe_bo_can_use_acc().
Cc: Oak Zeng <oak.zeng at intel.com>
Signed-off-by: Brian Welty <brian.welty at intel.com>
Signed-off-by: Apoorva Singh <apoorva.singh at intel.com>
Brian Welty (2):
drm/xe: Add support for PTE_NC bit
drm/xe/uapi: Restore uapi for access counting
drivers/gpu/drm/xe/xe_bo.c | 34 ++++++++++++++++++
drivers/gpu/drm/xe/xe_bo.h | 3 ++
drivers/gpu/drm/xe/xe_exec_queue.c | 46 ++++++++++++++++++++++--
drivers/gpu/drm/xe/xe_exec_queue_types.h | 10 ++++++
drivers/gpu/drm/xe/xe_execlist.c | 2 +-
drivers/gpu/drm/xe/xe_lrc.c | 16 ++++++---
drivers/gpu/drm/xe/xe_lrc.h | 2 +-
drivers/gpu/drm/xe/xe_pt.c | 4 +++
include/uapi/drm/xe_drm.h | 11 ++++++
9 files changed, 120 insertions(+), 8 deletions(-)
--
2.34.1
More information about the Intel-xe
mailing list