#include <xe_drm.h>
struct drm_xe_vm_create - Input of &DRM_IOCTL_XE_VM_CREATE
The @flags can be:
- DRM_XE_VM_CREATE_FLAG_SCRATCH_PAGE - Map the whole virtual address space of the VM to scratch page. A vm_bind would overwrite the scratch page mapping. This flag is mutually exclusive with the DRM_XE_VM_CREATE_FLAG_FAULT_MODE flag, with an exception on Xe2 and Xe3 platforms.
- DRM_XE_VM_CREATE_FLAG_LR_MODE - An LR, or Long Running VM accepts exec submissions to its exec_queues that don't have an upper time limit on the job execution time. But exec submissions to these don't allow any of the sync types DRM_XE_SYNC_TYPE_SYNCOBJ, DRM_XE_SYNC_TYPE_TIMELINE_SYNCOBJ, used as out-syncobjs, that is, together with sync flag DRM_XE_SYNC_FLAG_SIGNAL. LR VMs can be created in recoverable page-fault mode using DRM_XE_VM_CREATE_FLAG_FAULT_MODE, if the device supports it. If that flag is omitted, the UMD can not rely on the slightly different per-VM overcommit semantics that are enabled by DRM_XE_VM_CREATE_FLAG_FAULT_MODE (see below), but KMD may still enable recoverable pagefaults if supported by the device.
- DRM_XE_VM_CREATE_FLAG_FAULT_MODE - Requires also DRM_XE_VM_CREATE_FLAG_LR_MODE. It allows memory to be allocated on demand when accessed, and also allows per-VM overcommit of memory. The xe driver internally uses recoverable pagefaults to implement this.
- DRM_XE_VM_CREATE_FLAG_NO_VM_OVERCOMMIT - Requires also DRM_XE_VM_CREATE_FLAG_FAULT_MODE. This disallows per-VM overcommit but only during a &DRM_IOCTL_XE_VM_BIND operation with the DRM_XE_VM_BIND_FLAG_IMMEDIATE flag set. This may be useful for user-space naively probing the amount of available memory.
◆ extensions
| __u64 drm_xe_vm_create::extensions |
@extensions: Pointer to the first extension struct, if any
◆ flags
| __u32 drm_xe_vm_create::flags |
◆ reserved
| __u64 drm_xe_vm_create::reserved[2] |
◆ vm_id
| __u32 drm_xe_vm_create::vm_id |
The documentation for this struct was generated from the following file: