Files
linux/drivers/gpu/drm/xe
Oak Zeng 774b5fa509 drm/xe: Avoid evicting object of the same vm in none fault mode
BO validation during vm_bind could trigger memory eviction when
system runs under memory pressure. Right now we blindly evict
BOs of all VMs. This scheme has a problem when system runs in
none recoverable page fault mode: even though the vm_bind could
be successful by evicting BOs, the later the rebinding of the
evicted BOs would fail. So it is better to report an out-of-
memory failure at vm_bind time than at time of rebinding where
xekmd currently doesn't have a good mechanism to report error
to user space.

This patch implemented a scheme to only evict objects of other
VMs during vm_bind time. Object of the same VM will skip eviction.
If we failed to find enough memory for vm_bind, we report error
to user space at vm_bind time.

This scheme is not needed for recoverable page fault mode under
what we can dynamically fault-in pages on demand.

v1: Use xe_vm_in_preempt_fence_mode instead of stack variable (Thomas)

Signed-off-by: Oak Zeng <oak.zeng@intel.com>
Suggested-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241203021929.1919730-1-oak.zeng@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2024-12-06 10:54:34 -05:00
..
2024-06-18 12:40:38 -07:00
2024-12-03 15:02:55 -05:00
2024-12-02 11:22:11 -05:00
2024-12-03 15:02:55 -05:00
2024-05-09 21:28:25 +02:00
2024-12-06 09:40:00 -05:00
2024-12-03 15:02:55 -05:00
2024-04-02 10:33:57 -07:00
2024-11-15 15:59:51 -08:00
2024-11-15 15:59:51 -08:00
2024-11-15 15:59:51 -08:00
2024-10-04 11:46:30 +02:00
2024-05-13 21:36:50 +02:00
2024-11-15 15:59:51 -08:00
2024-05-22 12:03:55 +02:00
2024-11-15 15:59:51 -08:00
2024-06-26 18:25:22 -04:00
2024-12-05 07:37:53 -08:00
2024-09-19 10:15:40 +02:00
2024-05-07 12:03:49 +02:00
2024-11-15 15:59:50 -08:00
2024-05-13 21:36:52 +02:00
2024-06-18 12:03:29 -07:00
2024-09-16 12:58:26 -07:00
2024-12-06 09:40:00 -05:00
2024-11-26 09:36:28 +00:00
2024-07-18 10:25:33 -04:00
2024-07-18 10:25:33 -04:00
2024-12-02 15:03:58 -05:00
2024-12-03 15:02:55 -05:00
2024-11-27 05:36:55 -05:00
2024-07-24 09:05:37 -07:00